T2

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View T2 as PDF for free.

More details

  • Words: 2,419
  • Pages: 12
LENGUAJES DE PROGRAMACION III

PROGRAMACION EN PASCAL (Estructuras - Procedimientos y Funciones)

Ing. Yuri Giovani Román Lazarinos CIP 79596 T3T3-LP3LP3-FISIFISI-UJCM

Programación Estructurada ►

Sentencias compuestas



Sentencias repetitivas ƒ Ciclos FOR ƒ Ciclos WHILE ƒ Ciclos REPEATREPEAT-UNTIL

Bifurcaciones condicionales ƒ IF...THEN...ELSE ƒ IF anidados ƒ CASE

T3-LP3-FISI-UJCM





Las sentencias compuestas son grupos de sentencias, separadas cada una por un punto y coma ";" que son tratadas como una sola sentencia.



Para identificar una sentencia compuesta de un grupo sucesivo de sentencias se encierran entre las palabras reservadas BEGIN y END. END. Uno de los ejemplos má más claros de una sentencia compuesta es el cuerpo de un programa principal en Turbo Pascal, el lenguaje toma todo lo que existe entre estas dos sentencias como un solo elemento a ejecutarse aú aún cuando contenga varias instrucciones o sentencias:

T3-LP3-FISI-UJCM

Sentencias compuestas

Sentencias compuestas PROGRAM Prueba;



El punto y coma que se encuentra antes de la palabra reservada END puede ser suprimido sin afectar a la compilació compilación. En ocasiones es necesario repetir un determinado nú número de veces la ejecució ejecución de una sentencia, ya sea sencilla o compuesta, para realizar esta tarea Turbo Pascal cuenta con instrucciones especí específicas para el tipo de repetició repetición que se requiera.

T3-LP3-FISI-UJCM

