You are on page 1of 44

ALGORITMICA (PARTE II)

Expositor : Jos Carlos, Garca La Riva

Estructuras Repetitivas
Las Estructuras Repetitivas o tambin llamadas estructuras cclicas, de lazos, de bucles o loops, se utilizan para procesar un grupo de instrucciones y/o sentencias un nmero determinado de veces, establecido por la condicin o condiciones que se evala en cada una de ellas. Estas estructuras se clasifican en :
MIENTRAS / FIN-MIENTRAS REPETIR / HASTA_QUE PARA / FIN-PARA

Estructura MIENTRAS/FIN-MIENTRAS
Esta estructura permite procesar un grupo de instrucciones y/o sentencias, siempre y cuando la expresin o expresiones evaluadas en esta estructura den como resultado un valor lgico verdadero (VERDAD). Sintaxis: MIENTRAS(Expresion<es>)HACER : VERDAD : FIN-MIENTRAS
Instrucciones y/o Sentencias

Ejemplo 1 : Visualizar los 3 primeros nmeros naturales.


ALGORITMO Ejemplo1 VARIABLES ENTERO N INICIO N1 MIENTRAS( N <= 3 ) HACER ESCRIBIR( N ) NN+1 FIN-MIENTRAS FIN

Ejemplo 2 : Calcular y visualizar la suma de los 3 primeros nmeros naturales.


ALGORITMO Ejemplo2 VARIABLES ENTERO N, SUMA INICIO N 1 : SUMA 0 MIENTRAS ( N <= 3 ) HACER SUMA SUMA + N Acumulador NN+1 Contador FIN-MIENTRAS ESCRIBIR(LA SUMA ES:, SUMA) FIN

Ejemplo 3 : Calcular y visualizar la suma de todos los nmeros de 2 cifras positivos.


ALGORITMO Ejemplo3 VARIABLES ENTERO N, SUMA INICIO N 10 : SUMA 0 MIENTRAS ( N <= 99 ) HACER SUMA SUMA + N NN+1 FIN-MIENTRAS ESCRIBIR(LA SUMA ES:, SUMA) FIN

Ejemplo 4 : Calcular y visualizar la suma de los todos los nmeros impares de 3 cifras.
ALGORITMO Ejemplo4 VARIABLES ENTERO N, SUMA INICIO N 101 : SUMA 0 MIENTRAS ( N <= 999 ) HACER SUMA SUMA + N NN+2 FIN-MIENTRAS ESCRIBIR(LA SUMA ES:, SUMA) FIN

Ejemplo 5 : Calcular y visualizar los divisores de un nmero entero.


ALGORITMO Ejemplo5 VARIABLES ENTERO N, D, Resto INICIO LEER( N ) D1 MIENTRAS ( D <= N ) HACER Resto N MOD D SI ( Resto = 0 ) ENTONCES ESCRIBIR( D ) FIN-SI DD+1 FIN-MIENTRAS FIN

Ejemplo 6 : Calcular y visualizar el valor de la siguiente serie : S 2 + 4 + 6 + 8 + + 98 ALGORITMO Ejemplo6 VARIABLES ENTERO N, SUMA INICIO N2 MIENTRAS ( N <= 98 ) HACER ESCRIBIR( N ) SUMA SUMA + N NN+2 FIN-MIENTRAS ESCRIBIR(LA SUMA ES:, SUMA) FIN

Ejemplo 7 : Calcular y visualizar la suma de los elementos de la siguiente serie : S 1 + 4 + 9 + 16 + 25 + + 100

ALGORITMO Ejemplo7 VARIABLES ENTERO N, SUMA INICIO N 1 MIENTRAS ( N <= 10 ) HACER SUMA SUMA + ( N 2 ) NN+1 FIN-MIENTRAS ESCRIBIR(LA SUMA ES:, SUMA) FIN

Ejemplo 8 : Calcular y visualizar la suma de los nmeros de 2 cifras que estn compuestos por cifras diferentes. ALGORITMO Ejemplo8 VARIABLES ENTERO N, SUMA, A, B INICIO N 10 : SUMA 0 MIENTRAS ( N <= 99 ) HACER A N DIV 10 B N MOD 10 SI ( A <> B ) ENTONCES SUMA SUMA + N FIN-SI NN+1 FIN-MIENTRAS ESCRIBIR(LA SUMA ES:, SUMA) FIN

