Está en la página 1de 21

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

ASIGNATURA DOCENTE

INTRODUCCION A LA PROGRAMACIÓN FARFÁN AGUILAR JOSÉ ANTONIO

ESTRUCTURAS REPETITIVAS

GRUPO “4”

 DEL CASTILLO AZURÍN, JEREMY 1625125653


 LUGO ORTEGA, JOHN 1625125648
 QUINO QUISPE, FRANZ 1625115637
 VARGAS BORDA, DILAN 1625115706

2018

1
Dedicamos este informe a Dios, por guiarnos por el
sendero correcto de la vida, iluminándonos en todo
lo que realizamos. A nuestros padres, por ser nuestro
ejemplo para seguir adelante en el convivir diario y
por inculcarnos valores que de una u otra forma nos
sirven en nuestra vida. Al profesor Farfán Aguilar,
Josè por su labor educativa y apoyo para nuestra
formación universitaria, siendo exigente con nuestro
aprendizaje.

2
ÍNDICE

DEDICATORIA ……………………………………………………………. 2

PROLOGO …………………………….……………………………… 4

INTRODUCCIÓN ……………………………………………………………. 5

CUERPO DEL TRABAJO ……………………………………………………………. 6

CONCLUSIONES ……………………………………………………………. 11

APENDICE …………………………………………………………… 12

BIBLIOGRAFIAS ……………………………………………………………. 21

3
PRÓLOGO
Hemos escrito este informe pensando en aquellas personas que se adentran a
la programación a nivel universitario o de forma profesional, con poco o ningún
conocimiento de programación de computadoras, de algoritmos o de objetos.

Todos los estudios de computación y de informática suelen contemplar


asignaturas tales como introducción fundamentos o metodología de
programación, junto con estudios de Estructuras de Datos y de Programación
Orientada a Objetos.

Las carreras universitarias de ciencias e ingeniería requieren un curso básico de


algoritmos y de programación con un lenguaje potente y profesional pero que
sea simple y fácil de realizar.

En este trabajo se hará una explicación de las tres estructuras de repetición


estudiando cada sub tema correspondiente.

4
INTRODUCCIÓN

El presente trabajo es un Informe para el curso “Introducción a la Programación”


dictado en la Facultad de Ingeniería Industrial y de Sistemas y tiene como base
teórica las “Estructuras Repetitivas en C++”.

Muchas veces dentro de algún programa, es necesario repetir varias veces un


procedimiento que es representado por un conjunto de instrucciones bien
definidas. Para este tipo de situaciones los lenguajes de programación brindan
las estructuras de iteración, llamadas también ciclos, bucles o lazos.

Este trabajo se centrará en la explicación de las tres estructuras de iteración que


nos ofrece C++, empezando por su sintaxis y terminando con los ejemplos
respectivos para cada subtema.

5
CUERPO DEL TRABAJO

Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de


instrucciones se ejecuten un cierto número finito de veces, por ejemplo, escribir
algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otra
cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de
veces. Se les llama bucle o ciclo a todo proceso que se repite cierto número de
veces dentro de un pseudocódigo o un programa y las estructuras repetitivas
nos permiten hacerlo de forma sencilla.

WHILE

 SINTAXIS

6
La sintaxis del lazo while expresada en palabras significa lo
siguiente: “mientras expresión de un resultado VERDADERO se
ejecutará el bloque de instrucciones hasta la última instrucción N del
bloque”.
La expresión es evaluada antes de iniciar el primer ciclo, por lo que,
en caso de ser falsa esta condición, nunca entrará al ciclo y se
continuará con el resto del programa, ignorando todo el lazo while.
Por lo general, dentro del bloque de instrucciones, se modifican
variables de la expresión condicional del while, para controlar así la
duración de la iteración.

7
DO WHILE

 SINTAXIS

Expresado en palabras, esto significa que: se ejecutará el bloque de


instrucciones siempre la primera vez, independientemente del
resultado de la condición, y luego, dependiendo del resultado de la
expresión condicional colocada al final dentro del while, si esta es
VERDADERO, se repetirá la ejecución del bloque de instrucciones,
de lo contrario se terminará el ciclo o bucle.

