Ejercicios con estructura repetitiva Repetir_Hasta en Pseint – parte 1

En esta serie de publicaciones, vamos a aborar varios ejercicios prácticos en donde pondremos en práctica el uso de las estructuras repetitivas “Repetir – Hasta que“. 

Si estás interesado en la teoría detrás de estas estructuras, puedes revisar la publicación anterior donde se explica su funcionamiento en detalle:

Repetir – Hasta que: Estructura de control repetitiva

Ejercicio 1

Diseña un algoritmo que permita leer dos números enteros positivos y luego determine el máximo común divisor de dichos números.

Peudocódigo

				
					Proceso EjercicioRepetir1
	Definir numero1, numero2, residuo, mcd Como Entero
	Repetir
		Escribir "Ingrese numero1: "
		Leer numero1
	Hasta Que numero1 > 0
	
	Repetir
		Escribir "Ingrese numero2: "
		Leer numero2
	Hasta Que numero2 > 0
	
	Repetir
		residuo <- numero1 % numero2
		numero1 <- numero2
		numero2 <- residuo
	Hasta Que residuo = 0
	
	mcd = numero1
	
	Escribir "El mcd es: ", mcd
FinProceso
				
			
Ejecución del algoritmo en Pseint

Diagrama de flujo

Diagrama de flujo - Ejercicio 1

Ejercicio 2

Diseña un algoritmo que permita leer dos números enteros positivos y luego determine el mínimo común múltiplo de dichos números.

Peudocódigo

				
					Proceso EjercicioRepetir2
	Definir numero1, numero2, producto, residuo, mcd, mcm Como Entero
	Repetir
		Escribir "Ingrese numero1: "
		Leer numero1
	Hasta Que numero1 > 0
	
	Repetir
		Escribir "Ingrese numero2: "
		Leer numero2
	Hasta Que numero2 > 0
	
	producto <- numero1 * numero2
	
	Repetir
		residuo <- numero1 % numero2
		numero1 <- numero2
		numero2 <- residuo
	Hasta Que residuo = 0
	
	mcd <- numero1
	mcm <- trunc(producto / mcd)
	
	Escribir "El mcm es: ", mcm
FinProceso
				
			
Ejecución del algoritmo en Pseint

Diagrama de flujo

Diagrama de flujo - Ejercicio 2

Ejercicio 3

Realice un algoritmo que permita leer un número positivo. Luego indique si es un número perfecto.

Nota: Un número es perfecto si la suma de sus divisores (sin incluir al mismo número) resulta igual a sí mismo. Ejemplo: 6 es perfecto debido a que 6 = 1 + 2 + 3

Peudocódigo

				
					Proceso EjercicioRepetir3
	
	Definir numero, sumaDivisores como Entero
	
	Repetir
		Escribir "Ingrese un número: "
		Leer numero
	Hasta Que numero > 0
	
	sumaDivisores <- 0
	
	Para i <- 1 Hasta numero - 1 Con Paso 1 Hacer
		Si numero % i = 0 Entonces
			sumaDivisores <- sumaDivisores + i
		FinSi
	Fin Para
	
	Si sumaDivisores = numero Entonces
		Escribir "El número ", numero, " es perfecto"
	SiNo
		Escribir "El número ", numero, " NO es perfecto"
	FinSi
	
FinProceso
				
			
Ejecución del algoritmo en Pseint

Diagrama de flujo

Diagrama de flujo - Ejercicio 3

Ejercicio 4

Realice el diseño de un algoritmo que entregue el término enésimo de la serie de Fibonacci (Tomar el número n a partir de cero)

Peudocódigo

				
					Proceso EjercicioRepetir4
	
	Definir F, F0, F1, n como Entero
	
	F0 <- 1
	F1 <- 1
	Repetir
		Escribir "Ingrese n: "
		Leer n
	Hasta Que n >= 0
	
	Si n = 0 o n = 1 Entonces
		F <- 1
	SiNo
		Para i <- 2 Hasta n Con Paso 1 Hacer
			F <- F1 + F0
			F0 <- F1
			F1 <- F
		Fin Para
	FinSi
	
	Escribir "El término enésimo es: ", F
