Está en la página 1de 17

FACULTAD DE INGENIERIA INDUSTRIAL, SISTEMAS E INFORMATICA

ESCUELA PROFESIONAL: INGENIERIA ELECTRONICA

ASIGNATURA: FUNDAMENTOS Y METODOLOGIA DE LA PROGRAMACION


CICLO: II SEMESTRE ACADEMICO: 2023 - I
DOCENTE: ING. HUGO SERRANO RODAS

PRACTICA: FUNCIONES PROPIAS

Para los ejercicios del 01 al 10 mostrar la ventana de ejecución de cada programa previa
modificación necesaria del código. El desarrollo es a partir de las 08:45 am. del día martes 01
de agosto hasta las 11:50 pm. del día 06 de agosto, tiempo dentro del cual debe ser enviado el
archivo correspondiente.

1. Ejecución de funciones declaradas como tipo de dato void

//Inclusión de librerías
#include <iostream>
using namespace std;
//Declaración de PROTOTIPOS
void equivalente(float H, float &M, float &S);
void convierte(float X, int &Hor, int &Min, int &Seg, int &Dseg);
void SumaFibonacci(int N, long &Suma);
//Función principal
int main()
{
//Ejecución de la función equivalente()
float Horas, Minutos, Segundos;
cout<<"Ingrese número de horas: ";
cin>>Horas;
equivalente(Horas, Minutos, Segundos);
cout<<Horas<<"horas equivalen a "<<Minutos<<" minutos"<<endl;
cout<<Horas<<"horas equivalen a "<<Segundos<<" segundos"<<endl;
//Ejecución de la función convierte()
float Numero;
int hh, mm, ss, ds;
cout<<"Ingrese un número: "; cin>>Numero;
convierte(Numero, hh, mm, ss, ds);
cout<<"El número"<<Numero<<"representa"<<hh<<" horas"<<endl
<<mm<<" minutos"<<endl<<ss<<" segundos"<<endl
<<ds<<" décimas de segundo"<<endl;
//Ejecución de la función SumaFibonacci()
int terminos; long SumaSerie;
cout<<"Ingrese número de términos:"; cin>>terminos;
SumaFibonacci(terminos, SumaSerie);
cout<<"La suma de los primeros términos de la serie de Fibonacci es:"
<<SumaSerie<<endl;
return 0;
}
//Desarrollo de la función equivalente()
void equivalente(float H, float &M, float &S)
{
int mxh=60; int sxh=3600;
M=H*mxh; S=H*sxh;
}
//Desarrollo de la función convierte()
void convierte(float X, int &Hor, int &Min, int &Seg, int &Dseg)
{
Hor=int(X); X=(X-Hor)*60; Min=int(X);
X=(X-Min)*60; Seg=int(X); X=(X-Seg)*60; Dseg=int(X);
}
//Desarrollo de la función SumaFibonacci
void SumaFibonacci(int N, long &Suma)
{
unsigned int Nactual, Nanterior, Nsiguiente;
Nanterior=0; Nactual=1; Suma=0; int cont=2;
while(cont<=N)
{
Suma=Suma+Nactual; Nsiguiente=Nanterior+Nactual;
Nanterior=Nactual; Nactual=Nsiguiente;
cont++;
}
}

2. Ejecución de funciones cuyo tipo de dato no es void

//Inclusión de librerías

#include <iostream> // Cambio de <iostream.h> a <iostream>

#include <stdlib.h>
using namespace std; // Agregado para evitar conflictos de nombres

// Declaración de PROTOTIPOS

long SumaEnteros(int N);

float Mayor(float A, float B, float C, float D, float E);

const char* NombreMes(int NumMes); // Cambio de char* a const char*

// Función principal

int main() // Cambio de void a int en la función principal

// Ejecución de la función SumaEnteros()

int Numero;

system ("cls");

cout << "Ingrese un número entero:";

cin >> Numero;

cout << "La suma de los " << Numero << " primeros números es: "

<< SumaEnteros(Numero) << endl;

system ("pause");

// Ejecución de la función Mayor()

float A, B, C, D, E;

system ("cls");

cout << "Ingrese 5 números separados por un espacio:";

cin >> A >> B >> C >> D >> E;

