Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Apuntes sobre el lenguaje de programación PASCAL, Apuntes de Metodología de Programación

Apuntes de Metodología y Tecnología de la Programación sobre el lenguaje de programación PASCAL, Estructura de un programa Pascal, Identificadores, Entrada de datos.

Tipo: Apuntes

2013/2014

Subido el 23/01/2014

el_pancho
el_pancho 🇲🇽

4.4

(114)

577 documentos

1 / 43

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Introducción
El lenguaje de programación PASCAL, fué diseñado por Niklaus Wirth en Zurich entre 1970 y 1971, con la
finalidad de ser utilizado para la enseñanza de los conceptos de programación y para facilitar el desarrollo de
aplicaciones comerciales y científicas. El Pascal es un lenguaje estructurado y permite realizar una
programación modular.
El Pascal se usa en un ambiente Pascal estructurado, en un ambiente de objetos como el Object Pascal ó en un
ambiente visual como el DELPHI 2.
En el curso usaremos el Object Pascal en el ambiente del Delphi 2.
Para trabajar con el Pascal en el ambiente del Delphi 2, debemos realizar lo siguiente:
1.− Ingresar al Delphi 2
2.− Elija Project/Options del menú
principal.
3.− Elija Linker
4.− Marcar `Generate Console
Application'
5.− Elija Projec, View Source.
Puede trabajar su programa en la ventana del Project1.
Para ejecutar un programa, presione la tecla F9.
Para salvar su programa elija la opción File del menú Principal y luego la opción Save As.
Para compilar el programa, elija Project/Compile ó presione Ctrl−F9.
Estructura de un programa Pascal
Program Nombre programa;
Uses Identificadores;
Const {Definición de constantes;}
Type {Declaración de tipos de datos
definidos por el usuario;}
Var {Declaración de variables;}
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b

Vista previa parcial del texto

¡Descarga Apuntes sobre el lenguaje de programación PASCAL y más Apuntes en PDF de Metodología de Programación solo en Docsity!

Introducción El lenguaje de programación PASCAL, fué diseñado por Niklaus Wirth en Zurich entre 1970 y 1971, con la finalidad de ser utilizado para la enseñanza de los conceptos de programación y para facilitar el desarrollo de aplicaciones comerciales y científicas. El Pascal es un lenguaje estructurado y permite realizar una programación modular. El Pascal se usa en un ambiente Pascal estructurado, en un ambiente de objetos como el Object Pascal ó en un ambiente visual como el DELPHI 2. En el curso usaremos el Object Pascal en el ambiente del Delphi 2. Para trabajar con el Pascal en el ambiente del Delphi 2, debemos realizar lo siguiente: 1.− Ingresar al Delphi 2 2.− Elija Project/Options del menú principal. 3.− Elija Linker 4.− Marcar `Generate Console Application' 5.− Elija Projec, View Source. Puede trabajar su programa en la ventana del Project1. Para ejecutar un programa, presione la tecla F9. Para salvar su programa elija la opción File del menú Principal y luego la opción Save As. Para compilar el programa, elija Project/Compile ó presione Ctrl−F9. Estructura de un programa Pascal Program Nombre programa; Uses Identificadores; Const {Definición de constantes;} Type {Declaración de tipos de datos definidos por el usuario;} Var {Declaración de variables;}

