Está en la página 1de 29

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

ESTRUCTURA WHILE, DO WHILE Y FOR


1. Ingresar un número N entero positivo y reportar la suma de los números desde 1
hasta N.

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 1
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {


int n,suma=0,i=1;
cout<<"ingresar hasta que numero se desea sumar ";
cin>>n;
do{
suma=suma+i;
cout<<" "<<i<<endl;
i=i+1;
} while(i<=n);
cout<<"la suma es "<<suma<<endl;
return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 2
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

2. Ingresar N números enteros positivos y reporte la suma de pares.

 Diagrama de flujo:

INICIO

i, n,sum=0

n<=0

num<=0

num%2==0

“La suma de los números pares es “

FIN

LENGUAJE DE PROGRAMACIÓN
Página | 3
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int i,n,num,sum=0;
do{
cout<<"Ingresar N: ";
cin>>n;
}while(n<=0);
for(i=1;i<=n;i++){
do{
cout<<"Número "<< i<<": ";
cin>>num;
}while(num<=0);
if(num%2==0)
sum=sum+num;
}
cout<<"La suma de los numeros pares es "<<sum<<endl;
return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 4
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

3. Reportar los N términos de la serie: 14, 17, 15, 18, 16, 19, 17, 20, 18, 21, ...

 Diagrama de flujo:

 Programación:

#include<iostream>
using namespace std;

int main() {
int N,a=14;
cout<<"Ingrese el numero de terminos ";
cin>>N;
for(int i=1;i<=N;i++){
if(i%2==0){
a=a-2;
}
else {
a=a+3;
}
cout<<"la serie es "<<a<<endl;
}
return 0;
}

LENGUAJE DE PROGRAMACIÓN
Página | 5
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 6
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

4. Hacer un programa que, dado un valor de x, calcule el valor de la función:


𝑥2 𝑥3 𝑥4 𝑥5
𝑓(𝑥) = 1 − 𝑥 + − + − ….
2! 3! 4! 5!
Tenga en cuenta solo los términos de la serie que en valor absoluto son mayores o
iguales a 0.001.

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 7
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {


int i,n,x;
double producto=1, f=1,s=1;
cout<<"Ingrese el valor de x:";
cin>>x;
do
{
cout<<"Valor de n: ";
cin>>n;
}while(n<=0);
for(i=1;i<=n;i=i+1){

f=f*i;
producto=producto*x;
if (i % 2==0){
s=s+producto/f;
}else{
s=s-producto/f;
}
}
cout<<"f(x):"<<s;

return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 8
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

5. Como parte de un experimento un biólogo requiere tomar la temperatura exterior de


un lugar cada hora por un periodo de 6 horas. Realice un programa que reciba
como datos las temperaturas tomadas y determine la mayor y la menor.

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 9
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include<iostream>
using namespace std;
int main (int argc, char *argv[]) {
int h,temp,mayor,menor;
for(h=1;h<=6;h++){
cout<<"La temperatura en la hora "<<h<<" es ";
cin>>temp;
if(h==1){
mayor=temp;
menor=temp;
}
if(temp>mayor) mayor=temp;
if(temp<menor) menor=temp;
}
cout<<"La mayor temperatura es "<<mayor<<endl;
cout<<"La menor temperatura es "<<menor<<endl;
return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 10
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

6. Hacer un programa que genere números aleatorios entre 300 y 1000 hasta obtener
un número múltiplo de 7. Se debe mostrar los números generados, su suma, el
mayor y el menor.

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 11
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
#include <stdlib.h>
using namespace std;

int main(int argc, char *argv[]) {


int n;
int suma=0, mayor=0, menor=1001;
do{
n=300 + rand()%(1001-300);

cout<<n<<endl;
suma=suma+n;
if(n>mayor)
mayor = n;

if(n<menor)
menor = n;
} while(n%7!=0);

cout<<"La suma es " <<suma<<endl;


cout<<"El mayor es "<<mayor<<endl;
cout<<"El menor es "<<menor<<endl;

return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 12
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

7. Escribir un programa que lea 3números enteros positivos a, b, n>0, calcule la


sumatoria de:
1! 2! 3! 4! (𝑛 + 1)!
− + − +⋯
𝐴 𝐴 + 𝐵 𝐴 + 2𝐵 𝐴 + 3𝐵 𝐴 + 𝑛𝐵

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 13
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
int n,factorial=1,i;
double a,b,suma=0;
do{
cout<<"Ingrese n ";
cin>>n;
} while(n<=0);
do{
cout<<"Digite el valor a ";
cin>>a;

} while(a<=0);
do{
cout<<"Digite el valor b ";
cin>>b;
} while(b<=0);
for(i=0;i<=n;i++)
{
factorial = factorial*(i+1);
if(i%2==0){
suma = suma + (factorial/(a+ i*b));
}else
suma = suma - (factorial /(a + i*b));
}
cout<<"La suma de los "<<(n+1)<<" términos de la serie es
:"<<suma<<endl;

return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 14
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

8. Escriba un programa que lea 2 números 𝑥1 𝑦 𝑥2 tal que 𝑥1 < 𝑥2 . Se debe calcular
e imprimir el valor de 𝑓(𝑥) para todos los valores de x, desde 𝑥 = 𝑥1 hasta 𝑥 = 𝑥2
𝑥 𝑥2 𝑥3 𝑥4
𝑓(𝑥) = 1 + − + − + ⋯
3! 5! 7! 9!
𝑥
La sumatoria termina cuando se tiene un término: | 𝑦!𝑛 | < 0.001.

 Diagrama de flujo:

INICIO

n,a,b,fac=1,x,i=1,j=3,k=1,fun

A<B

a=b

Fx=1 ; i=1 ;j=3 ; k=1

y=1 ; y<= j; y++

fac=fac*y; fun=k*pow(x,i)/fac;
fx=fx+fun; i=i+1; j=j+2; k=k*(-1)

“La suma es “

FIN

LENGUAJE DE PROGRAMACIÓN
Página | 15
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char *argv[]) {
float n,a,b,fac=1,x,i=1,j=3,k=1,fun;
float fx=1.0;
cout<<"Inserte valor de x1 ";
cin>>a;
cout<<"Inserte valor de x2 ";
cin>>b;
if(a<b);
x=a;
for(x;x<=b;x++)
{
fx=1;
i=1;
j=3;
k=1;
do{
for(int y=1;y<=j;y++)
{
fac=fac*y;
}
fun=k*pow(x,i)/fac;
fx=fx+fun;
i=i+1;
j=j+2;
k=k*(-1);
} while(fun>=0.001);
cout<<"La suma es "<<fx<<endl;
}
return 0;
}
 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 16
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

9. Escribir un programa que calcule e imprima el valor de los N términos de la serie:2,


1, 1, 2, 8, 64... También se debe imprimir la suma de los N términos.
 Diagrama de flujo:

INICIO

int n, ter=2, contador=0

double raz=0.5, sum=0.0

Ingrese número de términos (n)

V
n<=0

cout<<ter<<” ; ”

suma+=ter

contador++
V

F
contador<n

ter*=raz

raz*=2

contador <n
V
F

La suma es (sum) Fin Página | 17


LENGUAJE DE PROGRAMACIÓN
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {


int n, ter = 2,contador = 0;
double raz = 0.5, sum= 0;
cout<<"Ingrese el numero de terminos ";
cin>>n;

do{
cout<<ter<<"; ";
sum +=ter;
contador++;

if(contador<n){
ter *=raz;
raz *=2;
}
}
while(contador<n);

cout<<"\nLa suma de n Terminos es : "<<sum<<endl;

return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 18
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

10. Escribir un programa para ingresar 3 números y reporte su máximo común divisor y
su mínimo común múltiplo.

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 19
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:
#include<iostream>
using namespace std ;
int main(){
int a,b,r,mcd,mcm,aux;
do{
cout<<"Ingrese primer numero :"<<endl;
cin>>a;
cout<<"Ingrese segundo numero :"<<endl;
cin>>b;
}while(a<0 && b<0);
mcd=a;
aux=b;
do{
r=mcd%aux;
mcd=aux;
aux=r;
}while(r!=0);
mcm=a*b/mcd ;
cout<<"El maximo comum divisor es :"<<mcd<<endl;
cout<<"El minimo comum multiplo es :"<<mcm<<endl;
return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 20
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

11. Escribir un programa que para reducir un quebrado a su mínima expresión.


Ejemplos: 15/25=3/5 y 18/60=9/30=3/10

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 21
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:
#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {


int N, D, i=2;
cout<<"Ingrese el numerador de la fracción: ";
cin>>N;
cout<<"Ingrese el denominador de la fracción: ";
cin>>D;
while(i<=N and i<=D)
{
while (N%i==0 and D%i==0)
{
N=N/i;
D=D/i;
}
i++;
}
cout<<"La fracción simplificada es "<<N<<"/"<<D<<endl;
return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 22
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

12. Escribir un programa que permita mostrar en pantalla los N primeros números
primos.

 Diagrama de flujo:

INICIO

numPrimo

“El número 2 es primo”

Contador<numPrimo

esPrimo = true

divisor<=sqrt((num)); esPrimo

num%divisor==0

esPrimo = false

“El número es primo “

FIN

LENGUAJE DE PROGRAMACIÓN
Página | 23
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char *argv[]) {
int numPrimos,contador,divisor,num;
bool esPrimo;
cout<<"Indicar la cantidad de números primos que deseas conocer
"<<endl;
cin>>numPrimos;
cout<<"El número 2 es primo"<<endl;
contador = 1;
num = 3;
while (contador < numPrimos){
esPrimo = true;
divisor=3;
while ((divisor<=sqrt((num))) and esPrimo) {
if (num%divisor==0) {
esPrimo = false;
}
divisor=divisor+2;
}
if (esPrimo){
contador=contador+1;
cout<<"El número "<<num<<" es primo"<<endl;
}
num=num+2 ;
}
return 0;
}

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 24
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

13. Escribir un programa que permita mostrar todos los números perfectos menores
que1000.

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 25
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:
#include <iostream>
using namespace std;

int main(){
//definicion de variables
int auxEntero = 0;
int rangoBusqueda = 0;
cout<<"Hallando números perfectos.\n\n";
cout<<"Mostrar los números perfectos menores que:";
cin>>rangoBusqueda;
for(int i=1; i<=rangoBusqueda ; i++)
{
if(i%2==0)
{
for(int j=(i/2); j>=1 ; j--)
{
if(i%j==0)
{
auxEntero=auxEntero+j;
}
}
if(auxEntero==i)
cout<<"Número Perfecto
"<<auxEntero<<endl;
}
auxEntero = 0;
}
return 0;
}

LENGUAJE DE PROGRAMACIÓN
Página | 26
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 27
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

14. Ingresar N números de 2 dígitos y determinar cuál de ellos tiene la suma de dígitos
mayor.

 Diagrama de flujo:

LENGUAJE DE PROGRAMACIÓN
Página | 28
SECCIÓN “B”
GRUPO 01
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL

 Programación:

#include <iostream>
using namespace std;

int main() {
int n, m,x=0, y=0 ;
cout <<"ingrese los numeros" ;
cin >>n>>m ;
while (n>0, m>0){
x= x + n%10 ;
n= n/10 ;
y= y + m%10 ;
m= m/10 ;
}
if (x>y){
cout<<"la mayor suma de cifras es: "<<x ;
}
else {
cout<< "la mayor suma de cifras es: "<<y ;
}
return 0 ;

 Ejecución:

LENGUAJE DE PROGRAMACIÓN
Página | 29
SECCIÓN “B”
GRUPO 01

También podría gustarte