Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMaría José Ortiz de Zárate Iglesias Modificado hace 7 años
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.