0% encontró este documento útil (0 votos)
122 vistas11 páginas

Tarea LP

El documento presenta una serie de problemas relacionados con bucles y estructuras de control repetitivas en los lenguajes C y C++. Se proponen ejercicios sobre bucles while, for y do-while, cálculo de series, promedios y valores máximos, validación de números primos, números perfectos, y conversión de unidades de masa. El documento guía al estudiante en la resolución de estos problemas a través de código de programación.

Cargado por

Km CM
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas11 páginas

Tarea LP

El documento presenta una serie de problemas relacionados con bucles y estructuras de control repetitivas en los lenguajes C y C++. Se proponen ejercicios sobre bucles while, for y do-while, cálculo de series, promedios y valores máximos, validación de números primos, números perfectos, y conversión de unidades de masa. El documento guía al estudiante en la resolución de estos problemas a través de código de programación.

Cargado por

Km CM
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 DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

UNIVERSIDAD NACIONAL “DANIEL ALCIDES CARRIÓN

FACULTAD DE INGENIERÍA
ESCUELA DE FORMACIÓN PROFESIONAL DE SISTEMAS Y COMPUTACIÓN

LABORATORIO DOMICILIARIO N° 3 DE LENGUAJE DE PROGRAMACIÓN


I
(LENGUAJE C STANDAR /C++)

CONTROLES REPETITIVOS.

DOCENTE: TRINIDAD MALPARDITA ARTURO

CURSO: LENGUAJE DE PROGRAMACION

ALUMNO: SERRANO CARRANZA JOSE

FECHA: 14/12/2018
PROBLEMA 1. ¿Cuál es la salida de los siguientes bucles? Antes de responder piense
primero sobre el papel la respuesta y después compruébelo con el DevC++.

El programa hace que imprima la


palabra hola con un número inicial
igual a 10 seguidamente restándose
Dos hasta que este sea mayor a cero.

El programa hace que imprima la palabra


hola con un número inicial a 0
seguidamente sumando de a uno hasta el
número doce.

El programa hará que


imprima “n” hasta 10 y a la
vez “m” que empiece en 10
y termine en 1 e imprimirá la
multiplicación de ambas
haciendo una tabla de
multiplicar.
PROBLEMA 2. ¿Qué hace el siguiente bucle while?. Rescríbalo con sentencias for y
do-while.

El programa hace que mientras la variable “num” sea menor o igual a 10


Este escriba “num” más 10.

Estructura do while.

#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int num=10;
do
{
printf("%d \n", num);
num=num+10;
}
while (num<=10);
}

Estructura for
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int num;
num=10;

for (;num<=10;)
{
printf("%d \n", num);
num=num+10;
}
}
PROBLEMA 3. Calcular la suma de las siguientes series:

11 1 1
a) + + +.....

1 2 3 n
#include<stdio.h>
#include<conio.h>
double serieArmonica(int n)
{
double sumatoria = 0.0d;
cin>>n;
for (int i = 1; i <= n; i++)
{
sumatoria += 1.0d / i;
}
return sumatoria;
}

PROBLEMA 4. Realice un programa que lea números enteros positivos hasta que se
introduzca un 0. El programa deberá mostrar por pantalla la cantidad de números
leídos, la media, así como el valor máximo introducido.

#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int i,n,ma,con=0,med,acum=0;
med=acum/con;
cout<<"ingrese el numero"<<endl;
for(i=0;i=n;i++)
acum += n;
con++;
cin>>n;

if (n==0){
cout <<"los numeros ingresados son : "<<con<<endl;
cout <<"la media seria : "<<med<<endl;
if (ma>n)
{
cout<<"el mayor es "<<ma<<endl;
}
}
PROBLEMA 5. Realice un programa que calcule y visualice el más grade, el más
pequeño y la media de n números (n>0). El valor de n se solicitará al principio del
programa y los números serán introducidos por el usuario.

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
int cantidad(0);
int numero(0);
int menor(0);
int mayor(0);
float suma(0.0f);

cout << "Ingrese la cantidad de n\243meros: ";


cin >> cantidad;

for (int cont(1); cont <= cantidad; ++cont) {


cout << "num " << cont << " = ";
cin >> numero;
if (cont == 1) {
menor = numero;
mayor = numero;
} else if (numero < menor) {
menor = numero;
} else if (numero > mayor) {
mayor = numero;
}
suma += numero;
}

cout << "----------------\n"


