You are on page 1of 3

Mdulo 2: Estatutos de Control 3.

Ms Sobre Ciclos

Ciclos anidados Se dice que un programa tiene ciclo anidado cuando un el estatuto de un ciclo (while, do..while o for) es a su vez otro ciclo. Ejemplo: Obtener el resultado de la serie i !
#include <iostream.h> int n,m,resultado= 0; int main() { cout << "Dame el valor de n y m " << endl; cin >> n >> m; for ( int i = ; i <= n; i!! ) for ( int " =# ; " <= m; "!! ) resultado = resultado ! i$"; cout << " %l resultado de la serie es " << resultado; return 0; &

n j

m i*j "

Ejemplo : #rograma que dado un n$mero entero size, constru%e una pir&mide de asteriscos de altura size. #or ejemplo, si size ', el programa mostrar&( * ** *** **** ***** #include <iostream.h> int i,j,size; int main() { cout << "Dame el tamao "<<endl; cin >> size; for (i=1;i<=size;i++) { for (j=1;j<=i;j++) cout << "*";

cout<<endl; } return 0; }

// para brincar a la siguiente lnea

Ejemplo : )ismo problema pero ahora constru%e la pir&mide en otro orden #or ejemplo, si size ', el programa mostrar&( ***** **** *** ** * #include <iostream.h> int i,j,k,size; int main() { cout << "Dame el tamao "<<endl; cin >> size; for (i=size;i>=1;i--) { for (k=i;k<size ;k++) //para dejar los espacios en blanco cout << " "; for (j=1;j<=i;j++) cout << "*"; cout<<endl; } return 0; }

Ejemplo: Se desea que dados dos n$meros enteros n! % n" se obtenga la multiplicaci*n de n! por n" usando el algoritmo de la multiplicaci*n rusa. +l algoritmo dice lo siguiente( realiza la divisi*n entera de n! entre " % al mismo tiempo multiplica n" por " repetidamente hasta que n! sea !. Sume todos los valores de n" que corresponden a los valores de n! impares % ese es el valor de la multiplicaci*n. #include <iostream.h> int n,m,suma=0; int main() { cout << "Dame los numeros a multiplicar "<<endl; cin >> n>>m; do { if (n%2 !=0) // n es impar suma+=m; // sumo el valor de m n=n/2; m=m*2;

} while (n > 1); if (n%2 != 0) suma+=m; cout << "El resultado es "<<suma<<endl; return 0; }

Ejercicio
,ealiza los siguientes programas. !. -ado un n$mero entero ., se desea que muestre en la pantalla la serie formada por todos los n$meros nones que van desde ! hasta . (si . fuera par entonces la serie termina en ./!) en la serie el primer t0rmino (el !) tiene signo positivo % luego el signo se va alternando en los siguientes t0rminos. -espu0s de mostrar la serie, debe tambi0n mostrar el resultado de la suma, como se muestra en los ejemplos. Por ejemplo, si el usuario teclea el n$mero 1 la serie que se mostrar& en la pantalla es la siguiente( !/23'/431 ' Otro ejemplo, si el usuario teclea el n$mero !", la serie que se mostrar& en la pantalla es( ! / 2 3 ' / 4 3 1 / !! /5 ver soluci*n ". 6eer un entero positivo . % averiguar si es perfecto. 7n n$mero es perfecto cuando es igual a la suma de sus divisores e8cepto el mismo. Ejemplo: Si . 5 sus divisores son !, " % 2 si los sumamos nos da 5 por lo tanto es perfecto. ver soluci*n

Ligas sugeridas
http(99www.cplusplus.com9doc9tutorial9 http(99www.cs.wustl.edu9:schmidt9;339 Regresar Siguiente mdulo