FinProceso
				
			
Ejecución del algoritmo en Pseint

Diagrama de flujo

Diagrama de flujo - Ejercicio 4

Comparando la estructura Repetir con otras estructuras repetitivas

Conocer las diferencias existentes entre los distintos tipos de bucles ayuda a entender cuándo es más apropiado usar cada uno en diferentes situaciones.

Característica

Repetir Hasta Que

Mientras

Para (For)

Evaluación de la Condición

Al final del bucle

Al principio del bucle

Al principio de cada iteración

Número de Ejecuciones

Al menos una vez

Cero o más veces

Número predefinido de veces

Uso Común

Cuando se desconoce el número exacto de iteraciones pero se requiere que el bloque se ejecute al menos una vez

Cuando el número de iteraciones depende de una condición y puede ser cero

Cuando se conoce el número exacto de iteraciones

Control de Flujo

Se basa en una condición que se verifica después de ejecutar el bloque de código

Se basa en una condición que se verifica antes de ejecutar el bloque de código

Controlado por una variable contador e incremento/decremento definido

Caso de Ejemplo

Validar una entrada de usuario (donde al menos se pide la entrada una vez)

Ejecutar un bucle mientras una condición sea verdadera (puede no ejecutarse si la condición es inicialmente falsa)

Ejecutar un bucle un número específico de veces (como iterar sobre los elementos de un arreglo)

Ejercicios con estructura repetitiva Mientras – Algoritmos en Pseint

Estructura repetitiva mientras

La estructura repetitiva Mientras (conocida en inglés como while) es una estructura de control repetitiva en la que el cuerpo del bucle se repite mientras una condición específica sea verdadera (se cumpla la condición). La estructura repetitiva “Mientras” tiene su condición al principio por lo que puede que nunca se llegue a ejecutar.

En esta serie de publicaciones, vamos a aborar varios ejercicios prácticos en donde pondremos en práctica el uso de las estructuras repetitivas “Mientras“. 

Si estás interesado en la teoría detrá de esta estructura, puedes revisar la publicación anterior donde se explica su funcionamiento en detalle: 

Mientras: Estructura de control repetitiva

Ejercicio 1

Elabora un algoritmo que imprima los números del 1 al 100

Pseudocódigo

				
					Proceso Ejercicio1
	Definir numero Como Entero
	numero <- 1
	Mientras numero <= 100 Hacer
		Escribir numero
		numero <- numero + 1
	FinMientras
FinProceso
				
			

Ejercicio 2

Elabora un algoritmo que imprima los números del 100 al 1, en orden decreciente.

Pseudocódigo

				
					Proceso Ejercicio2
	Definir numero Como Entero
	numero <- 100
	Mientras numero >= 1 Hacer
		Escribir numero
		numero <- numero - 1
	FinMientras
FinProceso
view raw
				
			

Ejercicio 3

Elabora un algoritmo que imprima los numeros pares entre 0 y 100.

Pseudocódigo

				
					Proceso Ejercicio3
	Definir numero Como Entero
	numero <- 0
	Mientras numero <= 100 Hacer
		Si numero mod 2 = 0 Entonces
			Escribir numero
		FinSi
		numero <- numero + 1
	FinMientras
FinProceso
				
			

Ejercicio 4

Elabora un algoritmo que imprima la suma de los 100 primeros numeros.

Pseudocódigo

				
					Proceso Ejercicio4
	Definir numero, suma Como Entero
	numero <- 1
	suma <- 0
	Mientras numero <= 100 Hacer
		suma <- suma + numero
		numero <- numero + 1
	FinMientras
	Escribir "La suma de los 100 primeros números es: ", suma
