Sei sulla pagina 1di 38

ING. ZAMANTHA GONZLEZ UNA.

CL COJEDES
Introduccin
Desarrollado por Niklaus Wirth
(finales 60s)
Basado en ARGOL60
Diseado para aprendizaje de la
programacin
Lenguaje de alto nivel
Inicio de la programacin
estructurada
Potente y flexible, muy extendido
Base para muchos lenguajes
modernos
Entornos de Programacin
Mltiples compiladores y versiones
Entornos de pago:
Turbo Pascal, Microsoft Pascal
Entornos gratuitos:
FreePascal, GNU Pascal, SURPas
Pocas diferencias de uno a otro
Ms extendido: Turbo Pascal (Borland)
Turbo Pascal Versin 7.0
Actualmente versin liberada (distribuida
de forma gratuita) por parte de Borland
Diseada para Microsoft DOS
Totalmente
compatible
con Windows
Turbo Pascal Versin 7.0
Men FILE
Abir, guardar, imprimir,
salir, cambiar directorio,
consola de MSDOS
Men EDIT
Copiar, cortar, pegar,
deshacer, rehacer, borrar,
mostrar portapapeles
Turbo Pascal Versin 7.0
Men SEARCH
Buscar, remplazar, ir a
lnea, buscar errores,
buscar procedimientos
Men RUN
Ejecutar, paso a paso,
ejecutar hasta, reiniciar
programa, introducir
parmetro
Turbo Pascal Versin 7.0
Men COMPILE
Compilar, crear ejecutable,
recompilar archivo,
mostrar informacin, elegir
partes externas
Men DEBUG
Puntos de parada, mostrar
el procedimiento que
llama, abrir pantallas de
informacin
Turbo Pascal Versin 7.0
Men TOOLS
Mostrar mensajes, ir a
otras partes del origen,
ejecutar Grep (opcional)
Men OPTIONS
Permite modificar muchas
funciones y componentes
de varias partes del
compilador
Turbo Pascal Versin 7.0
Men WINDOWS
Ordenar ventanas,
cerrarlas, pasar de unas a
otras
Men HELP
Muestra la ayuda e
informacin general sobre
el compilador y el lenguaje
ahora podemos responder las preguntas planteadas a
continuacin.
comenzamos por identificar todos los elementos que estn
involucrados en el problema planteado y entender en qu
consiste la solucin del mismo. Por ejemplo, llamaremos RC a la
resistencia combinada, R1, R2 y R3 a las resistencias 1, 2 y 3
respectivamente
observamos que la solucin del problema consiste en resolver la
frmula dada
ANALISIS
EJERCICIO N 1
PLANTEAMIENTO DEL PROBLEMA: calcular la resistencia combinada en ohmios
cuando tres resistencias estn conectadas en paralelo. La frmula de la
resistencia combinada es: 1
1/Resistencia1 + 1/Resistencia2 + 1/Resistencia3
ESPECIFICACIN FUNCIONAL
qu nos piden?
RC
qu necesitamos
para obtener lo que
nos piden?
cmo obtener lo que
nos piden?
R1
R2
R3
RC =
1
1/R1 + 1/R2 + 1/R3
ENTRADA PROCESO SALIDA
ANALISIS
DISEO
algoritmo escrito
2. LEER (R1, R2, R3)
4. ESCRIBIR (RC)
5. FIN (resistencia)
1. COMIENZO (resistencia)
1
1/R1+1/R2+1/R3
3. RC
comienzo
entrada
proceso
salida
fin
entrada
proceso
salida
Codificacin en Turbo Pascal
CODIFICACIN
Program resistencia;
Uses
crt;
Var
R1,R2,R3,RC: real;
Begin
ClrScr;
Writeln(introduzca los valores de R1,R2 y R3);
Readln(R1,R2,R3);
RC:= 1/(1/R1+1/R2+1/R3);
Writeln(resistencia combinada:,RC:6:3);
End.
entrada
comienzo
proceso
salida
fin
2. LEER (R1, R2, R3)
4. ESCRIBIR (RC)
5. FIN (resistencia)
1. COMIENZO (resistencia)
1
1/R1+1/R2+1/R3
3. RC
EDICIN
una vez realizada la codificacin debemos introducir el programa fuente
al computador mediante el editor del Turbo Pascal y almacenarlo bajo un
nombre, en este caso: resistencia
Program resistencia;
Uses
crt;
Var
R1,R2,R3,RC:real;
Begin
ClrScr;
writeln (introduzca los valores de R1,R2,R3);
readln (R1,R2,R3);
RC : = 1/(1/R1+1/R2+1/R3);
writeln (resistencia combinada= ,RC:6:3);
End.
FILE EDIT SEARCH RUN COMPILE DEBUG TOOLS OPTIONS WINDOW HELP
SAVE RESISTENCIA
COMPILACIN
Una vez almacenado el programa en la memoria del computador
procedemos a compilarlo; es decir, a verificar los posibles errores de
sintaxis que pueda tener mediante el comando COMPILE
COMPILE
hay errores
de sintaxis?
NO
SI
EJECUTAR
CORREGIR
EJECUCIN
Corregidos los errores de sintaxis el programa puede ejecutarse mediante
el comando RUN obtenindose como salida los resultados del mismo,
siempre que no existan errores de ejecucin (por ejemplo: divisiones por
cero)
Resistencia combinada= 8.065
Introduzca los valores de R1,R2 ,R3
20 25 30
RUN
En Turbo Pascal se puede compilar y ejecutar un
programa utilizando solamente el comando RUN
VERIFICACIN Y DEPURACIN
Ahora debemos interpretar los resultados obtenidos y volver a ejecutar
el programa con una amplia variedad de datos para detectar posibles
errores de lgica; es decir, errores en el diseo de su algoritmo. De
presentarse errores de lgica en la prueba del programa debemos
encontrar la causa de los mismos y corregirlos
hay
errores?
NO
SI
DOCUMENTAR Y
MANTENER
DEPURAR
Uso de Sentencias Bsicas
Los programas en Pascal se dividen en
3 partes: cabecera, seccin de declaraciones y
cdigo de programa.
Cada subprograma adicional ha de contener
tambin estas 3 partes.
Obligatorio uso de ; al acabar cada
instruccin
Estructura de un Programa
Program identificador_programa;
{comentario}
Uses
CRT;
Const
{declaracin de
constantes}
nombre_constante =
valor;
type
{Declaracin de Variables
tipo}
Procedure / function
{Declaracin de
Procedimientos y
funciones}
Var
{Declaracin de
Variables}
x : integer;
begin
{Cuerpo principal}
end.
Estructura de un Programa
Cabecera:
Nombrar el programa
Palabra clave: program
Estructura de un Programa
Seccin de declaraciones:
Definicin de variables, constantes y
tipos de datos personalizados.
Palabras clave: var, const, type
Estructura de un Programa
Cdigo de programa:
Todo el cdigo a ejecutar
Palabras clave: begin y end.
Identificadores
Son los nombres de los objetos (variables, constantes,
etc) que se usan en un programa.
Un identificador est formado por letras y dgitos y
underscore , empezando siempre con una letra.
No se distingue entre maysculas y minsculas.
Las palabras reservadas del lenguaje no pueden usarse
como identificadores.
Todos los identificadores deben ser declarados antes de
usarlos.
Palabras reservadas
Pascal Estandar y
Turbo Pascal 6.0
AND ARRAY BEGIN CASE
CONST DIV DO DOWNTO
ELSE END FILE FOR
FORWARD FUNCTION GOTO IF
IN LABEL MOD NIL
NOT OF OR PACKED
PROCEDURE PROGRAM RECORD REPEAT
SET THEN TO TYPE
UNTIL VAR WHILE WITH
Turbo Pascal
7.0
ABSOLUTE ASM DESTRUCTOR
IMPLEMENTATION INTERFACE OBJECT
PRIVATE SHR UNIT
VIRTUAL CONSTRUCTOR EXTERNAL
INLINE INTERRUPT SHL
STRING USES XOR
Variables
Las variables deben ser declaradas en la
seccin de declaraciones del programa.
var nombre_de_variable: TIPO de DATO;
Var
dia : integer;
pago : real;
letra : char;
exito : boolean;
a, b, c: integer;
2algo: integer; {no es vlido)
a#123:real; {no es vlido)
Constantes
A diferencia de las variables, las constantes no pueden
cambiar su valor durante la ejecucin del programa.
La declaracin de una constante empieza con la palabra
reservada CONST
Const nombre_constante = valor;
Ej :
Const pi = 3.14;
max = 20;
Tipos de Datos Simples
Nmeros Enteros:
Integer (-32768;32767) utiliza 2 bytes
Byte (0;255)
ShorInt (-128;127)
LongInt (-2147483648; 2147483647)
Word (0;65535)
Tipos de Datos Simples
Nmeros Reales:
Real (2.9e-39;1.7e38) utiliza 6 bytes
Single(1.5E-45 a 3.4E38) utiliza 8 bytes
Double (5.0E-324 a 1.7E308) utiliza 4 bytes
Los nmeros reales deben llevar por fuerza al menos un dgito de cada lado del
punto decimal, as sea ste un cero.
Ejemplo, el nmero 5 debe representarse como: 5.0, el .5 como 0.5
Tipos de Datos Simples
Caracteres y alfanumricos:
Boolean (TRUE; FALSE), utiliza 1 bit
Char utiliza 1 byte; alfanumrico. Los caracteres se
especifican entre apstrofes. Ej. a; z
String longitud mxima 255 caracteres, pero es
posible definir uno mas pequeo utilizando el
siguiente formato: Variable : String[Tamao];
Ej.: Var
Nombre: String[30];
Tipos de Datos
Ejemplo:
Program prueba;
var
i:integer;
x:real;
letra:char;
Opcion:Boolean;
palabra:String;
begin
i:=0;
x:=2.85;
letra:=z;
Encontrado:=TRUE;
palabra:=zanahoria;
end.
Operadores
Aritmticos:
( , ),+, -, *, /.
div : divisin entera.
mod: resto.
Prioridad:
1. ( )
2. *, /, div , mod
3. + -
Si existe ms de un operador perteneciente a un
mismo nivel, la prioridad va de izquierda a derecha.
Operadores
Relacionales:
= :
comparacin
<>: distinto
<, >, <=, >=.
Lgicos:
and , not, or
Asignacin:
:=
Operadores
not
/ * div mod and
+ - or
< > = <= >= <>
Nivel 1
Nivel 2
Nivel 3
Nivel 4
ATENCION: Si existe ms de un operador perteneciente a un
mismo nivel, la prioridad va de izquierda a derecha.
Operadores
EJEMPLO
4 + 2 * 25 DIV 10 - SQRT(9)
4 + 50 DIV 10 - SQRT(9)
4 + 5 - SQRT(9)
9 - SQRT(9)
9 - 3
6
Operadores
EJEMPLO
4 + 2 * 25 DIV 10 - SQRT(9)
4 + 50 DIV 10 - SQRT(9)
4 + 5 - SQRT(9)
9 - SQRT(9)
9 - 3
6
Entradas de Datos
read(lista de variables); Se leen las variables
con espacios en blanco entre ellas, dejando el
cursor en la misma lnea.
readln(lista de variables); Se leen las variables
con espacios en blanco entre ellas, dejando el
cursor en la siguiente lnea.
Salida de Datos
write(lista de variables); Se escriben las
variables sin espacios en blanco entre
ellas, dejando el cursor en la misma lnea.
writeln(lista de variables); Se escriben las
variables sin espacios en blanco entre
ellas, dejando el cursor en la siguiente
lnea.
Ejemplos
En caso de que la variable Nombre almacenara el valor 'Rodrigo ', la variable
ApellidoP 'Gonzlez ' y la variable ApellidoM 'Garca.
Write (Nombre);
Write (ApellidoP);
Write (ApellidoM);
Rodrigo Gonzlez Garca
WriteLn (Nombre);
WriteLn (ApellidoP);
WriteLn (ApellidoM);
Rodrigo
Gonzlez
Garca

Potrebbero piacerti anche