La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes.

Presentaciones similares


Presentación del tema: "Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes."— Transcripción de la presentación:

1 Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 with Text_IO; use Text_IO; procedure Escribir is -- declaraciones begin Put(Hello world); end Escribir;

2 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde2 Tipos predefinidos –Integer Valores: –Undescore: 20_252_787 –Base (2..16): 2# # 2#0110_1001# 16#69# Variables: -- en la parte de declaraciones I: integer; I, J: integer; I, J: integer := 0; I, J: constant integer := 1; Operadores: +, -, *, /, - (división entera) E/S: -- en la parte de declaraciones package IntIO is new Integer_IO(integer); use IntIO; -- en el cuerpo Get(I); Put(I * J + 3);

3 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde3 Tipos predefinidos –Float Valores: 1.1, -1.3, -0.3E-5 –Undescore: 3.14_15 Variables: -- en la parte de declaraciones F: float; F, G: float := 0.0; PI: constant float := ; Operadores: +, -, *, /, - E/S: -- en la parte de declaraciones package FIO is new Float_IO(float); use FIO; -- en el cuerpo Get(F); Put(F * G + 3.0);

4 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde4 Tipos predefinidos –Boolean Valores: truefalse Variables: -- en la parte de declaraciones B: boolean; B, C: boolean := false; B: constant boolean := true; Operadores: –Long circuit: andorxornot –Short circuit: and thenor else Operadores relacionales: = /= > >= < <= –Operandos del mismo tipo

5 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde5 Tipos predefinidos –Character Valores: Aa4?&- Variables: -- en la parte de declaraciones C: character; C, D: character := z; C: constant character := F; E/S: -- en el cuerpo Get(C); Put(C); –String Valores: Hello world Pepe

6 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde6 Expresiones. Operandos y operadores –Conversiones de tipos numéricos F := F + float(I); I := I + integer(F); –Operadores de pertenencia (membership) in, not in –Operadores rem y mod –Exponenciación Integer o float ** integer No hay agrupamiento automático –Valor absoluto abs(3), abs(-3), abs 3, abs(-3) –Concatenación de strings abc & de & e & fghij

7 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde7 Precedencia de operadores Operadores lógicos –and then, or else, and, or, xor Operadores relacionales –in, not in, =, /=,, >= Operadores de adición –+, -, & Operadores unarios –-, + Operadores de multiplicación –*, /, mod, rem Otros operadores –**, not, abs LOW HIGH * 3 <> (1 + 2) * 3 I * -2 –- ilegal I * (-2) –- legal -2 * I –- primero se evalúa 2 * I A and B and C-- legal A or B or C-- legal A and B or C-- ilegal A or B and C-- ilegal

8 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde8 Declaración de variables y constantes I: integer; J: integer := 2; C, D: character := A; K: constant integer := 3; L: integer := J * K; M: constant float := * float(L); B1, B2: boolean := (float(K) >= M) or (C <> D);

9 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde9 Sentencias básicas –Asignación V := expresión;-- ambos lados de la asignación -- deben ser del mismo tipo –Null null

10 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde10 Sentencias básicas –Selección if expresión lógica then secuencia de sentencias {elsif expresión lógica then secuencia de sentencias} [else secuencia de sentencias] end if; if X > 0 then X := X - 1 end if; if X > Y then X := X + 1; else Y := Y + 1; end if; if C in A..Z then Put(Es una letra); elsif C in then Put(Es dígito numérico); else Put(Es carácter especial); end if;

11 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde11 Sentencias básicas –Selección case selector is {when alternativa => secuencia de sentencias} end case; Alternativa: –Expresión del tipo del selector –Rango de valores del tipo del selector –others case C is when A|B..Z => Put(Es una letra); when 0..9 => Put(Es dígito numérico); when others => Put(Es carácter especial); end case; case I is when 0..4|10| => I := I + 1; when 5..9|11..14|20 => I := I + 2; when others => null; end case;

12 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde12 Sentencias básicas –Iteración Loop básico loop secuencia de sentencias end loop; While loop while condición loop secuencia de sentencias end loop; For loop for I in [reverse] rango discreto loop secuencia de sentencias end loop; loop Get(C); Put(C); end loop; Get(C); while C <> Z loop Put(C); Get(C); end loop; for C in 0..9 loop Put(C); end loop; for I in N + 0..N + 9 loop Put(I); end loop;

13 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde13 Sentencias básicas –Exit y Exit when ¿Y la programación estructurada? ¿Qué es programación estructurada? loop Get(C); if C = Z then exit; end loop; loop Get(C); exit when C = Z; end loop; loop -- sentencias exit when condición; -- sentencias end loop;

14 Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde14 Tipos derivados –Tipo nuevo, igual al tipo padre pero incompatible procedure Clase1_TiposDerivados is type Int is new integer; type Char is new character; I: Int; J: integer; C: Char; D: character; begin I := 1; J := 2; J := I; -- ilegal J := integer(I); -- legal J := J + I; -- ilegal J := J + integer(I); -- legal I := J; -- ilegal I := Int(J); -- legal I := I + J; -- ilegal I := I + Int(J); -- legal C := 'C'; D := 'D'; D := C; -- ilegal D := character(C); -- legal C := D; -- ilegal C := Char(D); -- legal end Clase1_TiposDerivados;


Descargar ppt "Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes."

Presentaciones similares


Anuncios Google