Beruflich Dokumente
Kultur Dokumente
Programacin 1
August 14, 2014
Contents
1 Modelo de Computacin
2 Organizacin de la Computadora
4 Compilacin
7 Identificadores en Pascal
10 Declaracin de variables
14 Parte algortmica
7
1
16 Palabras reservadas
17 Maysculas y minsculas
18 Comentarios
19 Instrucciones
20 Constantes
21 Asignacin
22 El Concepto de Tipo
23 Clasificacin
10
10
25 El tipo integer
10
11
11
28 El tipo real
11
11
30 Sobrecarga
12
31 Coercin
12
32 Coercin en asignaciones
12
33 Coercin. Ejemplos
13
34 Precedencia de operadores
13
13
36 El tipo boolean
13
37 El tipo char
14
14
39 Ejemplos de asignaciones
14
Modelo de Computacin
Organizacin de la Computadora
Dispositivos de entrada
Teclado
Mouse
Dispositivos de salida
Terminal
Impresora
Memoria: interna, externa.
Unidad Central de Proceso (UCP)
Unidad de Control:
Carga instrucciones en memoria (programa)
3
Compilacin
Programa
Pascal
(texto)
+------------+
|
|
--->| Compilador | --->
|
|
+------------+
Programa
Ejecutable
(binario)
1
2
3
4
5
{ ingresar datos }
readLn(altura,base);
6
7
8
{ calcular area }
area := base * altura / 2;
9
10
11
{ mostrar resultado }
writeLn(area)
end.
12
13
14
program identificador ;
program es una palabra reservada de Pascal.
identificador es un nombre que elige el programador.
Identificadores en Pascal
Sirven para dar nombre a los diferentes objetos que componen un programa:
programa,
variables,
constantes,
tipos,
funciones,
procedimientos
Diagrama sintctico
Figure 1: Identificador
BNF:
5
Lenguaje Natural:
Un identificador es una secuencia de caracteres alfanumricos el
primero de los cules debe ser alfabtico.
10
Declaracin de variables
En el ejemplo:
var
base,altura,area: real;
El programa utilizar tres celdas de memoria que almacenan un nmero real
(real es el tipo de las variables).
11
En un caso ms general:
var
base,altura,area
opcion
se_cumple
i,j
carta
:
:
:
:
:
real;
char;
boolean;
integer;
tipo_definido_por_programador;
12
BNF:
declaracion_de_variables =
[ var declaracion_variable ;
{ declaracion_variable ; } ] .
declaracion_variable = identificador{ , identificador }
: indicador_de_tipo .
13
Diagrama
Figure 2: decvar
14
Parte algortmica
En el ejemplo:
begin
{ ingresar datos }
readLn(altura,base);
{ calcular area }
area := base * altura / 2;
{ mostrar resultado }
writeLn(area);
end.
Es una secuencia de instrucciones separadas por punto y coma.
15
instruccion
{ ; instruccion }
end .
16
Palabras reservadas
17
Maysculas y minsculas
18
Comentarios
19
Instrucciones
20
Constantes
21
=
=
=
=
3.1416;
22;
,;
hola gente;
Asignacin
22
El Concepto de Tipo
Los tipos permiten indicar la caracterstica de los valores (datos) manipulados en un programa.
Toda variable o constante tiene asociado un tipo.
Esto ocurre tambin con los operadores, las funciones estndar y las
definidas por el usuario.
Poseer tipos permite detectar ciertos errores de construccin en el cdigo
(chequeo de tipos).
Por ejemplo:
3+4
3 + a
23
Clasificacin
24
25
Nmeros enteros.
real
Nmeros reales
boolean
char
El tipo integer
10
26
27
28
Suma: +
Resta: Multiplicacin: *
Divisin: div
Mdulo: mod.
El tipo real
29
decimal
exponencial
358.3
3.583E2
0.23
2.3e-1
smbolo
suma
resta
11
operacin
30
smbolo
multiplicacin
divisin
Sobrecarga
31
Coercin
Argumentos que no son del tipo requerido por una funcin u operador son
convertidos al tipo correcto.
Por ejemplo, es posible mezclar operandos de tipo entero y real en algunos
operadores aritmticos. La conversin es automtica.
Ejemplos:
expresin
32
conversin
3 + 2.5
3.0 + 2.5
3.0 * 2
3.0 * 2.0
5 / 2.6
5.0 / 2.6
(5 + 2) / 2
7.0 / 2.0
Coercin en asignaciones
12
33
Coercin. Ejemplos
var x : Real;
y : Integer;
...
begin
x := 4;
x := y;
y := 2.8
(* equivalente x := 4.0 *)
(* asignacin invlida *)
end
La conversin de entero a real se realiza en forma automtica.
34
Precedencia de operadores
35
36
El tipo boolean
13
and - conjuncin
or - disyuncin
not - negacin
37
El tipo char
38
ord(A) es 65 y chr(65) es A
ord(B) es 66 y chr(66) es B
ord(0) es 48 y chr(48) es 0
ord(1) es 49 y chr(49) es 1
La funcin ord se puede aplicar a todos los tipos ordinales (ms adelante se
ver)
39
Ejemplos de asignaciones
var
i,k : integer;
x,y : real;
bb : boolean;
14
car : char;
...
begin
...
i:= 4;
x:= 2.3;
y:= 1;
(* conversin implcita *)
k:= trunc(x);
(* conversin explcita *)
y:= (y + sqr(x)) / 2;
x:= i + k;
bb:= true;
bb:= (y < x) or (3 >= k + sqrt(i));
...
15