BEGIN WriteLn('Primera WriteLn('Primera linea de una sentencia compuesta'); WriteLn('Segunda WriteLn('Segunda linea de una sentencia compuesta'); WriteLn('Tercera WriteLn('Tercera linea de una sentencia compuesta'); END.

Ciclos FOR ►



El ciclo FOR repite una sentencia un determinado nú número de veces que se indica al momento de llamar al ciclo. Lo que hace FOR es que incrementa una variable en uno desde un valor inicial hasta un valor final ejecutando en cada incremento la sentencia que se quiere repetir. Su sintaxis es: FOR identificador := inicio TO fin DO instrucció instrucción; Donde el identificador es la variable que se incrementará incrementará, inicio es el primer valor que tendrá tendrá dicha variable y fin es el valor hasta el cual se incrementará incrementará la misma; instrucció instrucción es la sentencia (sencilla o compuesta) que se ejecutará ejecutará en cada incremento de la variable.

T3-LP3-FISI-UJCM



Ciclos FOR



El siguiente ejemplo escribe los nú números del 1 al 50 en pantalla. La variable utilizada es "Numero". PROGRAM Ciclo_FOR; Ciclo_FOR; VAR Numero : Integer; Integer; BEGIN FOR Numero := 1 to 50 DO WriteLn(Numero); WriteLn(Numero); END. Una de las limitaciones de los ciclos FOR es que una vez iniciado el ciclo se ejecutará ejecutará el nú número de veces predefinido sin posibilidad de agregar o eliminar ciclos.

T3-LP3-FISI-UJCM



Ciclos FOR ►

Es posible hacer que un ciclo cuente hacia atrá atrás, es decir que la variable en lugar de incrementarse se decremente. decremente. Para ésto cambiamos la palabra TO por DOWNTO, DOWNTO, y colocamos el valor mayor a la izquierda y el menor a la derecha. Ejemplo:

BEGIN FOR Numero := 50 DOWNTO 1 DO WriteLn(Numero); WriteLn(Numero); END.

T3-LP3-FISI-UJCM

PROGRAM Ciclo_FOR_2; Ciclo_FOR_2; VAR Numero : Integer; Integer;

Ciclos WHILE ► Los

ciclos WHILE ofrecen la ventaja de que la ejecución se realiza mientras se cumpla una condición, por lo tanto es posible controlar el número de repeticiones una vez iniciado el ciclo. Su sintaxis es: WHILE condición DO instrucción condición es la condición que se evaluará, mientras ésta sea verdadera se ejecutará la instrucción, que es una sentencia simple o compuesta.

T3-LP3-FISI-UJCM

► Donde

Ciclos WHILE ►

Un programa que escriba los nú números del 1 al 50, utilizando el ciclo WHILE se verí vería como sigue: PROGRAM Ciclo_WHILE; Ciclo_WHILE; VAR Numero : Integer; Integer;



Al final del programa la variable Numero guardará guardará el valor 51, que fué fué el valor que no cumplió cumplió con la condició condición establecida en el ciclo WHILE.

T3-LP3-FISI-UJCM

BEGIN Numero := 1; WHILE Numero <= 50 DO BEGIN WriteLn (Numero); Numero := Numero +1; END; END.



Este tipo de ciclos es muy parecido a los ciclos WHILE, la diferencia diferencia entre ambos es que en WHILE la condició condición se evalú evalúa al principio del ciclo, en cambio en REPEATREPEAT-UNTIL se evalú evalúa al final, lo que significa que en un ciclo REPEATREPEATUNTIL la sentencia se ejecutará ejecutará por lo menos una vez, cosa que puede no ocurrir en el ciclo WHILE. Ejemplo: PROGRAM Ciclo_RepeatUntil; Ciclo_RepeatUntil; VAR Numero : Integer; Integer; BEGIN Numero := 1; REPEAT WriteLn (Numero); Numero := Numero + 1; UNTIL Numero = 50; END.



Para crear un buen programa es necesario dotarlo con capacidad de de desició desición con base en las variables o eventos definidos por el programador, programador, para que el programa sea aplicable en un entorno má más generalizado y no solo para un problema especí específico.

T3-LP3-FISI-UJCM

Ciclos REPEAT-UNTIL

SENTENCIAS DE CONTROL ► Sentencia IF...THEN...ELSE ► Esta expresión es utilizada para

ejecutar una sentencia en el caso que una condición establecida sea verdadera, de lo contrario se podra ejecutar una sentencia distinta. Su sintaxis es: IF condición THEN instrucción ELSE otro condición es la expresión que se evaluará, en caso de ser verdadera se ejecutará la sentencia dada como instrucción, en caso de que la condición sea falsa se ejecutara la sentencia dada como otro.

T3-LP3-FISI-UJCM

► Donde

ESTRUCTURAS DE CONTROL ► Sentencia IF...THEN...ELSE ► Esta expresión es utilizada para

ejecutar una sentencia en el caso que una condición establecida sea verdadera, de lo contrario se podra ejecutar una sentencia distinta. Su sintaxis es: IF condición THEN instrucción ELSE otro condición es la expresión que se evaluará, en caso de ser verdadera se ejecutará la sentencia dada como instrucción, en caso de que la condición sea falsa se ejecutara la sentencia dada como otro.

T3-LP3-FISI-UJCM

► Donde

ESTRUCTURAS DE CONTROL ►

Ejemplo: PROGRAM IF_THEN_ELSE; IF_THEN_ELSE; VAR Contador : Integer; Integer;





En este pequeñ pequeño programa la variable Contador se incrementará incrementará desde 1 hasta 50, la sentencia condicional IF verificará verificará si es verdad que Contador es mayor a 10, de ser así así se escribirá escribirá en pantalla el valor de la variable, de lo contrario se escribirá escribirá en la pantalla un cará carácter "*". Como el contador inicia desde 1, tenemos que se imprimirá imprimirán 10 asteriscos antes del primer nú número, que será será el 11, valor que si cumple la condició condición "Contador > 10" (la hace verdadera). La secció sección ELSE con su correspondiente sentencia son opcionales y pueden omitirse en caso de no necesitarse.

T3-LP3-FISI-UJCM

BEGIN FOR contador := 1 to 50 DO BEGIN IF contador > 10 THEN WriteLn(Contador) WriteLn(Contador) ELSE WriteLn('*'); WriteLn('*'); END; END.

ESTRUCTURAS DE CONTROL ►

Sentencias IF anidadas Es posible utilizar en una expresió expresión del tipo IF..THEN..ELSE una sentencia compuesta como la sentencia a ejecutarse en caso de que la condició condición sea verdadera, así así como en la sentencia posterior a un ELSE, de esta forma podemos utilizar otra sentencia IF..THEN..ELSE dentro de la anterior, para de esta forma evaluar varias condiciones una dentro de otra. Ejemplo: IF Numero > 5 THEN BEGIN IF Numero <10 THEN Opcion :="Numero; IF Numero <30 THEN Opcion2 :="Numero; END;

T3-LP3-FISI-UJCM



ESTRUCTURAS DE CONTROL ►



Selecciones CASE Esta forma de control se utiliza cuando se va a evaluar una expresi ón que expresió puede contener varios datos diferentes y en cada dato deberá deberá realizar una acció acción especial. Por ejemplo, si se crea un menú menú con diferentes opciones se realizará realizará un determinado proceso para cada acció acción, aunque la selecció selección por parte del usuario se haga desde el mismo lugar. El siguiente programa ilustra el uso de la forma CASE, el programa programa preguntará preguntará un nú número al usuario y lo clasificará clasificará de acuerdo a su valor. PROGRAM Case; VAR Numero : Integer; Integer; BEGIN WriteLn('Introduzca WriteLn('Introduzca un nú número entero del 1 al 5: '); ReadLn(Numero); ReadLn(Numero); CASE Numero OF 1 : WriteLn('El WriteLn('El nú número fué fué 1'); 2 : WriteLn('El WriteLn('El nú número fué fué 2'); 3 : WriteLn('El WriteLn('El nú número fué fué 3'); 4 : WriteLn('El WriteLn('El nú número fué fué 4'); 5 : WriteLn('El WriteLn('El nú número fué fué 5'); ELSE WriteLn('El WriteLn('El nú número no estaba en el rango indicado'); END.

T3-LP3-FISI-UJCM





Definició Definición de procedimiento



Un procedimiento es un grupo de sentencias que realizan una tarea concreta. En lugar de reescribir el código completo de esa tarea cada vez que se necesite, únicamente se hace una referencia al procedimiento. Por ejemplo, es muy común que se quiera visualizar un título determinado varias veces en un programa, para evitar teclear ese título en nuestro programa fuente todas las veces que sea necesario creamos un procedimiento llamado "Titulo" que se encargará de escribirlo. Una vez creado un procedimiento actuará como una instrucción más de Turbo Pascal, y para ejecutarlo únicamente teclearemos el nombre de dicho procedimiento. Para poder ejecutar un procedimiento es necesario declararlo en el programa que se este utilizando.







T3-LP3-FISI-UJCM

PROCEDIMIENTOS

PROCEDIMIENTOS ►

Creació Creación de los procedimientos



El primer paso para crear un procedimiento es saber que queremos que haga. Una vez definiendo este punto declaramos el procedimiento después de haber declarado variables y constantes, antes del cuerpo del programa principal. La palabra reservada para su declaración es Procedure seguida del nombre del procedimiento. Vamos a crear un procedimiento encargado de escribir en pantalla el enunciado "Programa de Turbo Pascal":

T3-LP3-FISI-UJCM

PROCEDURE Titulo; BEGIN WriteLn ('Programa de Turbo Pascal'); END;

PROCEDIMIENTOS ►



Uso de los procedimientos Una vez declarado el procedimiento es posible utilizarlo como una instrucción de Turbo Pascal. Al uso de un procedimiento se le conoce como llamada al procedimiento. El siguiente programa ilustra el uso o la llamada al procedimiento creado anteriormente: PROGRAM Procedimientos; PROCEDURE Titulo; BEGIN WriteLn ('Programa de Turbo Pascal'); END; BEGIN WriteLn ('Programa ejemplo del uso de procedimientos'); Titulo; {Llama al procedimiento} WriteLn; WriteLn; Titulo; {Vuelve a llamar al procedimiento} END;

T3-LP3-FISI-UJCM



PROCEDIMIENTOS Variables locales y globales En Turbo Pascal cada identificador tiene un campo de acció acción, solo dentro de éste campo es posible utilizarlo. Los ejemplos má más claros son las variables, que pueden ser globales o locales. La diferencia estriba en que una variable global puede puede ser utilizada por cualquier parte del programa, incluyendo a todos los procedimientos, procedimientos, en cambio una variable local puede ser utilizada únicamente por el procedimiento en el que esta declarada, el programa principal y los otros procedimientos la toman toman como inexistente. Ejemplo: PROGRAM Variables; VAR Hola : String; PROCEDURE prueba; VAR Adios : String; BEGIN {En esta sección si es posible usar la variable Hola} Adios := 'Adios, que les vaya bien'; WriteLn (Adios); END;

BEGIN {En esta sección no se reconoce a la variable Adios} Hola := 'Hola, bienvenidos al programa'; WriteLn (Hola); WriteLn (Adios); {Al compilar el programa se generará un error ya que la variable Adios es inexistente en esta sección, para eliminar el problema quites esta linea} prueba; END.

T3-LP3-FISI-UJCM

► ►

PROCEDIMIENTOS ►

Variables locales y globales



Es posible darle el mismo nombre a una variable local y a una global global en el mismo programa, pero entonces el procedimiento no podrá podrá utilizar la variable global ya que le da preferencia a las locales sobre las globales. Por ejemplo: PROGRAM Variables_2; VAR Saludo : String;

BEGIN Saludo := 'Primer saludo (Global)'; WriteLn (Saludo); Mensaje; WriteLn (Saludo); {Se escribirá el mensaje "Primer saludo"} END.

T3-LP3-FISI-UJCM

PROCEDURE Mensaje; VAR Saludo : String; BEGIN Saludo := 'Este mensaje solo es válido para el procedimiento "Mensaje"'; WriteLn('Saludo'); END;

PROCEDIMIENTOS ►



Pará Parámetros Para poder pasar informació información entre el programa principal y procedimientos, o entre los mismos procedimientos usamos los pará parámetros, que son los canales de comunicació comunicación de datos. Los pará parámetros son opcionales y si no se necesitan no se deben usar. Para Para utilizarlos es necesario declararlos son la siguiente sintaxis: PROCEDURE nombre (lista de pará parámetros);



La lista de pará parámetros esta compuesta de los nombres de los mismos y del tipo de datos que representan, los del mismo tipo se separan con comas "," y cada tipo diferente se separa con punto y coma ";". Ejemplo: Procedure Ejemplo(a, Ejemplo(a, b : Integer; Integer; c, d : String); String);



Para llamar a un procedimiento que utiliza pará parámetros se pueden utilizar como tales otras variables o constantes, siempre y cuando sean del mismo mismo tipo que los declarados. Ejemplo: Ejemplo(1, 2, 'Hola', 'Adios '); 'Adios');

T3-LP3-FISI-UJCM



PROCEDIMIENTOS Ejemplo de un programa con procedimiento que utiliza un pará parámetro. PROGRAM Parametros; Parametros; VAR Saludo : String; String; PROCEDURE Imprime_5 (a : String); String); VAR Contador : Integer; Integer; BEGIN FOR contador := 1 to 5 DO {Imprime 5 veces la cadena almacenada } WriteLn(a); WriteLn(a); {en la variable "a", que es la informació información} END; {que llega como pará parámetro } BEGIN Saludo := 'Bienvenidos al programa'; Imprime_5 (Saludo); {llama al procedimiento Imprime_5, usando como} {pará {parámetro la variable Saludo } Imprime_5 ('Fin'); {Utiliza la cadena "fin" como pará parámetro } END.

Es válido crear un procedimiento que llame a otro procedimiento siempre y cuando el procedimiento llamado haya sido declarado antes del que lo usará.

T3-LP3-FISI-UJCM



FUNCIONES ►

Definició Definición de las funciones



Las funciones son, al igual que los procedimientos, un conjunto de sentencias que se ejecutan constantemente, la diferencia entre éstas y los procedimientos es que las funciones regresan un valor. La declaració declaración de las funciones se realiza de la siguiente forma: FUNCTION nombre(pará nombre(parámetros) metros) : tipo_de_datos; tipo_de_datos; A continuació continuación se escribe el contenido de la funció función como una sentencia normal (sencilla o compuesta), normalmente terminando con la igualaci ón de igualació la funció función al valor que regresará regresará. Ejemplo: FUNCTION Promedio (a, b : Real) : Real; {Promedio de dos nú números reales} BEGIN Promedio := (a + b) / 2; END;

T3-LP3-FISI-UJCM



FUNCIONES ►

Uso de las funciones



Como las funciones devuelven un valor especí específico la forma má más usual de utilizarlas es por medio de asignaciones de una variable a la funció función. Ejemplo: PROGRAM Funciones; VAR X, Y, Z : Real;

BEGIN X := 5.89; Y := 9.23; Z := Promedio (X, Y); {Iguala Z al valor devuelto por la funció función Promedio} WriteLn('El WriteLn('El promedio de ',X,' y ',Y,' es: ',Z); END.

T3-LP3-FISI-UJCM

FUNCTION Promedio (a, b : Real) : Real; {Promedio de dos nú números reales} BEGIN Promedio := (a + b) / 2; END;

Related Documents

T2
August 2019 59
T2
November 2019 30
T2
October 2019 36
T2
June 2020 19
T2
May 2020 19
T2 23
September 2019 19