1 programación en pascal sesión 3 y 4 universidad técnica federico santa maria

Post on 23-Jan-2016

240 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Programación en Pascal

Sesión 3 y 4

Universidad Técnica Federico Santa Maria

2

Contenido

• Estructura de un Programa pascal

• Declaraciones

• Tipos de datos simples

• Sentencias básicas de Entrada / Salida.

3

Estructura de un programa

4

Ejemplo simple:

5

Programa pascal (diagrama conway)

;

;

;

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.

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 ( . )

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.

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 (* *)

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.

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.

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)

13

Ámbito y alcance de los identificadores

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.

15

Encabezamiento:

program Identificador ( identificador

,

) ;

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 )

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;

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.

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

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

21

Tipos de Datos2) Reales:

Real (números reales)

3) Estructurados:

Array (tablas)

Record (registros)

File (secuencias)

Set (conjuntos)

4) Punteros

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.

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.

24

ordinales -integer

25

ejemplos: ordinales - integer

Valores enteros:

32

100

54

0

26

Operadores aritméticos

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’ ‘.’

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.

29

Tipos booleanos

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.

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.

32

ejemplos

‘0’..’9’

‘A’..’M’

1..31

enero .. marzo

1 .. 366

33

Ejemplos: ordinales - reales

(en pascal)Var total : realy los valores correctos serian:

3.14 97.45

0.07.

.12

34

Tipos reales

35

Precedencia de operadores

• El orden de aplicación de precedencia puede alterarse mediante el paréntesis

• Resumen de prioridades:

36

Asignación

37

Literales

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.

39

Operadores relacionales

Ejemplos

40

Funciones aritméticas

41

Ejemplos de definiciones:

Const

long = 35;

Type

cadena = string[ long ];

Var

nombre: cadena;

42

Tipos estructurados

Tipos de datosestructurales

Predefinidos

string

Definidos por el usuario

set array record file

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.

44

Tipos estructurados

• Las estructuras fundamentales son cuatro:

ARRAY (tabla)

RECORD (registro)

SET (conjunto)

FILE (secuencia)

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.

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;

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.

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 ]

49

Ejercicios

• Se darán en clases …!

50

Referencias:

top related