La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "MODULA Lenguaje de Programación Anabel Martín González"— Transcripción de la presentación:

1 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

2 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

3 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

4 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

5 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

6 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

7 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

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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

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

19 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

20 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

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

22 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


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

Presentaciones similares


Anuncios Google