Otra Solucin del problema 8. ALGORITMO Ejemplo8_Otra_Solucin VARIABLES ENTERO N, SUMA INICIO N 10 : SUMA 0 MIENTRAS ( N <= 99 ) HACER SI (N DIV 10 <> N MOD 10 ) ENTONCES SUMA SUMA + N FIN-SI NN+1 FIN-MIENTRAS ESCRIBIR(LA SUMA ES:, SUMA) FIN

Ejemplo 9 : Generar y visualizar la siguiente serie : S 1+2+3/2+4/3+5/4++10/9

Ejemplo 10 : Generar y visualizar la siguiente serie : S 0, 1, 1, 2, 3, 5, 8, 13, , < 100 (Serie de Fibonacci)

ALGORITMO Solucion9 VARIABLES ENTERO N REAL SUMA INICIO N 2 : SUMA 0 MIENTRAS ( N <= 10 ) HACER SUMA SUMA + (N/(N-1)) NN+1 FIN-MIENTRAS SUMA SUMA + 1 ESCRIBIR(LA SUMA ES:, SUMA) FIN

ALGORITMO Solucion10 VARIABLES ENTERO A, B INICIO A0:B1 MIENTRAS( A < 100 )HACER ESCRIBIR( A ) AA+B BAB FIN-MIENTRAS FIN

PROBLEMAS DE DESCOMPOSICION NUMERICA

Problema 1 : Ingrese un nmero entero y luego visualice el nmero de cifras que lo componen. ALGORITMO Problema1 VARIABLES ENTERO N, Cifras INICIO LEER( N ) Cifras 0 MIENTRAS ( N <> 0 ) HACER Cifras Cifras + 1 N N DIV 10 FIN-MIENTRAS ESCRIBIR(Numero Cifras:, Cifras ) FIN

Problema 2 : Ingrese un nmero entero y calcule la suma de las cifras del nmero.
ALGORITMO Problema2 VARIABLES ENTERO N, Cifra, Suma INICIO LEER( N ) SUMA 0 MIENTRAS( N <> 0 )HACER Cifra N MOD 10 SUMA SUMA + Cifra N N DIV 10 FIN-MIENTRAS ESCRIBIR(LA SUMA ES:, SUMA) FIN

Problema 3 : Ingrese un nmero entero y luego calcule cuantas cifras pares e impares estn contenidas en el nmero ingresado.
ALGORITMO Problema3 VARIABLES ENTERO N, Cpares, Cimpares, Cifra INICIO LEER( N ) Cpares 0 : Cimpares 0 MIENTRAS( N <> 0 )HACER Cifra N MOD 10 SI( Cifra MOD 2 = 0 )ENTONCES Cpares Cpares + 1 SINO Cimpares Cimpares + 1 FIN-SI N N DIV 10 FIN-MIENTRAS ESCRIBIR(Numero de Cifras Pares:, Cpares) ESCRIBIR(Numero de Cifras Impares:, Cimpares) FIN

Problema 4 : Ingrese un nmero entero y luego calcule la suma de cifras pares e impares que estn contenidas en el nmero ingresado.
ALGORITMO Problema4 VARIABLES ENTERO N, Spares, Simpares, Cifra INICIO LEER( N ) Spares 0 : Simpares 0 MIENTRAS( N <> 0 )HACER Cifra N MOD 10 SI( Cifra MOD 2 = 0 )ENTONCES Spares Spares + Cifra SINO Simpares Simpares + Cifra FIN-SI N N DIV 10 FIN-MIENTRAS ESCRIBIR(Suma de Cifras Pares:, Spares) ESCRIBIR(Suma de Cifras Impares:, Simpares) FIN

Problema 5 : Ingrese un nmero entero y calcule la mayor y menor cifra contenidas en el nmero ingresado.
ALGORITMO Problema5 VARIABLES ENTERO N, MAX, MIN, Cifra INICIO LEER( N ) MAX 0 : MIN 9 MIENTRAS( N <> 0)HACER Cifra N MOD 10 SI( Cifra > MAX )ENTONCES MAX Cifra FIN-SI SI( Cifra < MIN )ENTONCES MIN Cifra FIN-SI N N DIV 10 FIN-MIENTRAS ESCRIBIR(MAYOR CIFRA=, MAX) ESCRIBIR(MENOR CIFRA=, MIN) FIN

