PROGRAMACION ESTRUCTURADA Ing. Fernando Weimar Rodríguez Flores
INTRODUCCION Turbo Pascal es un "lenguaje de programación de alto nivel" bajo entorno ms-dos, con esta poderosa herramienta, se pueden crear un sin número de aplicaciones que van desde simples operaciones aritméticas como sumas, restas, hasta sistemas operativos, lenguajes de programación, simulaciones, videojuegos, manejadores de base de datos, virus y una amplia gama de programas cuyo único límite es solo la imaginación del programador. Ing.Fernando Weimar Rodriguez Flores
Estructura de un programa en pascal program identificador; {nombre del programa} uses crt; {declaración de librerías} const {declaracion de constantes} pi=3.1415; type {declaración de tipos de datos} palabra=string[20]; var {declaración de variables} a,b,c:integer; cliente:palabra; r:real; begin {empiezo} write(‘ingrese numero 1:’); read(a); write(‘ingrese numero 2:’); read(b); c:=a+b; write(a,’+’,b,’es igual a:’,c); readln; end. {fin} Ing.Fernando Weimar Rodriguez Flores
Tipos de datos Tipo Rango byte 0 .. 255 Integer -32768 .. 32767 Los diferencies objetos de información con los que un programa Pascal trabaja se Conocen colectivamente como datos. Todos los datos tienen in tipo asociado a ellos Tipos Enteros (integer) Tipo Rango byte 0 .. 255 Integer -32768 .. 32767 Longint -217483648 .. 2147483647 shortint -128 .. 127 word 0 .. 65535 Ing.Fernando Weimar Rodriguez Flores
Tipos caracteres (char) Tipos Reales (real) Tipo Rango Cifras byte 2.9*10-39 .. 1.7*1038 11-12 Integer 1.6*10-45 .. 3.4*1038 7-8 Longint 5.0*10-324 .. 1.7*10308 15-16 shortint 3.4*10-39 .. 1.1*104932 19-20 word -2 63 +1 .. 2 63 -1 Tipos caracteres (char) Solo pueden tener un solo carácter Ej: ‘A’ ‘b’ ‘C’ ‘*’ ‘^’ ’5’ ‘ ’ ‘?’ Ing.Fernando Weimar Rodriguez Flores
Tipos logicos (boolean) Tipos de datos definidos por el usuario Los valores de tipo lógico solo pueden tomar dos valores posibles: True (Verdadero) y False (Falso) Ej: var a:boolean; .. a:=true; Tipos cadena (string) Es una secuencia de caracteres de cero a mas caracteres correspondientes al código ASCII, escrito en un línea sobre el programa y encerrado en apóstrofos. Ej: ‘ ’ ‘Hola’ ‘estas de acuerdo’ ‘ni nombre’ Tipos de datos definidos por el usuario Todos los tipos de datos estudiados hasta ahora son de tipo simple, sin embargo uno de los aspectos mas potentes de pascal es su capacidad para crear estructuras de datos a partir de estos simples Ej: Registros, arrays, punteros. Ing.Fernando Weimar Rodriguez Flores
Operadores Operador Significado Ejemplo resultado + Suma a + b Suma de a y b - Resta a – b resta de a y b * Multiplicación a * b Producto a por b / División a / b Cociente de a/b div División entera a div b Cociente entera a /b mod Modulo a mod b Modulo de a/b El operador (/) produce un resudado real 7/2=3.5 7.0 / 2 =3.5 7 / 2.0 = 3.5 7.0 /2.0 = 3.5 El DIV y MOD solo se pueden utilizar con números enteros 7 div 2 = 3 7 2 7 mod 2 = 1 (1) 3 mod div Ing.Fernando Weimar Rodriguez Flores
Sentencias de asignación Las sentencias de asignación se utiliza para asignar (almacenar) valores o variables, la asignación es una operación que sitúa un valor determinado en una posición de memoria. variable := expresión; Ej.: a:= 16; inicio:= ‘Hola’; interrupción:= true; n1:= n2; a1:= a1+5; r:=((a*2)+(b+6)-(c*c))-(a-11); Ing.Fernando Weimar Rodriguez Flores
Operaciones de entrada/salida read(lista de variables de entrada); readln(lista de variables de entrada); write(lista de variables de salida); writeln(lista de variables de salida); Entrada de Datos (lectura) read(var1,var2,….); readln(var1,var2,….); Sirve para leer valores por teclado y almacenarlos en las variables. Read(a,b);lee valores por teclado y los almacena en a y b 2 5 2 5 Salida de Datos (lectura) write(var1,var2,….); writeln(var1,var2,….); Sirve para mostrar las variables por pantalla. a:=1; b:=5 write(a,’es resultado de’,b); Imprime 1esresultado de5 writeln imprime salto de línea al final de la impresión de las variables. Ing.Fernando Weimar Rodriguez Flores
Operaciones básicas de utilidad Clrscr; Este procedimiento borra (limpia) la pantalla (ventana actual) y sitúa el cursor en la parte superior izquierda. Gotoxy(x,y); Procedimiento que mueve el cursor a la posición x,y donde x es la columna y y es la fila, ej: goto(20,10);write(‘bienvenido’); muestra bienvenido en la fila 10 y columna 20 Textcolor(color); Este procedimiento selecciona el color de texto, donde color es un color entre 0 .. 16 colores estándar textcolor(4); texto en color rojo Textbackground(color); Este procedimiento selecciona el color de fondo, donde color es un color entre 0 .. 7 colores estándar textcolor(1); texto en color azul Ing.Fernando Weimar Rodriguez Flores
Equivalencia matemática Operación de relación Operador Significado Equivalencia matemática > Mayor que < Menor que = Igual a >= Mayor o igual que <= Menor o igual que <> Distinto Ej: 1 < 5 True 6.7315 > 6.7342 falso ‘a’ > ‘f’ False -12.2 < 0.003 true ‘9’ > ‘7’ True 8 = 8.0 true Ing.Fernando Weimar Rodriguez Flores
Estructuras selectivas Sentencia if Si condicion {es verdadera} Entonces hacer accion A Sino hacer accion B Fin_si If a>b then write(a,b); If b>c then Begin write(a); End; If a>=b then writeln(a) Else writeln(b);; If condicion then Sentencias; Begin sentencias; End; Sentencias Else Sentecias; Ing.Fernando Weimar Rodriguez Flores
Estructuras selectivas Sentencia case Según_sea selector hacer c1,c2,…: sentencia 1; c3,c4,…: sentencia 2; Sino Sentencia X; Fin_segun Case selector of lista constantes 1: sentencia 1; lista constantes 2: sentencia 2; lista constantes n: sentencia n; else sentencia z end; Case op of ‘a’: write(‘imprimio a’,op); ‘b’: write(‘imprimio b’,op); ‘c’: write(‘imprimio c’,op); else write(‘imprimio nada’); end; Ing.Fernando Weimar Rodriguez Flores
Estructuras repetitivas Sentencia for (para) para variable<-valor_inicial hasta valor_final hacer Sentencias Fin_desde for variable:=valor_inicial to valor_final do Sentencias; Fin_desde Ej: for i:=1 to 10 do write(i); for i:=10 downto 1 do write(i); Ing.Fernando Weimar Rodriguez Flores
Estructuras repetitivas Sentencia while (mientras) mientras condición hacer {mientras condición sea verdadera hacer} Sentencias Fin_mientras while condición do {condición sea verdadera hacer} Sentencias; Ej: While i <= 10 do write(i); while i<=10 do begin write(i); Write(i+5); end; Ing.Fernando Weimar Rodriguez Flores
Estructuras repetitivas Sentencia repeat (repetir) repetir {repetir} Sentencias Hasta_que condición {hasta que condición sea verdadera} Repeat Sentencias1; Sentencias2; Sentencias3; until condición; Ej: i:=1; Repeat write(i); until i >= 10 do Ing.Fernando Weimar Rodriguez Flores
BIBLIOGRAFIA Programación en turbo / borland Pascal 7.0 Luis Joyanes Aguilar Tutoriales de pascal http://www.lawebdelprogramador.com/cursos/ http://www.conocimientosweb.com http://www.elrincondelvago.com Ing.Fernando Weimar Rodriguez Flores