




























































































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
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
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
Descubre las mejores universidades de tu país según los usuarios de Docsity
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
Es una introducción a la programación para gente de primer curso de la universidad de mexico
Tipo: Apuntes
1 / 151
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
PARA LA ASIGNATURA
C. P. C. y Mtro. Arturo Díaz Alonso
SECRETARIO GENERAL L. A. E. Félix Patiño Gómez
JEFE DE LA DIVISIÓN-SUA L. A. y Mtra. Gabriela Montero Montiel
COORDINACIÓN DE OPERACIÓN ACADÉMICA L. A. Ramón Arcos González
COORDINACIÓN DE PROYECTOS EDUCATIVOS L. E. Arturo Morales Castro
COORDINACIÓN DE MATERIAL DIDÁCTICO L. A. Francisco Hernández Mendoza
COORDINACIÓN DE ADMINISTRACIÓN ESCOLAR
L. C. Virginia Hidalgo Vaca
COORDINACIÓN ADMINISTRATIVA L. C. Danelia C. Usó Nava
Colaboradores Diseño y coordinación general L. A. Francisco Hernández Mendoza
Coordinación operativa L. A. Francisco Hernández Mendoza
Asesoría pedagógica
Corrección de estilo José Alfredo Escobar Mellado Edición L. C. Aline Gómez Angel
PRÓLOGO
n una labor editorial más de la Facultad de Contaduría y Administración, los Tutoriales del Sistema Universidad Abierta, representan un esfuerzo dirigido principalmente a ayudar a los estudiantes de este Sistema a que avancen en el logro de sus objetivos de aprendizaje.
Al poner estos Tutoriales a disposición tanto de alumnos como de asesores, esperamos que les sirvan como punto de referencia; a los asesores para que dispongan de materiales que les permitan orientar de mejor manera, y con mayor sencillez, a sus estudiantes y a éstos para que dispongan de elementos que les permitan organizar su programa de trabajo, para que le facilite comprender cuáles son los objetivos que se persiguen en cada materia y para que se sirvan de los apoyos educativos que contienen.
Por lo anterior y después de haberlos utilizado en un periodo experimental para probar su utilidad y para evaluarlos en un ambiente real, los ponemos ahora a disposición de nuestra comunidad, esperando que cumplan con sus propósitos.
Cd. Universitaria D.F., mayo de 2003.
E
Características de la asignatura
Plan: 98 Créditos: 8
Licenciatura: Informática Semestre: 1º
Área: Informática Horas de asesoría: 2
Requisitos: Ninguno Horas por semana: 4
Tipo de asignatura: Obligatoria (x) Optativa ( )
Objetivo general de la asignatura El alumno implantará algoritmos y estructuras de datos fundamentales en un lenguaje de programación imperativa.
Temario oficial (68 horas sugeridas)
Temario detallado
1.5 Definición formal de un lenguaje de programación mediante diagramas. sintácticos de tren y ecuaciones de Backus-Naur
Temario detallado
1.1. Antecedentes históricos del lenguaje de programación Pascal
Pascal es un lenguaje de programación de computadoras de alto nivel con propósito general. Fue desarrollado entre 1967 y 1971 por el Profesor Niklaus Wirth, en la Universidad Técnica de Zurich, Suiza. El nombre del programa fue elegido en honor de Blaise Pascal (1623-1662), brillante científico y matemático francés, entre cuyos logros se encuentra la primera máquina calculadora mecánica en el mundo. El propósito de Wirth fue producir un lenguaje apropiado para enseñar, clara y sistemáticamente, las nuevas técnicas de desarrollo de la programación estructurada. La motivación inicial fue exclusivamente académica. La amplia detección automática de errores ofrecida por los compiladores de Pascal es de gran ayuda para los principiantes, cosa que los hace bastante adecuados como introducción en la programación de computadoras. Sus características permiten escribir programas avanzados para diferentes áreas de aplicación. Pascal ha sido bautizado como "el FORTRAN de los 80" y ha tenido gran influencia en lenguajes como ADA. Además, es descendiente de ALGOL 60, con quien comparte muchas características: estructuración en bloques (con
1.2. Conceptos de programación estructurada
Edgser W. Dijsktra, de la Universidad de Hainover, es considerado como el padre de la programación estructurada. En 1965, propuso sus aportes en un volumen titulado Notas de programación estructurada. Otras ideas recogidas en las obras Notas sobre datos estructurados , de Hoare, y Programación estructurada , de Dijsktra y Dahl (1972, Academic Press) influyeron en el desarrollo de Pascal. La idea básica de la programación estructurada consiste en que la estructura del texto del programa debe auxiliarnos para entender la función del programa. Precisamente Pascal fue el primer lenguaje que utilizó plenamente los principios de la programación estructurada. Pero hasta mediados de los setenta comenzó a popularizarse esta filosofía. La técnica de Pascal aumenta considerablemente la productividad del programa reduciendo en mucho el tiempo requerido para escribir, verificar, depurar y mantener los programas. Sin embargo, aún sigue mal interpretándose el verdadero objetivo de la programación estructurada. Algunos la reducen simplemente a la eliminación del salto incondicional de los programas como estructura de control.
La Programación Estructurada está enfocada a las estructuras de control de un programa. Su técnica primaria consiste en la eliminación del salto incondicional y su reemplazo por sentencias bien estructuradas de bifurcación y control.
La programación estructurada es un caso especial de la programación modular. El diseño de un programa estructurado se realiza construyendo bloques tan pequeños que puedan ser codificados fácilmente, lo que se logra hasta que se alcanza el nivel de módulos atómicos , es decir, sentencias individuales (si- entonces, haz-mientras, etcétera). La definición de la programación estructurada exige sistemas de control bien organizados, definidos por los siguientes principios: Teorema de la estructura: establece que se requiere tres bloques básicos para construir cualquier programa: Caja de proceso
Decisión binaria Mecanismo de repetición
Programa propio: debe cubrir los siguientes requisitos: Tener un sólo punto de entrada hasta arriba. Leerse de arriba hacia abajo. Poseer un solo punto de salida hasta abajo. Con el teorema de la estructura y el concepto de programa propio se construyen todas las estructuras sintácticamente válidas para esta filosofía de programación. Por una parte, el salto incondicional debe ser eliminado como una forma de programación; por otra, cualquier estructura que deseemos elaborar debe estar construida sólo por los tres elementos básicos mencionados en el teorema de la estructura, que debe cumplir con el concepto de programa propio. Las estructuras que cumplen con las condiciones anteriores son: Bloque de proceso Decisión binaria Estructuras de repetición HAZ - MIENTRAS REPITE - HASTA Selección múltiple
1.3. Conceptos de compilador, compilación y ejecución
Compilador Pascal es un lenguaje de alto nivel, ya que sus instrucciones se asemejan al lenguaje del ser humano. Antes de que una computadora ejecute un programa escrito en Pascal, primero debe traducirlo al lenguaje máquina por medio de un compilador. En esta fase, las instrucciones del programa se convierten en códigos numéricos binarios para operaciones y direcciones numéricas de datos y se almacenan en la