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;

Slides:



Advertisements
Presentaciones similares
Maestría en Data Mining
Advertisements

Lenguaje C++.
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?
Programación de Computadores
Programación de Computadores
Controles para el desarrollo de clientes inteligentes con Windows Forms Mentor Asociado Solid Quality Learning IberoAmericana Daniel A. Seara NDSoft.
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 7: OPERADORES Y ESTRUCTURAS DE SELECCION Ing. Ronald Criollo.
SENTENCIAS SECUENCIALES
LENGUAJES DE DESCRIPCION DE HARDWARE (HDL)
Delete en tablas: titulacion. Puedo eliminar cualquier fila de una tabla? Restriccion de integridad: Restrict/Cascade.
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.
COMP 234 Prof. Carlos Rodríguez Sánchez
Programando con Hilos POSIX* Intel Software College.
MATLAB.
Procedimientos Almacenados y Disparadores
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.
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 Subprogramas –Encabezamiento –Declaraciones –Cuerpo –Encabezamiento.
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.
Lo y lo que. Lo + un adjetivo Usamos la expresión para expresar una idea abstracta. The …. thing.
Programación.
Lenguaje Pascal: Ana Laureano_UAM-A Lenguajes de Programación Pascal Profesora Ana Lilia Laureano - Cruces Universidad Autónoma Metropolitana - Azcpotzalco.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
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
Coloración de Grafos Planos
Introduccion. Los lenguajes de programación surgieron para facilitar las tareas de programación, su evolución ha estado marcada por diferentes ideas que.
Instituto Tecnológico de Minatitlán Ingeniería en Sistemas Computacionales Reglas de Gramática para el proyecto.
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)
VBA – Elementos del Lenguaje
TRABAJO PRACTICO Nº2 Nombre: Ignacio D. Roca. Ejercicio Nº 1 TP 2 C numero numero= 0 Numero> 0 negativo f nulo verdadero positivo falso.
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,
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Capítulo.3 - Diseño Lógico Combinacional con VHDL
PHP el Lenguaje Ejercicios Básicos.
Estructuras de Decisión
MODULA Lenguaje de Programación Anabel Martín González
Programación en Visual Basic
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Implementación de funciones definidas por el usuario.
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.
AYUDANTÍA 2 Lenguaje Imperativo y Java. Punteros Dirección a memoria (puede apuntar a NULL). Permite trabajar con memoria (variables dinámicas de heap).
GESTOR DE BASE DE DATOS CARRERA: COMPUTACIÓN E INFORMÁTICA CURSO: TALLER DE SISTEMAS I DOCENTE: ING. JOSÉ EDUARDO QUISPE TAIPE CICLO: QUINTO.
CONSIDERACIONES DE RUIDO EN SISTEMAS PCM ING. JAVIER GARCIA.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Introducción a JAVA COMP 250.
Comprueba si una u otra condición se cumple o no.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Hardware Description Language
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
Diego Hernández R Pascal Variables Diego Hernández R
David I. Morales A. MCC- IIMAS- UNAM
Tema 3: Operadores Antonio J. Sierra.
PROGRAMACIÓN (2).
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Diego Hernández R Pascal Variables Diego Hernández R
Tratamientos secuenciales I
Tema 8. Estructuras de decisión. Clases 1 y 2.
Transcripción de la presentación:

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; Width: in integer := 0); procedure Put(Item: character); –Identificación por tipo o cantidad de parámetros –Conflictos posibles procedure Over(A: in character) is begin Put(A); end Over; procedure Over(A: in character; B: in character := ' ') is begin if B = ' ' then Put(B); else Put(A); end if; end Over; Over('X');

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde2 Operadores –Los operadores son funciones function "+"(X, Y: in integer) return integer; function "*"(X, Y: in float) return float; function "and"(X, Y: in boolean) return boolean; –Uso: como operador o como función I := 1 + 4;Put(1 + 4);B := A and B; I := "+"(1, 4);Put("+"(1, 4));B := "and"(A, B); –Ejemplo function "and"(X, Y: in boolean) return boolean is -- si X es TRUE, devuelve X and Y; si no, X xor Y Result : boolean; begin if X then Result := X and Y; else Result := X xor Y; end if; return Result; end "and";

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde3 –Pero esa solución produce una recursión infinita function "and"(X, Y: in boolean) return boolean is -- si X es TRUE, devuelve X and Y; si no, X xor Y Result : boolean; begin if X then Result := standard."and"(X, Y); else Result := X xor Y; end if; return Result; end "and"; –Package Standard Contiene todos los identificadores predefinidos por el lenguaje Entre otras cosas: –Define los tipos Boolean, Integer, Float, Character, String –Define los subtipos Natural, Positive –Define los operandos sobre esos tipos

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde4 Reglas para el overloading de operadores –Se puede hacer overloading de todos los operadores predefinidos excepto de los operadores de short circuit (and then, or else) y los de membership (in, not in) –Deben ser definidos como funciones y tener la misma cantidad de parámetros que la versión predefinida –No se permiten valores de parámetros por default –No hay restricciones sobre los tipos de los parámetros y del resultado –El overloading de los operadores relacionales de orden (, >=) se ajusta a las reglas anteriores –No se puede hacer overloading explícito del /= sino implícitamente al hacer overloading del =, excepto que el tipo de retorno NO sea el boolean predefinido –El overloading del = hace overloading implícito del /=

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde5 with Text_IO; use Text_IO; procedure Clase3_OverOper is function "and"(X, Y: in boolean) return boolean is -- si X es TRUE, devuelve el and entre X e Y -- si X es FALSE, devuelve el xor entre X e Y Result : boolean; begin if X then Result := standard."and"(X, Y); else Result := X xor Y; end if; return Result; end "and"; package BIO is new Enumeration_IO(boolean); package IIO is new Integer_IO(integer); use IIO; procedure Put(B: in boolean) is begin BIO.Put(B); New_Line; end Put;

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde6 function "/="(A, B: in integer) return integer is begin return (A + B) * 2; end "/="; function "="(A, B: in integer) return boolean is begin return true or (A > B); end "="; begin Put(1 + 4); -- 5 Put("+"(1, 4)); -- 5 New_line; Put(1 = 4); -- FALSE Put("="(A => 1, B => 4)); -- TRUE New_line; Put(1 /= 4); -- TRUE -- Put("/="(A => 1, B => 4)); expresión ambigua (no puede resolver Put) IIO.Put("/="(A => 1, B => 4)); New_line; Put(B => "/="(A => 1, B => 4)); -- FALSE New_line;

Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde7 Put(true and true); -- TRUE Put("and"(true, false)); -- FALSE Put(true and false); -- FALSE Put(false and true); -- TRUE Put(false and false); -- FALSE end Clase3_OverOper;