Está en la página 1de 6

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE INGENIERIA QUIMICA Y TEXTIL

Guía práctica de laboratorio de Introducción a la Computación-


BIC01
Tema: Estructura Repetitiva en C++
Laboratorio N° 4

Sección : Apellidos : ZEGARRA MONTOYA


Nombres : FABBIAN MARCELO
Docente : Ing. Edgar Norabuena Fecha : 16 / 01 /21 Duración: 100 min
Meza Tipo de práctica: Individual ( ) Grupal ( )

Instrucciones: Desarrolle los siguientes ejercicios haciendo uso del IDE de DEV – C++.

1.- Tema: Estructura Repetitiva en C++


while
do while
2.- Objetivo: Crear programas en DEV – C++
3.- Materiales a utilizar en la práctica:
● IDE de DEV-C++
● Procesador de texto Microsoft Word
● Computadora personal
4.- Planteamiento de ejercicios:

ESTRUCTURA REPETITIVA

Resuelva por lo menos 8 ejercicios. Esperará que se le envié el formulario para enviar este trabajo.

1. Construir un programa que lea un número y lo invierta; por ejemplo, si se ingresó 198 el programa debe
devolver 891.

2. Desarrollar un programa que tenga un MENU en la cual tenga las siguientes opciones para un numero
natural N (>1), que es DATO. El algoritmo debe tener las siguientes opciones:

- Divisores de N
- Suma de los Divisores de N
- Promedio de los Divisores de N

3. Escribir un programa que calcule los n primeros números primos.

4. Construir un programa que lea dos números naturales A y B; que calcule todos los números n, tal que n
€ [A; B] y n es un numero abundante. Un número n es abundante si la suma de sus divisores propios es
mayor que n.

5. Escribir un programa que halle todos los números A y B que son amigos y de tres cifras. A y B son amigos
si A = suma de divisores propios de B y B = suma de divisores propios de A.
6. Elaborar un programa para calcular los cuadrados de los n primeros números enteros de acuerdo a la
siguiente serie: 1 + 3 = 4; 1 + 3 + 5 = 9; 1 + 3 + 5 + 7 = 16 . . .

7. Desarrollar un programa que determine si un numero n, que es dato, es un número feliz. Un número feliz
es todo número natural que cumple con la condición de que si sumamos los cuadrados de sus dígitos y
seguimos el proceso con los resultados obtenidos el resultado es 1; por ejemplo: 203 es un número feliz ,
porque 2*2 + 0*0 + 3*3 = 13; 1*1 + 3*3 = 10; 1*1 + 0*0 = 1.

8. Construir un programa que halle la descomposición canónica de n, n es dato. Ejemplo 50 = 2*5*5

9. Halle la raíz aproximada de una función no lineal, puede usar el METODO DE BISECCION. Pruebe con
exp(-x) + x - 2 = 0

10. Escriba un programa que lea un número natural N y lo represente en la base B. N y B son datos. Ejemplo:
Datos: N = 131; B = 11. Resultado: 10(10)

11. Diseñar un programa que lea un número N escrito en la base B; el programa debe representar N en la base
10. N y B son dato y trabaje para B<10.

12. Construir un programa que lea una cantidad de datos no determinada, que halle el promedio de los datos
positivos, que cuente la cantidad de datos negativos y termine si el último dato ingresado es 0.

13. Escribir un programa que lea dos números A y B (A<B) y halle todos los cubos perfectos que se
encuentran en [A;B]

14. Dado un código (1,2,3 . . .) de un trabajador, día de la semana (0=domingo, 1=lunes, 2=martes, etc.),
número de horas diurnas y número de horas nocturnas trabajadas de un grupo de n trabajadores, tomando
en cuenta que: La tarifa de las horas diurnas es de S/ 50, la tarifa de horas nocturnas es de S/ 70. En caso
de ser Domingo la tarifa se duplica y en el turno nocturno se triplica. Desarrolle un programa que
determine e imprima, para cada trabajador, el monto a cobrar por concepto de salario.
RESOLUCION

