Académique Documents
Professionnel Documents
Culture Documents
DEFINICION DE PROGRAMACION
Se conoce como programacin de computadores a la implementacin de un
algoritmo en un determinado lenguaje de programacin, conformando un
programa. Mientras que un algoritmo se ejecuta en una mquina abstracta que no
tiene limitaciones de memoria tiempo, un programa se ejecuta en una mquina
real, que s tiene esas limitaciones. El lenguaje de programacin puede ser de alto
nivel, medio nivel o bajo nivel, en funcin del grado de abstraccin.
DEFINICION DEL LENGUAJE DE PROGRAMACION
Es aquel elemento dentro de la informtica que nos permite crear programas
mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone
a disposicin del programador para que este pueda comunicarse con los
dispositivos hardware y software existentes.
INTRODUCCION Y ORIGENES DEL LENGUAJE
Desde algunos puntos de vista, la historia de la teora de lenguajes de
programacin precede incluso al desarrollo de los propios lenguajes de
programacin. El clculo lambda, desarrollado por Alonzo Church, Max HL. Solis
Villareal y Stephen Cole Kleene en la dcada de 1930, es considerado ser uno de
los primeros lenguajes de programacin del mundo, incluso pese a que tena
intencin de modelar la computacin ms que ser un medio para que los
programadores describan algoritmos para un sistema informtico. Muchos
lenguajes de programacin funcional se han caracterizado por proveer una "fina
apariencia" al clculo lambda [1], y muchos se describen en sus trminos.
El primer lenguaje de programacin (como tal) que se propuso fue Plankalkl, que
fue diseado por Konrad Zuse en los aos 40, pero no fue conocido pblicamente
hasta 1972 (y no implementado hasta 2000, cinco aos despus de la muerte de
Zuse).El primer lenguaje de programacin ampliamente conocido y exitoso fue
Fortran, Desarrollado entre 1954 y 1957 por un equipo de investigadores en IBM
liberados por John Backus. El xito de FORTRAN condujo a la creacin de un
comit de cientficos para desarrollar Un lenguaje de programacin "universal"; el
resultado de Su esfuerzo fue ALGOL 58.
Separadamente, John McCarthy del MIT desarroll el Lenguaje de programacin
Lisp (basado en el clculo Lambda), el primer lenguaje con orgenes acadmicos
en Conseguir el xito. Con el triunfo de estos esfuerzos iniciales, los lenguajes de
programacin se convirtieron en un tema candente en la investigacin en la
dcada de 1960 y en adelante.
Bucles
Bifurcaciones
Mdulos
Tipos estticos
Casi todos los tipos de datos son estticos, la excepcin son los punteros y no se
tratarn debido a su complejidad. Que un tipo de datos sea esttico quiere decir
que el tamao que ocupa en memoria no puede variar durante la ejecucin del
programa. Es decir, una vez declarada una variable de un tipo determinado, a sta
se le asigna un trozo de memoria fijo, y este trozo no se podr aumentar ni
disminuir.
Tipos dinmicos
Dentro de esta categora entra solamente el tipo puntero. Este tipo te permite tener
un mayor control sobre la gestin de memoria en tus programas. Con ellos puedes
manejar el tamao de tus variables en tiempo de ejecucin, o sea, cuando el
programa se est ejecutando.
Los punteros quizs sean el concepto ms complejo a la hora de aprender un
lenguaje de programacin, sobre todo si es el primero que aprendes. Debido a
esto, no lo trataremos.
Adems, lenguajes que estn muy de moda (por ejemplo Java) no permiten al
programador trabajar con punteros.
Tipos simples
Como su nombre indica son los tipos bsicos en Pascal. Son los ms sencillos y
los ms fciles de aprender. Por todo esto, sern en los que nos centremos.
Los tipos simples ms bsicos son: entero, lgico, carcter y real. Y la mayora de
los lenguajes de programacin los soportan, no como ocurre con los estructurados
que pueden variar de un lenguaje a otro.
Tipos estructurados
Mientras que una variable de un tipo simple slo referencia a un elemento, los
estructurados se refieren a colecciones de elementos. Las colecciones de
elementos que aparecen al hablar de tipos estructurados son muy variadas:
tenemos colecciones ordenadas que se representan mediante el tipo array,
colecciones sin orden mediante el tipo conjunto, e incluso colecciones que
contienen otros tipos, son los llamados registros.
Tipos ordinales
Dentro de los tipos simples, los ordinales son los ms abundantes. De un tipo se
dice que es ordinal porque el conjunto de valores que representa se puede contar,
es decir, podemos establecer una relacin uno a uno entre sus elementos y el
conjunto de los nmeros naturales. Dentro de los tipos simples ordinales, los ms
importantes son:
Tipos no-ordinales
Simplificando, podramos reducir los tipos simples no-ordinales al tipo real. Este
tipo nos sirve para declarar variables que pueden tomar valores dentro del
conjunto de los nmeros reales.
A diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No se
puede establecer una relacin uno a uno entre ellos y los nmero naturales. Dicho
de otra forma, para que un conjunto se considere ordinal se tiene que poder
calcular la posicin, el anterior elemento y el siguiente de un elemento cualquiera
del conjunto. Cul es el sucesor de 5.12? Ser 5.13, o 5.120, o 5.121,...
Despus de ver una de las posibles clasificaciones para los tipos de datos,
pasemos a ver los que nos interesan: los tipos simples. Realmente de los tipos
simples veremos los ms bsicos, que son: integer, boolean, char y real. Adems,
tambin hablaremos un poco de las cadenas de caracteres, los llamados strings.
Nota: a continuacin slo se comentar qu es cada tipo, no se explicar su
declaracin, esto puedes verlo si vas a la seccin correspondiente.
El tipo integer (entero)
Como ya habrs ledo el tipo de datos entero es un tipo simple, y dentro de estos,
es ordinal.
Al declarar una variable de tipo entero, ests creando una variable numrica que
puede tomar valores positivos o negativos, y sin parte decimal.
Este tipo de variables, puedes utilizarlas en asignaciones, comparaciones,
expresiones aritmticas, etc. Algunos de los papeles ms comunes que
desarrollan son:
Controlar un bucle.
Usarlas como contador, incrementando su valor cuando sucede algo.
Realizar operaciones enteras, es decir, sin parte decimal
Y muchas ms...
El tipo boolean (lgico)
El tipo de datos lgico es el que te permite usar variables que disponen slo de
dos posibles valores: cierto o falso. Debido a esto, su utilidad salta a la vista, y no
es otra que variables de chequeo. Nos sirven para mantener el estado de un
objeto mediante dos valores:
si/no
cierto/falso
funciona/no funciona
on/off
3.4 IDENTIFICADORES
En los lenguajes informticos, los identificadores son elementos textuales (tambin
llamados smbolos) que nombran entidades del lenguaje. Algunas de las de
entidades que un identificador puede denotar son las variables, las constantes, los
tipos de dato, las etiquetas, las subrutinas, los paquetes y las subrutinas
(procedimientos y funciones).
En muchos lenguajes algunas secuencias tienen la forma lxica de un identificador
pero son conocidos como palabras clave (o palabras reservadas). Lo habitual es
que si un identificador se corresponde con una palabra clave o reservada, ste ya
no pueda utilizarse para referirse a otro tipo de entidades como variables o
constantes (en unos pocos lenguajes, como PL/1, esta distincin no est del todo
clara).
3.5 ALMACENAMIENTO, DIRECCIONAMIENTO Y REPRESENTACIN EN
MEMORIA.
ALMACENAMIENTO:
Hay dos clases, almacenamiento primario, que son los que usa la CPU
directamente (memoria principal, memoria cach, etc.) y el almacenamiento
secundario, a los cuales la CPU no accede directamente, sino que deben
almacenarse previamente en uno primario. Son de almacenamiento secundario los
discos magnticos, pticos, cintas magnticas, tambores magnticos, etc. El
almacenamiento de datos puede usarse tambin para copias de seguridad, ver
backup.Con el correr de los aos, el almacenamiento de datos informticos ha ido
bajando de precio. Por ejemplo, 1 GB de memoria en 1956 costaba 8,2 millones
de dlares. En 1980, 184 mil dlares; en 1990 eran 5.200 dlares; en 2000 eran
12 dlares, y en 2006 fueron 1,2 dlares.
DIRECCIONAMIENTO
Los llamados Modos de direccionamiento son las diferentes maneras de
especificar en informtica un operando dentro de una instruccin (lenguaje
ensamblador). Cmo se especifican e interpretan las direcciones de memoria
segn las instrucciones. Pueden ser:
Inmediato: En la instruccin est incluido directamente el operando.
Directo: El campo de operando en la instruccin contiene la direccin en memoria
donde se encuentra el operando.
Como arreglos
Como listas ordenadas
Cada expresin toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecucin de las operaciones indicadas. Una
Expresin consta de operadores y operandos. Segn sea el tipo de datos que
manipulan, se clasifican las expresiones en: Aritmticas, Relacionales, Lgicas
3.8 PRIORIDAD DE OPERADORES, EVALUACIN DE EXPRESIONES
Prioridad
Se llama prioridad al orden en el que se evala una expresin. 4D tiene una
estricta prioridad izquierda-a-derecha. Por ejemplo: 3+4*5 devuelve 35 porque la
expresin es evaluada como 3+4, dando 7, el cual es multiplicado por 5,
resultando 35. Se pueden utilizar parntesis para cambiar la prioridad izquierda-aderecha. Por ejemplo:
3+ (4*5) devuelve 23 porque se evala primero la expresin (4*5), por estar entre
parntesis. El resultado es 20, lo cual es aadido el 3, dando el resultado final 23.
Se pueden insertar parntesis dentro de otros grupos de parntesis. Es necesario
asegurarse de que cada parntesis izquierdo tiene su correspondiente derecho. La
falta o el uso incorrecto de los parntesis puede provocar resultados inesperados
o expresiones no vlidas.
EVALUACIN DE EXPRESIONES
Cuando en una expresin concurre ms de una operacin, los parntesis
indicarn prioridad, es decir, la operacin encerrada entre parntesis se realizar
en primer lugar. Adems, algunos operadores tendrn preferencia sobre otros. Por
ejemplo, en la operacin a + b / c, primero se realizar b / c y posteriormente se le
sumar a. En caso de que el programador quiera que se sume primero a y b para
posteriormente dividir por c, tendramos que hacer (a + b) / c. Si todos los
operadores de una expresin tienen la misma prioridad, la operacin se har de
izquierda a derecha, salvo cuando tengamos exponenciales, en tal caso, el orden
ser de derecha a izquierda, por ejemplo, al hacer 2**3**2 resulta el valor 2**9 =
512
3.9 ELABORACION DE PROGRAMAS
En Java, en principio, no se pueden crear autoejecutables ya que este es un
lenguaje multiplataforma y los archivos autoejecutables son dependientes de la
plataforma. Esto provoca que tengamos que usar la consola para ejecutar
nuestros programas; lo que supone un gran inconveniente para usuarios sobre
todo acostumbrados a los entornos grficos. Existen varias soluciones para este
asunto. Aqu se explican tres de ellas. La primera es la de crear ejecutables