Lenguaje Pascal
Lenguaje Pascal
Lenguaje Pascal
Lenguaje
Qu es Programacin o que significa Programar?
Programar es escribir nuestras ideas sobre un lenguaje de programacin, para que estas puedan ser entendidas por las computadoras, y as esta poder trabajar bajo las rdenes que se dan en las mismas, con el fin de resolver problemas.
Tipos de Programacin.
1. Programacin Estructurada: Consiste en dotar al programa de un cierto orden, dividindolo en bloques independientes unos de otros, que se encargan de cada una de las tareas necesarias. Esto hace un programa ms fcil de leer y modificar. 2. Programacin Orientada a Objetos: Es la programacin basada en darle instrucciones a cada objeto dentro de nuestro programa, para que esta cumpla una funcin especfica, cuando se trabaje con ella. El ejemplo ms claro es el lenguaje de Visual Basic.
Definicin de Pascal.
Lenguaje estructurado por excelencia, y que en algunas versiones tiene una potencia comparable a la del lenguaje C, como es el caso de Turbo Pascal en programacin para DOS y Windows. Frente al C tiene el inconveniente de que es menos portable, y la ventaja de que en el caso concreto de la programacin para DOS, Turbo Pascal no tiene nada que envidiar a la mayora de versiones del lenguaje C en cuanto a potencia, y adems resulta ms fcil de aprender, es muy rpido, crea ficheros EXE ms pequeos, etc..
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. grficos, rutinas de configuracin de pantallas y cajas de herramientas; esta versin supuso el auge de Pascal. En 1987 apareci la versin 4.0, que supuso la aparicin del concepto de unidades. Cada unidad tena su propio segmento de cdigo, hasta 64k, y una vez que una unidad era compilada, otros programas o unidades podan utilizarla sin recompilacin. El resultado fue que los programas Turbo Pascal (ahora archivos .EXE en lugar de .COM) estaban limitados en tamao solo por la memoria disponible. Con la versin 4.0 lleg el entorno integrado de desarrollo, EID (Integrated Development Environment, IDE). La versin 5.0 lleg en 1988 y aport esencialmente herramientas de depuracin. El depurador integrador incorporado a TP 5.0 permita seguimiento (traza) del cdigo, establecer puntos de ruptura y observar a modificar variables, todo ello sin dejar el EID. Otras caractersticas fueron la emulacin de coprocesadores matemticos y la incorporacin del Turbo Debbugger. En el ao 1989 supuso la introduccin de los conceptos de programacin orientada a objetos (POO), en un compilador potente y econmico: La versin 5.5. El Turbo Debbugger fue mejorado para manejar objetos. Por fin, la profesionalizacin de la POO lleg en 1990 con la incorporacin al programa de Turbo Vision (Una librera de objetos y la nueva versin 6.0). Otras propiedades especficas son: nuevo EID con soporte ratn, ensamblador incoprporado(BASM), campos privados y mtodos para objetos y compilador en la lnea de rdenes con modo protegido. En el ao 1992 Borland present la que sera ltima versin de Turbo Pascal 7.0, compatible con todas la anteriores y que ha introducido mejoras significativas, tanto el entorno integrado de desarrollo como el propio lenguaje Pascal y bibliotecas en tiempo de ejecucin, as como nuevas directivas y unidades.
Actualidad.
Hoy en da pascal, ya no es un lenguaje utilizado para la creacin de programas para empresas u otro campo, en los cuales era usado con anterioridad, debido a la mejora de muchos otros lenguajes, como lo son C++, FoxPro, BasicSin embargo, sigue siendo el lenguaje bsico para aprender otro lenguaje, y es por ello, que en los centros educativos, que ensean a programar, siempre inician con pascal. Tambin por se un lenguaje netamente estructurado, ayuda a mejorar la habilidad mental para estructurar nuestras ideas.
Primeros Pasos.
Conceptos Importantes:
Identificador: nombre. Caractersticas del Identificador: 1. No puede iniciar con nmeros. 2. No puede contener caracteres especiales. 3. No puede contener espacios. Nombre: espacio de memoria para un valor que puede ser constante o variable. Constante: Datos que permanecer con el mismo valor dentro del programa. Slo se podr modificar desde el cdigo fuente o cdigo del programa. Ejemplo: velocidad de la luz=300000 Km/s. Variable: dato que puede variar dentro del programa, es decir, que es susceptible a tener cualquier valor. Ejemplo: x, y, z Comentario: informacin acerca de lo que se hace en las lneas de cdigo, con el fin de hacer el mismo, ms legible para nosotros y para cualquier otra persona. Los comentarios son ingnorados por el compilador. La estructura de un comentario es: (*comentario*) o {comentario}. Estructura Bsica de un Programa en Pascal.
Program x; Uses crt; Const Encabezado Var Begin Clrscr; Cuerpo del Programa (Instrucciones) Readln; End. Fin del Programa Ingresar Datos. Procesar Datos. Mostrar Datos.
Algo que hay que tener muy en cuenta es que todas las palabras reservadas de Pascal as como de la mayora de lenguajes de programacin, estn escritas en ingls, como lo
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. son program, beginPascal no encuentra diferencia entre mayscula o minscula de las misma, por ello BEGIN es igual Begin o begin. La escritura, es diferente segn el estilo del programador; en mi caso, por lo regular siempre trabajo con inicial maysculas y luego todas minsculas.
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. el captulo siguiente. Sobre la entrada y salida de datos, lo presentar mas detalladamente, en su captulo correspondiente.
Ejercicios:
A continuacin realice los programas siguientes. 1. Realice un programa que muestre en pantalla la frase: Hola!!! y su nombre, luego de haber introducido el mismo. (Hola!!! David). 2. Realice un programa que muestre en pantalla: Mi nombre es: su nombre, luego de haberlo introducido (Mi nombre es David).
Por hoy es todo; recuerde, que la programacin es como la matemtica, entre ms se practique, se ser ms gil, y con ello se resolvern ms fcilmente los problemas.
Tipos de Datos.
Integer: Es un nmero entero con signo, que puede valer desde -32768 hasta 32767.
Ocupa 2 bytes de memoria.
Byte: Es un nmero entero, que puede valer entre 0 y 255. El espacio que ocupa en
memoria es el de 1 byte, como su propio nombre indica.
Char: Representa a un carcter (letra, nmero o smbolo). Ocupa 1 byte. String: Es una cadena de caracteres, empleado para almacenar y representar
mensajes de ms de una letra (hasta 255). Ocupa 256 bytes.
Real: Es un nmero real con signo. Puede almacenar nmeros con valores entre 2.9e39 y 1.7e38 (en notacin cientfica, e5 equivale a multiplicar por 10 elevado a 5, es decir, podremos guardar nmeros tan grandes como un 17 seguido de 37 ceros, o tan pequeos como 0,00...029 con 38 ceros detrs de la coma). Tendremos 11 o 12 dgitos significativos y ocupan 6 bytes en memoria.
Boolean: Es una variable lgica, que puede valer TRUE (verdadero) o FALSE (falso), y
se usa para comprobar condiciones.
Array: (nota: algunos autores traducen esta palabra como "arreglo"). Se utilizan para
guardar una serie de elementos, todos los cuales son del mismo tipo. Se deber indicar el ndice inferior y superior (desde dnde y hasta dnde queremos contar), separados
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. por dos puntos (..), as como el tipo de datos. Por ejemplo, para guardar hasta 200 nmeros enteros, usaramos: lista: array[1..200] of integer. Al estar creando programas, es muy importante determinar el tipo de dato correcto para nuestras variables, y con ello, hacer ms eficaz el programa. Por ejemplo, si en su programa, solo necesitar introducir una letra, el tipo de dato de su variable, ser char, y no un estring; aunque claro, que se puede utilizar string, pero lo que buscamos es el mejor rendimiento del programa.
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. readln(e); writeln(Introdujo:,e); readln; {leemos el proceso del programa} end. {fin del programa}
Ejercicios.
Realice lo que se le pide. 1. Si tuviera que realizar un programa que sumara dos 2 nmeros menores que 100 (slo nmeros positivos), que tipo de dato utilizara.:___________________________ 2. Si en un programa, tuviera que leer el nombre de una persona que tipo de dato usara:____________________________________________ 3. Cree un programa que reste dos nmeros, ya sean positivos o negativos, y que muestre la diferencia en pantalla. 4. Realice un programa que multiplique x y z, donde dichos nmeros no son mayores que 255.
De aplicacin inmediata: Operandos Aritmticos y Funciones Matemticas. Los operandos aritmticos son de tipo inter-argumental porque van entre dos datos. Ejemplo: a + b; menos elevacin al cuadrado y raz cuadrada, que al igual que las funciones matemticas son de tipo mono argumental, porque no van entre dos datos. Ejemplo: sqr(a).
Operandos Aritmticas. Operando + * / div mod := sqr sqrt Funcin. Suma Resta Multiplicacin Divisin real Divisin entera. Residuo. Asignacin Elevacin al cuadrado Raz cuadrada. Int(var) Frac(var) Trunc(var) Round(var) Abs(var) Ln(var) Exp(var) ArcTan(var) Sin(var) Cos(var) Funciones Matemticas. Devuelve la parte entera de un real Devuelve la parte decimal de un real. Devuelve a var, sin la fraccin. Devuelve el redondeo de var Devuelve el valor absoluto de var Devuelve el logaritmo natural del argumento var Devuelve el exponencial e de var Devuelve en radianes el arco tangente del ngulo var. Devuelve en radianes el seno del ngulo var Devuelve en radianes el coseno del ngulo var
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. lnea, en cambio write posiciona el cursor al final de lo escrito; con la funcin readln, almacenamos en memoria (leemos), la informacin, para luego poderla procesar. Ahora, estudiaremos estas funciones, con sus diferentes posibilidades, que pueden aceptar.
Salida de la Informacin:
Anchura de Texto: quizs es un opcin muy poco utilizada, sin embargo es muy
necesario saber como se utiliza. Su estructura es la siguiente: Writeln(texto:anchura); Ejemplo: el siguiente ejemplo, muestra la anchura de diferentes textos. program texto_anchura; uses crt; var nombre: string[4]; edad: byte; begin clrscr; nombre := 'Gaby'; edad := 18; write ('Hola, ',nombre,' cmo ests? '); writeln('Hola,',nombre:10,'. Tu edad es: ',edad:18); readln; end.
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. variable:0:cantidad de decimales Ejemplo: el siguiente programa muestra en pantalla la constante pi, con 1, 2, 3 y 4 decimales. Anlicelo. Program anchura_numeros; Uses crt; Cont Pi=3.1416; Begin Clrscr; Writeln(Pi con un decimal:,pi:0:1); Writeln(Pi con dos decimales:,pi:0:2); Writeln(Pi con tres decimales:,pi:0:3); Writeln(Pi con 4 decimales:,pi:0:4); Readln; End.
Entrada de Informacin:
necesario leerlos, para poderlos almacenar en memoria y as poder trabajar con ellos; existen 2 comandos para poder hacer dicha accin, los cuales son read, y readln; cul ser la diferencia entre ambos?. El siguiente programa muestra la diferencia existente. Program entrada_datos; Uses crt; Var a,b:integer; begin clrsacr; writeln(Introduzca un nmero); readln(a), wrieln(Introduzca otro nmero); reead(b); readln; end.
Ejercicios:
1. Realice un programa que pida un nombre, no mayor a 5 caracteres y lo muestre en pantalla en la ubicacin 18 (columna 18). 2. Hacer un programa que muestre los siguientes datos en sus ubicaciones. (el nombre hay que introducirlo). a. Edad: 15; ubicacin 15. b. Telfono: 7765 8525; ubicacin 18. c. Sobre nombre: el xx; ubicacin 24.
De aplicacin inmediata: Las funciones textbackground y textcolor. Ests dos funciones, nos sirven nicamente para darle una mejor vista a nuestro programa; textbackground sirve para especificar el color de fondo de nuestra ventana; su estructura es la siguiente: textbackcolor(color), ejemplo textbackground(blue). La funcin textcolor sirve para especificar el color para la letra. Su estructura es: textcolor(color), ejemplo textcolor(red). Para verificar estas funciones compruebe y analice el siguiente programa; Program color_fondo_letras; Uses crt; Begin Textbackground(blue); Clrscr; Textcolor(red); Writeln(Yo soy davwa); Txtcolor(blue); Writeln(Aprendiendo a utilizar textbackgroun0064 y textcolor); Readln; End.
Estructuras de Decisin.
Las estructuras de decisin son: if y case. Ests nos sirven para comparar los datos que poseemos, y as trabajar de una u otra forma.
Sentencia IF.
La sentencia if, nos sirve para que el programa compare datos, y trabaje segn el resultado obtenido. Dicha sentencia tiene dos formatos especiales, el primero es:
1. IFTHEN.
If <condicin>then<sentencias> Traduciendo, esto al espaol, sera: si condicin entonces realice esto
Ejemplo: el siguiente programa solicita un nmero entero , si este es menor que 100,
y mayor o igual que 10 muestra en pantalla: el nmero introducido esta formado por decenas y unidades; si el nmero introducido es menor que 10, y mayor que 0 muestra: el nmero introducido esta formado por unidades.
Program prueba_if1; Uses crt; Var a:byte: begin clrscr; writeln(Introduzca un nmero (>0 y <100):); {peticin al usuario} readln(a); {leemos lo introducido por el usuario} if (a<100) and (a>=10) then {comparamos la variable} writeln(El nmero introducido esta formado por decenas y unidades); {si cumple con nuestra condicin escribimos esto} if (a<10) and (a>0) then {volvemos a comparar la variable} writeln(El nmero introducido esta formado por unidades); {si cumple, escribimos esto} readln; end.
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. El segundo formato de if es:
2. THENELSE
If <condicin> then <sentencias> else <sentencias> En el lenguaje comn sera: si la condicin se cumple haga esto, de lo contrario esto.
Ejemplo: este ejemplo, es el mismo que el anterior con el primer formato de if;
Program prueba_if2; Uses crt; Var a:byte: begin clrscr; writeln(Introduzca un nmero (>0 y <100):); {peticin al usuario} readln(a); {leemos lo introducido por el usuario} if (a<100) and (a>=10) then {comparamos la variable} writeln(El nmero introducido esta formado por decenas y unidades) {si cumple con nuestra condicin escribimos esto} else {de lo contrario} writeln(El nmero introducido esta formado por unidades); {si cumple, escribimos esto} readln; end.
EJERCICIOS:
Una empresa necesita contratar a empleados para la seccin de administracin, pero las personas tienen que cumplir con lo siguiente: Si es: a. Masculino; edad entre 18 y 25; aceptado;
Case.
La estructura de decisin case, nos sirve para trabajar con casos. Es muy til en la creacin de mens, porque nos permite darle instrucciones al programa, si el caso es x, o si el caso es y. Es muy importante saber, que el tipo de dato, de la opcin tiene que ser INTEGER. Tiene dos formatos bsicos que son:
Formato 1:
Case <opcin> of Case 1: sentencias; Case 2: sentencias; Case n: sentencias Else Sentencias; End;
Ejemplo: el siguiente programa pide un nmero <5 y escribe en pantalla los nmero
del 0 al 5, con letras. program casosejemplos; uses crt; var a:integer; begin clrscr; writeln('Introduzca un nmero (<5):');readln(a); case a of {lee el caso} 1:writeln('uno'); {si es el caso 1, escribe uno} 2:writeln('dos'); 3:writeln('tres'); 4:writeln('cuatro'); 5:writeln('cicno'); 0:writeln('cero') Else{si se introduce un caso no disponible} Writeln(ERROR en introduccin de datos); end; {final de los casos} readln; end.
El formato 2:
Case <opcin> of 1:begin <sentencias> End; 2:begin <sentencias> End;
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. n:begin <sentencias> End; End; {final de los casos} Este formato puede ayudarnos a crear programas ms complejos ya que dentro de cada caso, podemos incluir otras estructuras como lo son los If
Ejercicios:
1. ree una calculadora, utilizando un men. a. l usuario debe escoger la operacin que quiera realizar. b. a calculadora debe contener las siguientes operaciones: suma, resta, producto, cociente. C E L
Consejo de Avance Rpido: Procedimientos y Funciones. Los procedimientos son muy tiles, para hacer subdivisiones del programa. Tienen la caracterstica especial, de que no devuelven valores resultados. En cambio las funciones, si devuelven resultados. A continuacin se presenta la estructura bsica de los procedimientos y funciones. Procedimiento Funcin. Procedure nombre (variable: Function nombre(variable:integer):real integer) Var Var Begin Begin Sentencia; Sentencias; varReal:=variable; End; end; Begin Begin Sentencias (Nombre (variable)); A:=nombre(x); End. End.
Ciclos Repetitivos.
En esta parte se aprender la utilizacin de los mencionados bucles, los cuales son partes de programas que se repiten una serie de veces. Entre ellos estn: Fortodo Whiledo Repeatuntil.
For To
Este bucle tiene el siguiente formato: For (variable): <valor inicial> to <valor final> do
Ejemplo: Tambin se puede utilizar for, para trabajar con letras. El siguiente
programa muestra en pantalla las letras de la a a la h. program prueba_for2; uses crt; var a:char; begin clrscr; for a:= 'a' to 'h' do writeln(a); readln; end.
Comentando el Programa: toda la estructura para escribir del valor final al valor
inicial es la misma, rescatando el cambio de to en la lnea de for, por downto. Entonces, concluimos que downto es el comando, que se utiliza para escribir de dicha manera.
Ejercicios:
1. Realice un programa que muestre la tabla de multiplicar de 1 a 12 con 10 factores.
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. Consejo de Avance: Funciones de Cadena.
A continuacin se describen las funciones o comandos bsicos para trabajar con cadenas. Cadenas, podemos definirla como series de texto, o simplemente texto; entonces estos son los comandos bsicos para trabajar con texto. Comando Funcin. Clreol Concat(cad1, cad2) Copy(cad,ndice,lim); Delete(cad,ndice,lim); Borra lnea actual Une dos cadenas dejando el resultado en cadena 1 Devuelve una cadena que va desde el ndice hasta el lmite Borra una subcadena que se encuentra en cadena de ndice hasta el lmite Borra lnea de texto donde esta el cursor Inserta en cad1, cad2 desde la posicin de ndice. Inserta una lnea vaca en la posicin actual Devuelve la longitud de la cadena. Devuelve la posicin de cad1 dentro de cad2 Devuelve la posicin del cursor en la horizontal. Devuelve la posicin del cursor en la vertical. Convierte una cadena a un nmero n si hay xito Num=0
While do
Este es un bucle que se ejecuta si su condicin es verdadera, de lo contario, no se ejecutar. Su estructura principal es: While <condicin>do Sentencias;
Ejercicios:
1. programa que al introducir s o S, suma dos nmeros. 2. Un programa que pida el ingreso de una oracin, y si la oracin no es nula, mostrar la longitud (cantidad de caracteres) de la frase. Realice un
Consejo de Avance: Funciones de Sistema. Aunque en el presente manual, no se estudiar el Servicio del DOS (o lo que es en la actualidad el smbolo del sistema),dentro de el lenguaje de pascal, a continuacin se presentan algunas de las funciones bsicas de ste. Si tiene el deseo de ser un buen programador, el estudio de ests as como otras funciones, son la forma que se lo demuestre a s mismo. Funcin Descripcin. ChDir(cad) diskFree(unidad); DiskSize(unidad); DosExitCode; DosVersion; Exec(prog,ordenes) Exit; FreeMem(apuntador,num) Fsearch(arch,path,listDir); Fslipt(arch,path,Dir,Nombre,ext); GetDir(unidad,cad); GetFTime(apuntador,hora); GetMem(apuntador,n); GetTime(hora, min,seg,cent); GetVerify(opcin) Keep(cdigo), MkDir(cad); Rename (apuntador, cad); RmDir(dir); Cambia de directorio actual Devuelve la cantidad de bytes libres en un disco Devuelve la cantidad de bytes en un disco Devuelve el cdigo de salida de un programa hijo. Devuelve el nmero de versin actual del DOS. Se ejecuta un prog, con lneas de rdenes. Se termina un programa o subprograma. Libera num de memoria de la pila asociada con apuntador. Devuelve cadena y busca en la ListDir un nombre de archivo. Divide un arhivo, en unidad, directorio, nombre y extensin. Devuelve el directorio actual en la unidad especfica. Devuelve hora del archivo que apunta el apuntador. Reserva n bytes de memoria asigna la direccin de apuntador. Obtiene el tiempo actual del sistema. Pone el estado de verificacin de el DOS. Deja un programa residente, el DOS toma el cdigo de salida. Crea un directorio con nombre que tiene cad. Renombre un archivo apuntado con el nombre que tiene cad. Elimina un directorio especificado sin archivos dentro.
Sugerencia: al utilizar funciones del DOS, asegrese de estar usando la librera de ste (uses dos).
Repeat Until.
Como sabemos, esta es otra sentencia de repeticin o simplemente es otro tipo de bucle. Esta se repite mientras su condicin no sea verdadera. Es muy til en contraseas para los programas. Su estructura bsica es la siguiente: Repeat Sentencias; Until (condicin);
Ejemplo de Clave de Salida: aqu va otro ejemplo, que realiza lo contrario del
anterior. program prueba_repeat2; uses crt; var clav:string[3]; begin clrscr; writeln('Mi nombre es:Rafael'); writeln;writeln;{dos lineas de espacio vertical} readkey; repeat clrscr; writeln('Introduzca clave de salida:'); readln(clav); until (clav='666'); readln; end.
Ejercicio:
Hacer un programa que adivinar un nmero el cual debe funcionar as: Una persona ingresa el nmero de oportunidades a admitir para adivinar el nmero, y a la vez tambin introduce el nmero. Otra persona, ingresa el nmero que supone que es el verdadero. Si la persona adivinante no acierta, mostrar en pantalla el nmero de oportunidades restantes.
Consejo de Avance: Funciones de La cualidad de un buen programador, debe ser la creatividad y la duda del funcionamiento de ciertas funciones del lenguaje en que se esta programando, por ello, a continuacin se describen las funciones bsicas sobre archivos, para que las pueda examinar. Funcin. Descripcin. variableArch:text variableArch:file of integer. Assign(variableArch,nombre) Reset(variableArch) Append(variableArch) Rewrite(variableArch) Seek(variableArch,Num) FileSize(VariableArch) Flush(variableArch) Close(variableArch) Write(variableArch,Hola) Read(variableArch,Variable) EOF(variableArch) EOLN(VariableArch) {$I+-} Ioresult=0 Declara una variable de archivo de texto. Declara una variable de archivo tipificado. Asigna un apuntador a un archivo llamado nombre. Aade a un archivo tipificado. Aade a un archivo de texto. Crea y escribe en un archivo. Se posiciona en el registro con posicin num. Nmero de datos en el archivo empezando en cero. Fuerza al bfer a escribir al archivo. Cierra un archivo. Escribe al archivo. Lee de el archivo y deja informacin en variable. Fin de archivo. Fin de lnea. Conecta o desconecta verificacin de entrada/salida. Si el archivo existe ioresult=0
Ejercicios Resueltos.
En esta parte, se muestra el cdigo fuente de las soluciones de los ejercicios propuestas en cada parte del manual. Hay que recordar, que en la programacin, un mismo programa se puede resolver de varias maneras, y por ello aqu slo se presenta una de las varias formas que pueden existir.
Primeros Pasos.
Program primpasos1; uses crt; var nombre:string; begin clrscr; writeln('Introduzca su nombre:'); readln(nombre); clrscr;{borramos todo lo anterior} writeln('HOLA!!!',nombre);{escribimos frase, y la variable} readln; end. program primpasos2; uses crt; var nombre:string; {el tipo de dato para caracteres string} begin clrscr; writeln('Introduzca su nombre:'); readln(nombre); clrscr;{borramos todo lo anterior para que solo aparezca la frase} writeln('Mi nombre es:',nombre);{escribimos:mi nombre es, luego la variable} readln; end.
Tipos de Datos.
program TipDat1; uses crt; var m,s:real; begin clrscr; writeln('Introuzca el minuendo:'); readln(m); writeln('Introduzca el sustraendo:'); readln(s); writeln('La diferencia es:',(ms):0);{anchura de nmeros} readln; end. program TipDat2; uses crt; var x,z:byte; begin clrscr; writeln('Introduzca X (>0 y <256):');{especifica el rango del numero a introducir} readln(x); writeln('Introduzca Z (>0 y <256):'); readln(z); writeln('El producto XZ es:',(x*z):0); readln; end.
Entrada/Salida de Datos.
program ES1; uses crt; var nom:string[5];{determinamos longitud mxima del nombre} begin clrscr; writeln('Ingrese un nombre:'); readln(nom); writeln(nom:18); readln; end. program ES2; uses crt; var nom:string; begin clrscr; writeln('Introduzca un nombre:'); readln(nom); clrscr; writeln('Nombre:',nom:24);{especificacin de anchura de texto} writeln('Edad:',15:15); writeln('Telfono:',77658525:18); readln; end.
Case:
Introduccin al Lenguaje de Programacin Pascal program calculadora; Ing. Rafael Montenegro B. uses crt; var a,b,opc:integer; begin clrscr; writeln('MENU'); writeln('1. Suma'); writeln('2. Resta'); writeln('3. Producto'); writeln('4. Cociente'); writeln;writeln;{2 espacios verticales} writeln('Introduzca opcin:');{nmero de la operacin} readln(opc); case opc of 1:begin{inicio de suma} writeln('Introduzca el primer numero:'); readln(a); writeln('Introduzca el segundo nmero:'); readln(b); writeln('La suma es:',(a+b):0); readln; end;{fin suma} 2:begin{inicio de resta} writeln('Introduzca el primer nmero:'); readln(a); writeln('Introduzca el segundo nmero:'); readln(b); writeln('La resta es:',(a-b):0); readln; end;{fin resta} 3:begin{inicio de producto} writeln('Introduzca el primer nmero:'); readln(a); writeln('Introduzca el segundo nmero:'); readln(b); writeln('El producto es:',(a*b):0); readln; end;{fin producto} 4:begin{inicio de divisin} writeln('Introduzca el primer nmero:'); readln(a); writeln('Introduzca el segundo nmero:'); readln(b); writeln('El cociente es:',(a div b):0); readln; end;{fin divisin} end;{fin casos} end.
For:
program tablas; uses crt; var tabla,numero:integer; begin for tabla:=1 to 10 do for numero:=1 to 12 do writeln(tabla,'por',numero,'es',tabla*numero); readln; end. program tabladividir; uses crt; var dividendo,divisor:integer; begin for dividendo:=1 to 10 do for divisor:=1 to 12 do writeln(dividendo,'/',divisor,'es:',dividendo div divisor); readln; end.
While:
program while_suma; uses crt; var o:char; a,b:real; begin clrscr; writeln('Introduzca cdigo de suma:'); readln(o); while (o='s') or (o='S') do writeln('Ingrese un nmero:'); readln(a); writeln('Ingrese otro nmero:'); readln(b); writeln('La suma es:',(a+b):0); readln; end. program longitud; uses crt; var a:string; begin clrscr; writeln('Introduzca una oracin'); readln(a); while a<> ' ' do {comprobamos que la oracin no sea nula} writeln('Lontitud:',length(a));{hallamos lontidud} readln; end.
Repeat:
Introduccin al Lenguaje de Programacin Pascal program repeat_until; Ing. Rafael Montenegro B. uses crt; var a,b,c,maxint:integer; begin clrscr; writeln('Introduzca cantidad de intentos a admitir:'); readln(a); writeln('Introduzca numero a adivinar:'); readln(b); clrscr; repeat writeln('Introduzca el numero:'); readln(c); if (c=b) then writeln('Adivino') else writeln('Siga intentandolo'); until maxint=a; readln; end.
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. Programa donde introduzca su masa en lb, y su altura en cm, y muestre el ndice de masa corporal. <20 =desnutricin. Entre 20 y 25=normal. Entre 25 y 30=sobrepeso. Mayor que 30=obeso.
program indice_masa_corporal;{indice de la masa corporal} uses crt; var h,m,imc:real; clav:string; begin repeat; clrscr;textbackground(black); textcolor(red); gotoxy(30,2); writeln('Programador:Rafael Montenegro'); gotoxy(30,3); writeln('*Programa:IMC'); gotoxy(30,4); writeln('*Fecha:4/02/008'); textcolor(yellow); gotoxy(30,6); write('Introduzca su masa(lb):'); textcolor(lightblue); readln(m); gotoxy(30,8); textcolor(yellow); write('Introduzca su altura (cm)'); textcolor(lightblue); readln(h); m:=(m*460)/1000; h:=h/100; imc:=m/sqr(h); textcolor(magenta); gotoxy(30,10); writeln('Su masa corporal es:',imc:0:2); begin gotoxy(30,11); if imc<20 then writeln('Presenta Desnutricin') else if (imc>=20) and (imc <=25) then writeln('Estado Normal') else if (imc>25) and (imc<=30) then writeln('Presenta Sobrepeso') else if imc>30 then writeln('Presenta obesidad'); end; gotoxy(30,15); textcolor(10); write('Introduzca clave de salida:'); textcolor(green); readln(clav); until (clav='imc'); end.
Introduccin al Lenguaje de Programacin Pascal Ing. Rafael Montenegro B. Programa donde se introduzca una cantidad (en nmeros) y esta se muestre escrita con letras.
program numeros_letras; uses crt; var cant,x:integer; begin clrscr; writeln('Ingrese un nmero:'); readln(cant); x:=cant div 100; case x of 9:write('Novecientos'); 8:write('Ochocientos'); 7:write('Setecientos'); 6:write('Seiscientos'); 5:write('Quinientos'); 4:write('Cuatrocientos'); 3:write('Trescientos'); 2:write('Doscientos'); 1:begin if (cant mod 100>0) then write('Ciento') else write('Cien'); end; {case centenas} end; cant:=cant mod 100; x:=cant div 10; case x of 9:write(' noventa'); 8:write(' ochenta'); 7:write(' setenta'); 6:write(' sesenta'); 5:write(' cincuenta'); 4:write(' cuarenta'); 3:write(' treinta'); 2:write( 'veinte'); 1:begin if (cant mod 10>5) or (cant mod 10=0) then write('diez') else if (cant mod 10=1) then write(' once') else if (cant mod 10=2) then write(' doce') else if (cant mod 10=3) then write(' trece') else if (cant mod 10=4) then write(' catorce') else if (cant mod 10=5) then write(' quince'); end; end; {case decenas} if (x=1) and (cant mod 10<6) then write('') else begin write(' y'); cant:=cant mod 10; case cant of 9:write(' nueve'); 8:write(' ocho'); 7:write(' siete'); 6:write(' seis'); 5:write(' cinco'); 4:write(' cuatro'); 3:write(' tres'); 2:write(' dos'); 1:write(' uno'); end; end; readkey; end.