SlideShare una empresa de Scribd logo
1 de 18
Grupo 248
Docente: Ma. Eugenia Morales M.




                   Subprogramas
                          Programación Modular
                                  Subprogramas
                                        Ámbitos
                                     Parámetros
                  Procedimientos o subrutinas y
                 activación de un procedimiento
           Funciones y activación de una función


        Institución Universitaria de Envigado
               Facultad de Ingenierías
   Método flexible para
    mejorar           la
    productividad de los
    programas.
   En esta los programas
    se dividen en módulos
    independientes     que
    ejecutan las diferentes
    tareas del programa,
    cada     módulo      se
    codifica y procesa en
    forma independiente

Programación Modular
Subprograma 1



  Programa           Subprograma 2



                     Subprograma 3




Representación de subprogramas
 Un programa modular se compone de un
  programa principal y subprogramas. El
  programa     principal  debe    contener     Programa Principal
  operaciones     fundamentales    y   las
  llamadas a los subprogramas, este
  modulo principal controla todo lo que
  sucede, y transfiere el control a los
  diferentes módulos o subprogramas.
 Cada modulo es independiente de los                                Retorna
  otros en el sentido que ninguno puede      Invoca                     el
                                                                     control
  acceder directamente a otro.
 Un subprograma recibe datos de un
  programa y le devuelve resultados (el
  programa     “llama”   o   “invoca”   al
  subprograma, este ejecuta una tarea
  especifica y devuelve el “control” al               Subprograma
  programa que lo llamo).
                                                      Realiza procesos



Programación Modular
   Un problema complejo se puede
    dividir en pequeños subproblemas
    más sencillos: “Divide y Vencerás”.
    Estos subproblemas se conocen como
    “Módulos” y su complementación en
    un lenguaje se llama subprograma
    (procedimientos y funciones).
   Un subprograma realiza las mismas
    acciones que un programa, sin
    embargo, un subprograma lo utiliza
    solamente un programa para un
    propósito especifico.
   La mayoría de los lenguajes de
    programación        permiten      la
    programación modular y según el
    lenguaje reciben diferentes nombres:
    funciones, módulos, subrutinas,
    procedimientos.




Subprogramas
   La comunicación entre los módulos se realiza por
    medio de parámetros que contendrán los datos
    que se desean pasar al módulo llamado.
   La utilización de los subprogramas consta de tres
    etapas:

    ◦ Declaración: Proceso en el cual se especifica
      nombre del subprograma y los parámetros que
      contendrá.
    ◦ Invocación o llamada: es proceso en el cual se
      utiliza el subprograma dentro del programa.
    ◦ Definición: Proceso en el cual se escribe el
      programa

Subprogramas
   Declaración                de   los   subprogramas               a utilizar
    incluyendo la lista de parámetros. Esto sirve para indicar al compilador los
    tipos de retorno y los de los parámetros de una función, de modo que
    compruebe si son del tipo correcto cada vez que se use esta función
    dentro del programa. No requiere los identificadores de los parámetros,
    basta con el tipo de identificador, p.e.
    int Mayor (int, int);

   Programa Principal               dónde se invocan o llaman los
    subprogramas declarados, incluyendo los valores o variables para los
    parámetros, p.e.
    Llamar Mayor (a, b);

   Definición de cada subprograma                         declarado e
    invocado, incluye todo el proceso del subprograma, aquí se escriben
    completos los tipos e identificadores, así:
    Int Mayor (int a, int b)
    Inicio
      Proceso;
    Fin
Estructura de un programa con
Subprogramas
   Programa principal            Subprograma 1
    ◦ Inicio                       ◦ Inicio
       <acciones>                    <acciones>
       llamar a subprograma       ◦ Fin y Retorna a
        1                            principal
       <acciones>
                                  Subprograma2
       llamar a
        subprograma2               ◦ Inicio
       <acciones>                    <acciones>
    ◦ Fin programa_ppal            ◦ Fin y Retorna
                                     principal




