La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación de Computadores

Presentaciones similares


Presentación del tema: "Programación de Computadores"— Transcripción de la presentación:

1 Programación de Computadores
Lenguaje Pascal Sesión 3 Datos y Variables Prof:Eridan Otto

2 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables TEMARIO Estructura de un programa PASCAL Declaraciones Tipos de datos simples Tipos estándares Tipos definidos por el usuario

3 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Estructura de un programa PASCAL Un programa PASCAL se estructura de la siguiente forma: ENCABEZADO DECLARACIONES CUERPO PROGRAMA Definición de Sintaxis: Es un conjunto de componentes tales como palabras reservadas( propias del lenguaje) identificadores, expresiones etc. estructuradas en una serie de reglas gramaticales estrictas, que al combinarse dan como resultado un programa computacional para un lenguaje particular. Ej: PASCAL, C, COBOL, FORTRAN...... De ahora en adelante, cada vez que nos referimos a sintaxis, se explicará una combinación de varios elementos, válidos para PASCAL. Algunas reglas: - Palabras propias del lenguaje, irán en mayúscula -<xxxxx>, indica que xxxx es una estructura que puede ser descompuesta en elementos más simples.

4 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Estructura de un programa PASCAL ENCABEZADO: Permite identificar el programa, además de indicar su comienzo y su final. La sintaxis básica de un programa PASCAL es: PROGRAM <identificador>; DECLARACIONES BEGIN CUERPO PROGRAMA END. <identificador>: Uso: sirven para que el usuario defina constantes, variables, tipos de datos definidos por el usuario, entre otros. Reglas de la sintaxis de un identificador : un identificador debe comenzar con una letra no número u otro carácter [A..Z, a..z a continuación se pueden combinar una cantidad razonable de caracteres cualquiera (letras, números, símbolos) no pueden ser iguales a palabras reservadas, por ejemplo PROGRAM, VAR, etc. Ejemplos de un identificador válido para PROGRAM: calculoArea, Programa_01, Pi, g ....

5 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Estructura de un programa PASCAL DECLARACIONES: Esta sección va al comienzo, después de PROGRAM y antes del BEGIN del programa, tiene por objetivo definir tipos de datos definidos por el usuario, constantes y variables. Declaración de constantes: una constante es un valor que no cambia durante la ejecución de un programa. Definir constantes, cuando es necesario es una buena práctica. La sintaxis es la siguiente: CONST <identificador constante1> = <valor de tipo estándar1> <identificador constante2> = <valor de tipo estándar2> inicio comentario comentario final comentario Ejemplo: PROGRAM calculos; CONST altura = 80; (* en metros *) gravedad=9.8; {metros/seg2} ...... BEGIN END. final comentario comentario inicio comentario

6 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Estructura de un programa PASCAL Declaración de variables: constituyen uno de los elementos más importantes de un programa, son “almacenes” de datos con un tipo definido, cuyo contenido puede ser alterado en el cuerpo del programa. Las variables se referencian por su <identificador> en el cuerpo del programa y se declaran en el área de declaraciones. TODA VARIABLE USADA en el cuerpo del programa DEBE ser declarada. El tipo de una variable no puede cambiar en el cuerpo del programa. Los nombres de una variable siguen la sintaxis de un <identificdor>, es una buena práctica que estos nombres tengan relación con el uso de la variable en el programa. Significativos. La sintaxis es la siguiente: VAR <identificador variable 1>, <identificador variable 2>.... :<tipo de dato>; <identificador variable x>, <identificador variable y>.... :<tipo de dato>;

7 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos simples <tipos de datos simples>: La sintaxis es la siguiente: <tipos estándares> <tipos definidos por el usuario> Definición de tipos de datos simples: Son datos que se asocian a una variable, esta variable queda asociada al tipo para su uso dentro del ámbito del cuerpo del programa, este tipo no se puede cambiar. Son simples porque las variables asociadas a estos tipos toman un solo valor. Definición de tipos de datos estándares: PASCAL ofrece cuatro tipos estándares predefinidos, los cuales son parte de las palabras reservadas, a saber; INTEGER : representan números de enteros, el rango de INTEGER es a 32767 REAL : representan números reales, su formato puede ser punto decimal (ej: ) o notación científica parte (+o-)<decimal>E(+ o -)<exponente> (ej.: 23.12E6, corresponde a 23,12 x 10 ). Los rangos son: 11 cifras significativas para la parte decimal o mantisa más signo y de -39 a 38 para el exponente CHAR : representan caracteres y depende del set usado por la máquina. Una variable o constante de tipo CHAR, puede contener un solo carácter(Ej: ‘A’, ‘r’,’!’). BOOLEAN:representan un dato lógico verdadero o falso. Las constantes para estos dos valores son palabras reservadas del lenguaje y corresponden a TRUE o FALSE respectivamente. Una variable de tipo BOOLEAN no puede ser leída ni escrita directamente. 6

8 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos simples Ejemplos: PROGRAM tipos; CONST TasaInteres =0.013; {%} Periodos = 24; {meses} VAR PeriodoActual, InverInicial,semestres:INTEGER; MontoInversion,InteresPeriodo, InteresAcumulado,MontoRetiro,beneficio:REAL; Rescate:BOOLEAN; SiglaMes:CHAR BEGIN ...... END Expresiones aritméticas: son una combinación válida de constantes, variables, valores de tipo INTEGER o REAL relacionadas por un conjunto de operadores. Estas expresiones se reducen finalmente a un valor, el cual puede ser asignado a una variable. Existen dos tipos de reglas para evaluar expresiones: Compatibilidad de tipos estándares para poder operar Reglas de evaluación y precedencia entre operadores

9 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos simples Operadores aritméticos: Operador Tipo Función Ejemplo Unario Invierte signo InversionInicial := ; Binario suma InteresAcumulado := InteresAcumulado + InteresPeriodo; Binario resta InteresAcumulado := InteresAcumulado - MontoRetiro; * Binario producto InteresPeriodo := MontoInversion*tasa; DIV Binario división entera semestres := Periodos DIV 6; / Binario división real beneficio := MontoInversion / InversionInicial; MOD Binario resto entero MOD > 1

10 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos simples Compatibilidad de Tipos: en operadores binarios: Frente a una operación binaria +,- ,*, o / donde al menos uno de los tipos sea real, el resultado final es real. Dos enteros operados con / dan un resultado real. Los enteros son considerados un subconjunto de los reales, por lo que no se puede asignar un real a un entero pero si viceversa. DIV y MOD sólo funcionan con tipos enteros. Precedencia de operadores : Cuando se tiene una expresión que combina más de un Operador aritmético, se siguen las siguientes reglas de evaluación, jerarquizando de mayor a menor precedencia: {inversión de signo} *, / , MOD, DIV +, - {resta} (,) no son operadores, pero hace que se evalúen primero las operaciones entre paréntesis rompiendo las reglas anteriores Para operadores con misma precedencia, la evaluación se debe realizar de izquierda a derecha

11 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos simples Ejercicios: Calcule el valor de las siguientes expresiones de acuerdo a las reglas de precedencia de operadores y compatibilidad de tipo de datos 5 + 4 * 3 / 4.0{primero se evalúa * antes que / ,misma precedencia de izquierda a derecha} / 4.0 {se evalúa primero / mayor, precedencia que +} 8.0 b) (5 + 4) * 3 / 4.0 {se evalúan primero los paréntesis de adentro hacia fuera} 9 * 3 / { a misma precedencia de izquierda a derecha} 27 / 4.0 6.75 c) (8 * ) MOD 3 ( ) MOD 3 24.0 MOD 3 Resultado

