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


Manual Pascal, Apuntes de Ingeniería del Software

Asignatura: Introducción a la Programación, Profesor: , Carrera: Ingeniería del Software, Universidad: URJC

Tipo: Apuntes

2012/2013
En oferta
40 Puntos
Discount

Oferta a tiempo limitado


Subido el 10/10/2013

yuna-40
yuna-40 🇪🇸

3.8

(61)

10 documentos

1 / 121

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
APRENDA PASCAL
AUTORES:
Prof. Rodiert Zayas Alzamora.
Prof. Reinier Escobar Santiesteban.
“AÑO 49 DE LA REVOLUCIÓN”
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
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64
Discount

En oferta

Vista previa parcial del texto

¡Descarga Manual Pascal y más Apuntes en PDF de Ingeniería del Software solo en Docsity!

APRENDA PASCAL

AUTORES:

Prof. Rodiert Zayas Alzamora.

Prof. Reinier Escobar Santiesteban.

“AÑO 49 DE LA REVOLUCIÓN”

Índice

Prefacio

Este material ha sido creado por la gran necesidad de contar con un libro de texto de programación en Pascal para nivel medio, o sea, para alumnos con poca o ninguna experiencia en programación, pero que también ofreciera un tratamiento riguroso a la teoría “trabajo con algoritmos” que se requiere para programar con mayor eficiencia; que estuviera al nivel de las exigencias actuales de los Institutos Politécnicos de Informática (IPI), en especial para los alumnos del primer año.

Pascal desde su creación, se convirtió en una de las herramientas más utilizadas para la enseñanza de la programación, ya que con este se forman los principios básicos de la programación estructurada.

Este libro cuenta con una gran recopilación de ejemplos, ejercicios y programas de diversos campos, para motivar al estudiante a resolver problemas relacionados con la vida real. Todos estos programas y ejemplos aquí presente fueron diseñados para ser ejecutados en Borland Pascal 7.0, pero en cualquier otro compilador de Pascal se pueden utilizar. Cuenta con ilustraciones de algoritmos y programas completos, utilizando una herramienta tan poderosa el mundo de la programación como es la enseñanza mediante ejemplos.

Espero que les sea de mucha utilidad, ya que teniendo la lógica del trabajo en un lenguaje no visual como este, no presentarán ningún problema para cuando lleguen a un lenguaje visual.

Cualquier error que se encuentren en este texto por mínimo que sea, les agradeceríamos (los autores) sus correcciones, críticas, comentarios y sugerencias para mejorar el producto. Por favor dirija toda su correspondencia a cualquiera de estas direcciones electrónicas:

[email protected] [email protected]

Cualquier información, ayuda, recomendación o crítica será bien recibida.

Los autores.

Capítulo 1

_____________________________________________________________

Introducción a la programación en Borland Pascal

_____________________________________________________________

Objetivos

  • Familiarizarse con el Borland Pascal y su estructura para programar.
  • Identificar los componentes básicos Pascal, tales como, palabras reservadas, identificadores, así como los tipos de datos fundamentales.
  • Declarar variables y definir constantes.
  • Conocer los operadores aritméticos, lógicos y de relación.
  • Familiarizarse con las funciones básicas del lenguaje.
  • Convertir expresiones matemáticas en expresiones Pascal.

Pensamientos

◘ Nada es más valioso que el día de hoy. Goethe. ◘ Después de escalar una montaña muy alta descubrimos que hay muchas otras montañas por escalar. Nelson Mandela ◘ Mucha gente persigue lo que posee y está esclavizada por las mismas cosas que desea conseguir. Anwar el Sadat ◘ No hay caminos para la paz, la paz es el camino. Mahatma Gandhi. ◘ Estar en paz consigo mismo es el medio más seguro de comenzar a estarlo con los demás. Fray Luis de León

Sinopsis 1.1 Introducción al Pascal. 1.2 Estructura de un programa en Pascal. 1.3 Palabras reservadas. 1.4 Identificadores. 1.5 Tipos de datos. 1.6 Variables y Constantes. 1.7 Operadores aritméticos , lógicos y de relación. 1.8 Funciones estándar de Pascal. 1.9 Tipos de errores. 1.10 Convertir expresiones y fórmulas matemáticas en expresiones Pascal. 1.11 Resumen. 1.12 Ejercicios de autoevaluación. 1.13 Respuestas de ejercicios de autoevaluación. 1.14 Ejercicios propuestos.

