Está en la página 1de 15

Componentes Bsicos

Programacin 1

August 14, 2014

Contents
1 Modelo de Computacin 3

2 Organizacin de la Computadora 3

3 Unidad Central de Proceso 3

4 Compilacin 4

5 Ejemplo de un programa pascal 4

6 Encabezado del programa 4

7 Identificadores en Pascal 5

8 Sintaxis de los identificadores 5

9 Sintaxis de identificadores (BNF) 5

10 Declaracin de variables 6

11 Ejemplo Declaracin de Variables 6

12 Sintaxis de la declaracin de variables (BNF) 6

13 Sintaxis de la declaracin de variables (Diagrama) 7

14 Parte algortmica 7

1
15 Sintaxis de la parte algortmica 7

16 Palabras reservadas 8

17 Maysculas y minsculas 8

18 Comentarios 8

19 Instrucciones 9

20 Constantes 9

21 Asignacin 9

22 El Concepto de Tipo 9

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

2
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

1 Modelo de Computacin
Vemos al computador como un procesador de datos.

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

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

3 Unidad Central de Proceso


Unidad de Control:

Carga instrucciones en memoria (programa)

3
Ejecuta las instrucciones

Unidad Aritmtica Lgica

Ejecuta operaciones aritmticas y lgicas.

4 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 | | Programa
Pascal --->| Compilador | ---> Ejecutable
(texto) | | (binario)
+------------+

5 Ejemplo de un programa pascal

1 program Triangulo;
2 var
3 altura,base,area: real;
4 begin
5

6 { ingresar datos }
7 readLn(altura,base);
8

9 { calcular area }
10 area := base * altura / 2;
11

12 { mostrar resultado }
13 writeLn(area)
14 end.

6 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.

7 Identificadores en Pascal
Sirven para dar nombre a los diferentes objetos que componen un programa:

programa,
variables,
constantes,
tipos,
funciones,
procedimientos

8 Sintaxis de los identificadores


Diagrama sintctico

Figure 1: Identificador

9 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 : real;
opcion : char;
se_cumple : boolean;
i,j : integer;
carta : 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 .

6
13 Sintaxis de la declaracin de variables (Dia-
grama)
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, ... *)

8
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 = 3.1416;
iva = 22;
separador = ,;
saludo = hola gente;

21 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) manipu-
lados en un programa.
Toda variable o constante tiene asociado un tipo.

9
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 Tipos Elementales Predefinidos

integer Nmeros enteros.


real Nmeros reales
boolean El conjunto { true, false }
char Los caracteres: letras, dgitos, smbolos, etc.

25 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 fun-
ciones.
Operadores enteros

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

27 Ejemplos de expresiones enteras


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

28 El tipo real
Representa nmeros reales.
Las constantes se pueden representar en notacin decimal o notacin exponencial.

decimal exponencial

358.3 3.583E2
0.23 2.3e-1

29 Operadores aritmticos reales

operacin smbolo

suma +
resta -

11
operacin smbolo

multiplicacin *
divisin /

30 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 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

32 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; (* equivalente x := 4.0 *)
x := y;

y := 2.8 (* 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 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.

36 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