SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Módulo 4,[object Object],ALGORITMOS Y ESTRUCTURA DE DATOS,[object Object],PROFESOR:SIRACUSA EMILIANO ,[object Object],                    MARTÍN,[object Object],Página Web: www.esiracusa.jimdo.com,[object Object],1,[object Object]
Lenguaje de Programación PASCAL,[object Object],Creado por NiklausWirth, en Zurich, alrededor de los años 70. derivado del lenguaje Algol 60, pero es más potente y fácil de usar.,[object Object],Es el primer lenguaje que incorporó en una forma coherente los concentos de programación estructurada.,[object Object],Es un lenguaje procedural, es decir que todo proceso debe ser especificado.,[object Object],Es un lenguaje adecuado para la enseñanza de programación.,[object Object],Si bien no presenta elementos que soportan programación modular, permite un acercamiento interesante a la misma.,[object Object],Evita fomentar malos hábitos de programación	,[object Object],2,[object Object]
Programa: secuencia de instrucciones. Su escritura requiere cuidado y precisión.,[object Object],Las instrucciones son ejecutadas secuencialmente. A menos que se indique explícitamente lo contrario, se comienza la ejecución en la primera instrucción y se ejecuta cada instrucción de acuerdo a su turno hasta la última.. Este patrón general es quebrado por ciertas instrucciones.,[object Object],El proceso tiene un efecto que generalmente consiste en la exhibición o impresión de símbolos.,[object Object],El programa opera sobre ciertos objetos llamados datos.,[object Object],3,[object Object]
Generalmente las instrucciones están precedidas por una declaración de los objetos sobre los cuales opera. El programador debe declarar los atributos de los datos antes de escribir las instrucciones.	,[object Object],Algunas de las instrucciones requieren que el procesador tome alguna decisión. El programador debe establecer los criterios que el procesador puede usar para tomar la decisión.,[object Object],Puede ser necesario ejecutar una instrucción o un grupo de instrucciones más de una vez.,[object Object],El programa en sí mismo es una nidada estática, pero el proceso de llevar a cabo las instrucciones es dinámico,[object Object],4,[object Object]
5,[object Object]
6,[object Object]
7,[object Object]
Símbolos: los símbolos usados en Pascal son las letras, los dígitos y caracteres o pares de ellos tal como + - := () ; :,[object Object],Palabras reservadas: tienen un significado especial para Pascal y no puede ser modificado.,[object Object],Begin, end, if, then, repeat, etc.,[object Object],Identificadores definidos por el lenguaje Pascal:integer. real, write, sqrt. Tiene un significado pero puede ser modificado.,[object Object],Identificadores definidos por el programador: Son los nombres de datos, procesos que tienen un significado para el programador. Existen reglas para su escritura. Todo identificador comienza con una letra que puede estar seguida por una letra o dígito. En Turbo Pascal se permite agregarle guión. La longitud máxima es de 256 caracteres. X-32, base, verdad, potencia,[object Object],8,[object Object]
Se debe tener cuidado con la longitud de los identificadores.,[object Object],La primera ocurrencia de un identificador en un programa es siempre en su declaración, allí el identificador se define.,[object Object],La elección de un identificador es importante en programación. Facilita la elaboración del programa, es más fácil de leer y comprender, reduce el número de errores involuntarios en la escritura, en la corrección y en el tipiado. Una letra puede ser usada como un identificador de una sección corta de un programa, pero no es conveniente usarla cuando es referenciado frecuentemente en un programa largo. Su nombre debe estar relacionado con el dato que representa.,[object Object],9,[object Object]
Estructura de un programa,[object Object],ProgramPrueba:	                  Encabezamiento,[object Object],var a , b: integer;	Declaraciones de identificadores,[object Object],c: integer:,[object Object],beginBloque del programa,[object Object],read ( a, b);	,[object Object],c := a + b;	,[object Object],write(c)	,[object Object],end.	,[object Object],10,[object Object]
Diagrama sintáctico,[object Object],Programa,[object Object],.,[object Object],Encabezamiento,[object Object],Bloque,[object Object],Declaraciones,[object Object],Encabezamiento,[object Object],Program,[object Object],;,[object Object],Identificador,[object Object],Identificador,[object Object],Letra,[object Object],Letra,[object Object],Dígito,[object Object],_,[object Object],11,[object Object]
Sección de declaraciones,[object Object],Datos en un programa: Cada objeto a! que se hace referencia en un programa es un dato. Cada dato en un programa debe ser declarado previamente a su uso. Cada dato tiene asociado un tipo. El tipo de dato determina tanto los valores que ese dato puede asumir como las operaciones que pueden realizarse con él.,[object Object],Pascal tiene cuatro tipos de datos elementales:,[object Object],integer que representa un subconjunto de los números enteros.,[object Object],real que es un subconjunto de los números reales.,[object Object],boolean con los valores false y true.,[object Object],charque representa al conjunto de caracteres imprimibles. ,[object Object],Cada uno de estos tipos tiene definidas operaciones particulares.,[object Object],12,[object Object]
Sección de declaraciones,[object Object],Integer: números negativos y positivos sin punto decimal. 0, -25, 963 son números enteros. Sólo se representa un subconjunto finito de los números enteros matemáticos.,[object Object],En cada computadora hay un entero máximo indicado por la constante maxint y un entero mínimo indicado por -maxint. Todo dato entero asume valores entre ,[object Object],    -maxint y maxint.,[object Object],Intentar evaluar un dato fuera de este rango dará un error de corrida.,[object Object],13,[object Object]
Operaciones del tipo de dato integer,[object Object],Aritméticas: +    -    *    div    mod(operadores binarios),[object Object],+ - ( operadores unarios),[object Object],jerarquía de los operadores:        +  -              (unarios),[object Object],                                                         *  div,[object Object],                                                         +  -               (binarios),[object Object],expresiones aritméticas: Se evalúan de izquierda a derecha, de acuerdo a la jerarquía de los operadores que sólo puede ser modificada per la presencia de paréntesis.,[object Object],3* 5 +12 dará como resultado 27,[object Object],(3* 5) + 12 dará como resultado 27,[object Object],3* (5 + 12) dará como resultado 51,[object Object],14,[object Object]
De comparación: comparan dos valores enteros y devuelve un valor booleano,[object Object],Operadores de relación: <, <=, >. >=, =,<> (binarios),[object Object],donde cada vi es un valor entero.,[object Object],Funciones predefinidas por el lenguaje Pascal son aquellas que tienen un significado para el lenguaje y que aplicadas a un argumento dan por resultado un valor.,[object Object],Identificador de función ( argumento),[object Object],Con argumento entero y resultado entero:,[object Object],pred(predecesor) devuelve el número anterior del argumento,[object Object],15,[object Object]
pred(5) devuelve 4                   pred ( -3) devuelve – 4,[object Object],succ (sucesor) devuelve el número siguiente al argumento,[object Object],succ( 5) devuelve 6 succ( -3) devuelve -2	 ,[object Object],abs( valor absoluto) devuelve el valor absoluto del argumento,[object Object],abs( 5) devuelve 5                     abs(-5) devuelve 5,[object Object],sqr(cuadrado) devuelve e! cuadrado del argumento,[object Object],sqr (5) devuelve 25                   sqr(-2) devuelve 4 ,[object Object],16,[object Object]
real,es un subconjunto de los números reales matemáticos. No se pueden representar los números irracionales, los racionales periódicos, los número muy próximos a cero y los excesivamente grandes, es decir aquellos números cuya representación en binario supere la representación dispuesta por el sistema.,[object Object],Un número de tipo real se puede escribir con punto decimal o en notación exponencial.,[object Object],0.000000234 se puede escribir también en la forma 2.34E-7.,[object Object],Un número real tiene como características el rango y la precisión.,[object Object],El rango es de 10 elevado a un número que depende de la capacidad de la máquina y la precisión corresponde a la cantidad de números decimales a representar.,[object Object],17,[object Object]
Operaciones del tipo real,[object Object],Aritméticas: +    -    *    div    mod    (operadores binarios),[object Object],+ - ( operadores unarios),[object Object],jerarquía de los operadores:      +  -              (unarios),[object Object],                                                         *  div,[object Object],                                                         +  -               (binarios),[object Object],las expresiones aritméticas se evalúan de izquierda a derecha y la jerarquía de los operadores puede alterarse con el uso de paréntesis.,[object Object],4.67 + 12.032 * 45.1/ 7 0,[object Object],(-4.67 + 12.032) * 45.1/ 7.0,[object Object],De comparación: <, <=, >. >=, =,<> :,[object Object],3.5 >6.58-2.3,[object Object],18,[object Object]
Funciones,[object Object],Funciones con argumento real que devuelven un valor real.,[object Object],abs (x)=                  |x| ,[object Object],sqr(x)=                     x al cuadrado ,[object Object],sin (x)=                    seno de x ,[object Object],cos(x)=                   coseno de x ,[object Object],arctan(x)=             arco tangente de x ,[object Object],In (x)=                     logaritmo neperiano de x ,[object Object],exp(x)=                   e elevado a la x ,[object Object],sqrt(x)=                  raíz cuadrada de x,[object Object],19,[object Object]
Funciones con argumento real que devuelven un valor entero.,[object Object],trunc(x) = parte entera de x (trunca) ,[object Object],trunc(3.4) = 3 ,[object Object],trunc(-2.6) = -2,[object Object],round(x) ~ entero más próximo a x. (redondea) round ( 3.6) = 4 ,[object Object],round(3.2) = 3 ,[object Object],round(-4.8) = -5,[object Object],Funciones con argumento entero que devuelven un valor real sin, cos, arctan, In, exp, sqrt,[object Object],20,[object Object]
Boolean:sólo tiene los valores true v false.,[object Object],Operaciones Lógicas,[object Object],la jerarquía de operadores se interrumpe con paréntesis,[object Object],De comparación: <, <=, >. >=, =,<> :,[object Object],(3+4*4<7) and (43<1) ,         F o  V,[object Object],Funciones de argumento booleano y resultado booleano,[object Object],pred(true)=falce,[object Object],succ(falce)true,[object Object],21,[object Object]
Char: no hay un conjunto de caracteres definidos por Pascal. Este usa el conjunto de caracteres de la computadora sobre la que está corriendo. Pero requiere que el conjunto de caracteres tenga las siguientes propiedades:,[object Object],cada carácter debe tener un número ordinal asociado.,[object Object],Los valores ordinales de los dígitos de 0 a 9 debe ser ordenado y consecutivo.,[object Object],Los valores ordinales de las letras debe ser ordenado pero no necesariamente consecutivo.,[object Object],clase 11,[object Object],Prof. Moroni,[object Object],Las PC en su mayoría usa el conjunto de caracteres ASCII (American Standard CadeforInformationIaterchange) que tiene las propiedades requeridas.,[object Object],22,[object Object]
Operaciones,[object Object],De comparación: <, <=, >. >=, =,<> :,[object Object],' a'<'b ',[object Object],Funcionesde caracteres en caracteres ,[object Object],pred('z') = 'y' ,[object Object],succ('x') = 'y',[object Object],función de caracteres en enteros,[object Object],ord(x) = al valor correspondiente de x en el código ASCII (ordinal),[object Object],chr(x) = al carácter correspondiente en el código para el valor del argumento (carácter),[object Object],23,[object Object]
Sección de declaraciones,[object Object],Constantes: algunos datos en los programas pueden tener valores que no cambian nunca o que si cambian, lo hacen para el programa completo. Estos valores conocidos antes de la ejecución del programa se denominan constantes Mencionaremos dos tipos de constantes: literales y constantes simbólicas.,[object Object],Literales: valores conocidos de antemano que se indican,[object Object],textualmente en el programa.,[object Object],Si consideramos que el valor de 𝜋 es 3,14159.,[object Object],Si determinados cálculos se deben repetir 100 veces.,[object Object],Si la longitud de una página es de 60 líneas.,[object Object],Una letra es 'a'.,[object Object],3,14159, 100, 60 y 'a'. Son valores constantes que no se modifican durante la ejecución del programa.,[object Object], ,[object Object],24,[object Object]
Sección de declaraciones,[object Object],Constantes simbólicas: Un literal puede estar asociado a un identificador. y es necesario declararlo en la sección de constantes del programa.,[object Object],La sección de declaraciones de constantes en un programa va precedida de la palabra const,[object Object],Const,[object Object],pi = 3.14139;,[object Object],veces = 100;	,[object Object],líneas = 60;	,[object Object],letras= a ,	,[object Object],renglones = líneas,[object Object],Forma general,[object Object],Const,[object Object],identificador = literal,[object Object],identificador = identificador de constante previamente declarada,[object Object],25,[object Object]
Sección de declaraciones,[object Object],El uso de constantes simbólicas para representar valores constantes simplifica los programas y su mantenimiento. Para que un cambio se refleje en todo el programa se necesita cambiar solamente el valor de la constante.,[object Object],Ubicación de la declaración de constantes en un programa:,[object Object],Program Prueba;,[object Object],const,[object Object],pi = 3.14159; ,[object Object],veces = 100; ,[object Object],líneas 60;,[object Object],letra = 'a';,[object Object],renglones = líneas;,[object Object],26,[object Object]
Sección de declaraciones,[object Object],Variables: datos cuyos valores pueden cambiar durante ia ejecución del programa.,[object Object],Tanto los literales como las constantes tienen su tipo asociado de acuerdo a su valor. En cambio las variables no tienen un tipo asociado. Pascal exige la indicación del tipo en la sección de declaraciones de variables.,[object Object],var,[object Object],contador, Índice: integer; ,[object Object],carácter: char,,[object Object],sueldo, capacidad: real;,[object Object],Var,[object Object],id1, id2,…,idn: tipo de dato,[object Object],27,[object Object]
28,[object Object]
Bibliografía,[object Object],[object Object]