cout << "El mayor número ingresado fue: " << Mayor(A, B, C, D, E) << endl;

system ("pause");

// Ejecución de la función NombreMes()

int mes;
system ("cls");

cout << "Ingrese número de mes:";

cin >> mes;

cout << "El nombre del mes ingresado es: " << NombreMes(mes) << endl;

system ("pause6");

return 0; // Agregado para indicar que la función main finalizó correctamente

// Desarrollo de la función SumaEnteros()

long SumaEnteros(int N)

int suma;

suma = N * (N + 1) / 2;

return suma;

// Desarrollo de la función Mayor()

float Mayor(float A, float B, float C, float D, float E)

float auxiliar;

auxiliar = A;

if (auxiliar < B) auxiliar = B;

if (auxiliar < C) auxiliar = C;

if (auxiliar < D) auxiliar = D;

if (auxiliar < E) auxiliar = E;

return auxiliar;

}
// Desarrollo de la función NombreMes()

const char* NombreMes(int NumMes) // Cambio de char* a const char*

switch (NumMes)

case 1: return "Enero";

case 2: return "Febrero";

case 3: return "Marzo";

case 4: return "Abril";

case 5: return "Mayo";

case 6: return "Junio";

case 7: return "Julio";

case 8: return "Agosto";

case 9: return "Setiembre";

case 10: return "Octubre";

case 11: return "Noviembre";

case 12: return "Diciembre";

default: return "Desconocido";

}
3. Mediante el uso de funciones, muestre los primeros m múltiplos de n.

#include <iostream>

#include <conio.h>

using namespace std;

void tablamult(int n, int m);

int main()

