MODULA Lenguaje de Programación Anabel Martín González

Slides:



Advertisements
Presentaciones similares
IBD Curso 2007 Clase 2.
Advertisements

Programación de Computadores
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación de Computadores
Programación de Computadores
ESTRUCTURA DE LOS LENGUAJES DE PROGRAMACION
PROGRAMACION ESTRUCTURADA
Notación BNF Backus-Naur Form.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
PROGRAMACIÓN.
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Algoritmos & Estructuras de Datos
Seminario de Actualización - Excel Avanzado y Macros
Curso de Programación 1 Plan 97
EXCEPCIÓN DE ERRORES.
UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara.
Algoritmos y Estructuras de Datos
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
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:
ALGORITMOS Y ESTRUCTURA DE DATOS
Abstracción de los datos y Orientación a Objeto Clase 13.
Departamento de Informática Universidad Técnica Federico Santa María Tema 7: Subprogramas Programación de Computadores (IWI-131) Luis Pizarro Q.
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.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Lenguaje C.
PL/SQL Francisco Moreno Universidad Nacional. Introducción al PL/SQL ¿Por qué PL/SQL? A pesar de que SQL tiene mecanismos de control condicional (cláusula.
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
Clase 12 COMPUTACION 2009 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Estáticos Integer Real Char Boolean String Archivos Registros.
PROCEDIMIENTOS FUNCIONES
Cobol C Pascal Fortran 5. UNIDADES DE PROGRAMAS SmallTalk Java C++
COMPUTACION 2009 Clase 2.
Página Web del Lenguaje Pascal.
COMPUTACION 2009 Clase 6 Clase 7.
Microsoft© Visual Basic . Net.
Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.
Tipos de Datos (Data Types)
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Programación en Pascal
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Sesión 17 Tipos de datos Estruturados Arreglos de Registros Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación III Programación Orientada a Objetos usando C++
Tecnólogo en Informática Estructura de Datos y Algoritmos.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
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.
Programación I Arreglos II- Matrices.
75.40 Algoritmos y Programación I
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
Ciclos (Loops, Repeticiones) Permiten ejecutar una secuencia de sentencias mas de una vez. Hay 2 tipos de loops:  WHILE repite la acción un número indefinido.
Teoría – Alejandro Gonzalez
NVA-LNG1 3. SENTENCIAS. NVA-LNG2 Asignación Es una sentencia que almacena: el valor del argumento ubicado a la derecha del símbolo que la representa En.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Departamento de Informática Universidad Técnica Federico Santa María Programación de Computadores (IWI-131) Luis Pizarro Q.
Control de Flujo.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
Definir un vector Forma general Variable=[tipo]*tamaño Tipo: es el valor inicial con el cual quedarán llenas todas las posiciones creadas del vector. Tamaño:
Conjuntos  Tipo estructurado  Es una lista encerrada entre corchetes  Deben ser elementos de igual tipo y Ordinales. Pueden especificarse subrangos.
Tema 8: Tipos de Datos Estructurados I
Vectores y Matrices.
Estructura general de un programa en el servidor de Bases de Datos.
Agenda Clase 6 Iteradores. Enumeración sin iteradores. Loops lógicos. Recursión vs. Iteración. Recursión de Cola. Orden de Evaluación Normal y Aplicativo.
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.
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
Programación de Computadores
Camilo Andrés Salazar González FORTRAN.  Estructura program circulo Real :: r, area write (*,*) 'Escribe el radio r:' read (*,*) r area = *r*r.
Diego Hernández R Pascal Variables Diego Hernández R
Diego Hernández R Pascal Variables Diego Hernández R
Transcripción de la presentación:

MODULA Lenguaje de Programación Anabel Martín González Basado en Objetos Anabel Martín González Lenguajes de Programación Dra. Ana Lilia Laureano Cruces

Modula Lenguaje de Programación Basado en Objetos Contenido INTRODUCCION Antecedentes de “Modula” ORGANIZACIÓN DE UN PROGRAMA en “Modula” Módulos Locales Externos MODULARIDAD Y COMPILACION TIPOS DE DATOS Y ESTRUCTURAS DE CONTROL PALABRAS RESERVADAS PROCEDIMIENTOS ESTANDAR en “Modula” EJEMPLOS Y REFERENCIAS Modula Lenguaje de Programación Basado en Objetos

INTRODUCCION Antecedentes de MODULA “MODULA” (MODUlar LAnguage) 1955 1960 1965 1970 1985 1975 1980 Modula-2 ADA C Pascal BASIC COBOL, ALGOL, LISP FORTRAN Niklaus Wirth (Febrero,1934) Línea de Tiempo de Lenguajes de Programación “MODULA” (MODUlar LAnguage) Modula Lenguaje de Programación Basado en Objetos

Modula Lenguaje de Programación Basado en Objetos INTRODUCCION Antecedentes de MODULA BASADO EN OBJETOS Ada, Modula 2 (1979) BASADO EN CLASES + clases CLU (1974) ORIENTADO A OBJETOS + herencia de clases Smalltalk (1972) Modula Lenguaje de Programación Basado en Objetos

ORGANIZACION DE UN PRORAMA en "Modula" Módulo El módulo es la característica principal que distingue a Modula de otros lenguajes de alto nivel. Un solo programa BASIC Modula Módulo 1 Módulo 2 Módulo 3 Módulo N Un programa en Modula consiste de uno o más módulos, los cuales pueden contener varios módulos locales dispuestos en alguna forma jerárquica. Comparación entre Modula y BASIC Modula Lenguaje de Programación Basado en Objetos

Existe anidamiento de módulos locales. ORGANIZACION DE UN PRORAMA en "Modula" Módulos Locales Un módulo local define el alcance de los objetos que están declarados dentro de él o importados hacia él. Existe anidamiento de módulos locales. MODULE A; MODULE B; EXPORT x; VAR x : INTEGER; END B; MODULE C; IMPORT x; BEGIN (* Hace algo con x *) END C; (* Sentencias de A *) END A. MODULE ident [prioridad] “;” {import} [export] block ident IMPORT ListaIdent “;” EXPORT [QUALIFIED] ListaIdent “;” FROM ident IMPORT ListaIdent “;” Modula Lenguaje de Programación Basado en Objetos

Se divide en una parte de definición y una de implementación. ORGANIZACION DE UN PRORAMA en "Modula" Módulos Externos Los módulos de un programa librería, módulos externos, se almacenan en forma compilada, listos para ser ligados a otros programas. Se divide en una parte de definición y una de implementación. DEFINITION MODULE Nombre “;” Import lists; Export list; Definition of exported objects END Nombre. IMPLEMENTATION MODULE Nombre “;” Import lists; Declaration of exported objects; Declaration of local objects BEGIN Initialization of local and exported objects END Nombre. Modula Lenguaje de Programación Basado en Objetos

ORGANIZACION DE UN PRORAMA en "Modula" DEFINITION MODULE CoSin; EXPORT QUALIFIED F, Func, sin, cos, pi, print, ReadReal; CONST pi = 3.14159; TYPE Func = PROCEDURE(REAL) : REAL; VAR F : Func; PROCEDURE sin (x : REAL) : REAL; : END CoSin. IMPLEMENTATION MODULE CoSin “;” IMPORT RealInOut; CONST epsilon = 0.000001; PROCEDURE sin (x : REAL) : REAL; VAR f, s : REAL; i : INTEGER; BEGIN : END END CoSin. Modula Lenguaje de Programación Basado en Objetos

ORGANIZACION DE UN PRORAMA en "Modula" Parte de Implementación Definición MODULE A EXPORT MODULE B Módulo del Programa MODULE C IMPORT Vista Esquemática de las Interfaces Modula Lenguaje de Programación Basado en Objetos

Tipos de Datos – Constantes – Variables – Procedimientos MODULARIDAD Y COMPILACION DEFINITION PART Contiene las especificaciones de todos aquellos componentes del módulo que podrán ser utilizados por otros módulos. Tipos de Datos – Constantes – Variables – Procedimientos IMPLEMENTATION PART Contiene las especificaciones de los componentes que son locales para el módulo, esto es, no podrán ser visibles o usados por otras partes del programa. Modula Lenguaje de Programación Basado en Objetos

ARCHIVOS DE ALMACENAMIENTO MODULARIDAD Y COMPILACION ARCHIVOS DE ALMACENAMIENTO .def para “definition part” .mod para “implementation part” ARCHIVOS DE COMPILACION .sym contiene la información original del archivo .def en forma comprimida. .obj ó .lnk contiene el código objeto intermedio Modula Lenguaje de Programación Basado en Objetos

Dias = (Lunes, Martes, Miercoles, Viernes); POINTER ARRAY RECORD TIPOS DE DATOS Y ESTRUCTURAS DE CONTROL TIPOS DE DATOS BYTE INTEGER CARDINAL CHAR REAL BOOLEAN BITSET TIPOS ENUMERADOS Dias = (Lunes, Martes, Miercoles, Viernes); POINTER ARRAY RECORD Modula Lenguaje de Programación Basado en Objetos

ESCTRUCTURAS DE CONTROL DE SELECCION TIPOS DE DATOS Y ESTRUCTURAS DE CONTROL ESCTRUCTURAS DE CONTROL DE SELECCION IF expresión THEN secuencia de sentencias ELSIF expresión THEN secuencia de sentencias : ELSE secuencia de sentencias END; CASE NombreVar OF const1 : secuencia de sentencias | const2 : secuencia de sentencias | : ELSE : secuencia de sentencias END; Modula Lenguaje de Programación Basado en Objetos

ESCTRUCTURAS DE CONTROL DE ITERACION TIPOS DE DATOS Y ESTRUCTURAS DE CONTROL ESCTRUCTURAS DE CONTROL DE ITERACION FOR VarControl := expresión TO expresión BY expresión DO secuencia de sentencias END; WHILE expresión DO secuencia de sentencias END; REPEAT secuencia de sentencias UNTIL expresión; LOOP secuencia de sentencias END; Modula Lenguaje de Programación Basado en Objetos

Modula Lenguaje de Programación Basado en Objetos PALABRAS RESERVADAS 40 PALABRAS RESERVADAS AND ARRAY BEGIN BY CASE CONST DEFINITION DIV DO ELSE ELSIF END EXIT EXPORT FOR FROM IF IMPLEMENTATION IMPORT IN LOOP MOD MODULE NOT OF OR POINTER PROCEDURE QUALIFIED RECORD REPEAT RETURN SET THEN TO TYPE UNTIL VAR WHILE WITH Modula Lenguaje de Programación Basado en Objetos

Conversions FileSystem InOut PROCEDIMIENTOS ESTANDAR en "Modula" PROCEDURE ConvertCardinal (number, width: CARDINAL; VAR str: ARRAY OF CHAR); PROCEDURE ConvertInteger (number: INTEGER; width: CARDINAL; VAR str: ARRAY OF CHAR); FileSystem PROCEDURE Again (VAR f: FILE); PROCEDURE Close (VAR f: FILE); PROCEDURE Create (VAR f: FILE; medium: ARRAY OF CHAR); PROCEDURE Delete (VAR f: FILE; FileName: ARRAY OF CHAR); InOut PROCEDURE Read (VAR ch: CHAR); PROCEDURE ReadCard (VAR i: CARDINAL); PROCEDURE Write (ch: CHAR); PROCEDURE WriteLn; Modula Lenguaje de Programación Basado en Objetos

MathLib0 NumberConversions RealInOut PROCEDIMIENTOS ESTANDAR en "Modula" MathLib0 PROCEDURE arctan (r: REAL) : REAL; PROCEDURE cos (r: REAL) : REAL; PROCEDURE exp (r: REAL) : REAL; NumberConversions PROCEDURE CardToString (c: CARDINAL; VAR str: ARRAY OF CHAR; width: CARDINAL); PROCEDURE IntToString (i: INTEGER; VAR str: ARRAY OF CHAR; width: CARDINAL); PROCEDURE StringToCard (str: ARRAY OF CHAR; VAR c; VAR OK: BOOLEAN); RealInOut PROCEDURE ReadReal (VAR r: REAL); PROCEDURE WriteReal (r: REAL; width: CARDINAL); Modula Lenguaje de Programación Basado en Objetos

Processes Storage Strings System Terminal PROCEDIMIENTOS ESTANDAR en "Modula" Processes Storage Strings System Terminal Modula Lenguaje de Programación Basado en Objetos

EJEMPLO 1 EJEMPLOS Y REFERENCIAS MODULE FourFuncCalc; FROM InOut IMPORT WriteString, WriteLn, WriteInt, ReadInt, ReadString; FROM NumberConversion IMPORT StringToInt; FROM Strings IMPORT Length; CONST MAX = 100; TYPE str80 = ARRAY[0..79] OF CHAR; VAR stack : ARRAY [1..MAX] OF INTEGER; tos : INTEGER; (* points to top of stack *) a, b, num : INTEGER; s : str80; done : BOOLEAN; PROCEDURE Push (i : INTEGER); BEGIN IF tos >= MAX THEN WriteString(‘Stack full’); WriteLn; ELSE stack[tos] := i; tos := tos + 1; END; END Push; Modula Lenguaje de Programación Basado en Objetos

EJEMPLO 1 Cont… EJEMPLOS Y REFERENCIAS PROCEDURE Pop ( ) : INTEGER; BEGIN : END Pop; tos := 1; WriteString(‘Four Function Calculator’); WriteLn; REPEAT ReadString(s); CASE s[0] OF ‘+’ : a := Pop(); b := Pop(); WriteInt(a+b,5); Push(a+b); | ‘-’ : END; UNTIL CAP(s[0]) = ‘Q’; END FourFunctionCalc. Modula Lenguaje de Programación Basado en Objetos

EJEMPLO 2 EJEMPLOS Y REFERENCIAS Modula Lenguaje de Programación Basado en Objetos

REFERENCIAS BIBLIOGRAFICAS EJEMPLOS Y REFERENCIAS REFERENCIAS BIBLIOGRAFICAS Budgen D., Software Development with Modula-2, International Computer Science Series, Addison-Wesley, 1989. Schildt H., Advanced Modula-2, Osborne McGraw-Hill, 1987. Koffman E.B., Problem Solving and Structured Programming in Modula-2, Addison-Wesley, 1988. Modula Lenguaje de Programación Basado en Objetos