Más contenido relacionado

La actualidad más candente (17)

Ada 4 ammc
Ada 4 ammcAda 4 ammc
Ada 4 ammc
 
Cap5
Cap5Cap5
Cap5
 
Ada 4
Ada 4 Ada 4
Ada 4
 
1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
Matlab
MatlabMatlab
Matlab
 
Trabajo De Matematicas
Trabajo De MatematicasTrabajo De Matematicas
Trabajo De Matematicas
 
Apuntesmatlab
ApuntesmatlabApuntesmatlab
Apuntesmatlab
 
Breves apuntes matlab5
Breves apuntes matlab5Breves apuntes matlab5
Breves apuntes matlab5
 
Clase1 c
Clase1 cClase1 c
Clase1 c
 
Polinomios interpolantes
Polinomios interpolantesPolinomios interpolantes
Polinomios interpolantes
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Programación en c (iii parte)
Programación en c (iii parte)Programación en c (iii parte)
Programación en c (iii parte)
 
08 - Punteros en lenguaje C
08 - Punteros en lenguaje C08 - Punteros en lenguaje C
08 - Punteros en lenguaje C
 
Lógica y Algoritmos 2. Datos y Algoritmos
Lógica y Algoritmos 2. Datos y AlgoritmosLógica y Algoritmos 2. Datos y Algoritmos
Lógica y Algoritmos 2. Datos y Algoritmos
 