La estructura del programa quedaría de la siguiente forma:

Pascal Pseudocódigo PROGRAM Nombre; { Cabecera } { Declaraciones } BEGIN { Sentencias } END.

Algoritmo Nombre { Cabecera } { Declaraciones } Inicio { Sentencias } Fin

Las palabras BEGIN y END representan inicio y fin del programa. Puedes ver la relación entre ambas estructuras.

1.3 Palabras reservadas.

Todo LP cuenta con una serie de palabras reservadas que son las que le permite al programador poder comunicarse con el mismo. Estas palabras reservadas “Figura 1.2” son propias de cada lenguaje, esto, entre otras cosas, lleva consigo a establecer una diferencia marcada entre un lenguaje y otro aunque existen palabras que son muy comunes en todos los lenguajes.

AND DO FUNCTION NIL PROGRAM TYPE ARRAY DOWNTO GOTO NOT RECORD UNTIL BEGIN ELSE IF OF REPEAT VAR CASE END IN OR SET XOR CONST FILE LABEL PACKED THEN WHILE DIV FOR MOD PROCEDURE TO WITH Figura 1.2 Palabras reservadas de Pascal.

1.4 Identificadores.

Los "identificadores" son palabras que usaremos para referirnos a una variable, una constante, al nombre del programa, el nombre de una función o de un procedimiento, etc. Estos nombres o "identificadores" serán combinaciones de letras y/ o números, junto con algunos pocos símbolos especiales, como el guión bajo (_). Deben seguir las siguientes características:

  • No podrán empezar con un número.
  • Puede tener cualquier carácter alfabético A..Z, sin Ñ.
  • No puede tener tilde en ningún momento.
  • No puede tener espacios intermedios.
  • No pueden ser palabras reservadas del LP.
  • No pueden existir dos identificadores con el mismo nombre.

En la Figura 1.3 se muestran algunos identificadores válidos y otros no válidos.

Identificadores válidos : Identificadores no válidos : Programa_1 1_Programa Mi_Programa Mi Programa Suma Sum@ Tarea_2 2 Tarea Area Área Numeros_Primos #_Primos ParImpar Par o Impar Positivo_Negativo Positivo_Negativo. AreaTriangulo ÁreaTriángulo ArregloN Array Figura 1.3 Ejemplo de identificadores válidos (Izquierda) y no válidos (Derecha).

Nota : Pascal no diferencia las minúsculas de las mayúsculas. Ejemplo los identificadores NUMEROS y numeros son completamente iguales.

1.5 Tipos de datos.

A la hora de guardar los datos en la computadora, estos deben ser numéricos, lógicos, cadenas de caracteres, etc.. Lo que quiere decir que deben ser almacenados con un tipo de dato. En programación, el tipo de dato (data type en Inglés) especifica el rango de valores que puede contener una variable o una constante, y se almacena esa información en la memoria de la computadora. El Pascal puede adquirir muchos tipos diferentes de datos. Entre ellos están los datos simples y los datos estructurados, estos últimos serán objeto de estudio en el “Capítulo 3 Estructuras de datos”. Vamos a ver por ahora los datos simples “Figura 1.4”. Los dato de tipo simple, no está compuesto de otras estructuras, que no sean los bits, y que por tanto su representación sobre el ordenador es de forma directa. Los datos simples son elementos individuales(números, caracteres, etc.) que se asocian a identificadores únicos en correspondencia uno a uno.

Pseudocódigo Borland Pascal Descripción Enteros Integer Número entero comprendido entre -32768 hasta 32767. Real Real Es un número real.

Texto String

Cadena de caracteres, empleado para almacenar y representar mensajes de más de una letra (hasta 255). Lógico Boolean Es una variable lógica, que puede valer TRUE (verdadero) o FALSE (falso). Figura 1.4 Tipos de datos estándar de Pascal.

  • Queremos almacenar el valor de las precipitaciones caída de un día. Respuesta: Var Prec: Integer;
  • Almacenar si un estudiante es de la Unión de Jóvenes Comunista (UJC) o no lo es. Respuesta: Var UJC: Boolean;

Si deseas declarar varias variables de un mismo tipo puedes separarlas con una coma y luego decir el tipo de dato. Ejemplo: Var Variable1, Variable2, Variable3: Integer;

En este caso tenemos tres variables que van a almacenar números enteros.

Nota : En una variable, el valor que queda almacenado en ella es el último que se le asigna. Para entender mejor esto analice el siguiente ejemplo:

