Está en la página 1de 15

Componentes Bsicos

Programacin 1
August 14, 2014

Contents
1 Modelo de Computacin

2 Organizacin de la Computadora

3 Unidad Central de Proceso

4 Compilacin

5 Ejemplo de un programa pascal

6 Encabezado del programa

7 Identificadores en Pascal

8 Sintaxis de los identificadores

9 Sintaxis de identificadores (BNF)

10 Declaracin de variables

11 Ejemplo Declaracin de Variables

12 Sintaxis de la declaracin de variables (BNF)

13 Sintaxis de la declaracin de variables (Diagrama)

14 Parte algortmica

7
1

15 Sintaxis de la parte algortmica

16 Palabras reservadas

17 Maysculas y minsculas

18 Comentarios

19 Instrucciones

20 Constantes

21 Asignacin

22 El Concepto de Tipo

23 Clasificacin

10

24 Tipos Elementales Predefinidos

10

25 El tipo integer

10

26 Expresiones aritmticas enteras

11

27 Ejemplos de expresiones enteras

11

28 El tipo real

11

29 Operadores aritmticos reales

11

30 Sobrecarga

12

31 Coercin

12

32 Coercin en asignaciones

12

33 Coercin. Ejemplos

13

34 Precedencia de operadores

13

35 Funciones aritmticas estndar (predefinidas)

13

36 El tipo boolean

13

37 El tipo char

14

38 Las funciones ord y chr

14

39 Ejemplos de asignaciones

14

Modelo de Computacin

Vemos al computador como un procesador de datos.


+------------+
|
|
Entrada ===> | Computador | ===> Salida
|
|
+------------+

Organizacin de la Computadora
Dispositivos de entrada
Teclado
Mouse
Dispositivos de salida
Terminal
Impresora
Memoria: interna, externa.
Unidad Central de Proceso (UCP)

Unidad Central de Proceso

Unidad de Control:
Carga instrucciones en memoria (programa)
3

Ejecuta las instrucciones


Unidad Aritmtica Lgica
Ejecuta operaciones aritmticas y lgicas.

Compilacin

Lenguajes de alto nivel: pascal, java, C, etc.


La computadora no entiende los lenguajes de alto nivel.
Un compilador es un programa que traduce a cdigo de mquina:

Programa
Pascal
(texto)

+------------+
|
|
--->| Compilador | --->
|
|
+------------+

Programa
Ejecutable
(binario)

Ejemplo de un programa pascal


program Triangulo;
var
altura,base,area: real;
begin

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

Encabezado del programa

El encabezado del programa tiene la siguiente forma:


4

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

Sintaxis de los identificadores

Diagrama sintctico

Figure 1: Identificador

Sintaxis de identificadores (BNF)

BNF:
5

identificador = letra { letra | digito }

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

Ejemplo Declaracin de Variables

En un caso ms general:
var
base,altura,area
opcion
se_cumple
i,j
carta

:
:
:
:
:

real;
char;
boolean;
integer;
tipo_definido_por_programador;

El valor de una variable puede ser modificado en el transcurso del programa.

12

Sintaxis de la declaracin de variables (BNF)

BNF:
declaracion_de_variables =
[ var declaracion_variable ;
{ declaracion_variable ; } ] .
declaracion_variable = identificador{ , identificador }
: indicador_de_tipo .

13

Sintaxis de la declaracin de variables (Diagrama)

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

Sintaxis de la parte algortmica


cuerpo = begin
7

instruccion
{ ; instruccion }
end .

Observacin: El punto y coma es un separador y no finalizador de instruccin.

16

Palabras reservadas

Son palabras que Pascal utiliza con un significado especial.


No pueden ser utilizadas como identificadores.
Algunas palabras reservadas:
var, program, begin, end, const, type.

17

Maysculas y minsculas

Pascal no diferencia maysculas y minsculas cuando se trata de identificadores


y palabras reservadas.
begin = BEGIN = BeGiN
Se recomienda utilizar minsculas en lo posible y slo utilizar maysculas para
resaltar ciertos identificadores.