Ejemplo de un programa dividido
en Subprogramas…
   Los ámbitos pueden ser:
   El ámbito de un identificador es la
    parte del programa donde se conoce          ◦ Globales: es un identificador
    al identificador, por ejemplo: En qué         declarado para el programa principal,
    ámbitos son reconocidos:                      del   cual   dependen     todos   los
    ◦   Jaime Molina                              subprogramas.      Es reconocido en
    ◦   Jonier Rendón                             cualquier parte del programa.
    ◦   La coordinadora del programa
    ◦   Ma. Eugenia Morales M.                  ◦ Locales:          Es un identificador
    ◦   Héctor Londoño                            declarado y definido dentro de un
    ◦   Sergio Fajardo                            subprograma, por lo tanto sólo es
    ◦   Juan Manuel Santos                        reconocida   dentro     de    ese
    ◦   Barack Obama                              subprograma.
    ◦   Shakira
    ◦   Sammy la mascota
                                                ◦ Bloque:           es un identificador
                                                  que se declara antes de un conjunto
                                                  de    instrucciones   y sólo     tiene
                                                  significado a partir de su declaración
                                                  y dentro del subprograma dónde ha
                                                  sido declarado.



Ámbitos de Identificadores
   Son subprogramas que toman Definición de funciones:
    uno      o     mas     valores  Tipo_retorno nombre_funcion (p1,
    (argumentos) y devuelven un      p2, …, pn)
    resultado (valor de la función    ◦ Inicio
                                          Bloque de instrucciones
    para los argumentos dados).
                                      ◦ Fin
    Por ejemplo:      F(X) = X /  Donde:
    (1+X2), donde:                    ◦ Tipo retorno: Es el tipo de dato
                                           que devolverá la función como
    ◦ F : Nombre de la función             resultado, por ejemplo, en C++
                                           si no devuelve resultado se
    ◦ X: Es el argumento (también          especifica    con     la   palabra
      conocido como parámetro              reservada void.
      formal)                            ◦ Nombre       función:      Es    el
                                           identificador con el cual se
   Nota: las funciones pueden             reconoce a la función en el
                                           cuerpo del programa.
    tener muchos argumentos, pero        ◦ P1,p2,…,pn: Es el grupo de
    solamente un resultado: el             parámetros que define a la
    valor de la función. Los               función,        no     se    pasan
                                           parámetros      se     pasan    los
    nombres    de   función   van          paréntesis vacíos ().
    asociados   al  proceso   que
    realiza.

Funciones
Int cubo (int);
Programa principal
Inicio
  Int: x;
  x = cubo (2);
  Muestre “El cubo de 2 es: “,
    x;
  x = cubo (3);
  Muestre “El cubo de 3 es: “,
    x;
Fin
Int cubo (Int: z)
Inicio
  z = z * z * z; //Retorne z * z *
      z;
Fin

Ejemplo de una función
   Es un subprograma que
    permite realizar procesos:               Ingreso_datos (string:
    toma      valores,    realiza             nom [20], prog [15]; int ed)
    cálculos y devuelve varios                 Inicio
    resultados. Por ejemplo:                    Muestre “Ingrese
                                                 nombre: “;
    Nom_Proc                   (lista           Lea nom;
                                                Muestre “ingrese edad:
     parámetros);        de dónde:               “;
                                                Lea ed;
    ◦ Nom_Proc:      es    el    nombre         Muestre “ingrese
      asignado al procedimiento.                 programa: “;
    ◦ Lista parámetros: son las                 Lea prog;
      variables,      constantes      o
      expresiones    que    pasan   del
                                              Fin
      programa         principal     al
      procedimiento y viceversa.




    Procedimientos
 Es     la    lista   de  Se clasifican en:
  argumentos que pasan
  de un subprograma a       ◦ Formales:           Se
  otro, o del programa        denominan así la lista
  principal      a     un     de          parámetros
  subprograma.                utilizados    en     la
 Los parámetros pueden       declaración        del
  pasar vacíos o pasar        subprograma.
  variables,  constantes,   ◦ Actuales:           Se
  expresiones, valores de     denominan así la lista
  funciones o nombres de      de          parámetros
                              utilizados    en     la
  funciones             o
                              llamada o invocación
  procedimientos.             del subprograma.


