Definición de tipos:
type Nota_Examen is range 0 .. 10;
type Nota_Con_2_Decimales is digits 2 range 0.0 .. 10.0;
Declaración de variables y constantes
I : Integer;
Precio : Float;
Nota : Nota_Examen;
Nota_Inicial : Nota_Examen := 5;
Nota_De_Corte : constant Nota_Con_2_Decimales := 5.0;
Ejemplos de uso:
I := I + 1;
Precio := 10.0 * Float (I);
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
Definición de tipos:
type Nombre_Cliente is new String (1 .. 15);
Declaración de variables y constantes:
Nombre : Nombre_Cliente := "Pepe GarcÃa ";
Direccion : String (1 .. 30);
Saludo : constant String := "Hola!";
Ejemplos de uso:
Nombre (4) := 'a'; -- Ahora Nombre es Pepa GarcÃa
hay que completar
hasta 15 caracteres
Nombre (1 .. 4) := "Jose"; -- Ahora Nombre es
-- Jose GarcÃa
N := Nombre’Length; -- N vale 15
Direccion := "General Dávila"; -- Error: no tiene
-- 30 caracteres!!
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
Forma simple:
if I < 0 and not Neg then
I := 0;
end if;
Con else:
if Valor in 50 .. 70 then
Valor correcto := True;
Put_Line ("OK");
else
Valor_Correcto := False;
end if;
Forma múltiple:
if Nivel > 50.0 then
Activa_Alarma (Grave);
elsif Nivel > 40.0 then
Activa_Alarma (Media);
elsif Nivel > 30.0 then
Activa_Alarma (Leve);
else
Funcionamiento_Normal;
end if;
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
Cubre todos los casos:
case Hoy is
when Lunes | Martes |
Jueves =>
Trabajo;
when Miercoles =>
Trabajo;
Futbol;
when Viernes =>
Trabajo;
Salir;
when Sabado =>
Salir;
when Domingo =>
null;
end case;
No cubre todos los casos:
Nota : Integer;
case Nota is
when 0 .. 4 =>
Suspenso;
when 5 .. 6 =>
Aprobado;
when 7 | 8 =>
Notable;
when 9 .. 10 =>
Sobresaliente;
when others =>
Nota_Incorrecta;
end case;
como no se
cubren todos
los valores es
obligatorio
poner "others"
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
Lazo simple:
for I in 1..100 loop
Suma := Suma + I;
end loop;
Lazos y arrays:
for I in Vector’range loop
Suma := Suma + Vector (I);
end loop;
Orden inverso:
for J in reverse 1..10 loop
...;
end loop;
UNIVERSIDAD DE CANTABRIA
Con condición de salida:
loop
Suma := Suma + N;
exit when Suma > 100;
N := N + 1;
end loop;
Lazo while:
while Suma <= 100 loop
J := J + 2;
Suma := Suma + J;
end loop;
GRUPO DE COMPUTADORES Y TIEMPO REAL
DPTO. DE ELECTRÓNICA Y COMPUTADORES
procedure Busca_Aciertos (Objetivo : Palabra;
Long_Palabra : Integer;
Letra : Character;
Acertadas : in out Palabra;
Acierto : out Boolean) is
begin
-- Comprueba si ’Letra’ está en ’Objetivo’, en caso
-- afirmativo
Links de descarga
http://lwp-l.com/pdf1084
Comentarios de: Introducción al Lenguaje de Programación Ada (0)
Comentarios de: Introducción al Lenguaje de Programación Ada (0)
No hay comentarios