La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

INFORMATICA DEL CBU Clase 8 Año 2016 PROCEDIMIENTOS.

Presentaciones similares


Presentación del tema: "INFORMATICA DEL CBU Clase 8 Año 2016 PROCEDIMIENTOS."— Transcripción de la presentación:

1 INFORMATICA DEL CBU Clase 8 Año 2016 PROCEDIMIENTOS

2 PRIMERA PARTE ESTRUCTURAS de DECISION: ESTRUCUTURAS DE REPETICIÓN:
IF THEN ELSE CASE OF ESTRUCUTURAS DE REPETICIÓN: WHILE….DO REPEAT….UNTIL FOR Mg. Ing. Fátima Martínez

3 Estructura de Decisión. IF THEN ELSE
if (Condición) then begin Acción afirmativa; end else Acción negativa; end; Si (Condición) Entonces comienzo Acción afirmativa Fin Sino Acción negativa Mg. Ing. Fátima Martínez

4 Mg. Ing. Fátima Martínez

5 Estructura de Decisión. CASE OF
CASE expresión OF lista de rótulos 1: sentencias 1; lista de rótulos 2: sentencias 2; lista de rótulos 3: sentencias 3; lista de rótulos n: sentencias n; END; Mg. Ing. Fátima Martínez

6 CASE OF. Diagrama de flujo
Mg. Ing. Fátima Martínez

7 Ejemplo CASE readln(Nota); CASE Nota of
1, 2, 3: writeln('Insuficiente'); 4, 5 : writeln(‘Suficiente'); 6, 7: writeln(‘Bueno'); 8, 9: writeln(‘Distinguido'); 10: writeln(‘Sobresaliente'); END; Mg. Ing. Fátima Martínez

8 readln(opcion); CASE opcion of 1: Begin instrucciones; End; 2: Begin
Mg. Ing. Fátima Martínez

9 Problema 1: Escribir una programa que contenga el siguiente menú:
conversión de dólares a pesos. conversión de libras a kilogramos. conversión de kilómetros a millas. fin de menú. seleccionar opción. Mg. Ing. Fátima Martínez

10 Diagrama de flujo de CASE
Eje_CASE Mg. Ing. Fátima Martínez

11 Estructuras de Repetición. Bloque FOR
For Contador := ValorMayor DownTo ValorMenor Do Begin Instrucciones ejecutables; End; For Contador := ValorInicial TO ValorFinal Do Begin Instrucciones ejecutables; End; Mg. Ing. Fátima Martínez

12 Ejemplo: Sumar los primeros 10 números consecutivos
uses crt; BEGIN (* main o principal*) Suma := 0; For Contador := 1 To 10 do begin Suma := Suma + Contador; end; writeln (‘La suma es = ’, Suma); END. Mg. Ing. Fátima Martínez

13 Ejemplo For Presenta los primeros 20 números de la serie de Fibonacci.
Utiliza la Estructura de Control: For Programa Fibo Mg. Ing. Fátima Martínez

14 REPEAT UNTIL REPEAT UNTIL (condición) Acciones;
Mg. Ing. Fátima Martínez

15 WHILE DO WHILE (condición) Do Begin end; Acciones;
Mg. Ing. Fátima Martínez

16 MIENTRAS REPETIR HASTA Mg. Ing. Fátima Martínez

17 SEGUNDA PARTE SOLUCIÓN DEL PROBLEMA TÉCNICA Divide y Conquistarás
ANALISIS DEL PROBLEMA MODULARIZACIÓN Los subprogramas Procedimientos Llamadas a procedimientos LOS PARÁMETROS Pasar parámetros Por valor. Por referencia. Mg. Ing. Fátima Martínez

18 La solución del problema
Dividir el problema en subproblemas más sencillos de resolver. Refinamiento paso a paso o sucesivos: proceso para descomponer el problema principal en etapas o subproblemas más sencillos. Método denominado diseño descendente (Top Down). Mg. Ing. Fátima Martínez

19 DIVIDE & CONQUER (Divide y Conquistarás)
Técnica que permite resolver un problema descomponiéndolo en problemas parciales. Mediante la combinación parcial de las soluciones de sus subproblemas. Los subproblemas deben ser independientes entre si para conseguir un resultado eficiente. Mg. Ing. Fátima Martínez

