Programación
Clase 17. Módulos en C++ (2)
Prof. Gonzalo Müller [email protected]
Facultad de Ingeniería
Programación
Clase Anterior
Datos Agrupados de Diferentes Tipos → Estructura UML Estructura en C++:1º Se debe definir la estructura: struct
Nombre de la estructura. Nombre de la estructura.
Tipos de variables contenidas.
Nombres de las variables contenidas.
Antes de las declaraciones de módulos y de variables
Clase Anterior
Manejo de una variable estructura:Campos de una estructura.
Operador miembro . .
Asignación de una variable estructura.
Módulos con estructuras: Módulos con estructuras:Estructura como parámetro.
Estructura como retorno.
Programación Modular
Acoplamiento de datos Estándar → Parámetros:Datos que permiten la comunicación con el módulo.
Parámetros de Entrada: datos únicamente de entrada al módulo. Subrutinas. Módulo … Parámetro1 Subrutinas. Funciones.
Parámetros de Retorno o Salida o Modificables: datos retornados por el módulo.
Solo Subrutinas.
…
ParámetroK
Subrutina
Programación Modular
Módulo
Parámetros
de Entrada
Salidas
Parámetros de Retorno
Valores utilizados dentro del algoritmode Entrada
Salidas
Retorno
Valor utilizado dentro del algoritmo
Valor utilizado fuera del algoritmo
Programación Modular
Subrutina Parámetros
de Entrada Valor utilizado fuera del algoritmoSalidas
Varios Resultados
Valores utilizados dentro del algoritmo
Función Parámetros
de Entrada
Parámetros de Entrada
Parámetros de entrada → Parámetro por valor
Los parámetros por valor constituyen valores de
entrada al módulo. El valor del argumento utilizado
en la llamada del módulo es asignado al parámetro
de éste, es decir el parámetro recibe una copia del
de éste, es decir el parámetro recibe una copia del
argumento.
Parámetros de Entrada
Parámetros de entrada → Parámetro por valor
Los parámetros por valor constituyen valores de
entrada al módulo. El valor del argumento utilizado
en la llamada del módulo es asignado al parámetro
de éste, es decir el parámetro recibe una copia del
de éste, es decir el parámetro recibe una copia del
argumento.
Parámetros de Entrada
Parámetros de entrada → Parámetro por valor
Los parámetros por valor constituyen valores de
entrada al módulo. El valor del argumento utilizado
en la llamada del módulo es asignado al parámetro
de éste, es decir el parámetro recibe una copia del
de éste, es decir el parámetro recibe una copia del
argumento.
Módulo
A
A = 2
Parámetros de Entrada
Parámetros de entrada → Parámetro por valor
Los parámetros por valor constituyen valores de
entrada al módulo. El valor del argumento utilizado
en la llamada del módulo es asignado al parámetro
de éste, es decir el parámetro recibe una copia del
de éste, es decir el parámetro recibe una copia del
argumento.
Módulo
A
B=2
A = 2
B: parámetroParámetros de Entrada en C
Declaración y Definición
Se indica el tipo y el nombre del parámetro por valor:
… nombre(
tipo
parámetro1,tipo
parámetro2, …)Llamada
… nombre(argumento1, argumento2, …)
Parámetros de Entrada en C
Los parámetros de entrada es como se ha venido trabajando hasta ahora se ha venido trabajando hasta ahora con los parámetros en los módulos
Parámetros de Entrada en C
Ejemplo:
double cubo(double numero) {
return numero*numero*numero; }
Parámetro por valor
Parámetro por valor
cubo
numero
numero3
void escribeResultado(double resultado) {
printf("Cubo: %lf", resultado);
Parámetros de Entrada en C
Ejemplo:
main() {
double digito, resultado;
… resultado = cubo(digito); Argumento Variable resultado = cubo(digito); … resultado = cubo(3.0); … resultado = cubo(digito + 3.0); … } Argumento Constante Argumento Expresión Reutilización del
Parámetros de Entrada en C
Ejemplo: … resultado = cubo(3.0) … numero = 3.0 Llamada 1Asigna el valor del argumento (3.0) al parámetro (numero)
double cubo(double numero) {
return numero*numero*numero; }
numero = 3.0 (3.0) al parámetro (numero) antes de continuar la ejecución
Parámetros de Entrada en C
Ejemplo: … resultado = cubo(3.0) … numero = 3.0 2double cubo(double numero) { return numero*numero*numero; } numero = 3.0 Continua la ejecución el módulo correspondiente
Parámetros de Entrada en C
Ejemplo: … resultado = cubo(3.0) … numero = 3.0double cubo(double numero) {
return numero*numero*numero; }
numero = 3.0
Parámetros de Entrada en C
Ejemplo: … resultado = cubo(3.0) … numero = 3.0 27.0 Retorno 4 Regresa y continua ladouble cubo(double numero) { return numero*numero*numero; } numero = 3.0 27.0 3.0*3.0*3.0 Regresa y continua la ejecución del algoritmo
Parámetros de Entrada en C
Ejemplo: … resultado = cubo(3.0) … numero = 3.0 27.0 Retorno 4 Regresa y continua la resultado = 27.0double cubo(double numero) { return numero*numero*numero; } numero = 3.0 27.0 3.0*3.0*3.0 Regresa y continua la ejecución del algoritmo
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito) … numero = 4.0 Llamada 1Asigna el valor del argumento (4.0) al parámetro (numero)
double cubo(double numero) {
return numero*numero*numero; }
numero = 4.0 (4.0) al parámetro (numero) antes de continuar la ejecución
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito) … numero = 4.0 2double cubo(double numero) { return numero*numero*numero; } numero = 4.0 Continua la ejecución el módulo correspondiente
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito) … numero = 4.0double cubo(double numero) {
return numero*numero*numero; }
numero = 4.0
4.0*4.0*4.0 3 Operaciones
Se ejecutan todas las sentencias del módulo
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito) … numero = 4.0 64.0 Retorno 4 Regresa y continua ladouble cubo(double numero) { return numero*numero*numero; } numero = 4.0 64.0 4.0*4.0*4.0 Regresa y continua la ejecución del algoritmo
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito) … numero = 4.0 64.0 Retorno 4 Regresa y continua la resultado = 64.0double cubo(double numero) { return numero*numero*numero; } numero = 4.0 64.0 4.0*4.0*4.0 Regresa y continua la ejecución del algoritmo
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito + 3) … numero = 7.0 Llamada 1Asigna el valor del argumento (7.0) al parámetro (numero)
double cubo(double numero) {
return numero*numero*numero; }
numero = 7.0 (7.0) al parámetro (numero) antes de continuar la ejecución
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito + 3) … numero = 7.0 2double cubo(double numero) { return numero*numero*numero; } numero = 7.0 Continua la ejecución el módulo correspondiente
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito + 3) … numero = 7.0double cubo(double numero) {
return numero*numero*numero; }
numero = 7.0
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito + 3) … numero = 7.0 343.0 Retorno 4 Regresa y continua ladouble cubo(double numero) { return numero*numero*numero; } numero = 7.0 343.0 7.0*7.0*7.0 Regresa y continua la ejecución del algoritmo
Parámetros de Entrada en C
Ejemplo: digito = 4.0; … resultado = cubo(digito + 3) … numero = 7.0 343.0 Retorno 4 Regresa y continua la resultado = 343.0double cubo(double numero) { return numero*numero*numero; } numero = 7.0 343.0 7.0*7.0*7.0 Regresa y continua la ejecución del algoritmo
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Módulo
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Módulo
A
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Módulo
A
A = 2
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Módulo
A
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Módulo
A
A = 2
B es A
Si B se le asigna 5,B = 5
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaEl parámetro por referencia constituye una variable
que entra al módulo. La variable del argumento
utilizada en la llamada pasa al módulo con el nombre
del parámetro de éste, es decir el parámetro y la
del parámetro de éste, es decir el parámetro y la
variable son la misma, no es una copia.
Módulo
A
Parámetros de Retorno
Parámetros de retorno → Parámetro por referenciaLos parámetros de salida se utilizan cuando se
requiere:
Obtener más de un resultado. “Sólo en Subrutinas”.
Parámetros de Retorno en C++
Declaración y Definición
Utilizando el operador referencia & se declara un
parámetro como parámetro por referencia:
Parámetro referencia Parámetro referencia
… nombre(
tipo
&parámetro1,tipo
&parámetro2, …)Operador referencia Operador referencia
Parámetros de Retorno en C++
Declaración y Definición
Utilizando el operador referencia & se declara un
parámetro como parámetro por referencia:
Parámetro referencia Parámetro referencia
… nombre(
tipo
&parámetro1,tipo
&parámetro2, …)Parámetro referencia Parámetro referencia
Los parámetros por referencia son sólo válidos en C++
Parámetros de Retorno en C++
Ejemplo: Construir un módulo que devuelva el mayor y menor de un conjunto de datos.
Parámetros de Retorno en C++
Ejemplo: Construir un módulo que devuelva el mayor y menor de un conjunto de datos.
2 valores de retorno → Subrutina con parámetros de retorno
Parámetros de Retorno en C++
Ejemplo: Construir un módulo que devuelva el mayor y menor de un conjunto de datos.
2 valores de retorno → Subrutina con parámetros de retorno
void maymen(double &mayor, double &menor)
{
unsigned char N, k, x;
printf("Cantidad de Números:"); scanf("%hhu", &N);
…
Parámetros de Retorno en C++
Ejemplo: Construir un módulo que devuelva el mayor y menor de un conjunto de datos.
2 valores de retorno → Subrutina con parámetros de retorno
void maymen(double &mayor, double &menor)
{
Parámetro por referencia
unsigned char N, k, x;
printf("Cantidad de Números:"); scanf("%hhu", &N);
…
mayor = x; menor = x; while(k < N)
Parámetros de Retorno
Llamada: Cuando se realiza una llamada conparámetros de referencia SIEMPRE se debe utilizar
como argumento una VARIABLE, ya que ésta es la
encargada de almacenar el valor correspondiente al resultado.
… nombre(variable1, variable2, …)
Parámetros de Retorno en C++
Ejemplo:
main() {
double mayor1, menor1; …
maymen(mayor1, menor1); maymen(mayor1, menor1);
printf("[%f,%f]", menor1, mayor1); …
Parámetros de Retorno en C++
Ejemplo:
main() {
double mayor1, menor1; …
maymen(mayor1, menor1);
Argumento Variable
maymen(mayor1, menor1);
printf("[%f,%f]", menor1, mayor1); …
Parámetros de Retorno en C++
Ejemplo:
…
maymen(mayor1, menor1);
printf("[%f,%f]", menor1, mayor1); …
void maymen(double &mayor, double &menor)
mayor es mayor1, menor es menor1
Llamada
1
void maymen(double &mayor, double &menor)
{
unsigned char N, k, x;
printf("Cantidad de Números:"); scanf("%hhu", &N);
…
mayor = x; menor = x;
Se establece la correspondencia de los argumentos (mayor1, menor1) con los parámetros (mayor, menor) antes de
Parámetros de Retorno en C++
Ejemplo:
…
maymen(mayor1, menor1);
printf("[%f,%f]", menor1, mayor1); …
void maymen(double &mayor, double &menor)
mayor es mayor1, menor es menor1
void maymen(double &mayor, double &menor)
{
unsigned char N, k, x;
printf("Cantidad de Números:"); scanf("%hhu", &N);
…
Continua la ejecución el módulo
correspondiente
Parámetros de Retorno en C++
Ejemplo:
…
maymen(mayor1, menor1);
printf("[%f,%f]", menor1, mayor1); …
void maymen(double &mayor, double &menor)
mayor es mayor1, menor es menor1
void maymen(double &mayor, double &menor)
{
unsigned char N, k, x;
printf("Cantidad de Números:"); scanf("%hhu", &N);
…
mayor = x; menor = x;
Operaciones
3
Se ejecutan todas las
lectura de N y x’s
N=3 x1=4, x2=6, x3=0 …
Parámetros de Retorno en C++
Ejemplo:
…
maymen(mayor1, menor1);
printf("[%f,%f]", menor1, mayor1); …
void maymen(double &mayor, double &menor)
mayor es mayor1, menor es menor1
void maymen(double &mayor, double &menor)
{
unsigned char N, k, x;
printf("Cantidad de Números:"); scanf("%hhu", &N);
Parámetros de Retorno en C++
Ejemplo:
…
maymen(mayor1, menor1);
printf("[%f,%f]", menor1, mayor1); …
void maymen(double &mayor, double &menor)
mayor es mayor1, menor es menor1 mayor1 = 6
menor1 = 0
void maymen(double &mayor, double &menor)
{
unsigned char N, k, x;
printf("Cantidad de Números:"); scanf("%hhu", &N);
… mayor = x; menor = x; lectura de N y x’s N=3 x1=4, x2=6, x3=0 …
Parámetros de Retorno en C++
Ejemplo:
…
maymen(mayor1, menor1);
printf("[%f,%f]", menor1, mayor1); …
void maymen(double &mayor, double &menor)
mayor es mayor1, menor es menor1 mayor1 = 6
menor1 = 0
[6,0]
void maymen(double &mayor, double &menor)
{
unsigned char N, k, x;
printf("Cantidad de Números:"); scanf("%hhu", &N);
Representación de Algoritmos Modulares
Definición de una subrutina con parámetros de referencia DF nombre(&parámetro1, &parámetro2, …) DRE Fin nombre(&parámetro1, &parámetro2, …) …Metodología de la Programación Modular
Tabla de Módulos: Una vez desarrollados los algoritmos de todos los módulos es de utilidad para la posterior implementación en el lenguaje construir una tabla donde se listen todos los módulos, sus tipos y parámetros. Modulo Parámetros de Entrada Parámetros de Retorno Retorno Tipo Nombre del módulo Lista de parámetros Lista de parámetros Valor retornado Subrutina o FunciónProgramación Modular en C++
Ejemplo: Construir un programa modular en C++ con acoplamiento de datos estándar para obtener el mayor y menor de N conjunto de datos.
Parámetros de Retorno
Formas en que podemos utilizar los módulos:
# Retornos Usar 0 Subrutina con parámetros de entrada parámetros de entrada 1 Función 2 ó más Subrutina con parámetros de retorno
Parámetros de Retorno
Formas en que podemos utilizar los módulos que manejan estructuras:
# Retornos Usar
0 Subrutina con parámetros de
entrada
(Uso de estructuras) no son
estructura
(Uso de estructuras)
1 Función
(Uso de estructuras)
1 ó más Subrutina con parámetros de
retorno (Modificación de estructuras) 1 Estructura Función no son modificadas, ni creadas estructura estructura estructura
Combinación de Parámetros en C
Es posible utilizar en un módulo una combinación deparámetros por valor y parámetros por referencia:
Declaración de parámetros por valor y referencia:
void nombre(tipo param1,tipo ¶m2,…) void nombre(tipo param1,tipo ¶m2,…) {
…
Combinación de Parámetros en C
Ejemplo: Construir un módulo que devuelva las raíces reales de una ecuación cuadrática.
Combinación de Parámetros en C
Ejemplo: Construir un módulo que devuelva las raíces reales de una ecuación cuadrática.
2 valores de retorno → Subrutina con parámetros de retorno
Combinación de Parámetros en C
Ejemplo: Construir un módulo que devuelva las raíces reales de una ecuación cuadrática.
2 valores de retorno → Subrutina con parámetros de retorno rre a b c x y c
Combinación de Parámetros en C
Ejemplo: Construir un módulo que devuelva las raíces reales de una ecuación cuadrática.
2 valores de retorno → Subrutina con parámetros de retorno rre a b c x y
void rre(float a,float b,float c,float &x,float &y) {
float D;
D = sqrt(b^2-4*a*c);
Combinación de Parámetros en C
Ejemplo: Construir un módulo que devuelva las raíces reales de una ecuación cuadrática.
2 valores de retorno → Subrutina con parámetros de retorno rre a b c x y Parámetros Entrada Parámetros Salida
void rre(float a,float b,float c,float &x,float &y) { float D; D = sqrt(b^2-4*a*c); x = (D - b) / (2*a); y = -(D + b) / (2*a); c
Es recomendable colocar primero los parámetros de entrada y luego los parámetros de salida al definir un módulo que posee ambos tipos de
Combinación de Parámetros en C
Ejemplo:
…
rre(coefA, coefB, coefC, raiz1, raiz2); printf("1:%f\n2:%f", raiz1, raiz2);
…
1 Llamada
a = 1, b = 5, c = 6, x es raiz1, y es raiz2 coefA = 1, coefB = 5, coefC = 6
void rre(float a,float b,float c,float &x,float &y) {
float D;
D = sqrt(b^2-4*a*c); x = (D - b) / (2*a);
Combinación de Parámetros en C
Ejemplo:
…
rre(coefA, coefB, coefC, raiz1, raiz2); printf("1:%f\n2:%f", raiz1, raiz2);
…
coefA = 1, coefB = 5, coefC = 6
a = 1, b = 5, c = 6, x es raiz1, y es raiz2
void rre(float a,float b,float c,float &x,float &y) { float D; D = sqrt(b^2-4*a*c); x = (D - b) / (2*a); y = -(D + b) / (2*a); Continua la ejecución el módulo correspondiente 2
Combinación de Parámetros en C
Ejemplo:
…
rre(coefA, coefB, coefC, raiz1, raiz2); printf("1:%f\n2:%f", raiz1, raiz2);
…
coefA = 1, coefB = 5, coefC = 6
a = 1, b = 5, c = 6, x es raiz1, y es raiz2
void rre(float a,float b,float c,float &x,float &y) { float D; D = sqrt(b^2-4*a*c); x = (D - b) / (2*a); D = 1 x = –2
Combinación de Parámetros en C
Ejemplo:
…
rre(coefA, coefB, coefC, raiz1, raiz2); printf("1:%f\n2:%f", raiz1, raiz2);
…
coefA = 1, coefB = 5, coefC = 6
a = 1, b = 5, c = 6, x es raiz1, y es raiz2
void rre(float a,float b,float c,float &x,float &y) { float D; D = sqrt(b^2-4*a*c); x = (D - b) / (2*a); y = -(D + b) / (2*a); D = 1 x = –2 raiz1= –2 y = –3 raiz2= –3 Operaciones 3
Combinación de Parámetros en C
Ejemplo:
…
rre(coefA, coefB, coefC, raiz1, raiz2); printf("1:%f\n2:%f", raiz1, raiz2);
…
coefA = 1, coefB = 5, coefC = 6
a = 1, b = 5, c = 6, x es raiz1, y es raiz2 raiz1 = –2
raiz2 = –3
void rre(float a,float b,float c,float &x,float &y) { float D; D = sqrt(b^2-4*a*c); x = (D - b) / (2*a); D = 1 x = –2 raiz1= –2
Combinación de Parámetros en C
Ejemplo:
…
rre(coefA, coefB, coefC, raiz1, raiz2); printf("1:%f\n2:%f", raiz1, raiz2);
…
coefA = 1, coefB = 5, coefC = 6
a = 1, b = 5, c = 6, x es raiz1, y es raiz2 raiz1 = –2
raiz2 = –3
1: –2 2: –3
void rre(float a,float b,float c,float &x,float &y) { float D; D = sqrt(b^2-4*a*c); x = (D - b) / (2*a); y = -(D + b) / (2*a); D = 1 x = –2 raiz1= –2 y = –3 raiz2= –3
Acoplamiento de datos Estándar
El algoritmo se construye utilizando todos los bloques del diagrama Top-Down.
Programa
Inicialización Entrada Proceso Salida
Validación Tarea 1
Acoplamiento de datos Estándar
Subrutinas:Pueden tener Parámetros de Entrada.
Se utilizan cuando:
No se necesita resultado.
Se necesitan 2 ó más resultados, se utiliza …
…
Se necesitan 2 ó más resultados, se utiliza
parámetros de retorno.
Funciones:Pueden tener Parámetros de Entrada.
Se utilizan cuando:
…
…
Programación Modular en C
Ejemplo: Construir un programa modular en C++ con acoplamiento de datos estándar para obtener todas las raíces de una ecuación cuadrática.
Parámetros por Valor
Una vez tomado su valor pueden ser empleados comovariables locales, sin afectar las variables externas.
Ejemplo: … resultado = cubo(3.0) resultado = cubo(x) resultado = cubo(x) …
double cubo(double numero) {
double res;
res = numero*numero*numero; numero = 8;
return res;
Cambio en parámetro por valor que no afecta variables externas, ejemplo: x no se ve afectada.
Ejercicio
Construir un programa modular en C++ con acoplamiento de datos estándar para calcular el máximo, mínimo y promedio de N cuartetos.
Fase 1: Diseño y Análisis: DTD
DES, DRE ó DF y LV de Módulos y TM.
DES, DRE ó DF, LV y CF de Bloque Principal.
Resumen
Acoplamiento de datos estándar:Parámetros de entrada → Parámetro por valor.
Parámetros de retorno o salida → Parámetro por
referencia.
Obtener más de un resultado. Obtener más de un resultado. Operador referencia &.
Llamada: SIEMPRE se debe utilizar como
argumento una VARIABLE
Resumen
Acoplamiento de datos estándar:Subrutinas No se necesita resultado. Se necesitan 2 ó más resultados. Funciones Funciones Se retorna 1 resultado.
Representación de Algoritmos Modulares: