GAVINO RAMOS PAOLO - Practica Estructura de Control For

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

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 ESTRUCTURA DE CONTROL REPETITVA for

1. Escribir un programa que permita calcular el máximo común divisor de dos números
enteros.
# include <iostream>
using namespace std;
int main()
{
int n1, n2, d, mcd;
cout <<"Ingrese 2 números:";
cin>>n1>>n2;
mcd=1;
for(d=2; d<=n1; d++)
if (n1%d==0 && n2%d==0)
mcd=d;
cout<<"El mcd es:"<<mcd;
return 0;
}

2. Escribir un programa que permita visualizar la tabla de multiplicar de un número entero


ingresado por teclado.
# include <iostream>
using namespace std;
int main()
{
int n, cont;
cout<<"TABLA DE MULTIPLICAR DEL:";
cin>>n;
cout<<"_________________________\n";
for(cont=0; cont<=12; cont++)
cout<<n <<"x "<<cont <<"= "<<n*cont <<endl;
return 0;
}
3. Escribir un programa que permita determinar si un número es perfecto o no.
#include <iostream>
using namespace std;
int main()
{
int n, d, sd=0;
cout<<"Ingrese un numero:";
cin>>n;
for(d=1; d<=n/2; d++)
if(n%d==0)
sd=sd+d;
if(sd==n)
cout<<"El número es perfecto";
else
cout<<"El número no es perfecto";
return 0;
}

4. Escribir un programa que permita calcular la suma, suma de cuadrados y la suma de


cubos de los “n” primeros números naturales.
#include <iostream>
using namespace std;
int main() {
int n;

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


cin >> n;

int suma = 0;
int sumaCuadrados = 0;
int sumaCubos = 0;

for (int i = 1; i <= n; i++) {


suma += i;
sumaCuadrados += i * i;
sumaCubos += i * i * i;
}

cout << "La suma de los primeros números naturales es: "<<suma<<endl;
cout << "La suma de los cuadrados de los primeros números naturales es:
"<<sumaCuadrados<<endl;
cout << "La suma de los cubos de los primeros números naturales es:
"<<sumaCubos<<endl;

return 0;
}

5. Escribir un programa que permita mostrar todos los divisores de un número entero. Si el
número solo tiene por divisores al 1 y al propio número, mostrar el mensaje “Número
Primo”
#include <iostream>
using namespace std;
int main()
{
int n, d, contdiv;
cout<<"Ingrese un numero:"; cin>>n;
cout<<"Los divisores del número son:\n";
contdiv=0;
for(d=1; d<=n; d++)
if(n%d==0)
{
cout<<d<<endl;
contdiv=contdiv+1;
}
if(contdiv==2)
cout<<"El número es primo";
else
cout<<"El número no es primo";
return 0;
}
6. Escribir un programa que encuentre el promedio de “N” números.
#include <iostream>

int main() {
int N;
double suma = 0.0;

std::cout << "Ingrese la cantidad de números (N): ";


std::cin >> N;

for (int i = 0; i < N; i++) {


double numero;
std::cout << "Ingrese el número " << i + 1 << ": ";
std::cin >> numero;
suma += numero;
}

double promedio = suma / N;

std::cout << "El promedio de los " << N << " números ingresados es: " << promedio
<< std::endl;

return 0;
}

7. Escribir un programa que imprima una cantidad de * en función de la variable contador,


por ejemplo: la primera línea imprimirá un *, la segunda dos ** … etc. El número de
líneas a imprimir se ingresa por teclado
#include <iostream>

int main() {
int numLineas;

std::cout << "Ingrese el número de líneas a imprimir: ";


std::cin >> numLineas;

for (int i = 1; i <= numLineas; i++) {


for (int j = 1; j <= i; j++) {
std::cout << "*";
}
std::cout << std::endl;
}

return 0;
}

8. Escribir un programa que imprima el termino 100 de la siguiente serie: 1, 2, 4, 7, 11, 16,
22, … .
#include <iostream>

int main() {
int n = 100; // Número de término que queremos calcular
int termino = 1; // Inicializamos el primer término de la serie
int valorSuma = 1; // Valor que se va sumando en cada paso del bucle

// Calcular el término n de la serie


for (int i = 1; i < n; i++) {
termino += valorSuma;
valorSuma++;
}

// Imprimir el resultado
std::cout << "El término " << n << " de la serie es: " << termino << std::endl;

return 0;
}

9. Un vehículo recorre n distancias en n tiempos diferentes. ¿Cuál será su velocidad


promedio para toda la trayectoria?
#include <iostream>

int main() {
int n;
double distanciaTotal = 0.0;
double tiempoTotal = 0.0;

std::cout << "Ingrese el número de distancias y tiempos: ";


std::cin >> n;

for (int i = 1; i <= n; i++) {


double distancia, tiempo;

std::cout << "Ingrese la distancia " << i << ": ";


std::cin >> distancia;

std::cout << "Ingrese el tiempo " << i << ": ";


std::cin >> tiempo;

distanciaTotal += distancia;
tiempoTotal += tiempo;
}

double velocidadPromedio = distanciaTotal / tiempoTotal;

std::cout << "La velocidad promedio para toda la trayectoria es: " <<
velocidadPromedio << " unidades de distancia por unidad de tiempo." << std::endl;

return 0;
}

