SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
Aprendiendo a programar en Ada 
Osmanys Fuentes Lombá 
Los primeros pasos 
osmanys@cies.cu 
ossmanys@gmail.com 
www.facebook.com/wonddark
El primer programa en Ada 
La clausula with le indica al compilador la unidad de librería que será necesaria 
La librería Ada.Text_IO brinda herramientas para la 
lectura y la impresión de caracteres y textos 
La clausula use declara total visibilidad para todos los componentes de la librería cargada 
Si no se utiliza el use entonces los componentes van prefijados con el nombre 
de la librería a la que pertenecen (por ejemplo: Ada.Text_IO.Put_Line) 
La palabra reservada procedure declara un procedimiento que no retorna valor 
Un procedimiento puede ser un programa principal si aparece solo en un 
archivo de extensión .adb y no tiene parámetros de entrada
El primer programa en Ada (cont.) 
Ada no tiene sensibilidad con las mayúsculas o minúsculas por lo que Begin, begin o 
Begin significan los mismo para el compilador. 
El bloque begin...end se utiliza para encerrar todas las operaciones 
que serán realizadas por el programa de Ada 
En Ada toda secuencia de comandos termina en ; 
La orden Put_Line(“Bienbenido al mundo de Ada”); imprime el mensaje 
en la pantalla y agrega un fin de línea 
Para compilar códigos de Ada se puede utilizar el compilador GNAT de AdaCore que 
viene con versión propietaria y libre 
gnatmake saludo.adb -o saludo 
Si estás en Windows debes añadir .exe al final de la instrucción anterior en UNIX lo 
dejas tal cual
El primer programa en Ada (cont.) 
Prefijado del procedimiento Put_Line para tener visibilidad 
Renombrado de una librería para facilitar su uso (disminución del nombre)
El primer programa en Ada (cont.) 
Renombrado de un componente de librería para obtener total visibilidad sobre él 
El renombrado de procedimientos y funciones debe tener el mismo prototipo 
de declaración que el procedimiento o función que se renombrará 
El renombrado es una facilidad bastante útil pero si se abusa de ella puede 
dificultar la futura revisión del programa cuando este contenga varias decenas 
de líneas 
Todo lo que comienza (begin) en Ada tiene un final (end) y en caso de los 
procedimientos va acompañado del nombre
El primer programa en Ada (cont.) 
Utilizando variables como parámetros 
Las variables son declaradas entre el is y el begin con el siguiente formato: 
Nombre : tipo := Valor 
El valor inicial es opcional y las reglas de nomenclatura para las variables 
son las misma que en todos los lenguages de programación 
El tipo String es un arreglo de caracteres predefinido por el lenguaje
Tipos predefinidos por el lenguaje 
Integer 
Float 
String 
Character 
Boolean 
Complex 
Natural 
Positive 
Entero con signo, los límites dependen del hardware de la máquina 
Real, los límites dependen del hardware de la máquina 
Arreglo de caracteres, ilimitado 
Conjunto de caracteres 
Conjunto lógico: True (Verdadero) y False (Falso) 
Valor complejo declarado en la librería Ada.Numerics.Complex 
Entero sin signo, los límites van desde 0 hasta el máximo entero 
Entero positivo, los límites van desde 1 hasta el máximo entero
Atributos y Portabilidad 
Es posible trabajar con valores que son dependientes de la máquina sin modificar el 
código 
I : Integer; F : Float; 
I'First; F'First : mínimo valor soportado por la representación 
I'Last; F'Last : máximo valor soportado por la representación 
S : String; No se puede declarar una variable de tipo arreglo sin límites 
S : String (1..10); 
El rango es asignado explícitamente 
S : String := “Correcto” El rango es asignado automáticamente

Más contenido relacionado

La actualidad más candente