18

Comentarios

Los comentarios son ignorados por el compilador.


Hay dos formas:
{ bla, bla, ... }
(* bla, bla, ... *)

19

Instrucciones

En el ejemplo tenemos 3 tipos de instrucciones:


Entrada: ReadLn
Asignacin: area:= base * altura / 2
Salida: WriteLn
Se vern otras a lo largo del curso.

20

Constantes

Una constante es una celda de memoria que nunca cambia de valor.


Toda constante asociado un nombre, un tipo (implcito) y un valor.
const
pi
iva
separador
saludo

21

=
=
=
=

3.1416;
22;
,;
hola gente;

Asignacin

Es una instruccin que permite modificar el contenido de una variable:


identificador := expresion
identificador representa la variable que va a ser asignada.
expresin representa el valor que se asigna a la variable.
Sus tipos deben ser compatibles.

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

tiene tipo correcto (integer)

3 + a

tiene error de tipo

En Pascal el chequeo de tipos se hace en tiempo de compilacin.

23

Clasificacin

Los tipos segn su estructura:


elementales: cada valor es simple e indivisible.
estructurados: cada valor est compuesto por varios valores.
Otra clasificacin:
estndar o predefinidos
definidos por el programador

24

25

Tipos Elementales Predefinidos


integer

Nmeros enteros.

real

Nmeros reales

boolean

El conjunto { true, false }

char

Los caracteres: letras, dgitos, smbolos, etc.

El tipo integer

Representa nmeros enteros con o sin signo.


Ejemplos: -32, 0, +123, 77.
Es un tipo acotado. El mximo es maxint.

10

26

Expresiones aritmticas enteras

Una expresin se construye mediante: constantes, variables, operadores y funciones.


Operadores enteros

27

28

Suma: +
Resta: Multiplicacin: *
Divisin: div
Mdulo: mod.

Ejemplos de expresiones enteras


a (variable)
resto (constante simblica)
198 (literal)
a * 2
(a + 123) div (resto - a * 2)

El tipo real

Representa nmeros reales.


Las constantes se pueden representar en notacin decimal o notacin exponencial.

29

decimal

exponencial

358.3

3.583E2

0.23

2.3e-1

Operadores aritmticos reales


operacin

smbolo

suma

resta

11

operacin

30

smbolo

multiplicacin

divisin

Sobrecarga

El mismo smbolo es usado para denotar operaciones sobre tipos diferentes.


Por ejemplo, los smbolos +, - y * denotan la suma, resta y multiplicacin tanto
de enteros como de reales, respectivamente.

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

En una asignacin x := e el tipo de la variable x y de la expresin e debe ser el


mismo.
Excepcin: Es posible asignar un valor entero a una variable real.

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

Para la evaluacin de expresiones aritmticas se debe seguir este orden:


1. Evaluar expresiones parentizadas
2. Aplicar operaciones de multiplicacin y divisin (*, /, div, mod). Si hay
varias en secuencia, entonces evaluarlas de izquierda a derecha.
3. Aplicar operaciones de suma y resta (+, -). Si hay varias en secuencia,
entonces evaluarlas de izquierda a derecha.

35

36

Funciones aritmticas estndar (predefinidas)


sqr(x) - retorna el cuadrado de x.
sqrt(x) - retorna la raz cuadrada de x.
trunc(x), round(x) - conversin de real a entero.
abs(x) - valor absoluto.

El tipo boolean

Constantes: true, false.


Operadores:

13

and - conjuncin
or - disyuncin
not - negacin

37

El tipo char

Cada valor del tipo char es un carcter simple.


Los literales se representan entre comillas simples.
Letras maysculas y minsculas: A B z h
Dgitos: 0 1 2 3
Smbolos: * @ &

38

Las funciones ord y chr

Los caracteres se representan internamente en la computadora con valores enteros.


Es decir que a cada carcter le corresponde un entero.
ord - toma un carcter y devuelve el entero correspondiente.
chr - toma un entero y devuelve el carcter que representa.
Ejemplos:

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

También podría gustarte