<< "menor = " << menor << endl
<< "mayor = " << mayor << endl
<< fixed << setprecision(2)
<< "media = " << suma / cantidad;
return 0;
}
PROBLEMA 6. Realizar un programa que pida dos números enteros por teclado y
muestre por pantalla el siguiente menú:
#include <conio.h>
#include <stdio.h>
int main()
{
char opcion;
int n1, n2;
do
{
printf( "\n >>> MENU CALCULADORA <<<" );
printf( "\n\n 1. Sumar dos n%cmeros.", 163 );
printf( "\n 2. Restar dos n%cmeros.", 163 );
printf( "\n 3. Multiplicar dos n%cmeros.", 163 );
printf( "\n 4. Dividir dos n%cmeros.", 163 );
printf( "\n 5. Salir.\n" );
do
{
printf( "\n Introduzca opci%cn (1-5): ", 162 );
fflush( stdin );
scanf( "%c", &opcion);
} while ( opcion < '1' || opcion > '5' );
/* La opción sólo puede ser '1', '2', '3', '4' o '5' */
switch ( opcion )
{
case '1': printf( "\n Introduzca primer sumando: " );
scanf( "%d", &n1);
printf( "\n Introduzca segundo sumando: " );
scanf( "%d", &n2);
printf( "\n %d + %d = %d\n", n1, n2, n1 + n2 );
break;
case '2': printf( "\n Introduzca minuendo: " );
scanf( "%d", &n1);
printf( "\n Introduzca sustraendo: " );
scanf( "%d", &n2);
printf( "\n %d - %d = %d\n", n1, n2, n1 - n2 );
break;
case '3': printf( "\n Introduzca primer operando: " );
scanf( "%d", &n1);
printf( "\n Introduzca segundo operando: " );
scanf( "%d", &n2);
printf( "\n %d * %d = %d\n", n1, n2, n1 * n2 );
break;
case '4': printf( "\n Introduzca dividendo: " );
scanf( "%d", &n1);
printf( "\n Introduzca divisor: " );
scanf( "%d", &n2);
if ( n2 != 0 )
printf( "\n %d div %d = %d ( Resto = %d )\n", n1, n2, n1 / n2, n1 % n2 );
else
printf( "\n ERROR: No se puede dividir entre cero.\n" );
}

} while ( opcion != '5' );

return 0;
}
PROBLEMA 7. Modificar el ejercicio anterior para que al elegir la opción 5, en vez de
salir del programa directamente, nos muestre el siguiente mensaje de confirmación.
#include <conio.h>
#include <stdio.h>
int main()
{
char opcion,seguir;
int n1, n2;
do
{
printf( "\n >>> MENU CALCULADORA <<<" );
printf( "\n\n 1. Sumar dos n%cmeros.", 163 );
printf( "\n 2. Restar dos n%cmeros.", 163 );
printf( "\n 3. Multiplicar dos n%cmeros.", 163 );
printf( "\n 4. Dividir dos n%cmeros.", 163 );
printf( "\n 5. Salir.\n" );
do
{
printf( "\n Introduzca opci%cn (1-5): ", 162 );
fflush( stdin );
scanf( "%c", &opcion);
} while ( opcion < '1' || opcion > '5' );
/* La opción sólo puede ser '1', '2', '3', '4' o '5' */
switch ( opcion )
{
case '1': printf( "\n Introduzca primer sumando: " );
scanf( "%d", &n1);
printf( "\n Introduzca segundo sumando: " );
scanf( "%d", &n2);
printf( "\n %d + %d = %d\n", n1, n2, n1 + n2 );
break;
case '2': printf( "\n Introduzca minuendo: " );
scanf( "%d", &n1);
printf( "\n Introduzca sustraendo: " );
scanf( "%d", &n2);
printf( "\n %d - %d = %d\n", n1, n2, n1 - n2 );
break;
case '3': printf( "\n Introduzca primer operando: " );
scanf( "%d", &n1);
printf( "\n Introduzca segundo operando: " );
scanf( "%d", &n2);
printf( "\n %d * %d = %d\n", n1, n2, n1 * n2 );
break;
case '4': printf( "\n Introduzca dividendo: " );
scanf( "%d", &n1);
printf( "\n Introduzca divisor: " );
scanf( "%d", &n2);
if ( n2 != 0 )
printf( "\n %d div %d = %d ( Resto = %d )\n", n1, n2, n1 / n2, n1 % n2 );
else
printf( "\n ERROR: No se puede dividir entre cero.\n" );
}

} while ( opcion != '5' );


printf( "\n %crealmente desea salir (s/n)?: ", 168, 163 );
while ( seguir != 'n' );

return 0;
}
PROBLEMA 8. Realice un programa que determine si un número leído del teclado es
primo o no.
#include <iostream>
using namespace std;
int main(){
int a=0,i,n;
cout<<"Ingrese numero"<<endl;
cin>>n;
for(i=1;i<(n+1);i++){
if(n%i==0){
a++;
}
}
if(a!=2){
cout<<"No es Primo";
}else{
cout<<"Si es Primo";
}
return 0;
}