20 DIVIDE & CONQUER PROBLEMA PROBLEMA 2 PROBLEMA 1 PROBLEMA 3
Mg. Ing. Fátima Martínez

21 DIVIDE & CONQUER PROBLEMA 1 PROBLEMA 1.2 PROBLEMA 1.1 PROBLEMA 1.3
Mg. Ing. Fátima Martínez

22 Análisis del problema El cálculo del área del rectángulo:
Entrada de datos (altura, base). Proceso el cálculo del área = base x altura. Salida de datos (base, altura, área). Mg. Ing. Fátima Martínez

23 23

24 METODO TOP DOWN Descomposición de un programa en subprogramas concisos e individuales. Cada parte representa una parte bien definida del problema total. El Subprograma puede ser definido una vez y llamado luego desde varios puntos diferentes del programa. Cada vez que el subprograma sea invocado podrá procesar u conjunto diferente de datos. Mg. Ing. Fátima Martínez

25 SUBPROGRAMAS Porción del código dentro de un programa más grande.
Rutinas o conjuntos de instrucciones que realizan una labor específica. Pueden ser invocados, llamados, desde cualquier punto del programa principal, más de una vez. Se les puede proporcionarles información (datos) a través de parámetros. Esa información va a ser procesada dentro del subprograma. Si ese proceso genera otra información, ésta puede ser devuelta al punto desde donde se invocó el módulo y el programa continuará ejecutándose desde ese punto. Mg. Ing. Fátima Martínez

26 VENTAJAS Ahorra tiempo de desarrollo.
Disminuye el tamaño de los programas. Aumenta la claridad en la lectura de los programas. Disminuye la posibilidad de error. Facilita la reutilización del código en otros programas. Mg. Ing. Fátima Martínez

27 Procedimientos Se los invoca mediante un nombre de procedimiento seguido de una lista (opcional) de parámetros. Al invocar al procedimiento se puede transferir cualquier número de datos o ninguno. No devuelven un valor cuando devuelven el control. Se suelen utilizar para recibir o procesar entradas, mostrar salidas. Mg. Ing. Fátima Martínez

28 Procedimientos Se ejecutan las instrucciones entre las sentencias: Begin y End; El control no vuelve al programa de llamada hasta que se ejecuta una instrucción End; Los parámetros: pueden representar información que se proporciona al procedimiento. bajos ciertas condiciones, información devuelta por el procedimiento Mg. Ing. Fátima Martínez

29 Palabra clave PROCEDURE
PROCEDURE nombre ([parámetros formales]); Bloque Declarativo Begin Bloque de Instrucciones End; Mg. Ing. Fátima Martínez

30 Problema. Determine el Mayor
Mg. Ing. Fátima Martínez

31 Ejemplo de PROCEDURE Program Mayor; uses crt;
(* *) Procedure Maximo(A,B,C: integer); var Max: integer; Begin If (A>B) and (A>C) then Max := A; if (B>A) and (B>C) then Max := B; if (C>A) and (C>B) then Max := C; writeln('El mayor es ', Max); End; Mg. Ing. Fátima Martínez

32 Llamadas a Procedimiento
Se escribe el nombre del procedimiento en el lugar donde queremos que se ejecute. Si el procedimiento contiene parámetros, éstos deberán ser pasados entre paréntesis. Mg. Ing. Fátima Martínez 32

33 Llamadas a Procedimiento
(* *) var a, b, c: integer; Begin (*Bloque principal*) clrscr; repeat write ('Ingrese 3 enteros. Para terminar ingrese 0'); readln(a, b, c); Maximo(a, b, c); (*Llamada a procedimiento*) until ((a=0) and (b=0) and (c=0)); End. Mayor Mg. Ing. Fátima Martínez

34 Parámetros formales y actuales
Permiten intercambiar información entre un procedimiento y su punto de referencia. Los datos que se transfieren pueden ser variables, constantes y expresiones. Cada dato se transfiere entre un parámetro actual y un parámetro formal. Parámetros formales: en la cabecera del procedimiento. Valores que el procedimiento espera que se transfiera. Parámetros actuales: en el punto de invocación. Mg. Ing. Fátima Martínez 34

