Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
1 / 3Prof. CLAUDIA DANIA Algoritmos y Estructuras de Datos 1° Año Ingeniería en Sistemas de Información * Programación Pascal Prof. CLAUDIA DANIA Magister en Docencia Universitaria Analista Universitario de Sistemas Licenciada en Sistemas de Información 2 / 3Prof. CLAUDIA DANIA INTRODUCCION A LA PROGRAMACION Hasta aquí hemos aprendido los principios básicos de la Diagramación Estructurada, donde cada algoritmo está compuesto por una serie de estructuras lógicas que en conjunto tienen un único comienzo y un único final. Con dichas estructuras se puede resolver cualquier tipo de problemas y ellas son: secuencia - decisión - repetición. La diagramación estructurado permite limitar el diseño del software a un pequeño número de operaciones, facilitando de esta manera su legibilidad, prueba y mantenimiento. Para lograr ésto, no hemos valido de una herramienta gráfica de presentación de algoritmos como el Diagrama de Chapín, que no nos permite violar los principios de la Programación Estructurada y podemos visualizar claramente el flujo de control del programa. Sin embargo esta es sólo una forma de representar un algoritmo, para poder programarlo en una computadora debemos escribirlo de otra manera, es decir en algún lenguaje de programación orientado al tipo de problema que queremos resolver. Estudiaremos Pascal como un medio para aplicar los principios de la Programación Estructurada. PRESENTACION DE UN PROGRAMA PASCAL Un programa Pascal consta de dos partes esenciales: una descripción de acciones que deben realizarse y una descripción de los datos que son manipulados por esas acciones. Las acciones se describen por las llamadas sentencias y los datos por las definiciones y declaraciones. 1. Cabecera (PROGRAM); 2. Bloque a) Declaraciones de etiquetas (LABEL) ; (no se usarán) Definiciones de Constantes (CONS); Definiciones de Tipo (TYPE); Definiciones de Variables (VAR); Procedimientos y Funciones (PROCEDURE / FUNCTION); b) begin Sentencias; (programa principal) end. 1. LA CABECERA: está constituida por una línea que comienza con la palabra PROGRAM, seguida del nombre del programa y las referencias a los archivos de entrada y salida, las cuales van encerradas entre paréntesis y separados por coma. Utilizaremos INPUT, OUTPUT para referirnos al teclado y a la pantalla respectivamente. 2. EL BLOQUE: consiste de una parte declarativa (a) y una parte ejecutable (b). Las definiciones deben presentarse en el orden arriba establecido, aunque no es obligatorio que aparezcan todas en un programa. La parte ejecutable debe estar comprendida entre BEGIN END. . a) Definición de Constantes: Sirve para darle un nombre simbólico (identificador) a un valor numérico o una cadena que permanecerá inalterable a lo largo del programa. Definición de Tipos: Es para definir a un identificador por un tipo standard o un tipo definido por el usuario (ej.: subrango, enumerado). Este identificador no puede usarse como variable, sino que le asigna un tipo de dato a una variable. Definición de Variables: Se le da un nombre al identificador y se le asigna un tipo (no un dato concreto). Deben estar todas las variables que se utilicen en el programa. Procedimientos y Funciones: Estos dos tipos de estructuras se declaran antes del inicio del programa. En su interior se lo escribe con las mismas condiciones que un programa principal (declaración de constantes, tipos, variables y procedimientos - funciones si es que internamente los invocan) y sus sentencias deben estar comprendidas entre BEGIN ... END; (con un punto y coma final). No existen prioridades de programación entre Procedimientos y Funciones, salvo el caso de que un procedimiento llame a otro/s procedimientos o funciones, éstos deben estar declarados previamente. b) Sentencias se deben seguir las condiciones establecidas según las estructuras de control y de asignación. Este grupo de sentencias se la debe pensar como una única gran sentencia, por lo cual deben estar comprendidas entre BEGIN ... END. , éste será el único END que tenga un punto indicando fin del programa. 3 / 3Prof. CLAUDIA DANIA Las reglas de puntuación son las siguientes: a) EL PUNTO y COMA se usa como separador (no como terminación), entre sentencias y/o estructuras sucesivas. b) BEGIN ... END son llaves que indican comienzo y fin de una sentencia compuesta, es por eso que no necesita del punto y coma después del BEGIN. c) UN PUNTO y COMA innecesarios se interpretaría como una sentencia nula (sentencia vacia). Generalmente no tendrá efecto apreciable en la ejecución del programa, aunque hay situaciones en la que puede alterar la lógica del mismo. d) TODO PROGRAMA debe terminar con un punto en la última instrucción END. Como complemento de programación existen los denominados SEPARADORES, a saber: - COMENTARIOS: Son mensajes, no ejecutables, para aclarar distintas etapas en el transcurso del programa. Los mismos pueden aparecer entre (*....*) ó {....}. - BLANCOS: Son los espacios que se deben colocar dentro de una instrucción para poder separar las palabras y así reconocerlas. - RETORNO: Se utiliza para poder pasar de una instrucción a la siguiente, cambiando de renglón, cuando se está tipeando el programa en la computadora. - SENTENCIA DE ASIGNACION: es una sentencia simple, que asigna un dato a una variable, se presenta con dos puntos mas un signo igual (:=). PROGRAM modelo (INPUT,OUTPUT): (* Declaración de constantes *) CONST factor = 0.5; pi = 3.1415926; cartel = 'Nombre usuario', (* Declaración de tipos *) TYPE dias = (lunes,martes,miercoles,jueves,viernes); color = (rojo,azul,amarillo); letra ='A'.. ‘Z'; (* Declaración de variables*) VAR cont: INTEGER; z: BOOLEAN; suma: REAL, remera: COLOR; vec: ARRAY [1 .. 10] OF REAL; val: ARRAY [dias] OF INTEGER; (* Declaración de procedimientos o funciones *) PROCEDURE XX (parametros); VAR j : INTEGER; BEGIN ...... END; FUNCTION prueba (parametros): tipo de la función; BEGIN ..... END; (*Comienzo del programa principal*) BEGIN ....; XX (...) ; SUMA := prueba (..) + 32.25 ; .... (* Ultima instrucción del programa principal *) END.
Compartir