Arreglos en c++2020
Arreglos en c++2020Arreglos en c++2020
Arreglos en c++2020
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
C
CC
C
 

Destacado

Seudocogido actividad 4
Seudocogido actividad 4Seudocogido actividad 4
Seudocogido actividad 4lupiac1975
 
Lenguaje de programacion diapo
Lenguaje de programacion diapoLenguaje de programacion diapo
Lenguaje de programacion diapotato887
 
Dfd,seudocodigo y prueba de escritorio
Dfd,seudocodigo y prueba de escritorioDfd,seudocodigo y prueba de escritorio
Dfd,seudocodigo y prueba de escritorioNeider David
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosamartinez_29
 
Estructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datosEstructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datosspedy93
 
Seudocodigo. Registro INVIMA
Seudocodigo. Registro INVIMASeudocodigo. Registro INVIMA
Seudocodigo. Registro INVIMAyaespinosa30
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un ProgramaFranco Guamán
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacionbrayan_2012
 
Sesion 01 algoritmos y estructura de datos
Sesion 01  algoritmos y estructura de datosSesion 01  algoritmos y estructura de datos
Sesion 01 algoritmos y estructura de datosimagincor
 
Clase I Estructura de Datos
Clase I Estructura de Datos Clase I Estructura de Datos
Clase I Estructura de Datos guestc906c2
 
Ejercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoEjercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoFabio Valencia
 
Estructura de la tesis de grado
Estructura de la tesis de gradoEstructura de la tesis de grado
Estructura de la tesis de gradoEdison Coimbra G.
 

Destacado (20)

Seudocogido actividad 4
Seudocogido actividad 4Seudocogido actividad 4
Seudocogido actividad 4
 
Lenguaje de programacion diapo
Lenguaje de programacion diapoLenguaje de programacion diapo
Lenguaje de programacion diapo
 
Presentacion paso a paso
Presentacion paso a pasoPresentacion paso a paso
Presentacion paso a paso
 
Dfd,seudocodigo y prueba de escritorio
Dfd,seudocodigo y prueba de escritorioDfd,seudocodigo y prueba de escritorio
Dfd,seudocodigo y prueba de escritorio
 
Clase ed v7
Clase ed v7Clase ed v7
Clase ed v7
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datosEstructura sintactica de los lenguajes de programacion y bases de datos
Estructura sintactica de los lenguajes de programacion y bases de datos
 
Visual basic
Visual basicVisual basic
Visual basic
 
Seudocodigo. Registro INVIMA
Seudocodigo. Registro INVIMASeudocodigo. Registro INVIMA
Seudocodigo. Registro INVIMA
 
Porto
PortoPorto
Porto
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un Programa
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datos
 
Sesion 01 algoritmos y estructura de datos
Sesion 01  algoritmos y estructura de datosSesion 01  algoritmos y estructura de datos
Sesion 01 algoritmos y estructura de datos
 
concepto de estructuras de datos
concepto de estructuras de datosconcepto de estructuras de datos
concepto de estructuras de datos
 
Clase I Estructura de Datos
Clase I Estructura de Datos Clase I Estructura de Datos
Clase I Estructura de Datos
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Ejercicios De Diagrama De Flujo
Ejercicios De Diagrama De FlujoEjercicios De Diagrama De Flujo
Ejercicios De Diagrama De Flujo
 
Estructura de la tesis de grado
Estructura de la tesis de gradoEstructura de la tesis de grado
Estructura de la tesis de grado
 

Similar a Módulo 4

Programacion matlab
Programacion matlabProgramacion matlab
Programacion matlabMarc Llanos
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilabGabriel Romero
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveGabriel Romero
 
Introduccion rapida a SCILAB.pdf
Introduccion rapida a SCILAB.pdfIntroduccion rapida a SCILAB.pdf
Introduccion rapida a SCILAB.pdfcursosrams
 
Algoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptAlgoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptDjJoss
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptangela80121
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabrielEnrique Morales
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencialrcarrerah
 

Similar a Módulo 4 (20)

Programacion matlab
Programacion matlabProgramacion matlab
Programacion matlab
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
 
Intro_Matlab_1.pdf
Intro_Matlab_1.pdfIntro_Matlab_1.pdf
Intro_Matlab_1.pdf
 
Introduccion rapida a SCILAB.pdf
Introduccion rapida a SCILAB.pdfIntroduccion rapida a SCILAB.pdf
Introduccion rapida a SCILAB.pdf
 
Apuntes scilab
Apuntes scilabApuntes scilab
Apuntes scilab
 
Apuntes scilab
Apuntes scilabApuntes scilab
Apuntes scilab
 
Algoritmos y programas ing civil
Algoritmos y programas ing civil Algoritmos y programas ing civil
Algoritmos y programas ing civil
 
1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
Matlab
MatlabMatlab
Matlab
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
TIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLABTIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLAB
 
Algoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.pptAlgoritmos y Diagramas de flujo.ppt
Algoritmos y Diagramas de flujo.ppt
 
Excel 2016
Excel 2016Excel 2016
Excel 2016
 
resumen matlab
resumen matlabresumen matlab
resumen matlab
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
 
Pascal
PascalPascal
Pascal
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
clase de matlab
clase  de   matlabclase  de   matlab
clase de matlab
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
 

Más de Emiliano Siracusa (10)

Capacitores
CapacitoresCapacitores
Capacitores
 
Módulo 7 (sin estilo)
Módulo 7 (sin estilo)Módulo 7 (sin estilo)
Módulo 7 (sin estilo)
 
Módulo 6 (sin estilo)
Módulo 6 (sin estilo)Módulo 6 (sin estilo)
Módulo 6 (sin estilo)
 
Módulo 5 (sin estilo)
Módulo 5 (sin estilo)Módulo 5 (sin estilo)
Módulo 5 (sin estilo)
 
Módulo 4
Módulo 4Módulo 4
Módulo 4
 
Elecciones
EleccionesElecciones
Elecciones
 
Módulo 3
Módulo 3Módulo 3
Módulo 3
 
Módulo 2
Módulo 2Módulo 2
Módulo 2
 
Módulo 1
Módulo 1Módulo 1
Módulo 1
 
Programa 4º
Programa 4ºPrograma 4º
Programa 4º
 

Módulo 4