Parámetros
   Los parámetros pueden ser:           Los     parámetros     se    pueden
                                         pasar:
    ◦ De     entrada:          cuando      ◦ Por Valor:        Los parámetros
      comunican        valores      al          formales, reciben una copia de
      procedimiento;
                                                los parámetros actuales, por lo
    ◦ De salida:       cuando envían            tanto, los cambios que se
      valores desde el procedimiento
                                                produzcan en el subprograma
      al programa que llama;
                                                no afectan el valor de los
    ◦ De E/S:       que sirve para              parámetros actuales.
      ambos propósitos
                                           ◦ Por referencia:          Lo que se
                                                pasa al subprograma es la
                                                dirección de memoria del
                                                parámetro actual, por lo tanto
                                                puede     ser    accedido    y
                                                modificado      durante     la
                                                ejecución del subprograma.


Parámetros
//declaración      de   //Definición               de
  Procedimiento:          procedimiento:
f_suma (int, int);      Int f_suma (int: x,y)
//Programa principal    Inicio
  e invocación de la    Int: z = 0; x = 5; y = 3;
  función:                z = x + y;
Inicio                    Muestre “Suma uno es: “, z;
  Int a, b, c = 0;        Fin
  Llamar Suma (2, b);   P/E:
  c = a + b;            Suma uno es: 8
                        Suma dos es: 5
  Muestre “Suma dos
    es: “, c;
Fin

Ejemplo: paso de parámetros por
Valor
 Ejemplo de paso de
  parámetros        por    //Definición               de
  referencia:                procedimiento:
//declaración        de    Int f_suma (int: x,y)
  Procedimiento:           Inicio
f_suma (int, int);
                              Int: z = 0; x = 5; y = 3;
//Programa
                                   z = x + y;
  principal            e
                             Muestre “Suma uno es: “,
  invocación de la
                             z;
  función:
Inicio                       Fin
   Int a, b, c = 0;        P/E:
   Llamar Suma (a, b);     Suma uno es: 8
   c = a + b;              Suma dos es: 8
   Muestre “Suma dos
     es: “, c;
Fin
Ejemplo: paso de parámetros por
Referencia
   Ingresar un número e imprimir su potencia, leída por el usuario.
   Elaborar un programa que de acuerdo a un año dado calcule si es bisiesto o
    no.
   Dado el lado de un cuadrado calcular e imprimir su área.
   Ingresar edad de tres personas e imprimir el promedio.
   Ingresar referencia, valor de un artículo y de acuerdo a la cantidad comprada,
    mostrar el valor a pagar incluyendo el IVA del 16%.
   Suponga que un individuo desea invertir su capital en un banco y desea saber
    cuánto dinero ganara después de un mes si el banco paga a razón de 2%
    mensual.
   Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus
    ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de
    comisiones por las tres ventas que realiza en el mes y el total que recibirá en
    el mes tomando en cuenta su sueldo base y comisiones.
   Una tienda ofrece un descuento del 15% sobre el total de la compra y un
    cliente desea saber cuanto deberá pagar finalmente por su compra.
   Dada una cantidad en pesos, obtener la equivalencia en dólares.
   Dada una cantidad en Euros, obtener el valor en pesos y en dólares.



Ejercicios con Subprogramas -1
   Un alumno desea saber cuál será su calificación final en la materia de Algoritmos.
    Dicha calificación se compone de los siguientes porcentajes:
        50% del promedio de sus tres calificaciones parciales.
        25% de la calificación del examen final.
        25% de la calificación de un trabajo final.
   Calcular el número de pulsaciones que una persona debe tener por cada 10
    segundos de ejercicio, si la fórmula es: num. pulsaciones = (220 - edad)/10
   Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su
    salario anterior.
   El dueño de una tienda compra un artículo a un precio determinado. Obtener el
    precio en que lo debe vender para obtener una ganancia del 30%.
   Una persona sale de su casa a hacer un viaje en auto, hasta una ciudad distante a
    80 kilómetros y regresa después de cinco horas, ¿Cual fue su velocidad si no se
    detuvo?
   Se leen los catetos de un triángulo rectángulo y hallar el valor de la hipotenusa H =
    (a^2 + b^2)^(1/2).
   Realice un procedimiento que permita intercambiar el valor de dos variables
   Leer una cantidad que represente un valor en pulgadas y hallar su equivalente en
    centímetros.
   Determine la media de una lista de 10 medidas leídas.



