Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías...
Transcript of Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías...
![Page 1: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/1.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 1 de 50
Tecnologías en la Educación Tecnologías en la Educación MatemáticaMatemática
Dra. Marcela CapobiancoDCIC - UNS
Módulo 4: Módulo 4: Lenguaje PascalLenguaje Pascal
![Page 2: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/2.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 2 de 50
CopyrightCopyright● Copyright © 2010 M. Capobianco
● Se asegura la libertad para copiar, distribuir y modificar este documento de acuerdo a los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delantera o trasera.
● Una copia de esta licencia está siempre disponible en la página http://www.gnu.org/copyleft/fdl.html.
![Page 3: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/3.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 3 de 50
Cómo seguimosCómo seguimos● Resolveremos problemas con
soluciones objetivas ● Expresaremos la solución
como un algoritmo● Codificaremos la solución en
el lenguaje Pascal
PROBLEMA
SOLUCIÓN
ALGORITMO
PROGRAMA
![Page 4: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/4.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 4 de 50
Aprender un Aprender un lenguaje nuevolenguaje nuevo
● ¿Qué significa aprender un nuevo lenguaje?● Pensemos en aprender a hablar italiano,
¿Qué tendremos que aprender?– Nuevas palabras
– Nuevas formas de conectar estas palabras
– Qué significa cada expresión en el contexto de este lenguaje
– Qué estilos comunicativos se usan
![Page 5: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/5.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 5 de 50
Tipos de lenguajesTipos de lenguajesLenguajes
ArtificialesNaturales
castellanoingléscastellanoinglés
código morsenotación musicallenguajes de Programación
código morsenotación musicallenguajes de Programación
![Page 6: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/6.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 6 de 50
Aprender un lenguaje Aprender un lenguaje de programaciónde programación
● Para aprender un lenguaje de programación nuevo necesitamos conocer :
– Alfabeto: qué letras puedo usar
– Vocabulario: qué palabras son válidas
– Sintaxis: cómo escribir sentencias del lenguaje
– Semántica: qué significan las sentencias del lenguaje
– Pragmática: el estilo de uso de las sentencias
![Page 7: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/7.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 7 de 50
El lenguaje PascalEl lenguaje Pascal● Pascal fue definido por Wirth en 1972● Alfabeto: letras y símbolos del código ASCII● Vocabulario: palabras reservadas e
identificadores● Sintaxis: cómo escribir las sentencias● Semántica: qué significan las sentencias● Pragmática: el uso de las programas
![Page 8: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/8.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 8 de 50
AlfabetoAlfabeto● El alfabeto es el código ASCII● American Standard code for Information
Interchange (código standard americano para intercambio de información)
● Está formado por 256 símbolos
![Page 9: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/9.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 9 de 50
Código ASCIICódigo ASCII32 33 ! 34 " 35 # 36 $ 37 % 38 & 39
40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 48 0 49
50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59
60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69
70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79
80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89
90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99
100 d 101 e 102 f 103 g 104 h 105 106 j 107 k 108 l 109
110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119
120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 128 Ç 129
130 é 131 â 132 ä 133 à 134 å 135 ç 136 ê 137 ë 138 è 139
ii
![Page 10: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/10.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 10 de 50
VocabularioVocabulario● Los identificadores son nombres para
elementos del programa (por ejemplo datos) creados por el programador
● Deben comenzar con una letra y pueden involucrar letras o números
● Ejemplos: num, cantidad, es_nro_par, SueldoNeto, Valor2
● No afecta si usamos mayúculas o minúsculas
![Page 11: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/11.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 11 de 50
Palabras reservadasPalabras reservadas● Son términos que ya tienen un significado en
el lenguaje Pascal y sólo pueden ser usadas por el programador con ese significado
● Ejemplos: PROGRAM, IF, ELSE, BEGIN
![Page 12: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/12.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 12 de 50
EjercicioEjercicio● Escribir 5 nombres de identificadores válidos● Escribir 5 nombres de identificadores no
válidos y decir en cada caso porque razón no son válidos
![Page 13: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/13.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 13 de 50
SintaxisSintaxis● Es el aspecto de un programa
PROGRAM <nombre del programa> ;< Declarar los datos a usar por el programa >
< Declarar algoritmos auxiliares (subprogramas) a usar por el programa >
BEGIN< acciones que ejecutará el programa >END.
![Page 14: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/14.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 14 de 50
Datos en PascalDatos en Pascal● Los datos tienen un nombre y un valor
asociado (como en los algoritmos)● El valor puede modificarse durante la
ejecución del programa● Los datos se llaman
– variables: pueden recibir diferentes valores durante la ejecución del programa
– constantes: cuyo valor nunca cambia
![Page 15: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/15.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 15 de 50
Tipos de DatosTipos de Datos● El tipo define el conjunto de valores que
puede tomar una variable● Existen algunos tipos predefinidos:
– Integer: es un subconjunto de los números enteros
– Real: es un subconjunto de los números reales
– Boolean: es el conjunto {true, false} (valores lógicos)
– Char: es el conjunto de caracteres del código ASCII
![Page 16: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/16.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 16 de 50
DeclaraciónDeclaración● Declaración de variables: se escribe la
palabra reservada VAR, y luego nombre y tipo de dato de cada variable.
VAR contador: INTEGER;
raiz1,raiz2,raiz3: REAL;
letra: CHAR;
![Page 17: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/17.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 17 de 50
Tipo IntegerTipo IntegerOperadorOperador operaciónoperación OperandosOperandos ResultadoResultado
+ suma Integer Integer- resta Integer Integer* producto Integer Integer
div divisiónentera
Integer Integer
mod resto Integer Integer
![Page 18: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/18.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 18 de 50
Tipo RealTipo Real● Corresponde a un subconjunto de los reales
OperadorOperador operaciónoperación OperandosOperandos ResultadoResultado
+ suma Real Real- resta Real Real* producto Real Real
/ div. real Real Real
![Page 19: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/19.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 19 de 50
Tipo BooleanTipo Boolean● Este tipo de dato tiene únicamente dos
valores asociados, true y false (correspondientes a verdadero y falso)
● Operadores : los operadores booleanos y, o y no (vistos en la primer clase), se denominan en Pascal and, or y not
![Page 20: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/20.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 20 de 50
Tipo CharTipo Char● Este tipo de dato tiene asociados los
distintos caracteres que componen el código ASCII
● ¿Cómo se diferencia un dato cuyo nombre es A de la letra A?
● Para referenciar a un caracter como un valor de tipo CHAR, se utilizan las comillas simples.
● Ej : ´a´, ´? ´, ´ + ´, ´ ´, etc.
![Page 21: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/21.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50
EjercicioEjercicio● Analizar la corrección de los siguientes
identificadores en pascal: ALPHA, A$3, 3F, r-4, Comisión
● Para cada uno de los siguientes casos, definir dos constantes utilizando nombres significativos: precios, años, días, letras.
● Para cada uno de los datos definir variables de tipo adecuado para representarlos: un día del mes, cantidad de alumnos en un curso, indicar si encontré un nombre en una lista de personas, la raíz cuadrada de un número.
![Page 22: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/22.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 22 de 50
Sintaxis: asignaciónSintaxis: asignación● En algoritmos: nombre_del_dato ← expresión● Ejemplos:
dia ← 31suma ← suma + 5
● En Pascal:
<identificador_de_variable> := <expresión>● Ejemplos:
dia := 31suma := suma + 5
![Page 23: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/23.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 23 de 50
Lectura y escrituraLectura y escritura● Veremos cómo hacer que nuestro programa
se comunique con el usuario● Para esto Pascal provee primitivas para
mostrar valores por pantalla y leer valores por teclado
![Page 24: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/24.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 24 de 50
Lectura y escrituraLectura y escritura● WRITE: muestra valores en la pantalla● WRITELN: muestra valores en pantalla y baja
de línea (LN)● READ: lee valores que son ingresados por
teclado● READLN: lee valores y espera por un FIN DE
LINEA (LN)
![Page 25: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/25.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 25 de 50
Ejemplo de escrituraEjemplo de escritura
write(‘YO’); write(‘TU’);write(‘EL’);
YOTUEL
![Page 26: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/26.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 26 de 50
Ejemplo de escrituraEjemplo de escritura
writeln(‘YO’); writeln(‘TU’);writeln(‘EL’);
YOYOTUTUELEL
![Page 27: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/27.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 27 de 50
Lectura en PascalLectura en Pascalread(A); read(B);read(C);
11 22 33
![Page 28: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/28.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 28 de 50
Lectura en PascalLectura en Pascalreadln(A); readln(B);readln(C);
112233
![Page 29: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/29.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 29 de 50
El lenguaje de los El lenguaje de los procesadoresprocesadores
● Cada procesador entiende un conjunto de instrucciones específicas, esto depende del fabricante
297D:0100 MOV AH,01 297D:0102 INT 21 297D:0104 CMP AL,0D 297D:0106 JNZ 0100 297D:0108 MOV AH,02 297D:010A MOV DL,AL 297D:010C INT 21 297D:010E INT 20
Muestra por pantalla lo que se teclea, hasta presionar Enter
![Page 30: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/30.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 30 de 50
Un poco de historiaUn poco de historia● En la década del 50' los programadores
debían conocer las instrucciones específicas de cada procesador
80868086 MotorolaMotorola IBMIBM
Programación de bajo nivel
![Page 31: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/31.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 31 de 50
La programación en La programación en los 60'los 60'
Lenguaje de Programación L
Lenguaje de Programación L
Traductor de L a 8086
Traductor de L a Motorola
Traductor de L a IBM
80868086 MotorolaMotorola IBMIBM
![Page 32: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/32.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 32 de 50
La programación de La programación de alto nivelalto nivel
80868086 MotorolaMotorola IBMIBM
Algol Cobol Fortran ...
CompilaciónCompilación
![Page 33: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/33.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 33 de 50
Programando en Programando en PascalPascal
● Tengo que aprender el lenguaje de cada procesador?
● NO. Hay lenguajes de programación de “alto nivel” (como Pascal) que permiten escribir un programa que puede ser ejecutado por cualquier computadora.
Programa en PascalPrograma en Pascal
![Page 34: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/34.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 34 de 50
Programando en Programando en PascalPascal
● Para esto se necesita una traducción del lenguaje de “alto nivel” al lenguaje de la máquina específica.
● Dicha traducción la realiza un “compilador", si recibe la opción correspondiente
CompiladorCompilador
Programa en PascalPrograma en Pascal
![Page 35: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/35.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 35 de 50
Edición, compilación y Edición, compilación y ejecuciónejecución
● Un entorno hace posible editar, compilar y ejecutar programas. Nosotros usaremos a Lazarus.
Edición Compilación
Programa fuente escrito en PascalPrograma fuente escrito en Pascal
Programa ejecutable por la computadora
Programa ejecutable por la computadora
Ejecución
![Page 36: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/36.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 36 de 50
Estructura de un Estructura de un programaprograma
PROGRAM <nombre del programa> ;< Declaración de los datos a usar por el programa >
< Declaración de algoritmos auxiliares (subprogramas) a usar por el programa >
BEGIN<secuencia de acciones que ejecutará el programa >
END.
![Page 37: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/37.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 37 de 50
EjemploEjemploPROGRAM HolaMundo ;VAR nro,cuadrado:integer;BEGINwriteln('Este es mi primer programa en Pascal');
write('Ingrese un número: ');readln(nro);cuadrado:=nro*nro;write('El cuadrado del número ingresado es: ');writeln(nro);END.
![Page 38: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/38.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 38 de 50
EjercicioEjercicio● Implementar el siguiente programaPROGRAM Circulo; {cálculo de perímetro}CONST Pi = 3.141592;VAR radio:INTEGER; circunferencia:REAL;BEGIN write(’Ingrese el radio: ’); {ingresa radio por teclado} readln(radio); circunferencia := 2 * Pi * Radio; {hallo circunferencia} writeln(' Dado el radio: ',radio, ' la
circunferencia es:’, circunferencia); END.
PROGRAM Circulo; {cálculo de perímetro}CONST Pi = 3.141592;VAR radio:INTEGER; circunferencia:REAL;BEGIN write(’Ingrese el radio: ’); {ingresa radio por teclado} readln(radio); circunferencia := 2 * Pi * Radio; {hallo circunferencia} writeln(' Dado el radio: ',radio, ' la
circunferencia es:’, circunferencia); END.
![Page 39: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/39.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 39 de 50
EjerciciosEjercicios● Escribir un programa en Pascal para calcular
el promedio de 4 números leídos por teclado● Escribir un programa en Pascal para calcular
el área de un rectángulo, leyendo por teclado la base y la altura del mismo
![Page 40: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/40.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 40 de 50
EjerciciosEjercicios● Determinar la validez
de las siguientes declaraciones:
● Const Base = 173.5; Error = 0.1E-5; Parar = ‘&; Blanco = ‘ ’;
● Var
i,j : Real;k : Boolean;m : Integer;
● Var
Cant = 100;Suma: 45;Diferencia: Integer;
![Page 41: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/41.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 41 de 50
Expresiones en Expresiones en PascalPascal
● Ahora veremos como escribir expresiones más complejas en Pascal
● Mencionaremos algunas primitivas provistas por Pascal que pueden usarse en las expresiones
● Diferentes tipos tienen asociado un conjunto diferente de primitivas para operar con ellos
![Page 42: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/42.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 42 de 50
OperadoresOperadores● El tipo boolean tiene asociados los
operadores and, or y not que corresponden a los operadores lógicos y, o y not que vimos en la primera clase
● Los tipos integer y real tienen asociados los operadores aritméticos de suma (+), resta (-), multiplicación (*) y división (/)
● El tipo integer tiene además a div y mod
![Page 43: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/43.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 43 de 50
Primitivas del tipo Primitivas del tipo IntegerInteger
● La constante MAXINT representa el máximo entero que puede usarse
● Algunas funciones predefinidas:– Succ(N): devuelve el sucesor de N
– Pred(N): devuelve el predecesor de N
– SQR(N): devuelve N2
![Page 44: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/44.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 44 de 50
EjemplosEjemplos● SQR(3) devuelve 9● SQR(-4) devuelve 16● Pred(2) devuelve 1● Succ(3) devuelve 4● Pred(-4) devuelve -5● ¿Se puede aplicar la función succ a una
variable de tipo real? ¿Por qué?
![Page 45: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/45.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 45 de 50
EjerciciosEjercicios● Escribir un programa en Pascal para calcular
el cuadrado de un número dado, usando la función SQR
● Escribir un programa en Pascal que calcule el valor de la función f(x)=x2+x4 para un x dado como entrada
● Escribir un programa en Pascal que dado un número calcule su predecesor y su sucesor usando las funciones aprendidas
![Page 46: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/46.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 46 de 50
Primitivas del tipo realPrimitivas del tipo real● Función SIN: dado un valor de un ángulo (en
radianes), devuelve su seno. Análogamente COS, TAN. Ejemplo: SIN(0) = 0, COS(0) = 1
● Función SQRT: raíz cuadrada. Ej: SQRT(4) = 2.0
● Función ROUND: dado un valor real, devuelve el entero más cercano. Ejemplo: ROUND(0.9) = 1
● Función TRUNC: dado un valor real, devuelve el entero que resulta de eliminar la parte decimal. Ejemplo: TRUNC (0.9) = 0
![Page 47: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/47.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 47 de 50
EjerciciosEjercicios● Escribir un programa en Pascal para calcular
la raiz cuadrada de un número dado usando la función SQRT
● Escribir un programa en Pascal que calcule el seno y el coseno de un ángulo dado como entrada
● Escribir un programa en Pascal para que dado un número real calcule el entero más cercano a este
![Page 48: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/48.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 48 de 50
Primitivas del tipo Primitivas del tipo charchar
● Función CHR: La función chr permite obtener un caracter cualquiera a partir de su código ASCII
● Ejemplo: chr(65) es ´A´; chr(33) es ´!´
● Función ORD: dado un caracter cualquiera, devuelve su código ASCII.
● Ejemplo: ord(´A´) = 65, ord(´!´) = 33
● También funcionan pred y succ
● Se pueden comparar con los operadores relacionales
![Page 49: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/49.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 49 de 50
EjemploEjemploEjemploEjemploPROGRAM CaracterSiguiente;VAR caracter,siguiente:char;BEGIN write('Ingrese un caracter: '); readln(caracter); siguiente:=succ(caracter); write('El próximo carácter es: '); writeln(siguiente);END.
![Page 50: Módulo 4: Lenguaje Pascalmc/TEM/downloads/modulo 4 - pascal... · 2011. 10. 6. · Técnologías en la educación matemática – Dra. Marcela Capobianco – 21 de 50 Ejercicio Analizar](https://reader035.fdocuments.ec/reader035/viewer/2022071602/613d6762e1ef621e9f2db3ab/html5/thumbnails/50.jpg)
Técnologías en la educación matemática – Dra. Marcela Capobianco – 50 de 50
EjercicioEjercicio● Escribir un programa en Pascal que permita
obtener la mayúscula de una letra dada como entrada