Curso MPLAB pic 2 seteando todo para empezar tranquilos 4p
Curso MPLAB pic 2 seteando todo para empezar tranquilos 4pCurso MPLAB pic 2 seteando todo para empezar tranquilos 4p
Curso MPLAB pic 2 seteando todo para empezar tranquilos 4p
Ruderocker Billy
 
Generador de codigo lenguajes de programacion
Generador de codigo lenguajes de programacionGenerador de codigo lenguajes de programacion
Generador de codigo lenguajes de programacion
bulnez
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
maryr_
 
Sintaxis de un módulo fuente ensamblador
Sintaxis de un módulo fuente ensamblador Sintaxis de un módulo fuente ensamblador
Sintaxis de un módulo fuente ensamblador
Cristian Izquierdo
 
Cap3
Cap3Cap3
Cap3
CJAO
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
maryr_
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a Compiladores
Leopoldo Capa
 

La actualidad más candente (20)

algoritmo
algoritmoalgoritmo
algoritmo
 
Curso MPLAB pic 2 seteando todo para empezar tranquilos 4p
Curso MPLAB pic 2 seteando todo para empezar tranquilos 4pCurso MPLAB pic 2 seteando todo para empezar tranquilos 4p
Curso MPLAB pic 2 seteando todo para empezar tranquilos 4p
 
Generador de codigo lenguajes de programacion
Generador de codigo lenguajes de programacionGenerador de codigo lenguajes de programacion
Generador de codigo lenguajes de programacion
 
Uso de las api puertos
Uso de las api puertosUso de las api puertos
Uso de las api puertos
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 
Generacion codigomaquina
Generacion codigomaquinaGeneracion codigomaquina
Generacion codigomaquina
 
Sintaxis de un módulo fuente ensamblador
Sintaxis de un módulo fuente ensamblador Sintaxis de un módulo fuente ensamblador
Sintaxis de un módulo fuente ensamblador
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Cap3
Cap3Cap3
Cap3
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladores
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Prolog
PrologProlog
Prolog
 
Prolog2
Prolog2Prolog2
Prolog2
 
Cap3 compiladores
Cap3 compiladoresCap3 compiladores
Cap3 compiladores
 
Fases de los compiladores
Fases de los compiladoresFases de los compiladores
Fases de los compiladores
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a Compiladores
 
Emulador emu8086
Emulador emu8086Emulador emu8086
Emulador emu8086
 
Javares
JavaresJavares
Javares
 
Herramientas del compilador turbo c
Herramientas del compilador turbo cHerramientas del compilador turbo c
Herramientas del compilador turbo c
 

Similar a Aprendiendo a programar en Ada

Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
victdiazm
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
mary219122
 
Primera Clase
Primera ClasePrimera Clase
Primera Clase
mandres
 
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
ireneromaweb
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje C
guestbc0748
 
Estructura sintactica de los lenguajes
Estructura sintactica de los lenguajesEstructura sintactica de los lenguajes
Estructura sintactica de los lenguajes
Fenix Flame
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
GamePlayer35
 
Introducción a La Programación En C
Introducción a La Programación En CIntroducción a La Programación En C
Introducción a La Programación En C
painni
 

Similar a Aprendiendo a programar en Ada (20)

Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++Presentacion de la Estructura basica para_c++
Presentacion de la Estructura basica para_c++
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Curso de iniciación al lenguaje c
Curso de iniciación al lenguaje cCurso de iniciación al lenguaje c
Curso de iniciación al lenguaje c
 
Primera Clase
Primera ClasePrimera Clase
Primera Clase
 
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje C
 
EXPO PERL UTT
EXPO PERL UTTEXPO PERL UTT
EXPO PERL UTT
 
Manuales ...
Manuales ...Manuales ...
Manuales ...
 
Uso de las clases iostream
Uso de las clases iostreamUso de las clases iostream
Uso de las clases iostream
 
3
33
3
 
Estructura sintactica de los lenguajes
Estructura sintactica de los lenguajesEstructura sintactica de los lenguajes
Estructura sintactica de los lenguajes
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
La estructura básica para C++
La estructura básica para C++La estructura básica para C++
La estructura básica para C++
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 
Pseudolenguaje
PseudolenguajePseudolenguaje
Pseudolenguaje
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Introducción a La Programación En C
Introducción a La Programación En CIntroducción a La Programación En C
Introducción a La Programación En C
 
Unmsm02 2008
Unmsm02 2008Unmsm02 2008
Unmsm02 2008
 

Último

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 

Aprendiendo a programar en Ada

  • 1. Aprendiendo a programar en Ada Osmanys Fuentes Lombá Los primeros pasos osmanys@cies.cu ossmanys@gmail.com www.facebook.com/wonddark
  • 2. El primer programa en Ada La clausula with le indica al compilador la unidad de librería que será necesaria La librería Ada.Text_IO brinda herramientas para la lectura y la impresión de caracteres y textos La clausula use declara total visibilidad para todos los componentes de la librería cargada Si no se utiliza el use entonces los componentes van prefijados con el nombre de la librería a la que pertenecen (por ejemplo: Ada.Text_IO.Put_Line) La palabra reservada procedure declara un procedimiento que no retorna valor Un procedimiento puede ser un programa principal si aparece solo en un archivo de extensión .adb y no tiene parámetros de entrada
  • 3. El primer programa en Ada (cont.) Ada no tiene sensibilidad con las mayúsculas o minúsculas por lo que Begin, begin o Begin significan los mismo para el compilador. El bloque begin...end se utiliza para encerrar todas las operaciones que serán realizadas por el programa de Ada En Ada toda secuencia de comandos termina en ; La orden Put_Line(“Bienbenido al mundo de Ada”); imprime el mensaje en la pantalla y agrega un fin de línea Para compilar códigos de Ada se puede utilizar el compilador GNAT de AdaCore que viene con versión propietaria y libre gnatmake saludo.adb -o saludo Si estás en Windows debes añadir .exe al final de la instrucción anterior en UNIX lo dejas tal cual
  • 4. El primer programa en Ada (cont.) Prefijado del procedimiento Put_Line para tener visibilidad Renombrado de una librería para facilitar su uso (disminución del nombre)
  • 5. El primer programa en Ada (cont.) Renombrado de un componente de librería para obtener total visibilidad sobre él El renombrado de procedimientos y funciones debe tener el mismo prototipo de declaración que el procedimiento o función que se renombrará El renombrado es una facilidad bastante útil pero si se abusa de ella puede dificultar la futura revisión del programa cuando este contenga varias decenas de líneas Todo lo que comienza (begin) en Ada tiene un final (end) y en caso de los procedimientos va acompañado del nombre
  • 6. El primer programa en Ada (cont.) Utilizando variables como parámetros Las variables son declaradas entre el is y el begin con el siguiente formato: Nombre : tipo := Valor El valor inicial es opcional y las reglas de nomenclatura para las variables son las misma que en todos los lenguages de programación El tipo String es un arreglo de caracteres predefinido por el lenguaje
  • 7. Tipos predefinidos por el lenguaje Integer Float String Character Boolean Complex Natural Positive Entero con signo, los límites dependen del hardware de la máquina Real, los límites dependen del hardware de la máquina Arreglo de caracteres, ilimitado Conjunto de caracteres Conjunto lógico: True (Verdadero) y False (Falso) Valor complejo declarado en la librería Ada.Numerics.Complex Entero sin signo, los límites van desde 0 hasta el máximo entero Entero positivo, los límites van desde 1 hasta el máximo entero
  • 8. Atributos y Portabilidad Es posible trabajar con valores que son dependientes de la máquina sin modificar el código I : Integer; F : Float; I'First; F'First : mínimo valor soportado por la representación I'Last; F'Last : máximo valor soportado por la representación S : String; No se puede declarar una variable de tipo arreglo sin límites S : String (1..10); El rango es asignado explícitamente S : String := “Correcto” El rango es asignado automáticamente