INFORMATICA DEL CBU Clase 8 Año 2016 PROCEDIMIENTOS.

Slides:



Advertisements
Presentaciones similares
Programación de Computadores
Advertisements

Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Estructuras de Control en Visual Basic.net
Estructuras de Decisión en Visual Basic 6.0
Unidad V: Estatutos en Basic De control o selección if. De ciclos: Do, for, while. Otros estatutos. Solución de problemas aplicando estatutos de control.
ESTRUCTURAS DE DATOS Y ALGORITMOS Samuel Peñaló
PROGRAMACIÓN I CENTRO DE ESTUDIOS INTEGRADOS EL MARISCAL - CEIM Ing. Luisa Fernanda Arenas Castañeda Feb 6 de 2016.
Asignación 6.1 Foro. Ciclos condicionales dinámicos  Estos ciclos deben ser del tipo booleano, es decir que se evaluara una expresión con un resultado.
Ciclos Condicionales Joel R. Almodóvar Rivera Tarea 6-1 PROG2310L.
Ciclos en Visual Basic Elena Lopez National University College Online Agosto 3, 2010.
Funciones en lenguaje C 2 Funciones Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad.
Introducción a la Programación Multimedial
Estructuras de Control.
Actividad #2 Los algoritmos
Introducción a la Programación Multimedial
. Primera Open Class Asignatura: Programación Estructurada Tema:
Introducción al lenguaje C Instrucción IF – ELSE y el bucle WHILE
Estructuras Repetitivas Estructuras Repetitivas
Olimpiadas Chilenas de Informática - Formación
Métodos y parámetros.
Stored Procedures Firebird.
Conceptos básicos de programación
Fundamentos de programación
Tema 2. Resolución de Problemas
Resolución de problemas y algoritmos
Estructuras de Control en Visual Basic.net
Métodos en Java.
Estructuras de Datos Recursividad.
Página Web del Lenguaje Pascal.
Estructuras de control repetitivas
Bucles y estructuras de decisión
Tema 6. Conceptos básicos de programación Clase 1
Procedimientos y Funciones
Estructuras de control en PHP
Hardware Description Language
Fundamentos de Programación. Estructuras de Control
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
Estructuras de control Resolución de problemas y algoritmos
Diego Hernández R Pascal Variables Diego Hernández R
Fundamentos de programación
Tema 6 Clasificación de algoritmos
LENGUAJE C.
Tema 9. Estructuras de repetición. Clase 2
Fundamentos de programación
Metodología de la Programación
Estructuras de Control Ciclos
INFORMATICA DEL CBU Clase 11 Año 2016 ARREGLOS.
Tema 5 Representación y Técnicas de Diseño de Algoritmos
INFORMATICA DEL CBU Clase 9 Año 2016 FUNCIONES ARREGLOS.
Estructuras de Control
Bucles y estructuras de decisión
Docente: Ing. Francisco Rodríguez
Estructuras de Control 2 Ciclos
Estructuras de Control 3 Ciclos
Estructuras de Control
MC Beatriz Beltrán Martínez Verano 2018
Informática Ingeniería en Electrónica y Automática Industrial
Diego Hernández R Pascal Variables Diego Hernández R
Procedimientos y Funciones
String, arreglos y arreglos bidimensionales
Diego Hernández R. Archivos Diego Hernández R.
String, arreglos y arreglos bidimensionales
Programación Estructurada
Procedimientos y Funciones
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Funciones Subprogramas definidos por el usuario Subprogrmas.
Tema 8. Estructuras de decisión. Clases 1 y 2.
Tema 8. Estructuras de decisión. Clases 3 y 4.
UNIDAD VII FUNCIONES (SUBPROCESOS)
Macros EN EXCEL.
Transcripción de la presentación:

INFORMATICA DEL CBU Clase 8 Año 2016 PROCEDIMIENTOS

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

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

Mg. Ing. Fátima Martínez

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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