SlideShare una empresa de Scribd logo
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

Object oriented programming in java
Object oriented programming in javaObject oriented programming in java
Object oriented programming in java
Elizabeth alexander
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
cibernano
 
[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP
Muhammad Hammad Waseem
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
Collaboration Technologies
 
Page object with selenide
Page object with selenidePage object with selenide
Page object with selenide
COMAQA.BY
 
File in C Programming
File in C ProgrammingFile in C Programming
File in C Programming
Sonya Akter Rupa
 
Javascript and DOM
Javascript and DOMJavascript and DOM
Javascript and DOM
Brian Moschel
 
Servlets
ServletsServlets
Decision making and branching
Decision making and branchingDecision making and branching
Decision making and branching
Saranya saran
 
PHP COOKIES AND SESSIONS
PHP COOKIES AND SESSIONSPHP COOKIES AND SESSIONS
PHP COOKIES AND SESSIONS
Degu8
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
Karlytoz_36
 
An Introduction To Java Web Technology
An Introduction To Java Web TechnologyAn Introduction To Java Web Technology
An Introduction To Java Web Technologyvikram singh
 
Effective testing with pytest
Effective testing with pytestEffective testing with pytest
Effective testing with pytest
Hector Canto
 
Event handling in Java(part 1)
Event handling in Java(part 1)Event handling in Java(part 1)
Event handling in Java(part 1)
RAJITHARAMACHANDRAN1
 
polymorphism
polymorphism polymorphism
polymorphism
Imtiaz Hussain
 
Introduction to method overloading &amp; method overriding in java hdm
Introduction to method overloading &amp; method overriding  in java  hdmIntroduction to method overloading &amp; method overriding  in java  hdm
Introduction to method overloading &amp; method overriding in java hdm
Harshal Misalkar
 
Data Types In C
Data Types In CData Types In C
Data Types In C
Simplilearn
 
Threads in JAVA
Threads in JAVAThreads in JAVA
Php Unit 1
Php Unit 1Php Unit 1
Php Unit 1
team11vgnt
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)
Michelle Anne Meralpis
 

La actualidad más candente (20)

Object oriented programming in java
Object oriented programming in javaObject oriented programming in java
Object oriented programming in java
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Page object with selenide
Page object with selenidePage object with selenide
Page object with selenide
 
File in C Programming
File in C ProgrammingFile in C Programming
File in C Programming
 
Javascript and DOM
Javascript and DOMJavascript and DOM
Javascript and DOM
 
Servlets
ServletsServlets
Servlets
 
Decision making and branching
Decision making and branchingDecision making and branching
Decision making and branching
 
PHP COOKIES AND SESSIONS
PHP COOKIES AND SESSIONSPHP COOKIES AND SESSIONS
PHP COOKIES AND SESSIONS
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
An Introduction To Java Web Technology
An Introduction To Java Web TechnologyAn Introduction To Java Web Technology
An Introduction To Java Web Technology
 
Effective testing with pytest
Effective testing with pytestEffective testing with pytest
Effective testing with pytest
 
Event handling in Java(part 1)
Event handling in Java(part 1)Event handling in Java(part 1)
Event handling in Java(part 1)
 
polymorphism
polymorphism polymorphism
polymorphism
 
Introduction to method overloading &amp; method overriding in java hdm
Introduction to method overloading &amp; method overriding  in java  hdmIntroduction to method overloading &amp; method overriding  in java  hdm
Introduction to method overloading &amp; method overriding in java hdm
 
Data Types In C
Data Types In CData Types In C
Data Types In C
 
Threads in JAVA
Threads in JAVAThreads in JAVA
Threads in JAVA
 
Php Unit 1
Php Unit 1Php Unit 1
Php Unit 1
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)
 

Similar a Logica subprogramas

FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
flaquita_dany
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
flaquita_dany
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
lisbeca
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funciones
AlexanderAloid
 
Parte i curso c
Parte i curso cParte i curso c
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Cap7 2
Cap7 2Cap7 2
Presentacion
PresentacionPresentacion
Presentacion
Javier Herrera
 
Funciones
FuncionesFunciones
Funciones
diegonarvaez43
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
computaciondosunefm
 
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
Ecler Mamani Vilca
 
Funciones
FuncionesFunciones
Funciones
Giovani Ramirez
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
karlalopezbello
 
Guia programacion modular
Guia programacion modularGuia programacion modular
Guia programacion modular
Sol Hernández
 
Funciones
FuncionesFunciones
Funciones
Fernando Solis
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
LupitaOMG Garmendia
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++
GabrielFVilla15
 
Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
Richard Robalino
 

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
FuncionesFunciones
Funciones
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
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

Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientomemorales_IUE
 
Taller logica ciclos y seleccion multiple
Taller logica ciclos y seleccion multipleTaller logica ciclos y seleccion multiple
Taller logica ciclos y seleccion multiplememorales_IUE
 
Taller logica ciclo mq centinela 2013
Taller logica ciclo mq  centinela 2013Taller logica ciclo mq  centinela 2013
Taller logica ciclo mq centinela 2013memorales_IUE
 
Taller condicionales marzo22
Taller condicionales marzo22Taller condicionales marzo22
Taller condicionales marzo22memorales_IUE
 
Logica condicionales
Logica condicionalesLogica condicionales
Logica condicionalesmemorales_IUE
 
Logica tipos de datos operadores
Logica tipos de datos operadoresLogica tipos de datos operadores
Logica tipos de datos operadoresmemorales_IUE
 
Logica terminosbasicos presentacion
Logica terminosbasicos presentacionLogica terminosbasicos presentacion
Logica terminosbasicos presentacionmemorales_IUE
 
Logica consulta terminos basicos
Logica consulta terminos basicosLogica consulta terminos basicos
Logica consulta terminos basicosmemorales_IUE
 
Logica algoritmos
Logica algoritmosLogica algoritmos
Logica algoritmos
memorales_IUE
 

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

Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
nievesjiesc03
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 

Último (20)

Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 

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