Sie sind auf Seite 1von 11

Componentes Bsicos

Programacin 1
Tabla de contenidos Introduccin a la Computacin Modelo de Computacin Organizacin de la Computadora Unidad Central de Proceso Compilacin Programacin en Pascal Ejemplo de un programa pascal Encabezado del programa Identificadores en Pascal Sintaxis de los identificadores Declaracin de variables Sintaxis de la declaracin de variables Parte algortmica Sintaxis de la parte algortmica Palabras reservadas Maysculas y minsculas Comentarios Instrucciones Constantes Asignacin Tipos en Pascal El Concepto de Tipo Clasificacin Tipos Elementales Predefinidos El tipo integer Expresiones aritmticas enteras Ejemplos de expresiones enteras El tipo real Operadores aritmticos reales Sobrecarga Coercin Coercin en asignaciones Precedencia de operadores Funciones aritmticas estndar (predefinidas) El tipo boolean El tipo char Las funciones ord y chr Ejemplos de asignaciones

Introduccin a la Computacin
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) 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)

+------------+

Programacin en Pascal
Ejemplo de un programa pascal

program Triangulo; var altura,base,area: real; begin { ingresar datos } readLn(altura,base); { calcular area } area := base * altura / 2; { mostrar resultado } writeLn(area); end.

Encabezado del programa


El encabezado del programa tiene la siguiente forma: 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:

BNF:
identificador = letra { letra | digito }

Lenguaje Natural: Un identificador es una secuencia de caracteres alfanumricos el primero de los cules debe ser alfabtico.

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

Sintaxis de la declaracin de variables


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

Diagrama

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.

Sintaxis de la parte algortmica


cuerpo = 'begin' instruccion { ';' instruccion } 'end' .

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

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.

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.

Comentarios
Los comentarios son ignorados por el compilador. Hay dos formas:
{ bla, bla, ... }

(* bla, bla, ... *)

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.

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

= = = =

3.1416; 23; ','; 'hola gente';

Asignacin
Es una instruccin que permite modificar el contenido de una variable:
<identificador> := <expresin>

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

Tipos en Pascal
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.

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

Tipos Elementales Predefinidos


integer real

- Nmeros enteros.

- Nmeros reales - El conjunto { true, false }

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

Expresiones aritmticas enteras


Una expresin se construye mediante: constantes, variables, operadores y funciones. Operadores enteros Suma: + Resta: -

Multiplicacin: * Divisin: div Mdulo: mod.

Ejemplos de expresiones enteras


a

(variable) (constante simblica)

resto 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 . decimal exponencial
358.3 0.23 3.583E3 2.3e-1

Operadores aritmticos reales


operacin smbolo suma resta 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.

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

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 / 2.6 (5 + 2) / 2 3.0 + 2.5 3.0 * 2.0 5.0 / 2.6 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. Ejemplo:

var x : Real; y : Integer; ... begin x := 4; x := y; y := 2.8 end (* equivalente x := 4.0 *) (* asignacin invlida *)

La conversin de entero a real se realiza en forma automtica.

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.

Funciones aritmticas estndar (predefinidas)

sqr(x)

- retorna el cuadrado de x. - retorna la raz cuadrada de x. - conversin de real a entero.

sqrt(x)

trunc(x), round(x) abs(x)

- valor absoluto.

El tipo boolean
Constantes: true, false. Operadores:
and or

- conjuncin

- disyuncin - negacin

not

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: '*' '@' '&' '^'

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 chr

- toma un carcter y devuelve el entero correspondiente. - 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)

Ejemplos de asignaciones

var i,k : integer; x,y : real; bb : boolean; car : char; ... begin ... i:= 4; x:= 2.3; y:= 1; k:= trunc(x); y:= (y + sqr(x)) / 2; (* conversin implcita *) (* conversin explcita *)

x:= i + k; bb:= true; bb:= (y < x) or (3 >= k + sqrt(i)); ...

Das könnte Ihnen auch gefallen