Procedure Definición de procedimiento Function Definición de funcion Begin {Inicio del cuerpo del programa principal} Sentencias End {Fin del programa principal} Ejemplo de un programa en Pascal Program Ejemplo1; Uses Forms; Const A=2; Var B:Integer; C:Integer; Begin Writeln(ingrese un numero'); readln(B); C:=b*a; Writeln(El doble del numero es = ,c); Readln; End. **Program** .− Indica el nombre del programa. En Delphi no podemos cambiar el nombre directamente, sino a través del **Save As.** Si cambiamos directamente, al momento de salvarlo nos da un error. Este nombre no puede tener espacios en blanco intermedio. Ejemplo de nombres : Programa, Serie_01, Calcular_area, etc. **Uses** .− Identifica todas las unidades utilizadas en el programa. Ejemplo: Forms, Wincrt, etc. **Const** .− Permite definir nombres de constantes que tienen un valor único, que no puede ser modificado mientras se ejecuta el programa. Ejemplo Const A=20; B= A*10; C=Curso'; D= 20*5;

Word.− Representa solo valores positivos que están dentro del rango de 0 a 65535. Ocupa 2 bytes de memoria. Tipo Bytes Rango Signo Byte 1 0 a 255 No Integer 2 −32768 a +32767 Si Longint 4 −2147483648 a Si

Word 2 0 a 65535 No Real .− Permite almacenar números que tiene decimales. Cualquier número se puede representar como real. Tipo Bytes Rango Real 6 2.9 x 10−39 a 1.7 x 10+ Single 4 1.5 x 10−45 a 3.4 x 10+ Double 8 5 x 10−324 a 1.7 x 10+ Extended 10 3.4x10−4951 a 1.1x10+ Los enteros ocupan menos memoria que los reales. Las operaciones con enteros son siempre precisas. Normalmente las operaciones con enteros son mas rápidas que con números reales. Char .− Es un tipo de dato que puede contener un solo carácter ASCII, es decir puede almacenar una letra, un dígito ó un carácter especial. Ejemplo A', 'X', '*', ', '1'. Ejemplo de programa: Program Ejemplo01; Uses Forms; Var letra : char; Begin letra:='S'; Writeln(`El carácter es',letra); letra:='5';

Writeln(El carácter es',letra); Readln; End. **String** .− Representa cadenas de caracteres que tienen 0 ó mas caracteres tipo ASCII y están encerradas entre apóstrofes ( ). Una cadena nula ó vacía, no tiene nada entre los apóstrofes. La longitud de una cadena es el número de caracteres encerrados entre apóstrofes. Ejemplo : Program Ejemplo02; Uses Forms; Var letras1: String[20]; letras2: String[25]; Begin letras1:='Colegio'; letras2:='Colegio Peruano Británico'; Writeln(Nombre : ',letras1,letras2); Readln; End. Variant .− Este tipo permite representar valores que cambian dinámicamente, es decir una variable de este tipo puede asumir valores de diferentes tipos en tiempo de ejecución, tales como valores integer, reales, string, boolean, etc. Una variable tipo variant puede ser combinado con otros valores variant, integer, reales, string y boolean. Este tipo de dato consume mayor memoria que los otros tipos de datos, además las operaciones son mas lentas. Ejemplo : Program Ejemplo03; Uses Forms; Var numero1:integer;

La sentencia de asignación se usa para almacenar valores a las variables. Tiene el sgte. Formato: variable := expresión Donde variable recibe el valor de la expresión. El operador de asignación es := expresión es un valor constante, una variable ó una operación. La expresión y la variable deben de ser del mismo tipo de datos. Ejemplo: A1:= 16; {A1 recibe el valor de 16} A2:= A1*5 {A2 recibe el valor del producto} N1:='USIL'; {N1 recibe el valor de USIL} Una sentencia de asignación es una operación destructiva porque el valor almacenado en la variable se pierde ó se sustituye por el valor de la expresión. Ejemplo: A1 := 10; {A1 guarda el valor de 10} A1 := 20; {A1 reemplaza el 10 por el 20 Contador.− Es una operación de asignación que al ser ejecutada incrementa el valor de una variable en una unidad ó en una cantidad constante. Tiene el siguiente formato : contador := contador + 1; Ejemplo: numero := 21; numero := numero + 1; El nuevo valor de la variable número es 22, si ejecutamos varias veces la segunda sentencia del ejemplo, la variable número se incrementa en una unidad cada vez. Acumulador.− Es una operación de asignación que al ser ejecutada incrementa el valor de una variable en una cantidad variable. Tiene el siguiente formato : acumulador := acumulador + n ; n es una variable que puede tener diferentes valores. Ejemplo : B:= 10; suma:=0; suma := suma + b ;

b := 15; suma := suma + b ; El valor de la variable suma es de 25 al finalizar el ejemplo. Los acumuladores se usan para realizar la suma de diferentes valores. Comentarios .− Son textos explicativos que ayudan a la comprensión de un programa. Pueden ir en cualquier parte del programa, puede ocupar varias líneas. Los comentarios van encerrados entre llaves { } ó entre (* ). Ejemplo: A1:= 16; (A1 recibe el valor de 16) A2:= A15; {A2 recibe el valor del producto} N1:='USIL'; {N1 recibe el valor de USIL} Expresiones .− Una expresión es un conjunto de datos ó funciones unidos por operadores aritméticos. En Pascal podemos trabajar con diferentes tipos de operadores, tales como: operadores aritméticos, operadores de relación, operadores lógicos. Operadores Aritméticos.− Permiten realizar operaciones aritméticas, tales como suma, resta, etc. Operador Significado Ejemplo

  • Suma a + b − Resta a − b
  • Multiplicación a * b / División a / b div División Entera a div b mod Módulo a mod b La división (/) produce un resultado real, independiente del tipo de operando a usar. Los operadores Div y Mod solo se usan con números enteros Div .− Calcula el cociente entero de la división de 2 números enteros. Mod .− Calcula el resto ó residuo de dicha operación. Ejemplo : 13 div 4 resultado 3 13 4

que este programa se ejecute debemos definir var1 como real ó variant. Operaciones de Entrada y Salida Las operaciones de entrada y salida permiten ingresar datos a la computadora desde diferentes dispositivos, tales como el teclado, un archivo de disco, etc. y mostrar datos ó resultados. La lectura se realiza por medio de la sentencia Read ó Readln. La salida se realiza por medio de la sentencia Write ó Writeln. Entrada de datos Permite ingresar datos durante la ejecución de un programa. El formato es el siguiente: Read (var1, var2, .. varN); Readln(var1, var2, .varN); Var1, varN son las variables que van a almacenar los valores a ingresar. Una sentencia Read ó Readln es posible que no tenga ninguna variable, que tenga solo una variable ó que tenga muchas variables. Cuando se ejecuta la sentencia Read ó Readln, el proceso se detiene hasta ingresar un valor y presionar la tecla Enter ó hasta presionar solo la tecla Enter. Ejemplo: Program Ejemplo06; Uses Forms; Var nombre : string[20]; edad : integer; Begin Readln(nombre); Readln(edad); Readln; End. Salida de datos Permite mostrar datos durante la ejecución de un programa.

El formato es el siguiente: Write (item1, item2, itemN); Writeln(item1, item2, ...itemN); ítem representa al objeto a visualizar, puede ser una constante literal, una variable, una llamada a una función ó una combinación de ellos. Al ejecutar la sentencia Writeln, el cursor salta a la siguiente línea, en cambio con Write el cursor se queda al final del último elemento en la misma línea. Writeln sin ningún item proporciona saltos ó avances de línea. Formatos de Salida Permiten definir la longitud de los items de salida, es decir especifican el número de posiciones del campo de escritura y para los números reales es posible precisar además el número de decimales deseados. Tiene el siguiente formato: Writeln ( ítem :longitud,); Writeln (ítem : longitud: dígitos, ..); Anchura, especifica la cantidad de caracteres del campo en que se escribe el ítem. Dígitos, indica la cantidad de decimales de un número real. Si no vienen dígitos significa que el ítem no es real. Ejemplo: X := 12.345 ; Y := 67 ; Writeln (X:7:4); da 12. Writeln (X:7:1); da 12. Writeln (Y:4); da 67 Writeln(`USIL':5); da USIL Funciones Matemáticas Standard Función Descripción Abs(X) Da el valor absoluto de X Sqr(x) Da el cuadrado de X Sqrt(X) Devuelve la raíz cuadrada de X

1.− Se evalúa la expresión lógica 2.− Si la expresión lógica es verdadera ejecuta la sentencia A y luego el control pasa a la siguiente sentencia después del IF THEN ELSE. 3.− Si la expresión es falsa ejecuta la sentencia B y el control pasa a la sgte. Sentencia después del IF THEN ELSE. 4.− La sentencia Else es opcional. Para evaluar la expresión lógica es necesario utilizar operadores de relación tales como : operador significado

mayor que < menor que = igual a = mayor ó igual que < = menor ó igual que < > diferente a Además podemos usar operadores lógicos como: operador significado And Conjunción Or Disyunción Xor Disyunción exclusiva Not Negación Ejemplo : Begin Readln (número) ; If número > 0 Then Writeln (Número positivo') Else Writeln (Número negativo') ; End.

El punto y coma separa dos sentencias. La sentencia If del ejemplo, termina con la sentencia del ELSE. En vez de una sola sentencia, el Then y/o el Else pueden tener sentencias compuestas (son conjunto de sentencias separadas por puntos y comas que van entre un Begin y un end End). Ejemplo: Begin Readln (número) ; If número > 0 Then Begin Writeln (Número positivo') ; Writeln (Número mayor que 0') ; End Else Begin Writeln (Número negativo') ; Writeln (Número menor que 0') ; End ; Readln ; End. Consideración: Si la expresión lógica contiene mas de una comparación, estas tienen que ir encerradas entre paréntesis, sino da error. Ejemplo : If (a > 0) and (b < 15) Esta expresión es verdadera si a es mayor que 0 y b es menor que 15. If (a > 0) or (b < 15) Esta expresión es verdadera si a es mayor que 0 o b es menor que 15.

Case operación Of *' : Writeln(Ud. va a multiplicar') ; /' : Writeln(Ud. va a dividir') ; +' : Writeln(Ud. va a sumar') ; −' : Writeln(Ud. va a restar') ; End; Readln; End. Program Case02; Uses Forms; Var caracter : char; Begin Write(Ingrese un caracter) ; Readln(caracter) ; Case caracter Of 0'..9' : Writeln(es una cifra') ;a'.. z' : Writeln(es una letra minuscula') ; A'. .'Z': Writeln(es una letra mayuscula') ; *','/','−,'+' : Writeln(es un simbolo') ; End; Readln; End. Los dos puntos seguidos que aparece en0' y `9', indican que el valor de la variable se va a evaluar entre el rango de valores comprendidos entre esas dos constantes (0 y 9). Estructuras de Control Repetitivas , son aquellas que permiten repetir varias veces una sentencia ó un grupo de sentencias. A este grupo de sentencias se le denomina ciclo, lazo ó bucle (loop). Las sentencias que tienen esta estructura son :

While do, Repeat Until, For to do, For downto do. Sentencia WHILE.− Permite repetir un grupo de sentencias mientras se cumple una condición Formato : a.− WHILE expresión lógica DO Sentencia A; b.− WHILE expresión lógica DO Begin Sentencia 1 ;

..... Sentencia N ; End; En el caso (a), el bucle es la sentencia A. En el caso (b), el bucle son las sentencias que están entre el Begin y el End. Modo de ejecución : 1.− Se evalúa la expresión lógica. 2.− Si es verdadera se ejecuta el bucle, si es falso, el control del programa pasa a la siguiente sentencia del bucle. 3.− Cada vez que ejecuta el bucle, regresa al While y vuelve a evaluar la expresión lógica. Consideraciones: 1.− Antes de cada iteración se evalúa la condición. 2.− Si en la primera evaluación, la expresión lógica es falsa, el bucle no se ejecuta ninguna vez. 3.− Si la expresión lógica siempre es verdadera, la ejecución del bucle es infinita. Ejemplo : Sumar los n primeros números enteros. Program While01; Uses Forms; Var n,i : integer; acum : integer;

Consideraciones : 1.− Después de cada iteración se evalúa la condición. 2.− El bucle se ejecuta por lo menos una vez. 3.− El bucle no necesita de un Begin y de un End. Ejemplo : Sumar los n primeros números enteros. Program Repeat01; Uses Forms; Var n,i : integer; acum : integer; Begin Write(Ingrese un numero'); Readln(n) ; i := 0 ; acum := 0 ; Repeat i := i + 1; acum := acum + i ; Until i > = n ; Writeln(La suma es `,acum:5); Readln; End. En este ejemplo, se repiten dos sentencias (i:=i+1 y acum:=acum+1) hasta que el valor de i sea mayor ó igual que el valor de n. Analice las diferencias entre el While y el Repeat. Sentencia FOR .− Permite ejecutar una ó un grupo de sentencias un número determinado de veces. Esta sentencia se utiliza cuando se conoce el número de iteraciones. Formato :

(a) FOR variable:= valor inicial TO valor final DO Sentencia A; (b) FOR variable:= valor inicial TO valor final DO Begin Sentencia 1;

...... Sentencia n; End; En el caso (a), el bucle es la sentencia A. En el caso (b), el bucle son las sentencias que están entre el Begin y el End. Modo de ejecución : 1.− La primera vez la variable toma el valor inicial 2.− Se ejecuta el bucle. 3.− Se incrementa el valor de la variable en una unidad. 4.− Vuelve a la linea del For y evalúa si el valor de la variable es menor ó igual al valor final. 5.− Si es verdadero, ejecuta otra vez el bucle, si es falso termina con el For. Consideraciones : 1.− La variable,el valor inicial y el valor final deben ser del mismo tipo. 2.− El tipo real no es permitido. 3.− El valor inicial y/o el valor final, pueden ser variables ó constantes. 4.− No es posible modificar el valor de la variable. 5.− El valor inicial debe ser menor que el valor final. 6.− En cada iteración se incrementa en una unidad el valor de la variable. 7.− Si desea decrementar el valor de la variable, use en vez del TO el DOWNTO y el valor inicial debe ser mayor que el valor final. 8.− La variable debe ser de tipo ordinal.