1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.
-
Upload
ascencion-pinero -
Category
Documents
-
view
242 -
download
0
Transcript of 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.
![Page 1: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/1.jpg)
1
Programación en Pascal
Sesión 3 y 4
Universidad Técnica Federico Santa Maria
![Page 2: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/2.jpg)
2
Contenido
• Estructura de un Programa pascal
• Declaraciones
• Tipos de datos simples
• Sentencias básicas de Entrada / Salida.
![Page 3: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/3.jpg)
3
Estructura de un programa
![Page 4: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/4.jpg)
4
Ejemplo simple:
![Page 5: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/5.jpg)
5
Programa pascal (diagrama conway)
;
;
;
![Page 6: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/6.jpg)
6
Estructura de un programa
• La estructura de un programa en pascal consta de un encabezamiento y un bloque.
• En el encabezamiento se especifica nombre del programa, y los nombres de los ficheros externos que se usan para entrada de datos y salida de resltados.
![Page 7: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/7.jpg)
7
Estructura de un programa
• En el bloque esta dividido en dos partes:
• Parte de declaraciones: donde se declaran todos los datos y las rutinas.
• Sección ejecutable: que contiene todas las sentencias ejecutables.
• Sintacticamente un programa empieza con Program y termina con ( . )
![Page 8: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/8.jpg)
8
Reglas sintácticas
• El punto y coma ( ; ) y el punto ( . ) son delimitadores en Pascal.
• ( ; ): separa sentencias consecutivas, también se usa para terminar encabezamiento de un programa y las declaraciones de los datos.
• ( . ): indica final del programa.
![Page 9: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/9.jpg)
9
Reglas sintácticas
• BEGIN y END son delimitadores no son sentencias, con ellas se indica el inicio y el final de la sección ejecutable.
• Comentarios: { } o (* *)
![Page 10: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/10.jpg)
10
Identificadores
• En las mayorías de los programas es necesario manejar datos de entradas y salidas, los cuales necesitan almacenarse en memoria principal del computador en el tiempo de ejecución. Para poder manipular dichos datos se necesita tener acceso a la memoria, donde están almacenados y se logra mediante nombre de datos o IDENTIFICADORES.
![Page 11: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/11.jpg)
11
Reglas para formar identificadores
• Pueden estar compuestos de caracteres alfabéticos, numéricos, y el carácter de subrayado ( _ ).
• Deben comenzar con un carácter alfabético o carácter de subrayado.
• Pueden ser de cualquier longitud (solo los 63 caracteres son significativos)
• No se hace distinción entre mayúsculas y minúsculas.• No se permite el uso de identificadores reservados en
los nombres de variables, constantes, programas o subprogramas.
![Page 12: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/12.jpg)
12
Ejemplos de identificadores
• Identificadores validos:• Nombre• Cadena• Edad_maxima• x_y_z• Etiqueta1• Identificadores no validos• Num&dias (carácter & no valido) • X nombre (contiene un carácter blanco) • begin (es una palabra reservada)• eje@s (carácter @ no valido)
![Page 13: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/13.jpg)
13
Ámbito y alcance de los identificadores
![Page 14: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/14.jpg)
14
Descripción:
• Una variable declarada en chequear solo es conocida allí.
• Una variable declarada en altas es conocida altas, leer, chequear, mostrar, ingresar, pero no es conocida en las demás.
• Una variable declarada en actualizar es conocida en todos los procedimientos.
![Page 15: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/15.jpg)
15
Encabezamiento:
program Identificador ( identificador
,
) ;
![Page 16: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/16.jpg)
16
Declaraciones:
Sección declaraciones:• Todas las entidades definidas por el usuario que se usan
en un programa debe ser declarados en esta sección, indicando un identificador y lo que representa:
Etiquetas ( Label )
Constantes ( const )
Tipos (Type )
Variables ( var )
Procedimientos ( procedure )
Funciones ( function )
![Page 17: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/17.jpg)
17
Declaraciones
• No es necesario que un programa contenga declaraciones en toda sus categorías anteriores.
• Ejemplos:
• Type estaciones =(primavera, verano, otoño, invierno);• Var letra : char;• Const pi = 3.1416;• Label 100,200,300;
![Page 18: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/18.jpg)
18
expresiones
• Es una combinación de variables, constantes y literales de tipos compatibles entre sí, estos elementos están combinados mediante operadores válidos; la expresión más simple está formada por un único elemento (variable, literal o constante) sin ningún operador. Es posible tener expresiones aritméticas (combinando expresiones de tipo entero y/o real), expresiones lógicas (combinando expresiones de tipo lógico) y expresiones de tipo carácter.
![Page 19: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/19.jpg)
19
Tipos de Datos simplesTipos de datos
simples
Tipos datos definidos por
el usuario
subintervalo
predefinidos
enumerados booleano carácter entero real
ordinales No ordinales
![Page 20: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/20.jpg)
20
Tipos de Datos
En Pascal hay cuatro tipos categóricos de datos.1) Los ordinales: Integer (números enteros)Char (caracteres)Boolean (valores lógicos TRUE y FALSE)EnumerativosSubcampo
![Page 21: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/21.jpg)
21
Tipos de Datos2) Reales:
Real (números reales)
3) Estructurados:
Array (tablas)
Record (registros)
File (secuencias)
Set (conjuntos)
4) Punteros
![Page 22: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/22.jpg)
22
Tipos ordinales
• Los valores de un tipo ordinal tienen una correspondencia biunívoca con el conjunto de enteros positivos. Tales valores están ordenados de manera que a cada uno le corresponde un valor ordinal único que indica su posición en la lista de todos los valores posibles de ese tipo.
![Page 23: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/23.jpg)
23
Programa 01: funciones ordinales
Program demo2;
Uses crt;
Var a,b:integer;
Begin
clrscr;
writeln(‘ingrese un valor para obtener ordinal, sucesor y predecesor’);
readln(a);
writeln;
b:= ord(a); writeln(‘el ordinal: ’,b);
b:= succ(a); writeln(‘El sucesor: ’,b);
b:= pred(a); writeln(‘El predecesor: ’,b);
Readln;
End.
![Page 24: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/24.jpg)
24
ordinales -integer
![Page 25: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/25.jpg)
25
ejemplos: ordinales - integer
Valores enteros:
32
100
54
0
![Page 26: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/26.jpg)
26
Operadores aritméticos
![Page 27: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/27.jpg)
27
Ejemplos: ordinales - char
• Sus valores posibles son cada uno de los elementos de los caracteres ASCII, ocupan 8 bits en memoria.
Se especifica una constante de tipo char:
‘A’ ‘?’ ’Z’ ‘0’ ‘.’
![Page 28: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/28.jpg)
28
Ejemplo
{ programa lee el primer carácter e imprime 10 veces}
Program demo2;
Uses crt;
Var A: char;
Begin
clrscr;
writeln(‘ingrese una palabra’);
readln(A);
for i:= 1 to 10 do writeln(A);
readln;
End.
![Page 29: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/29.jpg)
29
Tipos booleanos
![Page 30: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/30.jpg)
30
Tipos enumerativos
Es un conjunto de valores constantes ordenados representados por identificadores.
Sintaxis:
( { identificador }, …………..)
Ejemplo:
(primavera, verano, otoño, invierno )
Estos tipos quedan ordenados según su posición en la lista.
![Page 31: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/31.jpg)
31
Tipos subcampo
Especifica una parte limitada de otro tipo ordinal, para ser usado como un tipo distinto. El programador lo define.
Sintaxis:
lim_inf .. lim_sup
lim_inf: expresión constante que establece limite inferior del subcampo o subrango.
lim_sup: expresión constante que establece limite superior del subcampo o subrango.
![Page 32: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/32.jpg)
32
ejemplos
‘0’..’9’
‘A’..’M’
1..31
enero .. marzo
1 .. 366
![Page 33: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/33.jpg)
33
Ejemplos: ordinales - reales
(en pascal)Var total : realy los valores correctos serian:
3.14 97.45
0.07.
.12
![Page 34: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/34.jpg)
34
Tipos reales
![Page 35: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/35.jpg)
35
Precedencia de operadores
• El orden de aplicación de precedencia puede alterarse mediante el paréntesis
• Resumen de prioridades:
![Page 36: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/36.jpg)
36
Asignación
![Page 37: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/37.jpg)
37
Literales
![Page 38: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/38.jpg)
38
Operadores relacionales
• Una relación consiste en dos operandos separados por un operador relacional. Si la relación es satisfecha, el resultado tendrá un valor booleano True; si la relación no es satisfecha el resultado tendra un valor booleano False.
![Page 39: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/39.jpg)
39
Operadores relacionales
Ejemplos
![Page 40: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/40.jpg)
40
Funciones aritméticas
![Page 41: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/41.jpg)
41
Ejemplos de definiciones:
Const
long = 35;
Type
cadena = string[ long ];
Var
nombre: cadena;
![Page 42: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/42.jpg)
42
Tipos estructurados
Tipos de datosestructurales
Predefinidos
string
Definidos por el usuario
set array record file
![Page 43: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/43.jpg)
43
Tipos estructurados
• Los tipos estructurados pueden contener mas de un componente a la vez, a diferencia de los tipos ordinales y reales.
• Cada componente puede ser de tipo ordinal, real, estructurado o puntero.
• Se puede tener acceso a cada uno de los componentes y procesar la estructura completa.
![Page 44: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/44.jpg)
44
Tipos estructurados
• Las estructuras fundamentales son cuatro:
ARRAY (tabla)
RECORD (registro)
SET (conjunto)
FILE (secuencia)
![Page 45: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/45.jpg)
45
Array
•Es una estructura homogénea que esta constituido por componentes del mismo tipo, llamado tipo base.
Sintaxis:
Type T = ARRAY [ I ] of To
Definición de un tipo array T especifica un tipo base To y un tipo indice I.
![Page 46: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/46.jpg)
46
Ejemplos Tipos
Type
Vector = ARRAY[1..5] OF INTEGER;
Vec_1 = ARRAY[1..5] OF REAL;
Linea = ARRAY[1..80] OF CHAR;
nombres = array[1..30] OF CHAR;
Var
v1 : Vector ;
a : Vec_1;
L : Linea;
name : nombres;
![Page 47: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/47.jpg)
47
Ejemplos Tipos{programa que inicializa un vector de 0..5 elementos}Program demo7;Uses crt;Type vector = array[1..5] of integer;Var a : vector; i : integer;Begin clrscr; for i:=0 to 5 do begin a[ i ] := 0; writeln(‘Vector ’, ‘ a[ ’, i,’ ] ’,’ ’, a[ i ] ); end;Readln;End.
![Page 48: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/48.jpg)
48
Ejemplo: 1
•ENUNCIADO:
Calcule los coeficientes de una recta trabajando con coordenadas homogéneas de la forma: L= [ A B 1 ]T
Debe leer dos puntos en coordenadas homogéneas ( x, y, 1)
Y reportar los coeficientes A B C => AX + BY + C
( Implemente el producto cruz para el calculo)
Construya el seudocódigo.
Construya el programa en Pascal. { en clase }
Verifique este ejemplo:
Lee M1 = [ 2 6 1 ]
Lee M2 = [ -1 6 1 ]
Debe resultar: [ 0 -3 18 ]
![Page 49: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/49.jpg)
49
Ejercicios
• Se darán en clases …!
![Page 50: 1 Programación en Pascal Sesión 3 y 4 Universidad Técnica Federico Santa Maria.](https://reader033.fdocuments.co/reader033/viewer/2022061612/5665b4581a28abb57c90b3d5/html5/thumbnails/50.jpg)
50
Referencias: