0% encontró este documento útil (0 votos)
94 vistas8 páginas

Lab6 Sis1

Este documento presenta una guía de laboratorio sobre la estructura repetitiva DO-WHILE en C++. Explica la diferencia entre DO-WHILE y WHILE, y proporciona 8 ejemplos de problemas resueltos utilizando DO-WHILE, incluyendo la suma de números de uno en uno, el cálculo de potencias, la serie de Fibonacci, el cálculo del MCD y MCM de dos números, y la conversión entre bases numéricas. También incluye 3 preguntas sobre DO-WHILE.
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)
94 vistas8 páginas

Lab6 Sis1

Este documento presenta una guía de laboratorio sobre la estructura repetitiva DO-WHILE en C++. Explica la diferencia entre DO-WHILE y WHILE, y proporciona 8 ejemplos de problemas resueltos utilizando DO-WHILE, incluyendo la suma de números de uno en uno, el cálculo de potencias, la serie de Fibonacci, el cálculo del MCD y MCM de dos números, y la conversión entre bases numéricas. También incluye 3 preguntas sobre DO-WHILE.
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

LABORATORIO N.

6
SIS 1110 “B”

UNIVERSITARIO: RAMOS CRUZ CARLOS DANIEL

CI: 7322834

MATERIA: SIS 1110 “B”

DOCENTE DE LABORATORIO: ING. FRANKLIN VILLANUEVA

FECHA DE ENETREGA: 8 DE MAYO

ORURO – BOLIVIA

Pá gina 1
U.T.O. – F.N.I. ING. DE SISTEMAS – ING. INFORMÁTICA

SIS – 1100 METODOLOGÍA DE LA PROGRAMACIÓN I


GUÍA DE LABORATORIO # 6

TEMA: LA ESTRUCTURA REPETITIVA DO-WHILE

OBJETIVOS.
 Aplicar la estructura repetitiva DO_WHILE, en ciclos anidados
 Aplicar la estructura repetitiva DO_WHILE en el entorno C++
FUNDAMENTO TEORICO.

ESTRUCTURA DO-WHILE: Ejecuta una instrucción o un bloque de instrucciones, una o más veces,
dependiendo del valor de la condición.
Se ejecuta la instrucción o bloque de instrucciones y a continuación se evalúa la condición. Si la
condición es cierta, se vuelve a ejecutar la instrucción o bloque de instrucciones, y si es falsa, pasa a
ejecutarse la siguiente instrucción después del do-while.
Cuando se utiliza una instrucción do-while el bloque de instrucciones se ejecuta al menos una vez, ya
que la condición se evalúa al final. En cambio, con una instrucción while, puede suceder que el bloque
de instrucciones no llegue a ejecutarse nunca si la condición inicialmente es falsa.

Su formato general es:

En diagrama de flujo o algoritmo gráfico es En pseudocódigo o algoritmo escrito se


representado por los símbolos: representa de la siguiente manera:

do
{
instrucción 1;
..............
instrucción N;
} while (condición);

Pá gina 2
ACTIVIDAD DE CLASE:

Ejercicio 1: Algoritmo para generar la siguiente sucesión: ingresar un número


entero positivo, si el Nro. es 1 Fin, si es par dividir entre 2, si es impar multiplicar
por 3 y sumar 1.
Practica en clase:

1. Programa para obtener la s u m a : : N - > N - > N ,   suponiendo que la


máquina sól o p u e d e s u m a r d e u n o e n u n o . ( o b v i a m e n t e , s u m a m n
=   m+n, no es la solución a este problema).

2. Programa para obtener el p r o d u c t o : : N - > N - > N , s u p o n i e n d o


q u e l a máquina sólo sabe sumar. (Ej. 4*5=4+4+4+4+4=20)

#include <iostream>
using namespace std;

int main() {
int num1, num2, num3, i, j, k, producto;

cout << "Ingrese el primer numero: ";


cin >> num1;
cout << "Ingrese el segundo numero: ";
cin >> num2;
cout << "Ingrese el tercer numero: ";
cin >> num3;

i = 1;
j = 1;
k = 1;
producto = 0;
do {
j = 1;
do {
k = 1;
do {
producto++;
k++;
} while (k <= num3);

j++;
} while (j <= num2);
i++;
} while (i <= num1);
cout<<"el producto es: "<<producto<< endl;
return 0;
}
Pá gina 3
3. Programa para obtener la potencia : : N - > N - > N   , s u p o n i e n d o
q u e l a máquina sólo sabe multiplicar. (Ej. 3^4=3*3*3=27)

