Este documento presenta los conceptos básicos de la programación modular y los subprogramas. Explica que la programación modular divide un programa en módulos independientes que realizan tareas específicas. Luego describe los diferentes tipos de subprogramas como procedimientos, funciones y sus características como parámetros, ámbitos y la forma de invocarlos y definirlos. Finalmente, incluye ejemplos para ilustrar el uso de subprogramas.
For decades, the Functor, Monoid, and Foldable type class hierarchies have dominated functional programming. Implemented in libraries like Scalaz and Cats, these type classes have an ancient origin in Haskell, and they have repeatedly proven useful for advanced functional programmers, who use them to maximize code reuse and increase code correctness.
Yet, as these type classes have been copied into Scala and aged, there is a growing awareness of their drawbacks, ranging from being difficult to teach to weird operators that don’t make sense in Scala (ap from Applicative), to overlapping and lawless type classes (Semigroupal), to a complete inability to abstract over data types that possess related structure (such as isomorphic applicatives).
In this presentation, John A. De Goes introduces a new Scala library with a completely different factoring of functional type classes—one which throws literally everything away and starts from a clean slate. In this new factoring, type classes leverage Scala’s strengths, including variance and modularity. Pieces fit together cleanly and uniformly, and in a way that satisfies existing use cases, but enables new ones never before possible. Finally, type classes are named, organized, and described in a way that makes teaching them easier, without compromising on algebraic principles.
If you’ve ever thought functional type classes were too impractical or too confusing or too restrictive, now’s your chance to get a fresh perspective on a library that just might make understanding functional programming easier than ever before!
For decades, the Functor, Monoid, and Foldable type class hierarchies have dominated functional programming. Implemented in libraries like Scalaz and Cats, these type classes have an ancient origin in Haskell, and they have repeatedly proven useful for advanced functional programmers, who use them to maximize code reuse and increase code correctness.
Yet, as these type classes have been copied into Scala and aged, there is a growing awareness of their drawbacks, ranging from being difficult to teach to weird operators that don’t make sense in Scala (ap from Applicative), to overlapping and lawless type classes (Semigroupal), to a complete inability to abstract over data types that possess related structure (such as isomorphic applicatives).
In this presentation, John A. De Goes introduces a new Scala library with a completely different factoring of functional type classes—one which throws literally everything away and starts from a clean slate. In this new factoring, type classes leverage Scala’s strengths, including variance and modularity. Pieces fit together cleanly and uniformly, and in a way that satisfies existing use cases, but enables new ones never before possible. Finally, type classes are named, organized, and described in a way that makes teaching them easier, without compromising on algebraic principles.
If you’ve ever thought functional type classes were too impractical or too confusing or too restrictive, now’s your chance to get a fresh perspective on a library that just might make understanding functional programming easier than ever before!
PHP is an acronym for "PHP: Hypertext Preprocessor"
PHP is a widely-used, open source scripting language
PHP scripts are executed on the server
PHP is free to download and use
This tutorial on DataTypes in C will acquaint you with a clear understanding of the fundamentals of DataTypes in C and their fundamentals. In this C Tutorial for beginners, you will get a better understanding of what are datatype Literals and Variables are. we will start to learn C with an introduction to the C variables. After that, we will discuss the types of variables in detail. Then we will talk about primitive types. Then we will wind up this session with a demo on DataTypes in C and Variables. First, We will start by discussing What are variables in C data Types and Variables to learn fundamentals. Then we will discuss the types of variables in C Datatypes and Variables. here we have discussed various types like primitive types and objects. Then we will discuss primitive Types in C data Types and Variables. here we have discussed various types like signed, unsigned and floating-point. Finally, we end the session with the demo on DataTypes in C and Variables.
PHP is an acronym for "PHP: Hypertext Preprocessor"
PHP is a widely-used, open source scripting language
PHP scripts are executed on the server
PHP is free to download and use
This tutorial on DataTypes in C will acquaint you with a clear understanding of the fundamentals of DataTypes in C and their fundamentals. In this C Tutorial for beginners, you will get a better understanding of what are datatype Literals and Variables are. we will start to learn C with an introduction to the C variables. After that, we will discuss the types of variables in detail. Then we will talk about primitive types. Then we will wind up this session with a demo on DataTypes in C and Variables. First, We will start by discussing What are variables in C data Types and Variables to learn fundamentals. Then we will discuss the types of variables in C Datatypes and Variables. here we have discussed various types like primitive types and objects. Then we will discuss primitive Types in C data Types and Variables. here we have discussed various types like signed, unsigned and floating-point. Finally, we end the session with the demo on DataTypes in C and Variables.
Capitulo 06 modularidad en c++, phyton, algoritmo
Procedimiento simple
Procedimiento con argumento
Funciones
Funciones recursivas
En Pseudocódigo, C++ y Phyton
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestr
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