0% encontró este documento útil (0 votos)
186 vistas7 páginas

Solucionario - Guia de Practica 05

Este documento presenta una guía de laboratorio sobre programación estructurada en C++. Incluye ejercicios para diseñar programas usando funciones y arreglos unidimensionales. Los ejercicios cubren temas como funciones para calcular promedios, encontrar el mayor/menor de números, calcular factoriales; y uso de arreglos para ingresar y mostrar datos, calcular estadísticas sobre los mismos. El objetivo es que los estudiantes practiquen y apliquen conceptos básicos de programación estructurada.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
186 vistas7 páginas

Solucionario - Guia de Practica 05

Este documento presenta una guía de laboratorio sobre programación estructurada en C++. Incluye ejercicios para diseñar programas usando funciones y arreglos unidimensionales. Los ejercicios cubren temas como funciones para calcular promedios, encontrar el mayor/menor de números, calcular factoriales; y uso de arreglos para ingresar y mostrar datos, calcular estadísticas sobre los mismos. El objetivo es que los estudiantes practiquen y apliquen conceptos básicos de programación estructurada.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

Guía práctica de Laboratorio

Tercera unidad: Programación estructurada I


Práctica N°05

Apellidos :
Sección :
Nombres :
Fecha : / / Duración: 100 min
Docente :
Tipo de práctica: Individual ( x ) Grupal ( )

Instrucciones: Lea detenidamente cada enunciado y desarrolle lo solicitado.


Antes de iniciar la guía crea una carpeta en la unidad Alumno (G:) con sus apellidos, guarde ahí su guía
renombrada con sus apellidos. Utilice Dev-C++ para el diseño de los algoritmos.

1.- Tema: Estructura secuencial, selectiva y repetitiva en leguaje de programación C++


2.- Propósito: Diseñar programas con el software Dev-C++, haciendo uso de programación
estructurada (funciones y arreglos unidimensionales)
3.- Materiales a utilizar en la práctica:
 Programa Dev-C++
 Procesador de texto Microsoft Word
 Computadora personal
4.- Planteamiento de ejercicios:
Desarrolle el código fuente de los siguientes ejercicios:

FUNCIONES

1.- Realizar una función llamada media, que toma dos números enteros como parámetros y devuelve un
número real que es la media aritmética de los dos números pasados como parámetros.

//Con prototipo de la función:

#include<iostream>
using namespace std;

float media2(int, int); //Prototipo

int main()
{
int num1,num2;
cout<<"Ingrese dos numeros reales: "<<endl;
cin>>num1>>num2;
cout<<"La media de ambos es: ";
cout<<media2(num1,num2); //Llamado a la función
cout<<endl<<endl;
return 0;
}

float media2(int a,int b) //Definición de la función


{
return (a+b)/2.0;
}
//Sin prototipo de la función:

#include<iostream>
using namespace std;

float media2(int a,int b) //Definición de la función


{
return (a+b)/2.0;
}

int main()
{
int num1,num2;
cout<<"Ingrese dos numeros reales: "<<endl;
cin>>num1>>num2;
cout<<"La media de ambos es: ";
cout<<media2(num1,num2); //Llamado a la función
cout<<endl<<endl;
return 0;
}

2.- Crear dos funciones, una muestra el mayor y la otra el menor de tres números enteros ingresados como
parámetros.

#include<iostream>
using namespace std;

int nmayor(int, int, int); //Prototipo de función nmayor


int nmenor(int, int, int); //Prototipo de función nmenor

int main()
{
int a,b,c;
cout<<"Ingrese tres numeros: \n";
cin>>a>>b>>c;
cout<<"\nEl mayor es "<<nmayor(a,b,c); //Llamado a la función
cout<<"\nEl menor es "<<nmenor(a,b,c); //Llamado a la función
cout<<endl<<endl;
return 0;
}

int nmayor(int x, int y, int z) //Definición de la función nmayor


{
if(x>=y and x>=z)
return x;
else
{
if(y>=x and y>=z)
return y;
else
return z;
}
}

int nmenor(int x, int y, int z) //Definición de la función nmenor


{
if(x<=y and x<=z)
return x;
else
{
if(y<=x and y<=z)
return y;
else
return z;
}
}

3.- Crear una función que muestre el factorial de un número.

//sin recursividad:
#include<iostream>
using namespace std;

int factorial(int);

int main()
{
int N;
cout<<"Ingrese un numero entero : ";
cin>>N;
cout<<"\nEl factorial de "<<N<<" es "<<factorial(N);
cout<<endl<<endl;
return 0;
}

int factorial(int x)
{
int f=1;
for(int i=1; i<=x; i++)
{
f=f*i;
}
return f;
}

//con recursividad:
#include<iostream>
using namespace std;

int factorial(int);

int main()
{
int N;
cout<<"Ingrese un numero entero : ";
cin>>N;
cout<<"\nEl factorial de "<<N<<" es "<<factorial(N);
cout<<endl<<endl;
cout<<"hi";
return 0;
}

int factorial(int x)
{
if(x==0)
x=1;
else
x=x*factorial(x-1);
return x;
}
4.- Diseñe un procedimiento (función void) que muestre un saludo por pantalla y una función que muestre el
promedio de tres notas vigesimales.

#include<iostream>
using namespace std;

void saludo(string);
float promedio(int, int, int);

int main()
{
string N;
int m,n,p;
cout<<"Ingrese su nombre: ";
cin>>N;
cout<<"Ingrese sus tres notas: \n";
cout<<"Nota 1: "; cin>>m;
cout<<"Nota 2: "; cin>>n;
cout<<"Nota 3: "; cin>>p;
if(m>20 or n>20 or p>20)
cout<<"\nLas notas deben ser vigesimales ";
else
{
saludo(N);
cout<<"\nSu promedio es "<<promedio(m,n,p);
}
cout<<endl<<endl;
return 0;
}