35 Declaración de parámetros
Se declaran igual que las variables especificando: un nombre, un tipo de datos y un mecanismo para pasar parámetros (por valor o por referencia). Mg. Ing. Fátima Martínez 35

36 Parámetros formales Si la cantidad de parámetros formales es numerosa, puede recurrirse a la sintaxis clásica de un bloque declarativo: Procedure Nombre ( Parámetro1 : tipo1; Parámetro2 : tipo2; Parámetron : tipo_n ) Mg. Ing. Fátima Martínez

37 Muy importante Los parámetros actuales (desde la invocación) deben corresponderse… En cantidad. En tipo En orden Con los parámetros formales que espera la declarativa formal del subprograma. Mg. Ing. Fátima Martínez

38 Identificadores locales
Dentro del procedimiento puede haber un bloque de identificadores que requiera el subprograma para su funcionamiento.   const var Estos identificadores y los parámetros formales, se denominan identificadores locales. Tienen vida mientras el procedimiento se halle en ejecución. Mg. Ing. Fátima Martínez

39 Parámetros por Valor Se denominan también parámetros de entrada.
Actúan como una copia de aquél que es enviado desde el punto de invocación. Cualquier cambio realizado en el procedimiento no afecta a la variable original. Mg. Ing. Fátima Martínez

40 Parámetros por Referencia
Los parámetros formales reciben las direcciones de memoria que referencian a los valores de los parámetros actuales. No es una copia sino el original. Cualquier cambio dentro de la rutina afecta la variable original. En la sintaxis el identificador va precedido de la palabra reservada var. Mg. Ing. Fátima Martínez

41 Ejemplo de parámetros por referencia
Program Uso_Parametro_Referencia ; uses crt; (* *) Procedure Suma(x,y:integer; Var Result:integer); begin Result:=x+y; end; (* * ) Mg. Ing. Fátima Martínez

42 Ejemplo var a,b,R: integer; (*--------------------------------------*)
Begin (*--- Main ----*) clrscr; a:=10; b:=4; Suma(a,b,R); (*Invoca al proced.*) writeln('a+b=',R); readkey; End. Mg. Ing. Fátima Martínez

43 IMPORTANTE Un procedimiento puede o no devolver un valor al punto desde donde fue invocado (bloque principal u otro subprograma). Si devuelve un valor, el parámetro que devuelva esa información deberá ser pasado por referencia. Mg. Ing. Fátima Martínez

44 Más de un parámetro de retorno
PROGRAM Inverso_Opuesto; uses crt; (* *) PROCEDURE Inv_Op (x:integer; var Inv: single; var Op:integer); begin if x<>0 then begin Inv:=1/x; Op:=-x; end else begin writeln('Cero no tiene inverso. El puesto es 0'); end; End; (* Principal *) Inv_Op(N,I,O); writeln('N= ', N, ' Su inverso ',I:2:2, ' Su Opuesto ', O); InversOp Mg. Ing. Fátima Martínez

45 TERCERA PARTE Variable especial: Bandera
Generación de números aleatorios. Randomize Función Random() Variable especial: Bandera Mg. Ing. Fátima Martínez

46 Randomize, Random N := random(Valor) Aleatorios Capicua
Función Random() un Generador de números aleatorios. Randomize: REINICIALIZA el secuenciador para que siempre arranque de valores diferentes y NO REPITA siempre la misma serie aleatoria. N := random(Valor) Aleatorios El valor aleatorio que se genera está comprendido entre 0 y Valor – 1 n:=100 + random(101) Números entre 100 y 200 n:=500 – random(51) Números entre 500 y 450 Capicua Mg. Ing. Fátima Martínez

47 Bandera En programación, hace referencia a una variable interruptor.
También denominada interruptor o conmutador es una variable que puede tomar uno de dos valores: verdadero o falso. Permite comunicar información de una parte a otra del programa. Bandera Mg. Ing. Fátima Martínez


Descargar ppt "INFORMATICA DEL CBU Clase 8 Año 2016 PROCEDIMIENTOS."

Presentaciones similares


Anuncios Google