8
FOR

 SINTAXIS

La expresión 1, conocida como inicialización, es una asignación de


una o más variables, en la que se establece el valor inicial de la
variable de control (contador) de ciclo, la expresión 2, conocida
como condición, es una condición de algún tipo que, mientras sea
evaluada como VERDADERA, permite la ejecución de las
instrucciones del ciclo, y expresión 3, conocida como incremento,
es otra asignación, en donde se realiza el incremento o decremento
de la variable de control o contador del lazo.

9
Todas estas expresiones contenidas en el paréntesis del for deben
estar separadas por (;) PUNTO Y COMA y no por comas simples.
SI va a utilizar más de una variable de control (dos contadores),
debe separar las instrucciones de inicialización, de condición y de
incremento con comas. Sin embargo, la condición puede ser, en
este caso, una sola expresión compuesta por las dos variables de
control.
No es imprescindible que existan todas las expresiones dentro del
paréntesis del for. Pueden aparecer vacías algunas de ellas; o
incluso, todas, por ejemplo:

Estas dos últimas expresiones son interesantes desde el punto de vista de su


falta de término relacional, lo que implica que el programador deberá haber
previsto alguna manera alternativa de salir del lazo (probablemente mediante
break o return) ya que si no, la ejecución del mismo se volverá infinita ( o tan
larga como se mantenga encendida la computadora). A este tipo de lazo o ciclo
erróneo se le denomina lazo o ciclo infinito.

10
CONCLUSIONES
 El lazo for se suele utilizar cuando “se sabe cuántas veces se repetirá
un bloque de instrucciones”, en cambio las 2 estructuras restantes
(while) y (do while) se utilizan cuando “no se conoce con exactitud
cuantas veces se repetirá un bloque, sino todo depende de una
condición a evaluar al inicio o final de cada ciclo”.
 Los lazos for y while son similares, porque ambos pueden repetir
NINGUNA, UNA O VARIAS VECES un bloque de instrucciones. En otras
palabras, podemos decir que: “En lenguaje C++, una estructura for es
simplemente una manera abreviada de expresar una estructura while”.
 Las diferencias entre los lazos while y do-while es que do-while se
ejecuta SIEMPRE AL MENOS una vez, sea cual sea el resultado de la
expresión; en cambio while puede nunca llegar a ejecutarse.
 Las diferencias entre los lazos for y while son las siguientes:
a) En un for se pueden colocar 3 expresiones de control que le
indican: 1. Conteo inicial 2. Condicion de paro del ciclo y 3. Incremento
de la variable de conteo de ciclos.
b) Un while solo permite una expresión de control, que es la
condición de paro del ciclo. El conteo inicial hay que indicarlo ANTES DE
ENTRAR AL CICLO y el incremento de la variable de conteo de ciclos se
debe realizar DENTRO DEL CUERPO del lazo. De otra manera, un lazo
while puede “trabarse”, es decir, generar un “bucle infinito”.

11
APÉNDICE
Ejemplos
1. Realice un programa que calcule y muestre en la salida
estándar la suma de los cuadrados de los 10 primeros
enteros mayores que cero.

#include<iostream>
#include<conio.h>

using namespace std;

int main(){
int suma=0,cuadrado;

for(int i=1;i<=10;i++){
cuadrado = i * i;
suma += cuadrado;
}

cout<<"\nLa suma de los cuadrados es: "<<suma;

getch();
return 0;
}

12
2. Escriba un programa que calcule el valor de: 1!+2!+3!+...+n!
(suma de factoriales).
#include<iostream>
#include<stdlib.h>

using namespace std;