void saludo(string a)
{
cout<<"\nBienvenido al programa "<<a;
}

float promedio(int a, int b, int c)


{
return (a+b+c)/3.0;
}

ARREGLOS UNIDIMENSIONALES O VECTORES

1.- Diseñar un arreglo unidimensional de 7 números enteros, ingrese los elementos con el ciclo for y muestre en
pantalla el arreglo.

#include<iostream>
using namespace std;

int main()
{
int N[7];
int i;
cout<<"Ingreso 7 numeros enteros al arreglo: \n";
for(i=0; i<7; i++)
{
cout<<"Ingrese elemento en indice ["<<i<<"] = ";
cin>>N[i];
}
cout<<"\nVector resultante: \n";
for(i=0; i<7; i++)
{
cout<<N[i]<<"\t";
}
cout<<endl<<endl;
return 0;
}

2.- Diseñar un vector donde se ingresen las edades de ocho personas mayores de 25 y menores de 80 años,
finalmente mostrar el vector.

#include<iostream>
using namespace std;

int main()
{
int edad[8];
int i;
cout<<"Ingreso de edades de 8 personas (25-80): \n";
for(i=0; i<8; i++)
{
cout<<"Ingrese edad en indice ["<<i<<"] = ";
cin>>edad[i];
if(edad[i]<25 or edad[i]>80)
{
cout<<"Edad incorrecta, ingrese de nuevo\n";
i=i-1;
}
}
cout<<"\nVector resultante de edades: \n";
for(i=0; i<8; i++)
{
cout<<edad[i]<<"\t";
}
cout<<endl<<endl;
return 0;
}

3.- Del ejercicio anterior, mostrar:


 Cantidad de edades mayores de 50 años.
 Cantidad de edades incorrectas.
 Indicar si existe o no una edad buscada.

#include<iostream>
using namespace std;

int main()
{
int edad[8];
int i,emay=0,e=0,EB;
cout<<"Ingreso de edades de 8 personas (25-80): \n";
for(i=0; i<8; i++)
{
cout<<"Ingrese edad en indice ["<<i<<"] = ";
cin>>edad[i];
if(edad[i]<25 or edad[i]>80)
{
cout<<"Edad incorrecta, ingrese de nuevo\n";
i=i-1;
e++;
}
else
{
if(edad[i]>50)
emay++;
}
}
cout<<"\nVector resultante de edades: \n";
for(i=0; i<8; i++)
{
cout<<edad[i]<<"\t";
}
cout<<"\n\nCantidad de edades mayores de 50 : "<<emay;
cout<<"\nCantidad de edades incorrectas : "<<e;
cout<<"\nIngrese edad a buscar : ";
cin>>EB;
for(i=0; i<8; i++)
{
if(edad[i]==EB)
cout<<"Existe edad en posicion ["<<i<<"] del vector \n";
else
cout<<"No existe edad en vector \n";

}
cout<<endl<<endl;
return 0;
}

4.- Diseñe un programa que permita el ingreso de datos de 10 estudiantes del nivel secundario, se debe ingresar
su edad (de 13 a 18 años) y peso (mínimo 35 kg y máximo 120 kg) de cada uno, se pide mostrar:
 Cantidad de estudiantes con sobrepeso (mayor de 80 kg)
 Cantidad de estudiantes con edades entre 13 y 15 años
 El peso promedio.

Los datos ingresados deben ser validados.

#include<iostream>
using namespace std;

int main()
{
int edad[5],i,sp=0,pp=0;
float peso[5],sum=0;

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


{
cout<<"\n------------------------\n";
cout<<"Ingrese datos de estudiante "<<i+1<<": ";
cout<<"\nIngrese edad : ";
cin>>edad[i];
if(edad[i]<0 or edad[i]>120)
{
cout<<"Edad incorrecta, ingrese de nuevo \n";
i--;
}
else
{
if(edad[i]>=13 and edad[i]<=15)
pp++;
cout<<"Ingrese peso : ";
cin>>peso[i];
if(peso[i]<35 or peso[i]>120)
{
cout<<"Peso incorrecto, ingrese de nuevo \n";
i--;
}
else
{
if(peso[i]>80)
sp++;
sum=sum+peso[i];
}
}
}
cout<<"\n\nCantidad estudiantes con sobrepeso: "<<sp;
cout<<"\nCantidad de estudiantes entre 13 y 15 años: "<<pp;
cout<<"\nPeso promedio: "<<sum/5;
cout<<endl<<endl;
return 0;
}

Ejercicios planteados:

1.- Realizar una función llamada suma, que toma dos números enteros como parámetros y devuelve un número
entero que es el resultado de la suma de los dos números pasados como parámetros.

2.- Diseñar una función que muestre los números múltiplos de 13 que existen entre dos números enteros pasados
como parámetros de función. (Función void)

3.- Diseñar un vector de números enteros cuyo tamaño va ser definido por el usuario, ingrese los elementos con
el ciclo for y muestre en pantalla el vector resultante

Referencias bibliográficas consultadas y/o enlaces recomendados


 JOYANES, L. (2008). Fundamentos de Programación. Algoritmos, estructura de datos y objetos, 4ª
Edición. Madrid: McGraw-Hill.
 Beekman, G., Pacheco, R. y Tábora, A. (2008). Introducción a la computación. México: Pearson
Educación.

También podría gustarte