12 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos simples Operadores lógicos (se usan con tipos booleanos) : Operador Tipo Función Ejemplo NOT Unario Cambia valor NOT TRUE > FALSE de verdad (negación) AND Binario Conjunción( y lógico) TRUE AND TRUE AND FALSE -- > FALSE OR Binario Disyunción (o lógico) TRUE OR TRUE OR FALSE --- > TRUE Operadores relacionales: establecen un valor de verdad por medio de comparaciones, Se comparan datos o variables del mismo tipo: Operador Tipo Función Ejemplo = Binario test de igualdad = > TRUE <> Binario test de desigualdad <> > FALSE < Binario test menor que < > FALSE > Binario test mayor que > > FALSE <= Binario test menor o igual que <= > TRUE > = Binario test mayor o igual que >= > TRUE

13 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos simples Precedencia de operadores lógico : estos operadores, siguen las siguientes reglas de evaluación, jerarquizando de mayor a menor precedencia: NOT AND OR (,) no son operadores, pero hace que se evalúen primero las operaciones entre paréntesis rompiendo las reglas anteriores Precedencia de operadores relacionales : estos operadores, tienen todos la misma importancia relativa, por lo que la regla de evaluación de izquierda a derecha es la principal =,<>,>,<,>=,<= (,) no son operadores, pero hace que se evalúen primero las operaciones entre paréntesis rompiendo las reglas anteriores Si en una relación, ejemplo (10*20>5), se incluye una expresión con operadores aritméticos, estos siempre tienen mayor precedencia que los relacionales, lo mismo pasa con los lógicos, qur tienen mayor precedencia que los relacionales.