Ejercicios con subprogramas -2

Más contenido relacionado

La actualidad más candente

Administración de proyectos
Administración de proyectosAdministración de proyectos
Administración de proyectos
admonapuntes
 
Guia 2 extracion liquido - liquido
Guia 2   extracion liquido - liquidoGuia 2   extracion liquido - liquido
Guia 2 extracion liquido - liquido
juan larreal
 
Proyecto Taller de Investigación II
Proyecto Taller de Investigación IIProyecto Taller de Investigación II
Proyecto Taller de Investigación II
Isai Pantoja Roque
 
Introducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
Introducción a los Procesos Estocásticos y sus Aplicaciones en la ActuaríaIntroducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
Introducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
EmmanuelRuizG
 
Xpo secuenciacion de trabajos
Xpo secuenciacion de trabajosXpo secuenciacion de trabajos
Xpo secuenciacion de trabajos
Diann Aguilar
 

La actualidad más candente (20)

Administración de proyectos
Administración de proyectosAdministración de proyectos
Administración de proyectos
 
Guia 2 extracion liquido - liquido
Guia 2   extracion liquido - liquidoGuia 2   extracion liquido - liquido
Guia 2 extracion liquido - liquido
 
Io 4ta pert cpm ejercicio resuelto
Io 4ta pert cpm ejercicio resueltoIo 4ta pert cpm ejercicio resuelto
Io 4ta pert cpm ejercicio resuelto
 
Triple efecto
Triple efectoTriple efecto
Triple efecto
 
61568111 operacion-absorcion
61568111 operacion-absorcion61568111 operacion-absorcion
61568111 operacion-absorcion
 
Proyecto fin de carrera: Diseño y simulación del proceso de destilación multi...
Proyecto fin de carrera: Diseño y simulación del proceso de destilación multi...Proyecto fin de carrera: Diseño y simulación del proceso de destilación multi...
Proyecto fin de carrera: Diseño y simulación del proceso de destilación multi...
 
Fundamentos de programación: Subprogramas
Fundamentos de programación: SubprogramasFundamentos de programación: Subprogramas
Fundamentos de programación: Subprogramas
 
Secado de bandejas
Secado de bandejasSecado de bandejas
Secado de bandejas
 
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
 
Mano de obra directa
Mano de obra directaMano de obra directa
Mano de obra directa
 
Conveccion forzada
Conveccion forzadaConveccion forzada
Conveccion forzada
 
Proyecto Taller de Investigación II
Proyecto Taller de Investigación IIProyecto Taller de Investigación II
Proyecto Taller de Investigación II
 
Unidades Dañadas
Unidades DañadasUnidades Dañadas
Unidades Dañadas
 
Ejercicio pert cpm_1
Ejercicio pert cpm_1Ejercicio pert cpm_1
Ejercicio pert cpm_1
 
Tasa de interes nominal y efectivo
Tasa de interes nominal y efectivoTasa de interes nominal y efectivo
Tasa de interes nominal y efectivo
 
Introducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
Introducción a los Procesos Estocásticos y sus Aplicaciones en la ActuaríaIntroducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
Introducción a los Procesos Estocásticos y sus Aplicaciones en la Actuaría
 
Extraccion liquido liquido
Extraccion liquido liquidoExtraccion liquido liquido
Extraccion liquido liquido
 
Gestion ambiental
Gestion ambientalGestion ambiental
Gestion ambiental
 
Xpo secuenciacion de trabajos
Xpo secuenciacion de trabajosXpo secuenciacion de trabajos
Xpo secuenciacion de trabajos
 
Costo capitalizado
Costo capitalizadoCosto capitalizado
Costo capitalizado
 

