Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Subprogramas –Encabezamiento –Declaraciones –Cuerpo –Encabezamiento.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

Visual Basic for Applications 3 de Mayo de Archivo en Excel Son 600 nombres Separar las columnas Separar los nombres en varias columnas ¿Cómo hacerlo?
Diseño y análisis de algoritmos
Programación de Computadores
Controles para el desarrollo de clientes inteligentes con Windows Forms Mentor Asociado Solid Quality Learning IberoAmericana Daniel A. Seara NDSoft.
SENTENCIAS SECUENCIALES
LENGUAJES DE DESCRIPCION DE HARDWARE (HDL)
Introducción a JAVA COMP 250. Estructura de Selección selection statements selection statements – Escoger cuál acción ejecutar dependiendo de dos ó más.
La Computadora Una computadora es una colección de dispositivos físicos y lógicos, integrados de modo que puedan ser utilizados con propósitos muy diversos.
Procedimientos Almacenados y Disparadores
ADA: lenguaje de programación concurrente
Animación de un Sistema de Puertas (código en GLIDER) NETWORK L (I)::IT:=1; Tipo:=((NUMBER-1) mod 4) + 1; SENDTO(P[Tipo]); P (G) [1..4]::STATE BEGIN IT:=5;
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
Introducción al VHDL VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables.
PL/SQL Francisco Moreno Universidad Nacional. Funciones Si un procedimiento tiene solo un parámetro de salida, se puede remplazar por una función y esta.
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Packages –Unidad de compilación que permite la especificación.
Desarrollo de Aplicaciones para Internet
Subprogramas: Procedimientos
25/11/07Laboratorio de Bases de Datos1 PL/SQL* *Tomado del curso de Francisco Moreno.
Genéricos en Java Jaime Ramírez, Ángel Lucas González
Un lenguaje de programación para sistema empotrados
ESTRUCTURAS DE CONTROL
EXCEPCIÓN DE ERRORES.
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Tipos definidos por el usuario –Punteros Tipo access:
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Overloading de subprogramas procedure Put(Item: in integer;
Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes.
Seminario de Lenguajes A – Opción Ada
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Genéricos –Molde a partir del cual se pueden crear instancias.
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Tipos definidos por el usuario –Parámetros array ilimitados.
Lenguajes de Programación Tema 4. Paradigma Orientado a Objetos Java 1.5 Pedro García López
Introducción Program Slicing Pattern Matching Problema: Pérdida de precisión Solución Conclusiones Peculiaridades de Erlang Erlang Dependence Graph.
1 Chapter 8 Scope Dale/Weems/Headington. 2 Tópicos del Capítulo 8 l Local Scope vs. Global Scope of an Identifier l Detailed Scope Rules to Determine.
MÓDULO DE PROCEDIMIENTOS Los módulos también pueden contener subrutinas y funciones → MÓDULO DE PROCEDIMIENTOS  PROCEDIMIENTOS → son compilados como parte.
Estructuras de Datos y Algoritmos TDA LISTA. Metáfora del TDA (repaso) Conjunto de operaciones forman una pared forman una interfase entre los programas.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
PL/SQL Francisco Moreno Universidad Nacional.
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
Arboles Binarios de expresiones
PRÁCTICA INVENTADA TOP MANTA Matías Blanco – Sergio Pérez.
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
 Ingresar dos valores correspondientes a la edad de una persona. Informar "La primera persona es mayor", "La segunda persona es mayor". C E 1 E 2 E1>E2.
Ejercicio N°4 Ingresar dos números enteros cualesquiera. Informar "el primero es mayor que el segundo", "el segundo es mayor que el primero" o "son iguales"
Ejercicio N°5 Ingresar cuatro números cualesquiera, si su suma es mayor a 15 elevarlo al cuadrado, si no, elevarlo al cubo. C Número1 (n1) Número2 (n2)
Introduccion. Los lenguajes de programación surgieron para facilitar las tareas de programación, su evolución ha estado marcada por diferentes ideas que.
PL/SQL Francisco Moreno Universidad Nacional.
1 6. PARAMETRIZACIÓN. 2 Parametrización La parametrización permite realizar una abstracción de la identidad de varios ejemplos de los datos Los valores.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Concurrencia en Ada.
Diseño Lógico Combinacional con VHDL
What has to be done today? It can be done in any order. Make a new ALC form Do the ALC Get two popsicle sticks Get 16 feet of yarn. That is 4 arms width.
Estructura general de un programa en el servidor de Bases de Datos.
Introducción a VHDL Agenda Un poco de historia Definiciones generales Entidades Arquitecturas Configuraciones.
Agenda Clase 11 Parametrización. Pasaje de parámetros (modos). Razones de escogencia entre modos. Clausuras como parámetros. Etiquetas, Conformat Arrays,
Capítulo.3 - Diseño Lógico Combinacional con VHDL
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
Estructuras de Control
Algorítmica y Programación
MODULA Lenguaje de Programación Anabel Martín González
3 Cursores ORACLE Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca In. Wilson Ortega.
CICLOS ESTRUCTURA DE REPETICIÓN PROG 2270LGUILLERMO SOLLA.
2012-BM5A. Unos tips antes de empezar: C# es Case Sensitive (sensible a mayúsculas) Pepe ≠ pepe ≠ pEpE Las asignaciones se hacen con “=” y las comparaciones.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Administración de Sistemas Gestores de Bases de Datos.
CONSIDERACIONES DE RUIDO EN SISTEMAS PCM ING. JAVIER GARCIA.
Oracle Pl/SQl Developer – Nivel 1
Cobol C Pascal Fortran 6. PARAMETRIZACIÓN SmallTalk Java C++
Hardware Description Language
Diego Hernández R Pascal Variables Diego Hernández R
David I. Morales A. MCC- IIMAS- UNAM
Estructuras Dinámicas
Transcripción de la presentación:

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Subprogramas –Encabezamiento –Declaraciones –Cuerpo –Encabezamiento –Declaraciones –Cuerpo procedure Hello is -- declaraciones begin Put("Hello world"); end Hello; function Func return Boolean is -- declaraciones begin return True; end Func;

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde2 Encabezamiento –procedure NombreProc (lista de parámetros formales) is –function NombreFunc (lista de parámetros formales) return TipoRetorno is Parámetro formal –Cada parámetro formal está definido por Nombre (identificador) Modo de pasaje de parámetro: in, out, in out Tipo Lista de parámetros formales –(P1: in integer; P2, P3: out character; P4, P5: in out boolean) Parámetros formales de una función Sólo modo in

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde3 Invocación a procedimientos procedure Swap(A, B: in out Integer) is Aux: Integer := A; begin A := B; B := Aux; end Swap; –Un parámetro actual para cada parámetro formal Notación posicional Swap(I, J); Notación nombrada Swap(A => I, B => J); Swap(B => J, A => I); Swap(I, B => J); Swap(J, A => I); -- ilegal:posicionales antes que nombrados

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde4 Invocación a funciones function Sumatoria(N: in integer) return integer is Total: integer := 0; begin for I in 1..N loop Total := Total + I; end loop; return Total; end Sumatoria; –Un parámetro actual para cada parámetro formal Notación posicional I := Sumatoria(4); I := Sumatoria(4) * Sumatoria(8) + 5; Put(Sumatoria(4)); Notación nombrada I := Sumatoria(N => 4);

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde5 Valores de parámetros por default –Los in pueden tener valor por default procedure Put(Item: in integer; Width: in integer := 0); Put(5, 3); Put(5); -- 5 –Ejemplo procedure TresP(A: in integer := 10; B: in out integer; C: out integer); TresP(5, Y, Z); TresP(X, Y, Z); TresP(B => Y, C => Z); TresP(, Y, Z); -- ilegal

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde6 Valores de parámetros por default –Ejemplo (Olsen, Whitehill) with Text_IO; use Text_IO; procedure Clase2_ParamDefault is package IntIO is new Integer_IO(integer); use IntIO; N: integer; procedure P(A: in integer := N * 2) is begin Put(A); end P; begin P(5); -- 5, N * 2 no es evaluado N := 5; P; N := 3; P; -- 6 end Clase2_ParamDefault;

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde7 Bloques –Conjunto de sentencias agrupadas –Permite declaraciones con alcance, visibilidad y tiempo de vida limitados al cuerpo del bloque begin I := J; end; procedure Clase2_Bloque is I, J: integer; begin I := 1; J := 2; declare Temp: integer := I; begin I := J; J := Temp; end; end Clase2_Bloque;

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde8 Labels –Bloques –Loops NombreBloque: declare Temp: integer := I; begin I := J; J := Temp; end NombreBloque; NombreLoop: loop -- sentencias exit NombreLoop when Condicion; -- sentencias end loop NombreLoop; NombreWhile: while Condicion loop -- sentencias end loop NombreWhile;

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde9 Recursión function Sumatoria(N: in integer) return integer is Total: integer := 0; begin if N > 0 then Total := N + Sumatoria(N - 1); end if; return Total; end Sumatoria;

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde10 Recursión mutua procedure P1(N: in integer); procedure P2(A, B: in integer) is begin P1(A + B); end P2; procedure P1(N: in integer) is begin P2(N, N * 4); end P1;

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde11 Visibilidad, alcance de identificadores Cadenas estática y dinámica. Alcance estático with Text_IO; use Text_IO; procedure Clase2_Visibilidad is package IntIO is new Integer_IO(integer); use IntIO; I: integer := 1; procedure H is begin Put(I); end H; procedure G is I: integer := 2; begin H; Put(I); end G; begin G; end Clase2_Visibilidad; Programa I = 1 Invocación de G I = 2 Invocación de H