10. Generar al azar 20 números de 40 cifras cada uno, determinando si cada uno de ellos es
múltiplo de 3, de 5 o de ambos, mostrando el mensaje correspondiente al costado del
número generado, si no fuera múltiplo de ninguno no mostrar ningún mensaje.
Sugerencia: por cada número, generar digito por dígito en forma aleatoria entre 0 y 9 y
considerar que un número es múltiplo de 3 cuando la suma de sus cifras lo es; y es
múltiplo de 5 cuando el último dígito es 0 o 5. Recuerde que no existe un tipo de dato
que soporte números mayores de 13 cifras.
#include <iostream>
#include <vector>
#include <random>

// Función para generar un número aleatorio entre min y max


int generarNumeroAleatorio(int min, int max) {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(min, max);
return dis(gen);
}

// Función para determinar si un número es múltiplo de 3


bool esMultiploDeTres(const std::vector<int>& numero) {
int sumaCifras = 0;
for (int digito : numero) {
sumaCifras += digito;
}
return sumaCifras % 3 == 0;
}

// Función para determinar si un número es múltiplo de 5


bool esMultiploDeCinco(const std::vector<int>& numero) {
return numero.back() == 0 || numero.back() == 5;
}

int main() {
const int cantidadNumeros = 20;
const int cantidadCifras = 40;

for (int i = 0; i < cantidadNumeros; i++) {


std::vector<int> numero;

// Generar las 40 cifras aleatoriamente entre 0 y 9


for (int j = 0; j < cantidadCifras; j++) {
numero.push_back(generarNumeroAleatorio(0, 9));
}

// Mostrar el número generado


for (int cifra : numero) {
std::cout << cifra;
}

// Determinar si es múltiplo de 3, de 5 o de ambos, y mostrar el mensaje


correspondiente
if (esMultiploDeTres(numero) && esMultiploDeCinco(numero)) {
std::cout << " - Múltiplo de 3 y 5\n";
} else if (esMultiploDeTres(numero)) {
std::cout << " - Múltiplo de 3\n";
} else if (esMultiploDeCinco(numero)) {
std::cout << " - Múltiplo de 5\n";
} else {
std::cout << "\n";
}
}

return 0;
}
11. Escribir un programa que imprima la siguiente serie: 2, 6, 3, 7, 4, 8,5 … (100 términos).
#include <iostream>

int main() {
int n = 100; // Número de términos en la serie

// Utilizamos dos variables, una para los números pares y otra para los impares
int par = 2;
int impar = 6;

// Imprimir los primeros 100 términos de la serie


for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
std::cout << par << " ";
par += 1;
} else {
std::cout << impar << " ";
impar += 1;
}
}

std::cout << std::endl;

return 0;
}
12. Imprimir los salarios netos junto a los demás importes necesarios para su cálculo, de
todos los obreros de una empresa, quienes están identificados por un código y se rigen
por las siguientes condiciones salariales: Cada trabajador tiene una tarifa por hora
trabajada en horario normal. La tarifa por hora extra es 50% más que la tarifa por la
hora normal. El salario básico se calcula en base a las horas trabajadas en horario
normal y en horario extra. Bonificación = 20% del salario básico. Salario Bruto =
Salario Básico + Bonificación. Descuento = 7% del Salario Bruto. Salario Neto =
Salario Bruto – Descuento.
#include <iostream>
#include <vector>

struct Obrero {
int codigo;
double tarifaHoraNormal;
double horasNormalesTrabajadas;
double horasExtrasTrabajadas;
};

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

std::vector<Obrero> obreros;

// Solicitar los datos de los obreros al usuario


for (int i = 0; i < numObreros; i++) {
Obrero obrero;

std::cout << "Ingrese el código del obrero " << i + 1 << ": ";
std::cin >> obrero.codigo;

std::cout << "Ingrese la tarifa por hora trabajada en horario normal para el obrero "
<< i + 1 << ": ";
std::cin >> obrero.tarifaHoraNormal;

std::cout << "Ingrese las horas trabajadas en horario normal para el obrero " << i +
1 << ": ";
std::cin >> obrero.horasNormalesTrabajadas;

std::cout << "Ingrese las horas extras trabajadas para el obrero " << i + 1 << ": ";
std::cin >> obrero.horasExtrasTrabajadas;
obreros.push_back(obrero);
}

// Calcular e imprimir los salarios netos junto con los demás importes necesarios
std::cout << "\nCódigo\tTarifa Hora Normal\tHoras Normales\tHoras Extras\
tBonificación\tSalario Bruto\tDescuento\tSalario Neto\n";
for (const auto& obrero : obreros) {
double tarifaHoraExtra = obrero.tarifaHoraNormal * 1.5;
double salarioBasico = (obrero.tarifaHoraNormal *
obrero.horasNormalesTrabajadas) +
(tarifaHoraExtra * obrero.horasExtrasTrabajadas);
double bonificacion = salarioBasico * 0.2;
double salarioBruto = salarioBasico + bonificacion;
double descuento = salarioBruto * 0.07;
double salarioNeto = salarioBruto - descuento;

std::cout << obrero.codigo << "\t" << obrero.tarifaHoraNormal << "\t\t\t" <<
obrero.horasNormalesTrabajadas
<< "\t\t" << obrero.horasExtrasTrabajadas << "\t\t" << bonificacion << "\t\t"
<< salarioBruto
<< "\t\t" << descuento << "\t\t" << salarioNeto << "\n";
}

return 0;
}

INDICACIONES
Desarrollar del archivo de la Práctica de la estructura de control for los ejercicios del 7 al 11.

Duración de 9:30 am. a 11:50 pm., tiempo dentro del cual debe ser enviado el archivo de la
solución correspondiente.

También podría gustarte