Está en la página 1de 12

UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

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 ESTRUCTURAS REPETITVAS (WHILE/DO…WHILE)

1. Escriba un programa que permita calcular la suma de los números enteros


comprendidos entre dos cantidades ingresadas por teclado, finalmente calcular el
promedio de los números.
#include <iostream>

int main() {
int num1, num2;
std::cout << "Ingrese el primer número: ";
std::cin >> num1;
std::cout << "Ingrese el segundo número: ";
std::cin >> num2;

int sum = 0;
int count = 0;
int currentNum = num1;

// Calcular la suma de los números enteros


while (currentNum <= num2) {
sum += currentNum;
count++;
currentNum++;
}

double average = static_cast<double>(sum) / count;

std::cout << "La suma de los números enteros es: " << sum << std::endl;
std::cout << "El promedio de los números enteros es: " << average << std::endl;

return 0;
}

2. Escriba un programa que permita calcular la suma de los “n” primeros números impares
positivos.
#include <iostream>

int main() {
int n;
UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

std::cout << "Ingrese el valor de 'n': ";


std::cin >> n;

int sum = 0;
int count = 0;
int currentNum = 1;

// Calcular la suma de los "n" primeros números impares positivos


while (count < n) {
if (currentNum % 2 != 0) {
sum += currentNum;
count++;
}
currentNum++;
}

std::cout << "La suma de los " << n << " primeros números impares positivos es: "
<< sum << std::endl;

return 0;
}

3. Escribir un programa que calcule los divisores comunes de dos números.


#include <iostream>