{int n, m;

cout<<"¿Cuál tabla desea?"; cin>>n;

cout<<"¿Cuántos múltiplos desea?"; cin>>m;

tablamult(n, m);

getch();

//Desarrollo de la función tablamult()

void tablamult(int n, int m)

{int i;

cout<<"*Tabla de multiplicar del"<<n<<'*'<<endl;

for(i=1; i<=m; i++)

cout<<i<<'x'<<n<<'='<<i*n<<endl;
}

4. Usando funciones encuentre los divisores comunes de dos números.

#include <iostream>

#include <conio.h>

using namespace std;

void comunes(int a, int b);

int main()

{int a, b;

cout<<"Divisores comunes de dos números"<<endl;

cout<<"Ingrese primer número:"; cin>>a;

cout<<"Ingrese segundo número:"; cin>>b;

comunes(a, b);

getch(); }

//Desarrollo de la función comunes()

void comunes(int a, int b)

{int i=1;

while(i<=a && i<=b)

{if(a%i==0 && b%i==0)


cout<<i<<endl;

i=i+1;

5. Lea tres números que representen el día, el mes y el año, y mediante una función diga si
forman una fecha correcta. Considere años bisiestos.

#include <iostream>

#include <conio.h>

using namespace std;

void FechaOk(int dia,int mes,int a);

int main()

{int dia, mes, a;

cout<<"Ingrese día, mes y año:";cin>>dia>>mes>>a;

FechaOk(dia, mes, a);

getch();

//Desarrollo de la función FechaOk()

void FechaOk(int dia, int mes, int a)

{int maxdia;

switch(mes)

case 1: case 3: case 5: case 7: case 8: case 10: case 12: maxdia = 31; break;

case 4: case 6: case 9: case 11: maxdia = 30; break;

case 2: if(!(a % 4) && (a % 100) || !(a % 400))


maxdia = 29;

else

maxdia = 28; break;

default:

cout<<"Mes incorrecto"; //exit(1);

getch();

if((dia > 0) && (dia <= maxdia) && (mes > 0) && (mes < 13) && (a > 0))

cout<<"La fecha es correcta";

else

cout<<"\n La fecha es incorrecta";

6. Usando funciones. Escriba un algoritmo que diga si un número es primo o no.

#include <iostream>

#include <conio.h>

using namespace std;

int EsPrimo(int n);


int main()

{int n;

cout<<"Ingrese un número:"; cin>>n;

if(EsPrimo(n))

cout<<"El número es primo";

else

cout<<"El número no es primo";

getch();

//Desarrollo de la función EsPrimo()

int EsPrimo(int n)

{int i = n / 2;

while(i>1)

if(n % i == 0)

return 0; //No es primo

i = i - 1;

return 1; //Es primo

}
7. Usando funciones, calcule el promedio ponderado de un conjunto de datos.

#include <iostream>

#include <conio.h>

using namespace std;

void LeerArray(int n, float array[]);

float PromPonderado(float valores[], float pesos[], int n);

int main()

{int n;

float valores[50], pesos[50], pp;

cout<<"Número de datos a leer:"; cin>>n;

cout<<endl<<"Ingrese valores"<<endl;

LeerArray(n, valores);

cout<<endl<<"Ingrese ponderaciones"<<endl;

LeerArray(n, pesos);

pp = PromPonderado(valores, pesos, n);

cout<<endl<<"El promedio ponderado es:"<<pp;

getch();

//Desarrollo de lam función LerArray()

void LeerArray(int n, float array[])

{int i;

for(i=0; i < n; i++)

cout<<"Ingrese elemento"<<i<<':';

cin>>array[i];

//Desarrollo de la función PromPonderado()

float PromPonderado(float valores[], float pesos[], int n)


{int i;

float sv=0, sp=0;

for(i=0; i < n; i++)

{sv=sv + valores[i]*pesos[i];

sp = sp + pesos[i];

return sv/sp;

8. Diseñar un programa que permita calcular la serie de Fibonacci utilizando la técnica de


recursividad. El programa debe pedir ingresar el término para el que se quiere calcular
la serie.

#include <iostream>

#include <conio.h>

using namespace std;

long fibonacci(long);

int main()

{long numero, resultado;

cout<<"\n Ingrese un número:";

cin>>numero;

resultado = fibonacci(numero);

cout<<"\n Fibonacci("<<numero<<"):"<<resultado;
getch();

//Desarrollo de la función fibonacci()

long fibonacci(long n)

if(n==0 || n==1)

return n;

else

return fibonacci(n-1) + fibonacci(n-2);

9. Diseñar un programa que permita calcular el factorial de los números del 1 al 10


utilizando una función recursiva.

#include <iostream>

#include <conio.h>

using namespace std;

long factorial(long numero);

int main()

for(int i = 1; i <= 10; i++)

cout<<"Factorial de"<<i<<"!="<<factorial(i)<<endl;

getch();

long factorial(long numero)

if(numero<=1)
return 1;

else

return(numero*factorial(numero - 1));

10. Diseñar un programa que permita ordenar un arreglo de 5 números utilizando


funciones para leer el arreglo, ordenar e imprimirlo.

#include <iostream>

#include <conio.h>

#include <iomanip>

#include <cstdlib>

using namespace std;

const int cantidad = 5;

int numero[cantidad];

void LeerArreglo(int numero[], int elementos);

void ImprimirArreglo(int numero[], int elementos);

void Ordenar(int numero[], int elementos);

int main()

cout<<"\n ORDENAMIENTO DE ARREGLOS\n";

cout<<"___________________________\n";
cout<<"(5 elementos)\n\n";

LeerArreglo(numero, cantidad);

cout<<"\n El arreglo ordenado es\n\n";

Ordenar(numero, cantidad);

system ("cls");

ImprimirArreglo(numero, cantidad);

getch();

//Desarrollo de la function LeerArreglo()

void LeerArreglo(int numero[], int elementos)

int i= 0;

do

i++;

cout<<"Leer número["<<i<<"]:";

cin>>numero[i];

}while(i<elementos);

//Desarrollo de la function Ordenar()

void Ordenar(int numero[], int elementos)

int aux, i, j;

system ("cls");

for(i = 0; i <= elementos - 1; i++)

for(j = i + 1; j <= elementos; j++)

if(numero[i] < numero[j])


{

aux = numero[j];

numero[j] = numero[i];

numero[i] = aux;

//Desarrollo de la función ImprimirArreglo()

void ImprimirArreglo(int numero[], int elementos)

int i = 0;

do

cout<<"Elemento["<<i<<"]:"<<setw(6)<<numero[i]<<endl;

i++;

}while(i<elementos);

También podría gustarte