FinProceso
				
			

Ejercicio 5

Elabora un algoritmo que imprima los numeros impares hasta el 100 y que imprima cuantos impares hay.

Pseudocódigo

				
					Proceso Ejercicio5
	Definir numero, contadorImpares Como Entero
	numero <- 1
	contadorImpares <- 0
	Mientras numero <= 100 Hacer
		Si numero mod 2 <> 0 Entonces
			Escribir numero
			contadorImpares <- contadorImpares + 1
		FinSi
		numero <- numero + 1
	FinMientras
	Escribir "El número de impares es: ", contadorImpares
FinProceso
				
			

Ejercicio 6

Elabora un algoritmo que imprima todos los numeros naturales que hay desde la unidad hasta un número que introducimos por teclado.

Pseudocódigo

				
					Proceso Ejercicio6
	Definir numero, numeroFinal Como Entero
	
	Escribir "Ingrese un número"
	Leer numeroFinal
	numero <- 1
	Mientras numero <= numeroFinal Hacer
		Escribir numero
		numero <- numero + 1
	FinMientras
FinProceso
				
			

Ejercicio 7

Diseñe un algoritmo donde se solicite al usuario que introduzca una letra ‘S’ o ‘N’ hasta que lo haga correctamente. Luego muestre la opción introducida por el usuario.

Pseudocódigo

				
					Proceso Ejercicio7
	Definir opcion Como Caracter
	opcion = ""
	Mientras opcion <> "S" y opcion <> "N"
		Escribir "Introduce S o N"
		Leer opcion
	FinMientras
	Escribir "Opción introducida: ", opcion
FinProceso
				
			

Ejercicio 8

Escribe un algoritmo que solicite al usuario ingresar un número y luego cuente cuántos múltiplos de 3 existen entre 1 y el número ingresado. El algoritmo deberá mostrar los múltiplos de 3 encontrados y al final indicar la cantidad total de múltiplos de 3 en ese rango.

Pseudocódigo

				
					Proceso Ejercicio8
	Definir numero, numeroFinal, contador Como Entero
		
	Escribir "Ingrese un número"
	Leer numeroFinal
	
	numero <- 1
	contador <- 0
	Mientras numero <= numeroFinal Hacer
		Si numero mod 3 = 0 Entonces
			Escribir numero
			contador <- contador + 1
		FinSi
		numero <- numero + 1
	FinMientras
	Escribir "Cantidad de múltiplos de 3 entre 1 y ", numeroFinal, " es ", contador
FinProceso
				
			

Ejercicio 9

Elabora un algoritmo que imprima los números del 1 al 100. Que calcule la suma de todos los numeros pares por un lado, y por otro, la de todos los impares.

Pseudocódigo

				
					Proceso Ejercicio9
	Definir numero, sumaPares, sumaImpares Como Entero
	
	numero <- 1
	sumaPares <- 0
	sumaImpares <- 0
	Mientras numero <= 100 Hacer
		Escribir numero
		Si numero mod 2 = 0 Entonces
			sumaPares <- sumaPares + numero
		SiNo
			sumaImpares <- sumaImpares + numero
		FinSi
		numero <- numero + 1
	FinMientras
	Escribir "Suma de pares: ", sumaPares
	Escribir "Suma de impares: ", sumaImpares
FinProceso
				
			

Ejercicio 10

Imprimir y contar los números que son múltiplos de 2 o de 3 que hay entre 1 y 100.

Pseudocódigo

				
					Proceso Ejercicio10
	Definir numero, contador Como Entero
	contador <- 0
	numero <- 1
	Mientras numero <= 100 Hacer
		Si (numero mod 2 = 0 o numero mod 3 = 0) Entonces
			Escribir numero
			contador <- contador + 1
		FinSi
		numero <- numero + 1
	FinMientras
	Escribir "Múltiplos de 2 o 3: ", contador
FinProceso