Sei sulla pagina 1di 6

TIPOS DE DATOS, OPERACIONES Y EXPRESIONES

Datos
Un dato es cualquier información codificada y utilizada por algún programa que
necesite un espacio de almacenamiento en el ordenador. La codificación significa
que cada dato estará representado por una serie de símbolos manejables por el
ordenador. Aunque, habitualmente, para facilitar su utilización por el programador
cada dato tiene asignado un nombre o identificador en el programa fuente. Pueden
realizarse distintas clasificaciones en función de diferentes características de los
datos. Por ejemplo, dependiendo de:
a) si varían o no durante la ejecución de un programa, pueden ser variables o
constantes.
b) su naturaleza (lo que representan), tamaño que ocupan en memoria, formato de
codificación y funcionalidad (qué operaciones se pueden realizar con ellos), pueden
clasificarse en distintos tipos de dato
c) cómo y en qué lugar de la memoria se almacenan, serán estáticos o dinámicos
Constantes
Las constantes son datos que no cambian de valor durante la ejecución del
programa. Pueden clasificarse en: constantes literales, constantes con nombre,
expresiones constantes y constantes con tipo. Por ejemplo, en la sentencia de
asignación:
VolEsfera:= (4/3)*PI*(R*R*R);
4 y 3 son constantes literales, que ya tienen un significado para el lenguaje
TurboPascal y PI podría declararse como una constante con nombre.
Constantes literales y constantes con nombre
Las constantes literales y las constantes con nombre pueden ser de diferentes tipos:
numéricas enteras, numéricas reales, lógicas o booleanas, caracteres, cadenas de
caracteres, de un tipo conjunto o de un tipo enumerado definido por el usuario. Si
bien las constantes literales ya tienen un significado específico para el lenguaje
TurboPascal, las constantes con nombre deben definirse (declararse) antes de su
utilización en la sección de declaraciones de constantes del programa. En caso de
declararse varias constantes puede hacerse una a continuación de la otra y después
de la palabra reservada CONST.
Sintaxis: CONST Identificador_1 = Valor_1;
Identificador_2 = Valor_2;
Identificador_n = Valor_n;
Ej.: Const Pi = 3.141592;
Caracter = 'N';
Numero = 11;
Cierto = true;
Saludo = '¡Hola!';
Letras = ['A'..'Z','a'..'z'];
Constante de tipo
Existe otro tipo de dato llamado genéricamente constante con tipo que, aunque se
define en la sección de declaraciones como constante, no lo es en la práctica, ya
que su valor puede variar durante la ejecución del programa. Las constantes con
tipo sirven, en realidad, para inicializar variables (asignar valores a una variable
antes de la primera sentencia del programa). En la declaración se especifica tanto
el tipo de la "constante" como el valor inicial asignado. Como se verá más adelante,
además de los tipos antes mencionados, pueden ser de tipo conjunto (Set), matriz
(Array) o registro (Record).
Sintaxis: CONST Identificador : Tipo = Valor;
Ej.: Type Letras = set of Char;
Combina = array[1..7] of integer;
Matriz3x3 = array[1..3,1..3] of real;
Punto = record
X, Y : real
end;
Persona = record
Nombre : string[40];
Tlfno : string[9];
end;
Const n : integer = 17;
saludo : string = 'Buenos dias';
x : array[1..3] of char = ('?','3','a');
digitos : letras = ['0'..'9'];
pares : set of char = ['A','E','I','O','U']
MIdent: Matriz3x3 = ((1,0,0),(0,1,0),(0,0,1));
Origen : Punto = (X:0.0; Y:0.0);
Responsable : Persona = (Nombre:'Juan';
Tlfno:'5550000');
Expresiones
Una expresión es una combinación de operadores y operandos. Los datos u
operandos pueden ser constantes, variables y llamadas a funciones. Además,
dentro de una expresión pueden encontrarse subexpresiones encerradas entre
paréntesis. Por ejemplo, la siguiente expresión matemática:
X2 + (b – 3) * cos (α)
Cuando se ejecuta una sentencia de código que contiene una expresión, ésta se
evalúa. Al evaluarse la expresión toma un valor que depende del valor asignado
previamente a las variables, las constantes y los operadores y funciones utilizadas
y la secuencia de la ejecución de las operaciones correspondientes. Este valor
resultante de la evaluación de la expresión será de un determinado tipo de dato. Por
ejemplo, de un tipo numérico entero (integer, shortint…), de un tipo real o de un tipo
lógico o booleano.
Operadores
En el código fuente de un programa un operador es un carácter o una secuencia de
caracteres. Por ejemplo: +, *, div o shr. Los operadores definen las operaciones que
van a realizarse con los datos u operandos. En TurboPascal existen distintos tipos
de operadores. Por un lado, pueden clasificarse, dependiendo del número de
operandos, en unarios o unitarios (un operando) y binarios (dos operandos). Por
otro lado, pueden clasificarse, dependiendo del tipo de operandos y de su resultado,
en operadores aritméticos, de cadenas de caracteres, de relación, lógicos o
booleanos, de bit y de conjuntos.
Algunos operadores están sobrecargados, lo que significa que la operación que
representan depende del número o tipos de operandos sobre los que actúa. De esta
forma, por ejemplo, el operador + puede hacer referencia a la suma de valores
numéricos, a la concatenación de caracteres o a la unión de conjuntos dependiendo
del tipo de sus operandos.
ESTRUCTURA DE UN PROGRAMA
La programación estructurada es una técnica para escribir programas
(programación de computadora). Para ello se utilizan únicamente tres estructuras:
secuencia, selección e iteración; siendo innecesario el uso de la instrucción o
instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o
múltiples RETURN).
Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las
necesidades de programación existentes en los años 1960, principalmente debido
a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no
son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como
la programación orientada a objetos y el desarrollo de entornos de programación
que facilitan la programación de grandes aplicaciones.

