lunes, 31 de enero de 2011

LA SENTENCIA IF (CLASE 5)





• Dado que las expresiones lógicas toman el valor verdadero o falso, es necesario una sentencia de control que dirija a la computadora para ejecutar una sentencia si la expresión es verdadero y otra en caso de ser falsa. Para ello existe en pascal la sentencia de control condicional if-then-else, o estructura selectiva.







(DIAGRAMA DE FLUJO)























ESCRITURA DEL IF DIAGRAMA DE SINTAXIS


If if-->expresión lógica-->then-->sentencia A
Expresión lógica else-->sentencia B
Then
Sentencia A
Else
Sentencia B

EJEMPLO:



program Numeros;
Var
Numero:real;
begin
writeln ( ‘ introduzca un numero ’ );
read (numero);
if numero > 0.0
then
writeln (‘el numero intro es positivo)
else
writeln (‘el numero intro es negativo);
write (‘esto se imprime si numero es positivo o negativo’);
end.

NOTA: si solo se desea que una determinada acción solo se ejecute si una condición es verdadera y no realizar ninguna otra si la condición es falsa, se omite del formato la clausula else.


SENTENCIAS COMPUESTAS

• En lugar de realizar solo una acción, cuando se cumpla o no una condición, se podría desear realizar varias acciones. Esto se hace mediante sentencias compuestas.
• Una sentencia compuesta es un conjunto de sentencias separadas por puntos y comas y encerradas por las palabras begin y end.



FORMATO DE UNA SECUENCIA COMPUESTA:


begin begin
sentencia1; read (numero);
sentencia2; N:= N+1;
sentencia n write (‘el numero es’, numero:4);
end (no punto) bandera=1
end

EJEMPLO:



program Numeros;

var

x:integer;

begin

read(x);

if x > 0

then

begin

writeln(x,' espositivo');

writeln('en esta ocasion',' es positivo')

end

else

begin

writeln(x,'es negativo');

writeln(' o bien es cero')

end;

end.



LA SENTENCIA VACIA




  • pascal tiene uan sentencia que no hace absolutamente nada, esta es la sentencia nula o vacia. los puntos y comas separan sentencias en pascal.


  • supongamos que se escribe punto y coma al final de la sentencia de asignacion.



begin
readln (x);
Total:=Total + x ; {sentencia vacía}
end


• Como end no es una sentencia, el nuevo punto y coma no aparece como separación de dos sentencias. El compilador decide que hay una sentencia entre la sentencia de asignaicion y end, es decir, la sentencia nula. Esta sentencia se puede utilizar en cualquier parte que necesite una sentencia que no produzca ninguna acción ni cambio.



SENTENCIAS IF ANIDADAS



• La sentencia que sigue a la palabra reservada then o else puede ser cualquiera, incluso otra sentencia if-then-else. Cuando una o ambas bifurcaciones de una sentencia if-then-else contienen también una sentencia if-then-else, se dice que dichas sentencias if están anidadas y al proceso anidamiento. El anidamiento se puede utilizar para construir decisiones con diferentes alternativas.



Modelo 1 Modelo2
If condición 1 if condición 1
then then
sentencias x sentencias x
else else If condición 2
If condición 2 then
then sentencias y
Sentencias y else if…
else
sentencias z

EJEMPLO:

Se desea hacer un programa que lea un numero y determine si este es positivo, negativo, o cero.

program IdentificadorDeNumeros;
var
numero:integer;
begin
writeln (‘introduzca un numero’);
read (numero);
if (numero > 0)
then
writeln (‘el numero’,’Numero,’es positivo’)
else
if (numero <>

then

writeln (‘el numero’,’Numero,’es negativo’)

else

writeln (‘el numero es cero’);

end.

clase 2 isdentificadores, constantes, variables.palabras reservadas.

clase 2

OBJETOS DEL PROGRAMA
IDENTIFICADORES, CONSTANTES VARIABLES, PALABRAS RESERVADAS

Un programa pascal se construye a base de objetos (tokens) yseparadores (blacos o comentarios).Los objetos son las unidades significativas mas pequeñas de texto de un programa pascal y se dividen en:
*simbolos especiales *identificadores *etiquetas *numertos *constantes
*variables *directivas *etc.

*IDENTIFICADORES
*representan los objetos de un programa (cont, var)
*es un asecuencia de caracteres de cualquier longitud (significativos hasta 63)
*Reglas de un identificador:
*debe comenar con una letray no contener espacios en blanco
*letras, digitos y caracteres subrayados( _ ), estan permitidos despues del primer
caracter.
*no se puede usar un palabra reservada coo identificador
ejempos validos: ejempos no validos:
nombre Letras1 Peso_Kilo
PesoKilo Impuesto_IVA La@Luna
NOMBRE begin

*PALABRAS RESERVADAS
*estas palabras tienen un significado especial y no se pueden utilizar para otros propsitos .
Esta no se puede usar como identificador.
*generalmente estas plabras se escriben en minusculas negritas
*const, var, begin, do, for, if, program, uses.

*CONSTANETES
*como su nombre lo indica son objetos que mantienen su valor durante toda la ejecucion del
programa
*puede ser letras, palabras, y/o numeros
*generalmenre se escriben/identificadores con letras mayusculas

*VARIABLES
*son objetos que cambian su valor a los largo de la ejeuacion del programa
*el identificador de una variable puede utilizar las reglas de un identificador

DIAGRAMA DE SINTAXIS

*REGLAS DE SINTAXIS
*son las reglas de gramatica de un lenguaje de programacion
*determinan si la secuenia de caracteres que forman un programa se puede traducir pr el
compilador a codigo maquina
*las reglas de sintaxis se representan mediante diagramas denominados, diagramas de
sintaxis o diagramas de conway




*TIPOS DE DATOS PRIMITIVOS
*los diferentes objetos de informacion con los que un programa Pascal trabaja se conocen
colectivamenre como datos
*todos los datos tienen un tipo asociado con ellos
*Pasal es "fuertemente tipificado", es decir, que todos los datos utilizados deben tener sus tipos
declarados explicitamente y el enguaje limita lamezcla de tios en las expresiones
*el tipo de un dato determina la naturaleza del conjunto de valores que puede tomar una
variable
*el tipo de un dato determina la representacion. Internade los numeros, o al menos el espacio
de una memoria ocupado por una variable de un tipo dado

CLASIFICACION DE LOS TIPOS DE DATOS

TIPOS ENTEROS
*byte
*enteros entre 0 y 225
*se almacenan como byte (8bits)
*integer
*enteros entre -323768....32767
*el bit de mayor peso de los dos bytes es el bit de signo (si=1=negativo)
*longint
*enteros entre -2,47,483,684 y 2,147,483,647
*se almacenan como 4 bytes
*shortin
*enteros entre -128 y 127
*se almacenan como 1 byte
*word
*enteros entre 0 y 65535
*se lamacena en bytes

TIPOS REALES (FLOAT)
*representan al conjunto de los numeros reales en rango de 10
*se almacean como 6 bytes
*lacaena binaria que los representa no es igual a la de los enteros

TIPOS CARACTER (CHAR)
*es un tipo dedatos que puede cpntener un solo caracter
*puede ser epresado gracias al codigo ASCII (256 caracteres)
*un literal char se debeencerrar en comilla simple (apostrofos)
'A' 'B' '*' ' '
*la funcion char permite referenciar todos los caracteres: chr (65) equivale a la letra A
*tambien podemos designar caracteres con numero seguido del codigo cacacter
8
TIPOS OGICOS (BOOLEAN)
*PUEDEN TOMAR SOLO DOS VALORES:TRUE OR FALSE