#include <iostream>
using namespace std;

int main() {
int base, exponente, rsp = 1;
cout << "Ingrese la base: ";
cin >> base;
cout << "Ingrese el exponente: ";
cin >> exponente;

int i = 1;
do {
rsp *= base;
i++;
} while (i <= exponente);

cout<< rsp << endl;


return 0;
}

4. Programa para imprimir la serie de fibonacci para N términos


F=0,1,1,2,3,5,8,13,21,34,55,…..

#include <iostream>
using namespace std;

int main() {
int n, i = 0, j = 1, k, contador = 2;
cout << "Ingrese el valor de N: ";
cin >> n;
cout << i << " " << j << " ";
do {
k = i + j;
cout << k << " ";
i = j;
j = k;
contador++;
} while (contador < n);
return 0;
}

Pá gina 4
5. Programa para calcular el M.C.D. y m.c.m. de dos números enteros
#include <iostream>
using namespace std;

int main() {
int num1, num2, mcd, mcm, temp1, temp2;
cout << "Ingrese el primer numero: ";
cin >> num1;
cout << "Ingrese el segundo numero: ";
cin >> num2;

temp1 = num1;
temp2 = num2;
do {
int resto = temp1 % temp2;
temp1 = temp2;
temp2 = resto;
} while (temp2 != 0);
mcd = temp1;

mcm = (num1 * num2) / mcd;


cout << "El MCD de " << num1 << " y " << num2 << " es: " << mcd << endl;
cout << "El MCM de " << num1 << " y " << num2 << " es: " << mcm << endl;
return 0;
}

Pá gina 5
6. Programa para transformar un Número Decimal a otro Número en Base=[2,3,
…,8,9]

#include <iostream>
using namespace std;
int main() {

int num, base, rem, i = 0;


int result[100];

cout << "Ingrese un numero decimal: ";


cin >> num;
cout << "Ingrese la base: ";
cin >> base;

do {
rem = num % base;
result[i] = rem;
i++;
num = num / base;
} while (num > 0);

cout << "El resultado en base " << base << " es: ";

for (int j = i - 1; j >= 0; j--) {


cout << result[j];
}
cout << endl;
return 0;
}

Pá gina 6
7. Programa para transformar un Número en Base=[2,3,…,8,9] a otro Número
Decimal.
#include <iostream>
#include <cmath>
using namespace std;

int main() {
int base, num, rem, i = 0, dec = 0;
cout << "Ingrese el numero en base: ";
cin >> base;
cout << "Ingrese el numero en la base " << base << ": ";
cin >> num;
do {
rem = num % 10;
dec += rem * pow(base, i);
num /= 10;
i++;
} while(num != 0);
cout << "El numero en base 10 es: " << dec << endl;
return 0;
}

8. Programa para visualizar los números primos

#include <iostream>
using namespace std;
int main() {
int n, i, j, es_primo;
cout << "Ingrese el valor de n: ";
cin >> n;
cout << "Los primeros " << n << " numeros primos son:" << endl;
i = 2;
while (n > 0) {
es_primo = 1;
j = 2;
while (j <= i / 2) {
if (i % j == 0) {
es_primo = 0;
break;
}
j++;
}
if (es_primo) {
cout << i << endl;
n--;
}
i++;
}
return 0;

Pá gina 7
}
CUESTIONARIO.

1. ¿Qué diferencia a una estructura repetitiva DO_WHILE de una estructura repetitiva WHILE?

R. La principal diferencia entre una estructura repetitiva DO_WHILE y WHILE es que DO_WHILE se ejecuta al
menos una vez antes de verificar la condición de repetición, mientras que WHILE verifica la condición antes de
ejecutarse.

2. ¿Cómo debe ser el incremento cuando quiero contar en forma descendente?

R. Para contar en forma descendente, el incremento debe ser una operación de resta en lugar de una
operación de suma. Por ejemplo, en lugar de incrementar una variable en 1, la variable debe ser decrementada
en 1. Por lo tanto, el incremento sería algo como: i = i - 1.

3. ¿Se pueden anidar las estructuras repetitivas? Busque un ejemplo.

R. Sí, se pueden anidar las estructuras repetitivas. Un ejemplo común es utilizar un bucle for o while dentro de otro bucle
for o while para realizar operaciones más complejas o recorrer estructuras de datos en varias dimensiones, como matrices
o arreglos bidimensionales. Por ejemplo, podemos utilizar un bucle for externo para recorrer las filas de una matriz y un
bucle for interno para recorrer las columnas de cada fila.

Pá gina 8

También podría gustarte