PROBLEMA 9. Un número perfecto es un entero positivo, que es igual a la suma de


todos los enteros positivos (excluido él mismo) que son divisores del número. El primer
número perfecto es 6, ya que los divisores de 6 son 1, 2, 3 y 1 + 2 + 3 = 6. Escriba un
programa que lea un número entero positivo n y muestre por pantalla si ese número es
o no perfecto.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int numeroPerfecto(int num);

int main()
{
int numero;

printf("\nIngrese un numero: ");


scanf("%i", &numero);

if(numeroPerfecto(numero))
printf("\nEs Perfecto\n");
else
printf("\nNo es Perfecto\n");
getchar();
return 0;
}
PROBLEMA 10. Que pase de Kg a otra unidad de medida de masa, mostrar en pantalla un
menú con las opciones posibles.
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int n,hg,dg,g,cg,mg;
hg=n*100;
dag=n*10;
dg=n*0.1;
cg=n*0.01;
mg=n*0.001;
cout << "ingrese la cantidad de kg a convertir a hg dag g dg cg mg : "<<endl;
cin>>n;
cout<<n<<" hectogramos seria : "<<hg<<endl;
cout<<n<<" decagramos seria : "<<dag<<endl;
cout<<n<<" gramos seria : "<<g<<endl;
cout<<n<<" decigramos seria : "<<dg<<endl;
cout<<n<<" centigramos seria : "<<cg<<endl;
cout<<n<<" miligramos seria : "<<mg<<endl;
}

PROBLEMA 11. Realice un programa que lea un número entero por teclado y devuelva
por pantalla el número de dígitos que componen ese número. Por ejemplo, si
introducimos el número 12334, el programa deberá devolver 5.
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int n,x=0;
cout<<"ingrese el numero"<<endl;
cin>>n;
while (n !=0)
{
n=n/10;
x++;
}
cout<<"el numero ingresado tiene "<<x<<"cifras"<<endl;
}
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
PROBLEMA 12. Realice un programa que lea un número entero por teclado y devuelva
por pantalla las que forman ese número.
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
int num;
cout<<"Ingrese numero: ";
cin>>num;
do{

cout<<num%10;
num/=10;
}
while (num !=0);
}
PROBLEMA 13. Realizar un programa que imprima las letras desde la ‘A’ hasta la ‘Z’.

Ejemplo:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
cout<<" ABCDEFGHIJKLMNOPQRSTUVWXYZ;
";
}

PROBLEMA 14. Realizar un programa que imprima las letras desde la ‘A’ hasta la ‘Z’
en diagonal.
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
char letra;
char *p_letra =&letra;

for (letra= ´a´;letra<=´z´;letra++){


cout<<*p_letra;

}
PROBLEMA 15. Realice un programa que pida al usuario un número N y muestre un
árbol centrado desde 1 hasta N

#include <iostream>
using namespace std;
int factorial(int n)
{
int resultado=1;
for(int i=1;i<=n;i++)
resultado*=i;
return resultado;
}
int combinacion(int n,int k)
{
retunr(factorial(n)/(factorial(k)*factorial(n-k)))
}
int main()
{
int n;
cout <<"ingrese n: " <<endl;
cin >>n;
for (int i=0;i<=n;i++)
{
for(int j=0;<=i;j++){

cout <<combinacion(i,j)<<" ";


}
cout<<endl;
}
}

PROBLEMA 19. Realice un programa que calcule el producto n! (n-1)!...3!*2!*1!


#include <iostream>
int main ( ){
int num,i,fact;
i=1; fact=1;
printf("n- Introduzca un número: ");
scanf("%d",&num);
while(i < num) {
i++;
fact = fact * i;
}
printf("n- El factorial de %d es %d",num,fact);
}

También podría gustarte