14 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos simples Ejercicios: Calcule el valor de las siguientes expresiones de acuerdo a las reglas de precedencia de operadores y compatibilidad de tipo de datos a) NOT FALSE OR TRUE {primero se evalúa NOT pues tiene mayor precedencia} TRUE OR TRUE TRUE b) NOT (FALSE OR TRUE) {se evalúan primero los paréntesis de adentro hacia fuera} NOT (TRUE) FALSE c) 40 > 20 AND 10 < 30 20 AND {AND tiene mayor precedencia} Error {como arreglo ??} (20>=5*4) AND NOT TRUE OR (3 <= 4) (20>=20) AND FALSE OR TRUE TRUE AND FALSE OR TRUE {izquierda a derecha} FALSE OR TRUE

15 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos definidos por el usuario Tipos enumerados: se componen de una lista de identificadores encerrados entre Paréntesis y separados por comas. Sintaxis: TYPE <identificador tipo> = ( <identif. Elem1>, <identif. Elem2>,...., <identif. Elemn>); El orden de los elementos es relevante (ordinales), por lo que elemento 1 es menor que el elemento 2. Este orden depende del orden de la declaración. Un elemento de un tipo, no puede pertenecer a dos tipos enumerados distintos. No pueden leerse desde teclado ni imprimirse en pantalla. Ejemplos: PROGRAM enumerados; TYPE diasSemana = ( lunes,martes,miercoles,jueves,viernes,sabado,domingo); primerSemestre = ( Marzo,Abril,Mayo,Junio,Julio); CONST primerDia = lunes; VAR dias : diasSemana; mes1,mes2 : primerSemestre esVerdad:BOOLEAN; BEGIN mes1 := Abril; mes2 := Mayo; dias := martes; esVerdad:= (dias<> SUCC(primerDia) ) AND (mes2 <mes1); {Qué valor toma esVerdad??} END. Sentencia Asignación

16 Programación de Computadores Lenguaje Pascal
Sesión 3: Datos y Variables: Tipos de datos definidos por el usuario Tipos sub-rango: es un subconjunto de un tipo ordinal INTEGER,BOOLEAN,CHAR,enumerado definido por el usuario. Se especifica indicando el primer y último elemento del conjunto. TYPE <identificador tipo> = <identif primer Elem> .. < identif último Elem>; Los conjuntos ordinales, permiten operaciones como sucesor SUCC(); cardinalidad ORD(); Si se asignan valores fuera de las cotas del subrango a una variable de este tipo, se producirá un error Run-Time. Ejemplos: PROGRAM enumerados; TYPE diasmes = 1..31; primerSemestre = ( Marzo,Abril,Mayo,Junio,Julio); primerosTresMeses = Marzo..Mayo; VAR dias : diasmes; mes1: primerosTresMeses;mes2 : primerSemestre esVerdad:BOOLEAN; BEGIN mes1 := Marzo; mes2 := Julio; dias := 2; esVerdad:= (dias< 3 ) AND (mes1 <mes2); {Qué valor toma esVerdad??} END. Sentencia Asignación

17 Fin Clase 3


Descargar ppt "Programación de Computadores"

Presentaciones similares


Anuncios Google