EJ.1
#include <iostream>
using namespace std;

int main()
{
int numero, digito;
cout<<"Programa que invierte los digitos de un numero entero positivo\n\n";
do
{
cout<<"Introduce un valor entero positivos : ";
cin>>numero;
if(numero <=0)
{
cout<<"El valor debe ser positivo\n\n";
}
}
while(numero <=0);
cout<<"El numero invertido es : ";

do
{
digito=numero % 10;
cout<<digito;
numero=numero/10;
}
while (numero !=0);
cout<<endl;

return 0;
}
EJ.2
#include<iostream>
using namespace std;
int main(){
system("colorf1")
int c,i,n,numdiv,op;
float p, promdiv,s,sumdiv;
cout<<"\n\n\tIngrese un numero: ";
cin<<n;
i=1;
c=0;
s=0;
p=0;
while (op!=5){
cout<<"\n\n\tMENU DE OPCIONES";
cout<<"\n\t <1> NUMERO DE DIVISORES";
cout<<"\n\t <2> SUMA DE DIVISORES";
cout<<"\n\t <3> PROMEDIO DE DIVISORES";
cout<<"\n\t <4> FINALIZAS";
cin>>op;
if (op>0 && op<5){
if (op==4){
cout<<"\n\n\tFIN DEL PROCESO";
}
else {
switch (op){
case 1:
for (i=1; i<=n;1++){
if(n%i==0){
c=c+1;
numdiv = c;
}
}
cout<<"\n\n\tNUMERO DE DIVISORES: "<<numdiv<<endl;
break;
case 2:
for (i=1;i<=n;i++){
if (n%i==0){
s=s+i;
sumdiv=s;
}
}
cout<<"\n\n\tSUMA DE DIVISORES: "<<sumdiv<<endl;
break;
case 3:
for (i=1;i<=n:i++){
if (n%i==0){
c=c+1;
s=s+i;
}
}
promdiv=s/c;
cout<<"\n\n\tPROMEDIO DE DIVISORES: "<<promdiv<<endl;
break;
}
}
}
}
system("pause");
return 0;
}
EJ.3
#include <iostream>
#include <math.h>
using namespace std;

int main(){
int a,cant,divisor;
cout<<"\n\n\tESCRIBE LA CANTIDAD DE NUMEROS PRIMOS: ";
cin>>a;
cout<<"\n\n\tLos primeros "<<a<<" primos son: "<<endl;
cant=a;
divisor=a-1;
a=a-(a-1);

while(cant>-1){
while(divisor>1){
if(a%divisor!=0){
divisor=divisor-1;
}
else{
a=a+1;
divisor=a-1;
}
}
if(a==1){
divisor=a-1;
a=a+1;
cant=cant-1;
}
else{
cout<<" "<<a<<endl;
divisor=a-1;
a=a+1;
cant=cant-1;
}
}
system("pause");
return 0;
}
EJ.10 CAMBIO DE BASE
#include<iostream>
#include<math.h>
using namespace std;
int main ()
{
int n,b,m=0,j=0;
cout<<"\n\n\tingrese numero: ";cin>>n;
cout<<"\n\n\tingrese base: ";cin>>b;
while(n/b>0)
{
m=m+(n%b*pow(10,j));
j=j+1;
n=n/b;
}
m=m+n*pow(10,j);
cout<<"\n\n\tel numero en base b es: "<<m;
cout<<"\n\n";
system("pause");
return 10;
}

EJ.11 DE BASE N A BASE 10


#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int m,b,p,n;
float D;
cout<<"\n\n\tingrese el numero: ";cin>>n;
cout<<"\n\n\tingrese la base: ";cin>>b;
m=0;
q=0;
while (((int)(n/10))!=0)
{
p=(int)(n%10);
q=q+p*pow(b,m);
m=m+1;
n=((int)(n/10));
}
q=q+n*pow(b,m);
cout<<"\n\ten base 10: "<<q;
cout<<"\n\t";
system("pause");
return 10;
}

También podría gustarte