Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programacin en Pascal
Segunda parte de la asignatura.
El profesor:
Objetivos:
Aprender Pascal como primer lenguaje de programacin.
Dominar los conceptos y las tcnicas bsicas de
programacin modular.
INTRODUCCIN AL PASCAL
Programacin en Pascal
Material
Bibliografa:
Joyanes Aguilar, Luis, Programacin en Pascal
Ed. McGraw-Hill (2006).
Transparencias de clase
Hojas de Problemas
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
Cdigo
program hola;
begin
(* Comienza bloque*)
writeln(Hola a todos)
end.
(* Fin de bloque *)
INTRODUCCIN AL PASCAL
Comentarios
INTRODUCCIN AL PASCAL
Variables.
Expresiones.
Sentencias.
Procedimientos y funciones.
Conjunto de caracteres
Son los que permiten escribir el programa.
Pascal emplea:
De la A a la Z (maysculas y minsculas)
Los dgitos del 0 al 9
Ciertos smbolos especiales:
INTRODUCCIN AL PASCAL
Identificadores en Pascal
Cmo se forman?
INTRODUCCIN AL PASCAL
Identificadores predefinidos
Pascal tiene una serie de identificadores predefinidos que el
programador puede cambiar:
abs arctan boolean char cos dispose eof eoln exp false
input integer ln maxint new odd ord output pack page pred
read readln real reset rewrite round sin sqr sqrt succ
text true trunc write writeln
INTRODUCCIN AL PASCAL
Tipos de datos
Tipos de datos:
Adems de identificadores, todos los datos deben tener
asignado algn tipo que indique:
La cantidad de memoria necesaria para almacenarlos.
El rango de valores que puede tomar.
INTRODUCCIN AL PASCAL
Tipos
Cadena
(string)
Ordinales:
Entero (integer,...)
Lgico (boolean)
Carcter (char)
Enumerativo (enum)
Subrango
No ordinales:
Real (real,...)
Facultad de Matemticas. Informtica I
Dinmicos
Tipos
Estructurados
Tipos
Puntero
Arreglo (array)
Registro (register)
Conjunto (set)
Archivo (file)
INTRODUCCIN AL PASCAL
Tipo entero
INTRODUCCIN AL PASCAL
Tipos reales
El tipo real ms importante es el real
Se representa mediante una secuencia de nmeros
precedida (opcionalmente) por un signo que debe contener
un punto decimal o un exponente (o ambos). Si se incluye
un punto decimal, ste debe aparecer entre dos dgitos.
Ejemplo:
Reales vlidos: 0.0, +23.5 , -1280.567, 3.0e+10
Reales no vlidos: 12. , 1,034.0 , 20, 3.e+10, 3e 10
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
Constantes
Constantes:
Una constante es un valor que no puede cambiar a lo largo de la
ejecucin del programa.
Tipos de Constantes:
Literales
Es un valor de cualquier tipo que se utiliza en el programa como tal.
Ejemplo:
VolumenEsfera:=4/3*Pi*Radio*Radio*Radio;
4 y 3 son constantes literales
Con nombres
Sirven para asociar un dato simple a un identificador de forma
permanente a lo largo de todo el programa.
Se definen en la seccin const del programa.
Ejemplo:
const
pi= 3.1415926535897932;
INTRODUCCIN AL PASCAL
Variables
Variable:
Identificador cuyo valor vara a lo largo del programa
Cada variable tiene asociado un tipo determinado
Se declaran en la seccin var del programa
var
lista_de_identificadores1=tipo1;
lista_de_identificadores2=tipo2;
lista_de_identificadores3=tipo3;
lista_de_identificadores es una serie de identificadores
separados por comas. Todos son del mismo tipo.
Ejemplo:
var fila,columna: integer;
valor:real;
condicion:boolean;
Facultad de Matemticas. Informtica I
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
Acumulador
Un contador es una variable que se incrementa, cuando se
ejecuta la instruccin, en una cantidad variable.
Ejemplo:
x:=5;
suma:=3;
suma:=suma+x;
INTRODUCCIN AL PASCAL
Expresiones y Operadores
Expresiones:
Operadores
Aritmticos.
Relacionales.
Lgicos.
INTRODUCCIN AL PASCAL
Operadores Aritmticos
Operacin
Menos
Suma
Resta
Multiplicacin
Divisin real
Divisin entera
Mdulo
Operandos
real , integer
real , integer
real , integer
real , integer
real , integer
integer
integer
Ejemplo
-a
a + b
a - b
a * b
a / b
a div b
a mod b
Resultado
Cambia el signo de a
Suma de a y b
Diferencia de a y b
Producto de a por b
Cociente de a y b
Cociente entero de a y b
Resto de a por b
Observaciones
1. Cuando los dos operandos sean del tipo integer, el resultado
ser de tipo integer. (Excepto en la divisin real).
2. Cuando cualquiera de los dos operandos sean del tipo real, el
resultado ser de tipo real.
Ejemplos:
1+1 = 2,
INTRODUCCIN AL PASCAL
Operadores Relacionales
Relaciones:
Consisten de dos operandos separados por un operador relacional.
Si la relacin es satisfecha, el resultado tendr un valor lgico
true ; si la relacin no se satisface, el resultado tendr el valor
false.
Operadores relacionales utilizados en Pascal:
Operador
=
Operacin
Igual
<>
Distinto
<
Menor
>
Mayor
Operandos Ejemplo
Resultado
true si a = b
real , integer,
a = b
char,boolean
false si a b
real , integer,
true si a b
a <> b
char,boolean
false si a = b
true si a < b
real , integer,
a < b
char,boolean
false si a b
true si a > b
real , integer,
a > b
char,boolean
false si a b
<=
Menor o igual
real , integer,
a <= b
char,boolean
>=
Mayor o igual
real , integer,
a >= b
char,boolean
true si a b
false si a > b
true si a b
false si a < b
Ejemplo:
2=3 (true), a<>a (false)
Facultad de Matemticas. Informtica I
INTRODUCCIN AL PASCAL
Operadores Lgicos
Los operadores lgicos actan sobre operandos lgicos y
devuelven true o false
Operador Operacin Ejemplo
not
and
or
xor
Resultado
true si a es false
no lgico
not a
false si a es true
true si a y b son true
y lgico
a and b
false si a o b son false
true si a o b son true
o lgico
a or b
false si a y b son false
true si uno de a o b es true
o exclusivo a xor b
false si a y b son true o false
Ejemplo:
not true = false, true and true = true, true or
false = true
Facultad de Matemticas. Informtica I
INTRODUCCIN AL PASCAL
Evaluacin de Expresiones
INTRODUCCIN AL PASCAL
Sentencias (1)
Sentencias:
Instruccin o grupo de instrucciones que hacen que el
ordenador realice ciertas acciones
Pueden ser simples o estructuradas.
Sentencias simples:
Asignar un dato a una variable, por ejemplo: dia:=20;
Acceder a un subprograma, por ejemplo: writeln(hola);
Transferir el control del programa, por ejemplo: goto 100;
Sentencias estructuradas:
Sentencias compuestas
Formadas por un grupo de sentencias simples dentro de un bloque.
Ejemplo:
begin (* comienzo de bloque *)
read(nombre);
writeln(nombre)
end;
(* fin de bloque *)
INTRODUCCIN AL PASCAL
Sentencias (2)
Otras sentencias estructuradas
Sentencias condicionales
Sirven para realizar o no una sentencia simple o una sentencia
estructurada en base a una condicin
Ejemplo
if(hora >13) then
writeln(fin);
Sentencias repetitivas
Sirven para realizar de forma repetitiva una sentencia simple o
una sentencia estructurada
Ejemplo:
for hora:=0 to 23 do
writeln(hora);
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
Funciones
Se utilizan especificando su nombre dentro de una expresin seguida
por una lista de parmetros.
La funcin devuelve un solo dato (el resultado) que est representado
por el nombre de la funcin.
La funcin debe ser del tipo adecuado a la expresin en la que est.
Ejemplo:
resultado:=area_circunferencia(lado);
INTRODUCCIN AL PASCAL
Tipo del
argumento
abs
valor absoluto
real o integer
arctan
cos
exp
ln
round
sin
real o integer
real o integer
real o integer
real o integer
real
real o integer
sqr
cuadrado (elevado a 2)
real o integer
sqrt
trunc
Funcin
chr
ord
Descripcin
Tipo del
argumento
pred
predecesor
succ
sucesor
Tipo del
argumento
Tipo del
integer o char
argumento
integer o char
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
INTRODUCCIN AL PASCAL
Formatos de salida
Cada dato que se escribe con write y writeln aparece con un
determinado nmero de caracteres denominado longitud de campo.
Cuando un dato se escribe sin una especificacin de longitud de
campo, se utilizar la especificacin de campo por defecto
Para especificar una longitud de campo determinada se emplea:
writeln (valor:anchura...); con
anchura : expresin entera que especifca la anchura total del campo en
que se escribe el valor.
writeln (valor:anchura:digitos ...);
dgitos: dgitos decimales de un nmero real, anchura: Total de dgitos
del nmero real contando parte entera, punto decimal y dgitos decimales.
Ejemplos:
valor:= 25.0776;
writeln(valor);2.5077600000E+01 writeln(valor:2);2.5E+01
writeln(valor:2:1);25.1 writeln(valor:2:8);25.07760000
writeln('Tec':3);Tec writeln('Tec':5);Tec