módulo 4: lenguaje pascalmc/tem/downloads/modulo 4 - pascal... · 2011. 10. 6. · técnologías...

50
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ática Matemática Dra. Marcela Capobianco DCIC - UNS Módulo 4: Módulo 4: Lenguaje Pascal Lenguaje Pascal

Upload: others

Post on 12-Aug-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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