




























































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Introducción a la Programación, Profesor: , Carrera: Ingeniería del Software, Universidad: URJC
Tipo: Apuntes
1 / 121
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





























































































En oferta
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.
Objetivos
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:
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.
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:
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
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:
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:
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
**- Sustracción
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.