Problema 6 : Ingrese un nmero entero y luego forme un 2do nmero con las cifras del nmero ingresado en forma inversa.

ALGORITMO Problema6 VARIABLES ENTERO N, Cifra, M INICIO LEER( N ) M0 MIENTRAS( N <> 0 )HACER Cifra N MOD 10 M (M * 10) + Cifra N N DIV 10 FIN-MIENTRAS ESCRIBIR(Nuevo Nmero:, M) FIN

Problema 7 : Ingrese un nmero entero y luego obtenga su equivalente en base 5.


ALGORITMO Problema7 VARIABLES ENTERO N, B5, P, Cifra INICIO LEER( N ) B5 0 : P 1 MIENTRAS( N <> 0 )HACER Cifra N MOD 5 B5 B5 + ( Cifra * P ) P P * 10 N N DIV 5 FIN-MIENTRAS ESCRIBIR( B5 ) FIN

Problema 8 : Ingrese un nmero entero y luego una cifra, generar un nuevo nmero con las cifras del nmero ingresado pero sin contar a la cifra ingresada. Ej. Numero = 232425262, Cifra = 2, entonces NuevoNumero = 3456) ALGORITMO Problema8 VARIABLES ENTERO N, M, R, P, Cifra INICIO LEER( N, Cifra ) M0:P1 MIENTRAS( N <> 0 )HACER R N MOD 10 SI ( R <> Cifra ) ENTONCES MM +(R*P) P P * 10 FIN-SI N N DIV 10 FIN-MIENTRAS ESCRIBIR( M ) FIN

PROBLEMAS PROPUESTOS
Problema 9 : Ingrese un nmero entero y luego calcule y visualice la cifra que mas veces se repite en el nmero. Ej. Numero = 23452535, Respuesta = 5

Problema 10 : Ingrese un nmero entero y ordene sus cifras en orden ascendente. Ej. Numero = 329481, Respuesta = 123489

Estructura REPETIR/HASTA_QUE
Esta estructura permite procesar un grupo de instrucciones y/o sentencias, siempre y cuando la expresin o expresiones evaluadas en esta estructura den como resultado un valor lgico falso (FALSO). Sintaxis: REPETIR Instrucciones y/o : FALSO Sentencias : HASTA_QUE(Expresion<es>)

Ejemplo 1 : Visualizar los 5 primeros nmeros naturales.

ALGORITMO Ejemplo1 VARIABLES ENTERO N INICIO N 1 REPETIR ESCRIBIR( N ) NN+1 HASTA_QUE ( N > 5 ) FIN

Ejemplo 2 : Visualizar todos los nmeros pares de 2 cifras.


ALGORITMO Ejemplo2 VARIABLES ENTERO N INICIO N 10 REPETIR ESCRIBIR( N ) NN+2 HASTA_QUE N > 98 FIN

Ejemplo 3 : Generar la siguiente serie : 1, 4, 9, 16, 25, , 100

ALGORITMO Ejemplo3 VARIABLES INICIO N 1 REPETIR ESCRIBIR( N 2 ) NN+1 HASTA_QUE ( N > 10 ) FIN

Ejemplo 4 : Ingrese un nmero entero y luego visualice todos sus divisores.


ALGORITMO Ejemplo4 VARIABLES ENTERO N, Divisor, Resto INICIO LEER( N ) Divisor 1 REPETIR Resto N MOD Divisor SI( Resto = 0 )ENTONCES ESCRIBIR(Divisor) FIN-SI Divisor Divisor + 1 HASTA_QUE ( Divisor > N ) FIN

Ejemplo 5 : Ingrese un nmero y luego visualice un mensaje indicando si el nmero ES CAPICUA o NO ES CAPICUA.
ALGORITMO Ejemplo5 VARIABLES ENTERO N, M, INV, Cifra INICIO LEER( N ) M N : INV 0 REPETIR Cifra M MOD 10 INV (INV * 10) + Cifra M M DIV 10 HASTA_QUE M = 0 SI ( N = INV ) ENTONCES ESCRIBIR(ES CAPICUA) SINO ESCRIBIR(NO ES CAPICUA) FIN-SI FIN

Estructura PARA/FIN-PARA
Esta estructura permite procesar un grupo de instrucciones y/o sentencias, un nmero determinado de veces, establecido por los valores inicial y final de esta estructura. Sintaxis: PARA VariableV.Inicial HASTA V.Final DE Inc : Instrucciones y/o : Sentencias FIN-PARA Donde :
V.Inicial = Valor Inicial V.Final = Valor Final Inc = Valor de Incremento (Opcional)