Similar a Logica subprogramas

Similar a Logica subprogramas (20)

FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funciones
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Cap7 2
Cap7 2Cap7 2
Cap7 2
 
Presentacion
PresentacionPresentacion
Presentacion
 
Funciones
FuncionesFunciones
Funciones
 
Presentacion capitulo 6
Presentacion capitulo 6Presentacion capitulo 6
Presentacion capitulo 6
 
8448148681
84481486818448148681
8448148681
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv
 
Funciones
FuncionesFunciones
Funciones
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
 
Guia programacion modular
Guia programacion modularGuia programacion modular
Guia programacion modular
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Funciones
FuncionesFunciones
Funciones
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++
 
Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
 

Más de memorales_IUE (13)

Arreglos busquedas
Arreglos busquedasArreglos busquedas
Arreglos busquedas
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Arreglos
ArreglosArreglos
Arreglos
 
Taller logica ciclos y seleccion multiple
Taller logica ciclos y seleccion multipleTaller logica ciclos y seleccion multiple
Taller logica ciclos y seleccion multiple
 
Taller logica ciclo mq centinela 2013
Taller logica ciclo mq  centinela 2013Taller logica ciclo mq  centinela 2013
Taller logica ciclo mq centinela 2013
 
Ciclos
CiclosCiclos
Ciclos
 
Taller condicionales marzo22
Taller condicionales marzo22Taller condicionales marzo22
Taller condicionales marzo22
 
Logica condicionales
Logica condicionalesLogica condicionales
Logica condicionales
 
Logica tipos de datos operadores
Logica tipos de datos operadoresLogica tipos de datos operadores
Logica tipos de datos operadores
 
Logica terminosbasicos presentacion
Logica terminosbasicos presentacionLogica terminosbasicos presentacion
Logica terminosbasicos presentacion
 
Logica consulta terminos basicos
Logica consulta terminos basicosLogica consulta terminos basicos
Logica consulta terminos basicos
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Logica algoritmos
Logica algoritmosLogica algoritmos
Logica algoritmos
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
EduardoJosVargasCama1
 

Último (20)

Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 

