Introducción a Turbo Pascal
-
Upload
zamantha-gonzalez-universidad-nacional-abierta -
Category
Technology
-
view
18.892 -
download
3
description
Transcript of Introducción a Turbo Pascal
ING. ZAMANTHA GONZÁLEZ UNA. CL COJEDES
Introducción
Desarrollado por Niklaus Wirth
(finales 60s)
Basado en ARGOL60
Diseñado para aprendizaje de la
programación
Lenguaje de alto nivel
Inicio de la programación
estructurada
Potente y flexible, muy extendido
Base para muchos lenguajes
modernos
Entornos de Programación
Múltiples compiladores y versiones
Entornos de pago:
Turbo Pascal, Microsoft Pascal…
Entornos gratuitos:
FreePascal, GNU Pascal, SURPas…
Pocas diferencias de uno a otro
Más extendido: Turbo Pascal (Borland)
Turbo Pascal Versión 7.0
Actualmente versión liberada (distribuida
de forma gratuita) por parte de Borland
Diseñada para Microsoft DOS
Totalmente
compatible
con Windows
Turbo Pascal Versión 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 Versión 7.0
Menú SEARCH
Buscar, remplazar, ir a
línea, buscar errores,
buscar procedimientos…
Menú RUN
Ejecutar, paso a paso,
ejecutar hasta, reiniciar
programa, introducir
parámetro
Turbo Pascal Versión 7.0
Menú COMPILE
Compilar, crear ejecutable,
recompilar archivo,
mostrar información, elegir
partes externas
Menú DEBUG
Puntos de parada, mostrar
el procedimiento que
llama, abrir pantallas de
información
Turbo Pascal Versión 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 Versión 7.0
Menú WINDOWS
Ordenar ventanas,
cerrarlas, pasar de unas a
otras…
Menú HELP
Muestra la ayuda e
información general sobre
el compilador y el lenguaje
ahora podemos responder las preguntas planteadas a
continuación.
comenzamos por identificar todos los elementos que están
involucrados en el problema planteado y entender en qué
consiste la solución 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 solución del problema consiste en resolver la
fórmula dada
ANALISIS
EJERCICIO Nº 1
PLANTEAMIENTO DEL PROBLEMA: calcular la resistencia combinada en ohmios
cuando tres resistencias están conectadas en paralelo. La fórmula de la
resistencia combinada es: 1
1/Resistencia1 + 1/Resistencia2 + 1/Resistencia3
ESPECIFICACIÓN FUNCIONAL
¿qué nos piden?
RC
¿qué necesitamos
para obtener lo que
nos piden?
¿cómo obtener lo que
nos piden?
R1
R2
R3
RC = 1
1/R1 + 1/R2 + 1/R3
ENTRADA PROCESO SALIDA
ANALISIS
DISEÑO
algoritmo escrito
2. LEER (R1, R2, R3)
4. ESCRIBIR (RC)
5. FIN (resistencia)
1. COMIENZO (resistencia)
1
1/R1+1/R2+1/R33. RC
comienzo
entrada
proceso
salida
fin
entrada
proceso
salida
Codificación en Turbo Pascal
CODIFICACIÓN
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
EDICIÓN
una vez realizada la codificación 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
COMPILACIÓN
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
EJECUCIÓN
Corregidos los errores de sintaxis el programa puede ejecutarse mediante
el comando RUN obteniéndose como salida los resultados del mismo,
siempre que no existan errores de ejecución (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
VERIFICACIÓN Y DEPURACIÓN
Ahora debemos interpretar los resultados obtenidos y volver a ejecutar
el programa con una amplia variedad de datos para detectar posibles
errores de lógica; es decir, errores en el diseño de su algoritmo. De
presentarse errores de lógica 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 Básicas
Los programas en Pascal se dividen en
3 partes: cabecera, sección de declaraciones y
código de programa.
Cada subprograma adicional ha de contener
también estas 3 partes.
Obligatorio uso de “ ; ” al acabar cada
instrucción
Estructura de un ProgramaProgram identificador_programa;
{comentario}
Uses
CRT;
Const
{declaración de
constantes}
nombre_constante =
valor;
type
{Declaración de Variables
tipo}
Procedure / function
{Declaración de
Procedimientos y
funciones}
Var
{Declaración de
Variables}
x : integer;
begin
{Cuerpo principal}
end.
Estructura de un Programa
Cabecera:
Nombrar el programa
Palabra clave: program
Estructura de un Programa
Sección de declaraciones:
Definición de variables, constantes y
tipos de datos personalizados.
Palabras clave: var, const, type
Estructura de un Programa
Código de programa:
Todo el código 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 dígitos y
underscore , empezando siempre con una letra.
No se distingue entre mayúsculas y minúsculas.
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
sección 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 válido)
a#123:real; {no es válido)
Constantes
A diferencia de las variables, las constantes no pueden
cambiar su valor durante la ejecución del programa.
La declaración de una constante empieza con la palabra
reservada CONST
Const nombre_constante = valor;
Ej :
Const pi = 3.14;
max = 20;
Tipos de Datos Simples
Números Enteros:
Integer (-32768;32767) utiliza 2 bytes
Byte (0;255)
ShorInt (-128;127)
LongInt (-2147483648; 2147483647)
Word (0;65535)
Tipos de Datos Simples
Números 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 números reales deben llevar por fuerza al menos un dígito de cada lado del
punto decimal, así sea éste un cero.
Ejemplo, el número 5 debe representarse como: 5.0, el .5 como 0.5
Tipos de Datos Simples
Caracteres y alfanuméricos:
Boolean (TRUE; FALSE), utiliza 1 bit
Char utiliza 1 byte; alfanumérico. Los caracteres se
especifican entre apóstrofes. Ej. „a‟; „z‟
String longitud máxima 255 caracteres, pero es
posible definir uno mas pequeño utilizando el
siguiente formato: Variable : String[Tamaño];
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
Aritméticos:
( , ),+, -, *, /.
div : división entera.
mod: resto.
Prioridad:
1. ( )
2. *, /, div , mod
3. + -
Si existe más de un operador perteneciente a unmismo nivel, la prioridad va de izquierda a derecha.
Operadores
Relacionales:
= : comparación
<>: distinto
<, >, <=, >=.
Lógicos:and , not, or
Asignación::=
Operadores
not
/ * div mod and
+ - or
< > = <= >= <>
Nivel 1
Nivel 2
Nivel 3
Nivel 4
ATENCION: Si existe más 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 línea.
readln(lista de variables); Se leen las variables
con espacios en blanco entre ellas, dejando el
cursor en la siguiente línea.
Salida de Datos
write(lista de variables); Se escriben las
variables sin espacios en blanco entre
ellas, dejando el cursor en la misma línea.
writeln(lista de variables); Se escriben las
variables sin espacios en blanco entre
ellas, dejando el cursor en la siguiente
línea.
Ejemplos
En caso de que la variable Nombre almacenara el valor 'Rodrigo ', la variable
ApellidoP 'González ' y la variable ApellidoM 'García„.
Write (Nombre);
Write (ApellidoP);
Write (ApellidoM);
Rodrigo González García
WriteLn (Nombre);
WriteLn (ApellidoP);
WriteLn (ApellidoM);
Rodrigo
González
García