Title: Programaci
1Programación en Pascal
Universidad Técnica Federico Santa Maria
2Contenido
- Estructura de un Programa pascal
- Declaraciones
- Tipos de datos simples
- Sentencias básicas de Entrada / Salida.
3Estructura de un programa
4Ejemplo simple
5Programa pascal (diagrama conway)
6Estructura 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.
7Estructura 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 ( . )
8Reglas 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.
-
9Reglas 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 ( )
10Identificadores
- 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.
11Reglas 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.
12Ejemplos de identificadores
- Identificadores validos
- Nombre
- Cadena
- Edad_maxima
- x_y_z
- Etiqueta1
- Identificadores no validos
- Numdias (carácter no valido)
- X nombre (contiene un carácter blanco)
- begin (es una palabra reservada)
- eje_at_s (carácter _at_ no valido)
13Ámbito y alcance de los identificadores
14Descripció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.
15Encabezamiento
16Declaraciones
- 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 )
17Declaraciones
- 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
18expresiones
- 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.
19Tipos de Datos simples
20Tipos 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)
- Enumerativos
- Subcampo
21Tipos de Datos
- 2) Reales
- Real (números reales)
- 3) Estructurados
- Array (tablas)
- Record (registros)
- File (secuencias)
- Set (conjuntos)
- 4) Punteros
22Tipos 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.
23Programa 01 funciones ordinales
- Program demo2
- Uses crt
- Var a,binteger
- 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.
24ordinales -integer
25ejemplos ordinales - integer
- Valores enteros
- 32
- 100
- 54
- 0
26Operadores aritméticos
27Ejemplos 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 .
28Ejemplo
- 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.
29Tipos booleanos
30Tipos 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.
31Tipos 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.
32ejemplos
- 0..9
- A..M
- 1..31
- enero .. marzo
- 1 .. 366
33Ejemplos ordinales - reales
- (en pascal)
- Var
- total real
- y los valores correctos serian
- 3.14
- 97.45
- 0.0
- 7.
- .12
34Tipos reales
35Precedencia de operadores
- El orden de aplicación de precedencia puede
alterarse mediante el paréntesis - Resumen de prioridades
36Asignación
37Literales
38Operadores 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.
39Operadores relacionales
Ejemplos
40Funciones aritméticas
41Ejemplos de definiciones
- Const
- long 35
- Type
- cadena string long
- Var
- nombre cadena
-
42Tipos estructurados
43Tipos 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.
44Tipos estructurados
- Las estructuras fundamentales son cuatro
- ARRAY (tabla)
- RECORD (registro)
- SET (conjunto)
- FILE (secuencia)
45Array
- 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.
46Ejemplos Tipos
- Type
- Vector ARRAY1..5 OF INTEGER
- Vec_1 ARRAY1..5 OF REAL
- Linea ARRAY1..80 OF CHAR
- nombres array1..30 OF CHAR
- Var
- v1 Vector
- a Vec_1
- L Linea
- name nombres
47Ejemplos Tipos
- programa que inicializa un vector de 0..5
elementos - Program demo7
- Uses crt
- Type vector array1..5 of integer
- Var
- a vector
- i integer
- Begin
- clrscr
- for i0 to 5 do
- begin
- a i 0
- writeln(Vector , a , i,
, , a i ) - end
- Readln
- End.
48Ejemplo 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 gt 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
49Ejercicios
50Referencias