int main() {
int num1, num2;
std::cout << "Ingrese el primer número: ";
std::cin >> num1;
std::cout << "Ingrese el segundo número: ";
std::cin >> num2;

int divisor = 1;
std::cout << "Los divisores comunes de " << num1 << " y " << num2 << " son: ";

// Calcular los divisores comunes de los dos números


while (divisor <= num1 && divisor <= num2) {
if (num1 % divisor == 0 && num2 % divisor == 0) {
std::cout << divisor << " ";
}
divisor++;
}

std::cout << std::endl;

return 0;
UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

4. Escribir un programa que permita calcular la suma de los “n” primeros términos de la
1 1 1
siguiente serie: + + +…
2 4 6
#include <iostream>

int main() {
int n;
std::cout << "Ingrese el número de términos de la serie: ";
std::cin >> n;

double suma = 0.0;


double termino = 2.0;
int contador = 1;

// Calcular la suma de los "n" primeros términos de la serie


do {
suma += 1.0 / termino;
termino += 2.0;
contador++;
} while (contador <= n);

std::cout << "La suma de los " << n << " primeros términos de la serie es: " << suma
<< std::endl;

return 0;
}

5. Escribir un programa que determine si un número es primo.


#include <iostream>

int main() {
int num;
std::cout << "Ingrese un número: ";
std::cin >> num;

bool esPrimo = true;


UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

int divisor = 2;

// Verificar si el número es primo


while (divisor <= num / 2) {
if (num % divisor == 0) {
esPrimo = false;
break;
}
divisor++;
}

if (esPrimo) {
std::cout << num << " es un número primo." << std::endl;
} else {
std::cout << num << " no es un número primo." << std::endl;
}

return 0;
}

6. Escribir un programa que permita calcular el área de un círculo, el proceso se repite


hasta que el usuario pulsa la tecla N al diálogo desea continuar (S/N)
#include <iostream>
#include <cmath>

int main() {
char opcion;

do {
double radio;
std::cout << "Ingrese el radio del círculo: ";
std::cin >> radio;

// Calcular el área del círculo


double area = M_PI * pow(radio, 2);

std::cout << "El área del círculo es: " << area << std::endl;

std::cout << "¿Desea continuar? (S/N): ";


std::cin >> opcion;
std::cout << std::endl;

} while (opcion != 'N' && opcion != 'n');

return 0;
}
UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

7. Escribir un programa que lea un número y diga si es perfecto.


#include <iostream>

int main() {
int num;
std::cout << "Ingrese un número: ";
std::cin >> num;

int sumDivisors = 0;
int divisor = 1;

// Calcular la suma de los divisores propios del número


while (divisor <= num / 2) {
if (num % divisor == 0) {
sumDivisors += divisor;
}
divisor++;
}

// Verificar si el número es perfecto


if (sumDivisors == num) {
std::cout << num << " es un número perfecto." << std::endl;
} else {
std::cout << num << " no es un número perfecto." << std::endl;
}

return 0;
}

8. Calcular la suma de los N primeros términos de la siguiente serie:


X 2 x3
1+X+ + +…
2! 3!
UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

#include <iostream>
#include <cmath>

int main() {
int N;
double X;
std::cout << "Ingrese el valor de N: ";
std::cin >> N;
std::cout << "Ingrese el valor de X: ";
std::cin >> X;

double suma = 0.0;


double termino = 1.0;
double factorial = 1.0;
int contador = 0;

// Calcular la suma de los N primeros términos de la serie


do {
suma += termino;
contador++;
termino *= X;
factorial *= contador;
termino /= factorial;
} while (contador < N);

std::cout << "La suma de los " << N << " primeros términos de la serie es: " << suma
<< std::endl;

return 0;
}

9. Escriba un programa que encuentre el máximo común divisor (mcd) de dos números
por el método de Euclides.
#include <iostream>

int main() {
int num1, num2;

std::cout << "Ingrese el primer número: ";


std::cin >> num1;
std::cout << "Ingrese el segundo número: ";
std::cin >> num2;

int dividend = num1;


int divisor = num2;

// Aplicar el algoritmo de Euclides


UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

while (divisor != 0) {
int remainder = dividend % divisor;
dividend = divisor;
divisor = remainder;
}

int mcd = dividend;

std::cout << "El máximo común divisor (MCD) de " << num1 << " y " << num2 << "
es: " << mcd << std::endl;

return 0;
}

10. Se tiene “n” alumnos en un curso, donde cada alumno tiene tres exámenes, el programa
deberá calcular el promedio calificando solo dos notas, eliminando la menor nota.
Además, deberá hacer un cuadro resumen del total aprobados y desaprobados.
#include <iostream>

int main() {
int numAlumnos;
std::cout << "Ingrese el número de alumnos: ";
std::cin >> numAlumnos;

int contador = 0;
int aprobados = 0;
int desaprobados = 0;

do {
double nota1, nota2, nota3;

std::cout << "Ingrese las tres notas del alumno " << contador + 1 << ": ";
std::cin >> nota1 >> nota2 >> nota3;

// Calcular el promedio con las dos notas más altas


double promedio;
if (nota1 <= nota2 && nota1 <= nota3) {
promedio = (nota2 + nota3) / 2.0;
} else if (nota2 <= nota1 && nota2 <= nota3) {
promedio = (nota1 + nota3) / 2.0;
} else {
promedio = (nota1 + nota2) / 2.0;
}
UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

std::cout << "El promedio del alumno " << contador + 1 << " es: " << promedio
<< std::endl;

// Contabilizar aprobados y desaprobados


if (promedio >= 10.0) {
aprobados++;
} else {
desaprobados++;
}

contador++;

} while (contador < numAlumnos);

// Cuadro resumen
std::cout << std::endl;
std::cout << "Cuadro Resumen" << std::endl;
std::cout << "Aprobados: " << aprobados << std::endl;
std::cout << "Desaprobados: " << desaprobados << std::endl;

return 0;
}

11. La secuencia de Fibonacci es muy conocida en los círculos matemáticos y tiene la


particularidad que cada número es igual a la suma de los 2 anteriores términos. La serie
de Fibonacci comienza con los números 0 y 1, produciendo la siguiente secuencia: 0, 1,
1, 2, 3, 5, 8, 13, … etc. muestre todos los números de Fibonacci que sean menores que
un número dado.
#include <iostream>
UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

int main() {
int limite;
std::cout << "Ingrese un número límite: ";
std::cin >> limite;

int num1 = 0;
int num2 = 1;
int num3 = 0;

std::cout << "Secuencia de Fibonacci hasta " << limite << ": ";
std::cout << num1 << " " << num2 << " ";

while (num3 < limite) {


num3 = num1 + num2;
if (num3 < limite) {
std::cout << num3 << " ";
}
num1 = num2;
num2 = num3;
}

std::cout << std::endl;

return 0;
}

12. Diseñar un programa que permita ingresa el nombre y notas de un alumno, el número
de alumnos a procesar se ingresará por el teclado. Finalmente calcular el promedio de
notas.
#include <iostream>

int main() {
int numAlumnos;
std::cout << "Ingrese el número de alumnos a procesar: ";
std::cin >> numAlumnos;

int contador = 0;
double sumaNotas = 0.0;

do {
std::string nombre;
double nota;

std::cout << "Ingrese el nombre del alumno: ";


std::cin.ignore(); // Limpiar el buffer del teclado antes de leer el nombre
std::getline(std::cin, nombre);
UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

std::cout << "Ingrese la nota del alumno: ";


std::cin >> nota;

sumaNotas += nota;
contador++;

std::cout << std::endl;

} while (contador < numAlumnos);

double promedio = sumaNotas / numAlumnos;

std::cout << "El promedio de notas de los " << numAlumnos << " alumnos es: " <<
promedio << std::endl;

return 0;
}

13. Diseñar un programa que permita realizar una encuesta a 6 personas preguntando por su
bebida favorita (Pepsi, Coca Cola, Kola real), el programa debe determinar la bebida de
mayor preferencia.

#include <iostream>

int main() {
int pepsiCount = 0;
int cocaColaCount = 0;
int kolaRealCount = 0;
int personCount = 1;

while (personCount <= 6) {


UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

std::cout << "Persona " << personCount << ", elija su bebida favorita (1-Pepsi, 2-Coca
Cola, 3-Kola Real): ";
int choice;
std::cin >> choice;

switch (choice) {
case 1:
pepsiCount++;
break;
case 2:
cocaColaCount++;
break;
case 3:
kolaRealCount++;
break;
default:
std::cout << "Opción inválida. Por favor, seleccione una opción válida." << std::endl;
continue;
}

personCount++;
}

std::cout << "Resultados de la encuesta:" << std::endl;


std::cout << "Pepsi: " << pepsiCount << " votos" << std::endl;
std::cout << "Coca Cola: " << cocaColaCount << " votos" << std::endl;
std::cout << "Kola Real: " << kolaRealCount << " votos" << std::endl;

// Determinar la bebida de mayor preferencia


if (pepsiCount > cocaColaCount && pepsiCount > kolaRealCount) {
std::cout << "Pepsi es la bebida de mayor preferencia." << std::endl;
} else if (cocaColaCount > pepsiCount && cocaColaCount > kolaRealCount) {
std::cout << "Coca Cola es la bebida de mayor preferencia." << std::endl;
} else if (kolaRealCount > pepsiCount && kolaRealCount > cocaColaCount) {
std::cout << "Kola Real es la bebida de mayor preferencia." << std::endl;
} else {
std::cout << "Hay un empate en las preferencias de las bebidas." << std::endl;
}

return 0;
}
UNIVRSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION

También podría gustarte