Sie sind auf Seite 1von 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

Men DEBUG

Compilar, crear ejecutable,


recompilar archivo,
mostrar informacin, elegir
partes externas

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

Men HELP

Ordenar ventanas,
cerrarlas, pasar de unas a
otras

Muestra la ayuda e
informacin general sobre
el compilador y el lenguaje

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

ANALISIS

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

ahora podemos
continuacin.

responder

las

preguntas

planteadas

ANALISIS
qu necesitamos
para obtener lo que
nos piden?

cmo obtener lo que


nos piden?

ENTRADA

PROCESO

R1
R2
R3

RC =

1
1/R1 + 1/R2 + 1/R3

ESPECIFICACIN FUNCIONAL

qu nos piden?

SALIDA

RC

DISEO

comienzo

1. COMIENZO (resistencia)

entrada

entrada

2. LEER (R1, R2, R3)

proceso

proceso

3. RC

salida

salida

fin

1
1/R1+1/R2+1/R3

4. ESCRIBIR (RC)

5. FIN (resistencia)
algoritmo escrito

CODIFICACIN
Program resistencia;
Uses
1. COMIENZO (resistencia)

comienzo

crt;
Var
R1,R2,R3,RC: real;
Begin
ClrScr;

2. LEER (R1, R2, R3)

entrada

Writeln(introduzca los valores de R1,R2 y R3);


Readln(R1,R2,R3);

3. RC

1
1/R1+1/R2+1/R3

4. ESCRIBIR (RC)

5. FIN (resistencia)

proceso

salida

fin

RC:= 1/(1/R1+1/R2+1/R3);

Writeln(resistencia combinada:,RC:6:3);

End.
Codificacin en Turbo Pascal

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

FILE EDIT SEARCH RUN COMPILE DEBUG TOOLS OPTIONS WINDOW HELP

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.

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
CORREGIR
hay errores
de sintaxis?
NO
EJECUTAR

SI

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)

RUN

Introduzca los valores de R1,R2 ,R3


20

25

30

Resistencia combinada= 8.065

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

DEPURAR
hay
errores?
NO
DOCUMENTAR Y
MANTENER

SI

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

Turbo Pascal
7.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

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
Nivel 1
Nivel 2

not

/ * div mod and

Nivel 3
Nivel 4

+ < >

or

= <= >= <>

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

Das könnte Ihnen auch gefallen