El teorema del programa estructurado, propuesto por Böhm-Jacopini, demuestra


que todo programa puede escribirse utilizando únicamente las tres instrucciones de
control siguientes:
• Secuencia
• Instrucción condicional.
• Iteración (bucle de instrucciones) con condición al principio.
Solamente con estas tres estructuras se pueden escribir todos los programas y
aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor
repertorio de estructuras de control, éstas pueden ser construidas mediante las tres
básicas citadas.

Estructura secuencial

Una estructura de programa es secuencial si las instrucciones se ejecutan una tras


otra, a modo de secuencia lineal, es decir que una instrucción no se ejecuta hasta
que finaliza la anterior, ni se bifurca el flujo del programa.
Ejemplo:

INPUT x
INPUT y
auxiliar= x
x= y
y= auxiliar
PRINT x
PRINT y
Esta secuencia de instrucciones permuta los valores de x e y, con ayuda de una
variable auxiliar, intermedia.
• 1º Se guarda una copia del valor de x en auxiliar.
• 2º Se guarda el valor de y en x, perdiendo su valor anterior, pero se mantiene una
copia del contenido en auxiliar.
• 3º Se copia a y el valor de auxiliar, que es el valor inicial de x.
• El resultado es el intercambio de los valores entre x e y, en tres operaciones
secuenciales.
Estructura selectiva o de selección

La estructura selectiva permite que la ejecución del programa se bifurque a una


instrucción (o conjunto) u otra/s, según un criterio o condición lógica establecida,
sólo uno de los caminos en la bifurcación será el tomado para ejecutarse.

Ejemplo:

IF a > b THEN
PRINT a ; " es mayor que " ; b
ELSE
PRINT a ; " no es mayor que " ; b
END IF

La instrucción selectiva anterior puede presentar uno de dos mensajes: a es mayor


que b o a no es mayor que b, según el resultado de la comparación entre a y b; si
el resultado de a > b es verdadero, se presenta el primer mensaje, si es falso se
exterioriza el segundo. Las palabras clave IF, THEN, ELSE, y END IF; constituyen
la propia estructura de la instrucción condicional (palabra reservadas),
proporcionada por el lenguaje, el usuario no debe utilizar sus nombres salvo para
este fin.

El caso ejemplo se ha codificado en BASIC.


• IF señala el comienzo de la instrucción condicional, y se espera que después siga
la condición lógica de control de la instrucción.
• THEN señala el fin de la condición, y después estará la instrucción a ejecutar si la
condición es verdadera.
• ELSE es opcional, le sigue la instrucción que se ejecutará si la condición es falsa.
• END IF indica el final de la estructura, luego de ésta el programa seguirá su curso.

Ampliando un poco el ejemplo anterior, con estructuras anidadas:

IF a > b THEN
PRINT a ; " es mayor que " ; b
ELSEIF a < b THEN
PRINT a ; " es menor que " ; b
ELSE
PRINT a ; " es igual que " ; b
END IF
Este ejemplo permite considerar situaciones en las que se tiene más de dos
alternativas. En este caso se ha considerado tres, pero hay situaciones en las que
deben considerarse más casos y para ellos se puede repetir las veces que sea
necesario la opcional ELSEIF.
Estructura iterativa

Un bucle iterativo o iteración de una secuencia de instrucciones, hace que se repita


su ejecución mientras se cumpla una condición, el número de iteraciones
normalmente está determinado por el cambio en la condición dentro del mismo
bucle, aunque puede ser forzado o explícito por otra condición.
Ejemplo:
a= 0
b= 7
DO WHILE b > a
PRINT a
a= a + 1
LOOP

Esta instrucción tiene tres palabras reservadas WHILE, DO y LOOP.


• DO WHILE: señala el comienzo del bucle ("haga mientras") y después de estas
palabras se espera la condición lógica de repetición, si la condición es verdadera
pasa el control al cuerpo del bucle, en caso contrario el flujo salta directamente al
final de la estructura, saliendo de la misma.
• LOOP: señala el final del cuerpo de la estructura de bucle.
El bucle mientras, se repite mientras la condición sea verdadera, esta condición se
comprueba o chequea antes de ingresar al cuerpo del bucle, por lo que el mismo
puede que no se ejecute nunca (cuando la condición es falsa desde un principio) o
bien que se repita tantas veces como resulte y mientras la condición sea cierta.

En el ejemplo se tienen definidas dos variables a y b, que al iniciarse el bucle


contienen los valores a=0 y b=7.
La condición del bucle es b > a.
Si a=0 y b=7. la condición es verdadera, en el cuerpo del bucle se escribe el
valor de a en pantalla y luego se incrementa esa variable en una unidad.
Entonces pasa a ser a=1 y b=7.
... (se repite la secuencia),
Cuando a=6 y b=7. la condición sigue siendo verdadera, se escribe el valor
de a en pantalla y se incrementa en una unidad.
Cuando se llega a que a=7 y b=7. Entonces la condición ya resulta falsa y la
instrucción WHILE finaliza, saliendo por LOOP.
La salida por pantalla de este ejemplo es 0 1 2 3 4 5 6, y se iteró 7 veces.
El lenguaje utilizado en el ejemplo (BASIC), además de tener otras del tipo iterativas,
permite utilizar la misma estructura indicada, pero de la siguiente forma:
a= 0
b= 7
WHILE b > a
PRINT a
a= a + 1
WEND
Que es absolutamente análoga, en éste formato la palabra reservada WEND marca
el fin del bucle y no se utiliza ni DO ni LOOP.

Potrebbero piacerti anche