int main(){
int n,suma=0,factorial=1;

cout<<"Digite el total de elementos a sumar: ";


cin>>n;

for(int i=1;i<=n;i++){
factorial *= i; //primero sacamos los factoriales
suma +=factorial; //luego los sumamos
}

cout<<"\nLa suma de factoriales es: "<<suma<<endl;

system("pause");
return 0;

13
3. CALCULAR EL FACTORIAL DE UN NÚMERO
#include<conio.h>
#include<iostream>
using namespace std;
int main()
{

int N,i;
int f=1;

cout<<"Ingrese Un Numero:";
cin>>N;

for (i=1;i<=N;i++)
f=f*i;

cout<<"El Factorial del Numero Es:"<<f;

getch();
}

14
4. CALCULAR LA SUMA DE LOS NUMEROS PARES
COMPRENDIDOS EN UN CIERTO RANGO
#include<conio.h>
#include<iostream>
using namespace std;
int main()
{

int vi,vf,i,pares;
int suma=0;

cout<<"Ingrese Numero Inicial:";


cin>>vi;
cout<<"Ingrese Segundo Final:";
cin>>vf;

i=vi+1;

while ((i>vi) && (i<vf))


{
if ((i%2)==0)
{
suma=suma+i;

i++;
}
else
i++;

15
}
cout<<"La suma de los Numeros Comprendidos en ese Rango
es:"<<suma;

getch();
}
5. Realizar un programa que calcule y muestre en la salida
estándar la suma de los cuadrados de los 15 primeros enteros
mayores que cero.
#include<iostream>
#include<conio.h>

using namespace std;

int main(){
cout<<"Suma de cuadrados"<<endl;
int suma=0,cuadrado;

for(int i=1;i<=15;i++){
cuadrado = i * i;
suma += cuadrado;
}

cout<<"\nLa suma de cuadrados de los 15 primeros numeros


es: "<<suma;

getch();
return 0;
}
16
6. Calcular la potencia de un número digitando la base y el
exponente.

#include<iostream>
#include<conio.h>

using namespace std;

int main(){
int i,base,expo,resultado=1;
cout<<"Potencia de un numero"<<endl;
cout<<"Digite la base:"; cin>>base;
cout<<"Digite el exponente:"; cin>>expo;
for(int i=1;i<=expo;i++){
resultado = resultado * base;

cout<<"\nEl resultado es: "<<resultado;

getch();
return 0;
}

17
7. CALCULAR EL MINIMO COMÚN MULTIPLO DE DOS
NÚMEROS
#include<conio.h>
#include<iostream>
using namespace std;
int main()
{
int N1,N2,menor,mayor,r;
cout<<"Ingrese Primer Numero:";
cin>>N1;
cout<<"Ingrese Segundo Numero:";
cin>>N2;
if(N1>N2)
{mayor=N1;
menor=N2;}
else
{mayor=N2;
menor=N1;}
while (menor>0)
{
r=mayor%menor;
mayor=menor;
menor=r;
}
cout<<"El MCM es:"<<N1*N2/mayor;
getch();
}

18
8. CALCULAR EL MAXIMO COMÚN DIVISOR DE DOS
NUMEROS
#include<conio.h>
#include<iostream>
using namespace std;
int main()
{

int N1,N2,menor,mayor,r;

cout<<"Ingrese Primer Numero:";


cin>>N1;

cout<<"Ingrese Segundo Numero:";


cin>>N2;

if(N1>N2)
{mayor=N1;
menor=N2;}
else
{mayor=N2;
menor=N1;}

while (menor>0)
{
r=mayor%menor;
mayor=menor;
menor=r;

19
}
cout<<"El MCD es:"<<mayor;

getch();
}

20
BIBLIOGRAFIAS
 Programming Principles and Practice Using C++, Bjarne Stroustrup.
 http://www.codeblocks.org
 https://msdn.microsoft.com/en-us/library/b0kk5few.aspx
 http://www.wxwidgets.org (O’Reilly) Practical C Programming (3rd
Edition)
 http://www.lcc.uma.es/~jlleivao/introduccion/parte2.pdf
 http://ocw.upm.es/lenguajes-y-sistemas-informaticos/programacion-en-c++-
i/Contenidos/LecturaObligatoria/6-sentenciasrepetitivasobucles.pdf
 https://www.monografias.com/trabajos66/estructuras-
repeticion/estructuras-repeticion2.shtml
 https://www.taringa.net/posts/apuntes-y-monografias/10916844/Primer-
Programa-en-C-IV-do-while-switch-comentarios.html
 https://www.monografias.com/trabajos81/ejercicios-c-resueltos-
varios/ejercicios-c-resueltos-varios.shtml
 https://www.programarya.com/Cursos/C++/Ciclos/Ciclo-do-while

21