Logica subprogramas

  • 1. Grupo 248 Docente: Ma. Eugenia Morales M. Subprogramas Programación Modular Subprogramas Ámbitos Parámetros Procedimientos o subrutinas y activación de un procedimiento Funciones y activación de una función Institución Universitaria de Envigado Facultad de Ingenierías
  • 2. Método flexible para mejorar la productividad de los programas.  En esta los programas se dividen en módulos independientes que ejecutan las diferentes tareas del programa, cada módulo se codifica y procesa en forma independiente Programación Modular
  • 3. Subprograma 1 Programa Subprograma 2 Subprograma 3 Representación de subprogramas
  • 4.  Un programa modular se compone de un programa principal y subprogramas. El programa principal debe contener Programa Principal operaciones fundamentales y las llamadas a los subprogramas, este modulo principal controla todo lo que sucede, y transfiere el control a los diferentes módulos o subprogramas.  Cada modulo es independiente de los Retorna otros en el sentido que ninguno puede Invoca el control acceder directamente a otro.  Un subprograma recibe datos de un programa y le devuelve resultados (el programa “llama” o “invoca” al subprograma, este ejecuta una tarea especifica y devuelve el “control” al Subprograma programa que lo llamo). Realiza procesos Programación Modular
  • 5. Un problema complejo se puede dividir en pequeños subproblemas más sencillos: “Divide y Vencerás”. Estos subproblemas se conocen como “Módulos” y su complementación en un lenguaje se llama subprograma (procedimientos y funciones).  Un subprograma realiza las mismas acciones que un programa, sin embargo, un subprograma lo utiliza solamente un programa para un propósito especifico.  La mayoría de los lenguajes de programación permiten la programación modular y según el lenguaje reciben diferentes nombres: funciones, módulos, subrutinas, procedimientos. Subprogramas
  • 6. La comunicación entre los módulos se realiza por medio de parámetros que contendrán los datos que se desean pasar al módulo llamado.  La utilización de los subprogramas consta de tres etapas: ◦ Declaración: Proceso en el cual se especifica nombre del subprograma y los parámetros que contendrá. ◦ Invocación o llamada: es proceso en el cual se utiliza el subprograma dentro del programa. ◦ Definición: Proceso en el cual se escribe el programa Subprogramas
  • 7. Declaración de los subprogramas a utilizar incluyendo la lista de parámetros. Esto sirve para indicar al compilador los tipos de retorno y los de los parámetros de una función, de modo que compruebe si son del tipo correcto cada vez que se use esta función dentro del programa. No requiere los identificadores de los parámetros, basta con el tipo de identificador, p.e. int Mayor (int, int);  Programa Principal dónde se invocan o llaman los subprogramas declarados, incluyendo los valores o variables para los parámetros, p.e. Llamar Mayor (a, b);  Definición de cada subprograma declarado e invocado, incluye todo el proceso del subprograma, aquí se escriben completos los tipos e identificadores, así: Int Mayor (int a, int b) Inicio Proceso; Fin Estructura de un programa con Subprogramas
  • 8. Programa principal  Subprograma 1 ◦ Inicio ◦ Inicio  <acciones>  <acciones>  llamar a subprograma ◦ Fin y Retorna a 1 principal  <acciones>  Subprograma2  llamar a subprograma2 ◦ Inicio  <acciones>  <acciones> ◦ Fin programa_ppal ◦ Fin y Retorna principal Ejemplo de un programa dividido en Subprogramas…
  • 9. Los ámbitos pueden ser:  El ámbito de un identificador es la parte del programa donde se conoce ◦ Globales: es un identificador al identificador, por ejemplo: En qué declarado para el programa principal, ámbitos son reconocidos: del cual dependen todos los ◦ Jaime Molina subprogramas. Es reconocido en ◦ Jonier Rendón cualquier parte del programa. ◦ La coordinadora del programa ◦ Ma. Eugenia Morales M. ◦ Locales: Es un identificador ◦ Héctor Londoño declarado y definido dentro de un ◦ Sergio Fajardo subprograma, por lo tanto sólo es ◦ Juan Manuel Santos reconocida dentro de ese ◦ Barack Obama subprograma. ◦ Shakira ◦ Sammy la mascota ◦ Bloque: es un identificador que se declara antes de un conjunto de instrucciones y sólo tiene significado a partir de su declaración y dentro del subprograma dónde ha sido declarado. Ámbitos de Identificadores
  • 10. Son subprogramas que toman Definición de funciones: uno o mas valores  Tipo_retorno nombre_funcion (p1, (argumentos) y devuelven un p2, …, pn) resultado (valor de la función ◦ Inicio  Bloque de instrucciones para los argumentos dados). ◦ Fin Por ejemplo: F(X) = X /  Donde: (1+X2), donde: ◦ Tipo retorno: Es el tipo de dato que devolverá la función como ◦ F : Nombre de la función resultado, por ejemplo, en C++ si no devuelve resultado se ◦ X: Es el argumento (también especifica con la palabra conocido como parámetro reservada void. formal) ◦ Nombre función: Es el identificador con el cual se  Nota: las funciones pueden reconoce a la función en el cuerpo del programa. tener muchos argumentos, pero ◦ P1,p2,…,pn: Es el grupo de solamente un resultado: el parámetros que define a la valor de la función. Los función, no se pasan parámetros se pasan los nombres de función van paréntesis vacíos (). asociados al proceso que realiza. Funciones
  • 11. Int cubo (int); Programa principal Inicio Int: x; x = cubo (2); Muestre “El cubo de 2 es: “, x; x = cubo (3); Muestre “El cubo de 3 es: “, x; Fin Int cubo (Int: z) Inicio z = z * z * z; //Retorne z * z * z; Fin Ejemplo de una función
  • 12. Es un subprograma que permite realizar procesos:  Ingreso_datos (string: toma valores, realiza nom [20], prog [15]; int ed) cálculos y devuelve varios Inicio resultados. Por ejemplo: Muestre “Ingrese nombre: “; Nom_Proc (lista Lea nom; Muestre “ingrese edad: parámetros); de dónde: “; Lea ed; ◦ Nom_Proc: es el nombre Muestre “ingrese asignado al procedimiento. programa: “; ◦ Lista parámetros: son las Lea prog; variables, constantes o expresiones que pasan del Fin programa principal al procedimiento y viceversa. Procedimientos
  • 13.  Es la lista de  Se clasifican en: argumentos que pasan de un subprograma a ◦ Formales: Se otro, o del programa denominan así la lista principal a un de parámetros subprograma. utilizados en la  Los parámetros pueden declaración del pasar vacíos o pasar subprograma. variables, constantes, ◦ Actuales: Se expresiones, valores de denominan así la lista funciones o nombres de de parámetros utilizados en la funciones o llamada o invocación procedimientos. del subprograma. Parámetros
  • 14. Los parámetros pueden ser: Los parámetros se pueden pasar: ◦ De entrada: cuando ◦ Por Valor: Los parámetros comunican valores al formales, reciben una copia de procedimiento; los parámetros actuales, por lo ◦ De salida: cuando envían tanto, los cambios que se valores desde el procedimiento produzcan en el subprograma al programa que llama; no afectan el valor de los ◦ De E/S: que sirve para parámetros actuales. ambos propósitos ◦ Por referencia: Lo que se pasa al subprograma es la dirección de memoria del parámetro actual, por lo tanto puede ser accedido y modificado durante la ejecución del subprograma. Parámetros
  • 15. //declaración de //Definición de Procedimiento: procedimiento: f_suma (int, int); Int f_suma (int: x,y) //Programa principal Inicio e invocación de la Int: z = 0; x = 5; y = 3; función: z = x + y; Inicio Muestre “Suma uno es: “, z; Int a, b, c = 0; Fin Llamar Suma (2, b); P/E: c = a + b; Suma uno es: 8 Suma dos es: 5 Muestre “Suma dos es: “, c; Fin Ejemplo: paso de parámetros por Valor
  • 16.  Ejemplo de paso de parámetros por //Definición de referencia: procedimiento: //declaración de Int f_suma (int: x,y) Procedimiento: Inicio f_suma (int, int); Int: z = 0; x = 5; y = 3; //Programa z = x + y; principal e Muestre “Suma uno es: “, invocación de la z; función: Inicio Fin Int a, b, c = 0; P/E: Llamar Suma (a, b); Suma uno es: 8 c = a + b; Suma dos es: 8 Muestre “Suma dos es: “, c; Fin Ejemplo: paso de parámetros por Referencia
  • 17. Ingresar un número e imprimir su potencia, leída por el usuario.  Elaborar un programa que de acuerdo a un año dado calcule si es bisiesto o no.  Dado el lado de un cuadrado calcular e imprimir su área.  Ingresar edad de tres personas e imprimir el promedio.  Ingresar referencia, valor de un artículo y de acuerdo a la cantidad comprada, mostrar el valor a pagar incluyendo el IVA del 16%.  Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto dinero ganara después de un mes si el banco paga a razón de 2% mensual.  Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.  Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra.  Dada una cantidad en pesos, obtener la equivalencia en dólares.  Dada una cantidad en Euros, obtener el valor en pesos y en dólares. Ejercicios con Subprogramas -1
  • 18. Un alumno desea saber cuál será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes:  50% del promedio de sus tres calificaciones parciales.  25% de la calificación del examen final.  25% de la calificación de un trabajo final.  Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la fórmula es: num. pulsaciones = (220 - edad)/10  Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.  El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.  Una persona sale de su casa a hacer un viaje en auto, hasta una ciudad distante a 80 kilómetros y regresa después de cinco horas, ¿Cual fue su velocidad si no se detuvo?  Se leen los catetos de un triángulo rectángulo y hallar el valor de la hipotenusa H = (a^2 + b^2)^(1/2).  Realice un procedimiento que permita intercambiar el valor de dos variables  Leer una cantidad que represente un valor en pulgadas y hallar su equivalente en centímetros.  Determine la media de una lista de 10 medidas leídas. Ejercicios con subprogramas -2