Ada pratica

Solo disponible en BuenasTareas
  • Páginas : 5 (1051 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de septiembre de 2012
Leer documento completo
Vista previa del texto
PRÁCTICA NO. 4

PRACTICA No 4 “PROCEDIMIENTOS”
Profesor: Martín Verduzco Rodríguez

Asignatura: Sistemas Tiempo Real

Nombre(s) [Apellido paterno, apellido materno, nombre]

Grupo

Calificación

Fecha
INSTRUCCIONES: Realiza las actividades empleando el software de desarrollo para ADA, en algunos puntos
deberá escribir sobre el espacio indicado las instrucciones utilizadas que lepermitan llevar acabo la actividad.
En caso de no ser suficiente el espacio para escribir su respuesta, anote su respuesta atrás de esta hoja .

1. Instale el compilador y el software de desarrollo para ADA.
a. Ejecute el archivo “gnat-gpl-2011-i686-pc-mingw32-bin” y siga las instrucciones que aparecen en
pantalla. Este archivo contiene el core para compilar programas desarrollados en ADA.
b.Ejecute el archivo “adagide-7.45-setup” y siga las instrucciones que aparecen en pantalla. Este
archivo es un editor de ADA.
c. El software adagide permite compilar, desafortunadamente tiene problemas para generar archivos
nuevos, por ende, para crear su procedimiento, deberá crearlo y guardarlo con ayuda del bloc de
notas en un archivo con una extensión .adb, una vez cumplido el pasoanterior, abra el archivo que
acaba de crear con adagide, desde el cual podrá editar, compilar, crear el archivo .exe y ejecutarlo.
2. A continuación se muestra el código de su primer programa en ADA, considere lo indicado en el paso 1.c para
su captura. Observe que para hacer comentarios se teclea “ —“, lea tales comentarios los cuales le indicarán
características básicas del código ingresado.
--Ordenar puntos segun sus distancias al origen y escribir las distancias.
with Ada.Text_IO;
use Ada.Text_IO;
procedure OrdenarPuntos IS
-- Origen en nuestra linea discreta
Cero: constant Integer := 0;
package Integer_InOut is new Integer_IO(Integer);
USE Integer_InOut;
-- Distancia entre dos puntos en una recta discreta
function DistanciaLineal(a: Integer; b: Integer) return Integer isbegin
if a > b then
return a-b;
else
return b-a;
end if;
end;
procedure LeerPunto(punto: in out Integer) is
begin
Put("Introduce la posicion x del punto: ");
Get(punto);
end;
procedure EscribirDistancia(punto: Integer) is
begin
Put("punto :");
MARTÍN VERDUZCO RODRÍGUEZ

PÁGINA 1 DE 5

PRÁCTICA NO. 4

Put(punto);
Put(" distancia: ");
Put(DistanciaLineal(Cero, punto));
New_Line;end;
procedure Intercambiar(a: in out Integer; b: in out Integer) is aux: Integer;
begin
aux := a;
a := b;
b := aux;
end;
-- Ordenar segun la distancia al origen de menor a mayor.
procedure Ordenar(a: in out Integer; b: in out Integer) is
begin
if DistanciaLineal(Cero, a) > DistanciaLineal(Cero, b) then
Intercambiar(a, b);
end if;
end;
a: Integer;
b: Integer;
begin
LeerPunto(a);LeerPunto(b);
Ordenar(a, b);
EscribirDistancia(a);
EscribirDistancia(b);
end;
3. Una vez capturado el texto anterior, GUÁRDELO usando el icono correspondiente de la barra de
herramientas, o teclee CTRL S , al mismo tiempo.
4. Para COMPILAR, use el icono correspondiente de la barra de herramientas, o teclee F2 . En caso de ser
indicado algún error, revise y modifique su procedimiento.
5.Para GENERAR EL EJECUTABLE, use el icono correspondiente de la barra de herramientas, o teclee F3 .
6. Para EJECUTAR el procedimiento, use el icono correspondiente de la barra de herramientas, o teclee F4 .
También puede entrar a modo de consola y teclear el nombre del procedimiento para ejecutarlo.
7. Escriba o capture la respuesta generada al ejecutar el procedimiento anterior.
8. Acontinuación se muestra el siguiente código en ADA, considere lo indicado desde el paso 1.c al paso 8.
-- Resolver una ecuacion de segundo grado.
with Ada.Text_IO;
use Ada.Text_IO;
with Ada.Numerics.Generic_Elementary_Functions;
procedure Ec2grado is
package Float_InOut is new Float_IO(Float);
use Float_InOut;
package Math is new Ada.Numerics.Generic_Elementary_Functions(Float);
use Math;...
tracking img