1. Algorítmica y Programación Unidad 6. Ejercicios Programación Modular Ing. Sullin Santaella
PROGRAMA NACIONAL DE FORMACIÓN
EN INFORMATICA (PNFI)
ALGORITMICAY PROGRAMACION
2. Algorítmica y Programación Unidad 6. Ejercicios Programación Modular Ing. Sullin Santaella
UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACION
Ejercicios Programación Modular
Puntos a tratar
1. Ejercicios Resueltos de Procedimientos y Funciones
2. Ejercicios Propuestos de Procedimientos y Funciones
1. Ejercicios Resueltos de Procedimientos y Funciones
1. Función F(X)
Inicio
F = X /(1 + X^2)
Fin
Inicio
Imprimir “Este es el algoritmo principal” Leer N
R = F(N) llamado de la función
Imprimir “El resultado de la función es:”,R
Fin
1. Función que No reciben ni retornan parámetros, para sumar dos números enteros.
#include<iostream>
using namespace std;
void sumar()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
r = num1 + num2;
cout << "La suma es " << r;
}
int main()
{
3. Algorítmica y Programación Unidad 6. Ejercicios Programación Modular Ing. Sullin Santaella
sumar();
}
2. Función que Reciben y No Retornan parámetros, para sumar dos números enteros.
#include<iostream>
using namespace std;
void sumar(int num1, int num2)
{
int r;
r = num1 + num2;
cout << "La suma es " << r;
}
int main()
{
int num1, num2;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
sumar(num1, num2);
}
3. Función que Retornan y No Reciben parámetros, para sumar dos números enteros.
#include<iostream>
using namespace std;
int sumar()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
4. Algorítmica y Programación Unidad 6. Ejercicios Programación Modular Ing. Sullin Santaella
r = num1 + num2;
return r;
}
int main()
{
int r;
r = sumar();
cout << "La suma es " << r;
}
4. Función que Reciben y Retornan parámetros, para sumar dos números enteros.
#include<iostream>
using namespace std;
int sumar(int num1, int num2)
{
int r;
r = num1 + num2;
return r;
}
int main()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
r = sumar(num1, num2);
cout << "La suma es " << r;
}
5. Algorítmica y Programación Unidad 6. Ejercicios Programación Modular Ing. Sullin Santaella
5. En la Gran Misión Vivienda Venezuela se desea calcular el monto generado por horas
extras de cinco trabajadores para ello se le proporciona: el número de horas extras
trabajadas, la suma devengada por hora, tenga en cuenta que la tarifa se incrementa en un
35% para las horas extras. Escribe una algoritmo principal que solicite datos de los 5
empleados, el monto cancelado por horas, llame a subrutinas/funciones que soliciten los
datos de entrada, calculen el monto por horas extras, y finalmente informe los resultados
en la acción principal.
vacio leer();
real MonHorExt(entero he, real mo);
constante entero NunTra = 5;
constante real factor = 0,4;
entero HorasExt, i;
real PagoHora, MontoTotal;
AlgoritmoPrincipal
para (i=1 ; i<=NumTra; inc I)
leer();
MontoTotal = MonHorExt(HorasExt, PagoHora);
escribir(“Trabajador ”, i);
escribir(“Horas Extras Trabajadas ”, HorasExt);
escribir(“Monto por horas extras ”, MontoTotal);
finpara
FinAlgoritmoPrincipal
vacio leer()
escribir(“introduzca la cantidad de horas extras: ”); leer(HorasExt);
escribir(“introduzca el monto por horas: ”); leer(PagoHora);
finleer
real MonHorExt(entero he, real pa)
6. Algorítmica y Programación Unidad 6. Ejercicios Programación Modular Ing. Sullin Santaella
real monto;
monto = he*pa + he*pa*factor;
retorne monto;
finMonHorExt
6.
//Programa que simula una calculadora básica, usando funciones
#include <iostream>
using namespace std;
int a, b; /*Variables globales*/
void leerdatos();
void sumar();
void restar();
void multiplicar();
void dividir();
int main()
{
int opcion;
cout <<"Menu" <<endl;
cout <<"1. Sumar" << endl;
cout << "2. Restar" << endl;
cout << "3. Dividir" << endl;
cout <<"4. Multiplicar" <<endl;
cout <<"Elija una operacion: " << endl;
cin >> opcion;
leerdatos();
switch(opcion)
{
case 1:
sumar();
break;
case 2:
restar();
break;
case 3:
7. Algorítmica y Programación Unidad 6. Ejercicios Programación Modular Ing. Sullin Santaella
dividir();
break;
case 4:
multiplicar();
break;
default:
cout <<"Opcion no valida" << endl;
break;
}
}
void leerdatos()/*Definicion de la funcion leer*/
{ //Inicio del cuerpo de la funcion
cout << "Ingrese un numero entero [a]: " << endl; //Solicita el valor del primer dato
cin >> a; //Lee el dato y lo guarda en la variable a
cout << "Ingrese un numero entero [b]: " <<endl;//Solicita el valor del segundo dato
cin >> b;//Lee el dato y lo guarda en la variable b
} //Fin de la funcion
void sumar()
{
int resultado;
resultado = a + b;
cout <<"El resultado de la Suma es: "<< resultado << endl;
}
void restar()
{
int resultado;
resultado = a - b;
cout <<"El resultado de la Resta es: "<< resultado << endl;
}
void dividir()
{
int resultado;
if (b==0) cout <<"ERROR division por cero" << endl;
else
{
resultado = a / b;
8. Algorítmica y Programación Unidad 6. Ejercicios Programación Modular Ing. Sullin Santaella
cout <<"El resultado de la Division es: "<< resultado << endl;
}
}
void multiplicar()
{
int resultado;
resultado = a * b;
cout <<"El resultado de la Multiplicación es: "<< resultado << endl;
}
2. Ejercicios Propuestos de Procedimientos y Funciones
1. Escribir un programa que, utilizando funciones con parámetros, lea desde el teclado las
unidades y el precio que quiere comprar, y según las unidades introducidas le haga un
descuento o no (cuando las unidades excedan media docena se aplicará 4% y el 10%
cuando excedan la docena).
2. Diseñe un algoritmo que lea un número y mediante una función regrese el valor de 1
si el número es positivo y -1 si es negativo).
Se recomienda realizar todos los ejercicios practicados utilizando funciones con y sin
parámetros.