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

algoritmo
algoritmoalgoritmo
algoritmofior
 
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 4pRuderocker Billy
 
Generador de codigo lenguajes de programacion
Generador de codigo lenguajes de programacionGenerador de codigo lenguajes de programacion
Generador de codigo lenguajes de programacionbulnez
 
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_
 
Generacion codigomaquina
Generacion codigomaquinaGeneracion codigomaquina
Generacion codigomaquinatre_na_gil
 
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
 
Programación en c++
Programación en c++Programación en c++
Programación en c++vic-97
 
Cap3
Cap3Cap3
Cap3CJAO
 
Actividad 3
Actividad 3Actividad 3
Actividad 3maryr_
 
Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladoresSheyli Patiño
 
Cap3 compiladores
Cap3 compiladoresCap3 compiladores
Cap3 compiladoresCJAO
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a CompiladoresLeopoldo Capa
 
Herramientas del compilador turbo c
Herramientas del compilador turbo cHerramientas del compilador turbo c
Herramientas del compilador turbo cMtCeroCero
 

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

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++ValeriaBerrones
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_Jesus22barrera
 
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 cmundofranco
 
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 cvictdiazm
 
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 cmary219122
 
Primera Clase
Primera ClasePrimera Clase
Primera Clasemandres
 
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 Cguestbc0748
 
Manuales ...
Manuales ...Manuales ...
Manuales ...elidetjc
 
Uso de las clases iostream
Uso de las clases iostreamUso de las clases iostream
Uso de las clases iostreamTensor
 
Estructura sintactica de los lenguajes
Estructura sintactica de los lenguajesEstructura sintactica de los lenguajes
Estructura sintactica de los lenguajesFenix Flame
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionluismart05
 
La estructura básica para C++
La estructura básica para C++La estructura básica para C++
La estructura básica para C++LorenaCMtz
 
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 Cpainni
 

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

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
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.pdfMercedes Gonzalez
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
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...Katherine Concepcion Gonzalez
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 

Último (20)

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
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
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
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...
 
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
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
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
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 

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