Ejemplo 1 : Imprimir los 10 primeros nmeros naturales.


ALGORITMO Ejemplo1 VARIABLES ENTERO N INICIO PARA N1 HASTA 10 ESCRIBIR( N ) FIN-PARA FIN

Ejemplo 2 : Visualizar todos los nmeros enteros de 2 cifras. ALGORITMO Ejemplo2 VARIABLES ENTERO N INICIO PARA N 10 HASTA 99 ESCRIBIR( N ) FIN-PARA FIN

Ejemplo 3 : Imprimir los 10 primeros nmeros naturales pero en forma descendente. ALGORITMO Ejemplo3 VARIABLES ENTERO N INICIO PARA N 10 HASTA 1 DE -1 ESCRIBIR( N ) FIN-PARA FIN

Ejemplo 4 : Visualizar los nmeros de 2 cifras pares.


ALGORITMO Ejemplo4 VARIABLES ENTERO N INICIO PARA N 10 HASTA 98 DE 2 ESCRIBIR( N ) FIN-PARA FIN

Ejemplo 5 : Visualizar todos los nmeros de 2 cifras compuestos por cifras diferentes.
ALGORITMO Ejemplo5 VARIABLES ENTERO N, A , B INICIO PARA N 10 HASTA 99 A N DIV 10 B N MOD 10 SI ( A <> B ) ENTONCES ESCRIBIR( N ) FIN-SI FIN-PARA FIN

PROBLEMAS DE APLICACIN CON LA ESTRUCTURA PARA/FIN-PARA

Problema 1 : Ingrese un nmero y luego visualice todos sus divisores.


ALGORITMO Problema1 VARIABLES ENTERO N, Divisor INICIO LEER( N ) PARA Divisor 1 HASTA N SI( N MOD Divisor = 0 )ENTONCES ESCRIBIR( Divisor) FIN-SI FIN-PARA FIN

Problema 2 : Ingrese un nmero entero y luego calcule el factorial del nmero ingresado. ALGORITMO Problema2 VARIABLES ENTERO N, Fact, I INICIO LEER( N ) Fact 1 PARA I 1 HASTA N Fact Fact * I FIN-PARA ESCRIBIR( Fact ) FIN

Problema 3 : Ingrese un nmero entero y luego visualice un mensaje indicando si es primo o no primo.
ALGORITMO Problema3 VARIABLES ENTERO N, Cont, I INICIO LEER( N ) Cont 0 PARA I 1 HASTA N SI( N MOD I = 0)ENTONCES Cont Cont + 1 FIN-SI FIN-PARA SI( Cont <= 2 )ENTONCES ESCRIBIR(ES PRIMO) SINO ESCRIBIR(NO ES PRIMO) FIN-SI FIN

Problema 4 : Ingrese un nmero entero y luego visualice un mensaje indicando si es PERFECTO o NO ES PERFECTO.
ALGORITMO Problema4 VARIABLES ENTERO N, SUMA, I INICIO LEER( N ) Suma 0 PARA I 1 HASTA N-1 SI( N MOD I = 0)ENTONCES Suma Suma + I FIN-SI FIN-PARA SI( N = Suma )ENTONCES ESCRIBIR(ES PERFECTO) SINO ESCRIBIR(NO ES PERFECTO) FIN-SI FIN

Problema 5 : Ingrese un nmero entero y luego calcule la suma de todos los nmeros impares menores al nmero ingresado.
ALGORITMO Problema5 VARIABLES ENTERO N, SUMA, I INICIO LEER( N ) SUMA 0 PARA I 1 HASTA N-1 SI ( I MOD 2 <> 0 ) ENTONCES SUMA SUMA + I FIN-SI FIN-PARA ESCRIBIR ( SUMA ) FIN

PROBLEMAS PROPUESTOS
Problema 6 : Visualizar la siguiente serie de nmeros : +1-2+3-4+5-6+7-8++N NOTA : N ser el valor limite de la serie. Problema 7 : Calcular la suma de todos los nmeros de 3 cifras compuestos por cifras diferentes impares.

Problema 8 : Calcular la suma de todos los nmeros primos existentes entre 1 y 1000.

You might also like