Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Definición de
programación Modular
Martín Alvarez Pulido
Todo programa contiene un módulo principal
que controla todo lo que sucede
Modular.
Si la tarea asignada es demasiado compleja,
el módulo deberá dividirse en otros módulos
más pequeños.
}
⚫ void: indicamos tipo vacío o nulo, es decir sin retorno de valor
⚫ nombreProc: es el nombre que le daremos al procedimiento.
⚫ tipo y nombreDeArgumentos: son los parámetros que recibe el procedimiento. Los
argumentos de un procedimiento no son más que variables locales que reciben un
valor. Este valor se lo enviamos al hacer la llamada al procedimiento. Pueden existir
procedimientos que no reciban argumentos.
⚫ bloque de sentencias: Sentencias que serán ejecutadas cuando se realice la llamada
al procedimiento.
Las funciones y procedimientos pueden ser
llamadas desde la función main o desde
otras funciones o procedimientos.
#include <cstdlib>
Este es un #include <iostream>
ejemplo de using namespace std;
int main(int argc, char *argv[]){
uso de int contador=0;
parámetros en cout << "Cantidad de argumentos = " << argc << endl;
main: if (argc!=4){
cout << "Error, Escriba argumentosEnMain Nombre ApellidoPaterno ApellidoMaterno ...";
exit(0);
}else{
while (contador<argc){
cout << "Valor de los argumentos [" << contador <<"] = [" << argv[contador] <<"]" << endl;
contador++;
}
}
cout << "Presione tecla enter para continuar ...";
cin.get();
return 0;
}
3.2. Ámbito de variables.
Una variable de entorno es un valor con nombre dinámico que puede afectar la
forma en que los procesos en ejecución se comportarán en una computadora.
Son parte del entorno en el que se ejecuta un proceso.
Por ejemplo, un proceso en ejecución puede consultar el valor de la variable de entorno
TEMP para descubrir una ubicación adecuada para almacenar archivos temporales, o la
variable HOME o USERPROFILE para encontrar la estructura de directorio propiedad del
usuario que ejecuta el proceso.
Se incluyeron en los sistemas operativos en 1979 con la versión 7 de Unix, por lo
que son parte de todas las distribuciones de Unix, GNU/Linux y macOS.
También el DOS 2.0 las incluye en 1982, por lo que todos los sistemas operativos
de Microsoft y OS/2 de IBM, también los han incluido.
Utilizan una sintaxis estándar (excepto los sistemas operativos de Microsoft y OS/2
y 3 de IBM
3.2.1. Variables de entorno.
Las variables globales son aquellas que se declaran fuera de cualquier función
/procedimiento
Pueden utilizarse, en cualquier parte del programa, después de haberse
declarado.
Pueden utilizarse en cualquier función
Pueden declararse también en librerías .h
3.2.3. Variables locales
if(control<100){
float numero{80.5};
cout << "El valor de la variable numero local a if es " << numero << endl;
}
cout << "Espero hayas entendido el espacio de cada variable" << endl;
return 0;
}
3.3. Paso de parámetros
y valores de retorno
3.3.1. Paso de parámetros por valor.
3.3.0. Valores de retorno.
#include <iostream>
#include "libreriaValRef.h"
using namespace std;
int main(){
float numero=10.1;
cout << "El valor de numero antes de pasar por valor es: " << numero << endl;
//pasando por valor la variable numero
float porValor=cuboPorValor(numero);
cout << "El cubo de numero pasado por valor es: " << porValor << endl;
cout << "El valor de numero despues de pasar por valor es: " << numero << endl;
return 0;
}
3.3.2. Paso de parámetros por
referencia (con punteros).
El paso por referencia con punteros se realiza
Creando argumentos de tipo puntero
Pasando el argumento como dirección de una variable
Hay que tener cuidado al momento de manejar direcciones y punteros,
porque se utilizan los valores originales
Modifiquemos el programa anterior como se muestra en las siguientes
diapositivas para mostrar el paso de parámetros por referencia con punteros
3.3.2. Paso de parámetros por
referencia (con punteros).
//prototipo de paso por valor
float cuboPorValor(float);
int main(){
float numero=10.1;
cout << "El valor de numero antes de pasar por valor es: " << numero << endl;
//pasando por valor la variable numero
float porValor=cuboPorValor(numero);
cout << "El cubo de numero pasado por valor es: " << porValor << endl;
cout << "El valor de numero despues de pasar por valor es: " << numero << endl;
cout << "El valor de numero antes de pasar por referencia es: " << numero << endl;
// pasando numero por referencia
cuboPorReferencia(&numero);
cout << "El valor de numero despues de pasar por referencia es es: " << numero << endl;
return 0;
}
3.3.2. Paso de parámetros por
referencia (con punteros).
El valor de numero antes de pasar por valor es: 10.1
El cubo de numero pasado por valor es: 1030.3
El valor de numero despues de pasar por valor es: 10.1
El valor de numero antes de pasar por referencia es: 10.1
El valor de numero despues de pasar por referencia es es: 1030.3
int main(){
float numero=10.1;
cout << "El valor de numero antes de pasar por valor es: " << numero << endl;
//pasando por valor la variable numero
float porValor=cuboPorValor(numero);
cout << "El cubo de numero pasado por valor es: " << porValor << endl;
cout << "El valor de numero despues de pasar por valor es: " << numero << endl;
cout << "El valor de numero antes de pasar por referencia es: " << numero << endl;
// pasando numero por referencia
cuboPorReferencia(&numero);
cout << "El valor de numero despues de pasar por referencia es es: " << numero << endl;
//pasando por referenci solo dirección
mitadDelValor(numero);
cout << "El valor de numero despues de pasar por direccion es es: " << numero << endl;
return 0;
}
3.3.3. Paso de parámetros por dirección (también
es paso por referencia pero sin punteros).
int main(){
// calcula los factoriales de 0 hasta 10
for (unsigned int contador{0}; contador <= 10; ++contador) {
cout << setw(2) << contador << "! = " << factorial(contador)<< endl;
// setw e utiliza para establecer el ancho del campo.
}