♣ Dadas las variables A, B y C diga qué valor queda almacenado en cada una de ellas: A = 5 B = 8 C = 10 A = B + C B = A + C C = A + B

Respuesta : El valor que queda almacenado en A es 18, en B es 28 y en C es 46.

Al que no le dio así que observe el análisis que les muestro a continuación:

  • En las tres primeras líneas A, B y C comienzan con 5, 8 y 10 respectivamente.
  • En la línea (A = B + C) se le asigna un nuevo valor a la variable “A”, diciéndole que almacena la suma de las variables B y C, es decir 8 + 10, quedando almacenado en A el número 18.
  • En la línea (B = A + C) se le asigna un nuevo valor a la variable “B”, diciéndole que almacena la suma de las variables A y C, es decir 18 + 10, quedando almacenado en B el número 28.
  • En la línea (C = A + B) se le asigna un nuevo valor a la variable “C”, diciéndole que almacena la suma de las variables A y B, es decir 18 + 28, quedando almacenado en B el número 46. Al no asignarle más ningún valor a las variables A, B y C, los valores que quedan almacenados son 18, 28 y 46 respectivamente.

Constantes : Cuando desarrollamos un programa, nos podemos encontrar con que hay variables que realmente "no varían" a lo largo de la ejecución del programa, sino que su valor es constante. Una constante en programación es similar al

valor de la constante Π que todos conocemos, cuyo valor no cambia en ningún

momento. Entonces podemos definir que una constante es una posición de memoria a la que nosotros asignamos un nombre y un valor que no puede ser modificado a lo largo de todo el programa.

En Pascal hay una manera especial de definir las constantes “Figura 1.6”, que es con la palabra reservada const.

Figura 1.6 Estructura general para definir constantes.

1.- Palabra reservada para definir constantes. 2.- Aquí se pone el nombre de la constante a definir. Los nombres de las constantes siguen las reglas que ya habíamos mencionado para los identificadores en general. 3.- Operador (=) que indica asignación (Solo en estos casos). 4.- El valor que va a tener la constante. 5.- Representa el fin de la definición de la constante.

Ejemplo: Se tienen las siguientes situaciones:

  • Se quiere definir una constante que almacene el valor de Π. Respuesta: Const Pi = 3.14;
  • Definir una constante que almacene el descuento de un trabajador que es de $100 mensuales. Respuesta: Const Descuento = 100;

1.7 Operadores aritméticos , lógicos y de relación.

Pascal tiene una serie de operadores que les permitirá desarrollar los cálculos necesarios un tu aplicación. En la Figura 1.7 aparecen los operadores aritméticos que utiliza Pascal. Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Los operadores relación “Figura 1.9” al igual que los operadores de lógicos “Figura 1.10” también juegan un papel fundamental en la elaboración de un programa en Pascal.

Repuestas: a) Verdadera si A y B son iguales, ejemplo A = 8 y B = 8. Falsa si A y B son diferentes, ejemplo A = 5 y B = 8. b) Verdadera si A es mayor que B, ejemplo A = 10 y B = 8. Falsa si A es menor o igual que B, ejemplo A = 3 y B = 5. c) Verdadera si A es menor que B, ejemplo A = 10 y B = 18. Falsa si A es mayor o igual que B, ejemplo A = 6 y B = 6. d) Verdadera si A es mayor o igual que B, ejemplo A = 10 y B = 10. Falsa si A es menor que B, ejemplo A = 1 y B = 6. e) Verdadera si A es menor o igual que B, ejemplo A = 10 y B = 10. Falsa si A es mayor que B, ejemplo A = 12 y B = 6. f) Verdadera si A es diferente a B, ejemplo A = 5 y B = 8. Falsa si A igual que B, ejemplo A = 1 y B = 1.

En los operadores de relación espero que no halla ninguna duda, así que prestaré toda mi atención en los operadores lógicos.

Operador Descripción Significado

or o

La expresión es verdadera (True) si al menos un operando es verdadero y falsa (False) si todos los operando son falsos.

and y

La expresión es falsa si al menos un operando es falso y verdadera si todos los operando son verdaderos. xor o exclusivo La expresión es verdadera si solo un operando es verdadero y falsa en cualquier otro caso. not negación Este operador se usa como prefijo para negar un operando booleano. Figura 1.10 Operadores lógicos en Pascal.

Or : En español significa “o”. Con este operador el valor de la expresión es verdadero si al menos una de las preguntas es verdadera de lo contrario es falsa, o como ya estudiaste en las primeras unidades cuando estamos ante una disyunción Figura 1.11 a.

And : En español significa “y”. Con este operador el valor de la expresión es verdadero si todas las proposiciones son verdaderas, de lo contrario es falsa, o como se dice cuando estamos ante una conjunción Figura 1.11 b.

Xor : En español significa “o exclusivo”, a diferencia del “ or”, este solo es verdadero cuando existe un solo valor verdadero entre varias proposiciones o preguntas lógicas, como quieras llamarlas.

Not : En español significa “no” o “negación”, y se utiliza para negar el valor de una expresión Figura 1.11 c.

Figura 1.11 Tablas de la verdad. a)Disyunción. b) Conjunción. c) Negación.

Nota : Para evitar ambigüedades en el orden de realización de las operaciones lógicas, los operandos boléanos deben ir encerrados entre paréntesis, aunque en ocasiones no necesariamente los lleve.

Ejemplo de uso de los operadores lógicos: ♣ Dadas las variables A y B, diga si la expresión es evaluada como verdadera o como falsa si conocemos que A = -2 y B = 120. Explique.

a) (A > 0) or (B > 100) b) (A <= 0) and (B > 100) c) (A = -2) xor (B = 120) d) not(A <> B) Respuestas: a) Verdadera. Porque el segundo operando es verdadero. b) Verdadera. Porque los dos operando son verdaderos. c) Falsa. Porque uno y solo de los operando tiene que ser verdadero. d) Falsa. Porque el valor del operando es verdadero pero el operador not niega su valor y por tanto el valor resultante es falso.

1.8 Funciones estándar de Pascal.

Pascal al igual que todo lenguaje de programación cuenta con una serie de funciones que hacen posible un funcionamiento adecuado del mismo sin tener que crear nuevamente conjuntos de códigos para que realicen una determinada tarea. En la Figura 1.12 se muestran algunas de las funciones estándar, las que estudiarás su uso en otros capítulos.

Función Efecto abs(x) Calcula el valor absoluto de x chr(x) Determina el carácter representado por x en el código ASCII. cos(x) Calcula el coseno de x en radianes. sen(x) Calcula el seno de x en radianes. odd(x) Determina si x es impar. round(x) Redondea el valor de x al entero más próximo. sqr(x) Calcula el cuadrado de x. sqrt(x) Calcula la raíz cuadrada de x (x>0). trunc(x) Trunca x (suprime la parte decimal). copy Retorna una subcadena de una cadena dada. pos Localiza una determinada cadena dentro de otra. lenght Devuelve el tamaño de una cadena. concat Une las cadenas pasadas como parámetro. Figura 1.12 Funciones estándar de Pascal.

Aquí aparecerán una serie de ejemplos de conversión de expresiones matemáticas en expresiones Pascal.

Representa las siguientes expresiones en una expresión Pascal:

  • Suma de tres números diferentes. R/: Suma:= N1 + N2 + N3;
  • x= 3y + 5 R/: x:= 3 * y + 5;
  • y = a + b z – x R/: y:= (a + b) / (z - x);
  • Promedio de cuatro notas de un alumno. R/: Prom:= (Nota1 + Nota2 + Nota3 + Nota4) / 4;
  • Área del triángulo. R/: Area:= A * B / 2;
  • Cuadrado de un número aumentado en 5. R/: C:= Sqr(Num) + 5; ó C:= Num * Num + 5;
  • Sucesor y antecesor de un número. R/: Sucesor:= Num + 1; Antecesor:= Num – 1;
  • Una persona del sexo masculino y de edad menor que 25. R/: (Sexo = ‘M’) and (Edad < 25);
  • Número positivo o que sea par. R/: (Num > 0) or (Num mod 2 = 0);

1.11 Resumen.

¾ Pascal fue diseñado para enseñar programación estructurada en contextos académicos. ¾ La programación estructurada es un método disciplinado de escribir programas que resulten claros, demostrablemente correctos y fáciles de modificar. ¾ De Pascal derivan diversos lenguajes de programación como Ada y Object Pascal. ¾ Un programa en Pascal está dividido en tres partes o zonas: Cabecera, Declaraciones y Sentencias.

¾ Los identificadores son combinaciones de letras y/ o números, junto con algunos pocos símbolos especiales. Deben seguir las siguientes características: ƒ No podrán empezar con un número. ƒ Puede tener cualquier carácter alfabético A..Z, sin Ñ ni acentos. ƒ No puede tener acentuación. ƒ No puede tener espacios intermedios. ƒ No pueden ser palabras reservas del LP. ƒ No pueden existir dos identificadores con el mismo nombre. ¾ El tipo de dato (data type en Inglés) especifica el rango de valores que puede contener una variable o una constante, y se almacena esa información en la memoria de la computadora. ¾ Pseudocódigo Borland Pascal Descripción Enteros Integer Número entero comprendido entre -32768 hasta 32767. Real Real Es un número real.

Texto String

Cadena de caracteres, empleado para almacenar y representar mensajes de más de una letra (hasta 255). Lógico Boolean Es una variable lógica, que puede valer TRUE (verdadero) o FALSE (falso). Figura 1.4 Tipos de datos estándar de Pascal. ¾ Una variable es una posición de memoria a la que nosotros asignamos un nombre y en la que podremos almacenar datos que pueden ser modificados a lo largo de todo el programa. ¾ En una variable, el valor que queda finalmente almacenado en ella es el último valor que se le asigna. ¾ Una constante es una posición de memoria a la que nosotros asignamos un nombre y un valor que no puede ser modificado a lo largo de todo el programa. ¾ Operadores aritméticos. **Operador Descripción

  • Adición**

**- Sustracción

  • Multiplicación / División real div División entera mod Resto de una división** ¾ El operador de asignación que utiliza Pascal es :=. ¾ Operadores de relación en Pascal. **Operador Descripción = Igual a

Mayor que < Menor que = Mayor o igual que <= Menor o igual que <> Distinto de**

1.3 Diga cuáles de los identificadores siguientes pueden son válidos y cuáles no. Para los no válidos (si es que existe alguno)explique por qué no puede serlo: a) Programa_ b) Begin c) @rea d) 1_Programa e) triángulo f) MOD g) CUADRADO 1.4 Son completamente iguales los identificadores “EJERCICIOS” y “ejercicios”. 1.5 Los tipos de datos se clasifican en _______ y _____________. 1.6 Para declarar variables se utiliza la palabra reservada _______ y para definir una constante _______. 1.7 Dadas las variables A, B, C y D diga qué valor queda almacenado en cada una de ellas al finalizar estas líneas: A = 2 B = Sqr(A) C = 10 A = B + C B = A div 2 C = A + B D = A 1.8 Linealice las siguientes expresiones matemáticas en expresiones Pascal. a)

b)

1.9 En BP7 la compilación se realiza cuando se ejecuta el mismo, presionando la combinación de teclas _____________.

1.10 Enlace la columna A con la B según corresponda: Columna A Columna B

1.- Error sintáctico o gramatical.

2.- Error lógico.

3.- Error de ejecución.

____ Error que se produce cuando utilizas tipos de datos incompatibles en un argumentos de una función determinada, una división por 0, cuando se intenta cambiar el valor a una constante, etc.

____ Cuando se hace referencias a variables no declaradas. Variables o constantes incorrectamente declaradas, uso incorrecto de los puntos y comas.

____ Error más difícil de distinguir de todos. La compilación del programa no emite ningún mensaje de error pero no ofrece el resultado esperado.

1.13 Respuestas de ejercicios de autoevaluación.

a) Lenguaje de Programación, Niklaus Wirth. b) Blaise Pascal. c) Cabecera, Declaraciones y Sentencias.

a) Falso. Nunca puede un identificador comenzar con número. b) Falso. No se puede dejar espacios intermedios. c) Falso. En ningún momento pueden tener tilde. d) Verdadero. e) Falso. No pueden existir dos identificadores con nombres iguales. f) Verdadero.

a) Válido. b) No válido. Begin es una palabra reservada de Pascal. c) No válido. No se puede utilizar símbolos como @, $, !, ¿, ?, entre otros. d) No válido. No puede comenzar con número. e) No válido. No se pueden tildar en ningún momento. f) No válido. Mod es una palabra reservada de Pascal. g) Válido. 1.4 Si. 1.5 Simples, Estructurados. 1.6 Var, Const. 1.7 A = 14, B = 7, C = 21 y D = 14.

a) x:= (a + b + c) / (a + b / c); b) x:= a + b + c / d + (a / (b - c)) / (a / (b + c)); 1.9 Ctrl. + F9. 1.10 3, 1, 2.