Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Descripcion y Ejercicgios de Ciclo Repetitivos
Descripcion y Ejercicgios de Ciclo Repetitivos
Estructuras repetitivas
Son aquellas que permiten repetir instrucciones (sentencias) hasta que una o varias
condiciones lo permitan (cuando su interpretacin lgica sea verdadera). Pueden ser de
2 formas: numricos y/o lgicos, los numricos son aquellos que se repiten una n
(cantidad) veces, mientas que los lgicos algo los hace suspender la repeticin a nivel
de un estado de variable.
Para el caso puntual del curso en matlab, utilizaremos los ciclos repetitivos (bucles)
while y for (segn sea el caso).
mientras (while-condicion-end)
Condicion
Falso
Verdadero
Instrucciones
Sintaxis en matlab:
while condicion(es)
Instrucciones;
end
Observacin: El ciclo se inicia con la cabecera while y se cierra con end (abre cierra). Esta
estructura se utiliza para ciclos numricos y/o lgicos.
Condiciones
Falso
Verdadero
Instrucciones
Sintaxis en matlab:
for vble = inicio : incremento : fin
Instrucciones;
end
Observacin: El ciclo se inicia con la cabecera for y se cierra con end (abre cierra). Los
argumentos inicio, incremento y fin son valores numricos. Esta estructura se utiliza para
ciclos numricos, debido a su simple sintaxis y lgica en utilizacin.
b) Con for
clear all
clc
disp(Nmeros del 1 al 10 descendente)
for numero = 10 : -1 : 1
disp(numero)
end
disp(Fin del ejercicio)
Ejercicio 3: Mostrar los nmeros del 1 al 10 en forma descendente pero solo impares, disear
el algoritmo tanto con la estructura while como la for.
a) Con while
clear all
clc
disp(Nmeros del 1 al 10 descendente solo impares)
numero = 10;
while numero >= 1
if mod(numero, 2) ~= 0
disp(numero)
end
numero = numero - 1; % contador que decrementa el numero inicial
end
disp(Fin del ejercicio)
c) Con for
clear all
clc
disp(Nmeros del 1 al 10 descendente solo impares)
for numero = 10 : -1 : 1
if mod(numero, 2) ~= 0
disp(numero)
end
end
disp(Fin del ejercicio)
end
disp(' ')
disp('Fin del ejercicio...')
clc
clear all
disp('Tabla de multiplicar de un nmero ingresado con pregunta para nueva ejecucin')
tabla = 0;
resultado = 0;
respuesta = 'S';
while respuesta == 'S'
tabla = input('Nmero de la tabla a procesar:');
disp(' ')
for numero = 1 : 10
resultado = tabla * numero;
disp(sprintf('%d x %d = %d', tabla, numero, resultado))
end
respuesta = upper(input('Desea procesar otro nmero de tabla (S/N)?', 's'));
if respuesta == 'S'
clc
end
end
disp(' ')
disp('Fin del ejercicio...')
Ejercicio 10: Ingresar un texto y determinar por cada vocal su cantidad encontrada
clc
clear all
disp('Cantidad de vocales en un texto')
texto = '';
va = 0;
ve = 0;
vi = 0;
vo = 0;
vu = 0;
texto = lower(input('Ingrese el texto: ', 's'));
for letra = 1 : length(texto)
if texto(letra) == 'a'
va = va + 1;
elseif texto(letra) == 'e'
ve = ve + 1;
elseif texto(letra) == 'i'
vi = vi + 1;
elseif texto(letra) == 'o'
vo = vo + 1;
elseif texto(letra) == 'u'
vu = vu + 1;
end
end
Profesor WILSON CORTES ALVAREZ, Ing. y Auditor de Sistemas de Informacin
wcortes@utp.edu.co - wcortesalvarez@yahoo.com
Ejercicio 12: Ingresar n nmeros y al final mostrar de acuerdo a los siguientes rangos su
correspondiente sumatoria:
a) Nmeros menores a 10
b) Nmeros entre 10 y 50
c) Nmeros mayores a 50.
clc
clear all
disp('Ingresar n nmeros realizando unas sumatorios')
cantidad = 0;
numero = 0;
nummenor = 0;
numentre = 0;
nummayor = 0;
cantidad = input('Cantidad de nmeros a ingresar: ');
for n = 1 : cantidad
numero = input('Ingrese el nmero: ');
if numero < 10
nummenor = nummenor + numero;
elseif numero >= 10 & numero <= 50
numentre = numentre + numero;
else
nummayor = nummayor + numero;
end
end
disp('Resultado de sumatorias')
disp(sprintf('Menores a 10 %.2f', nummenor))
Profesor WILSON CORTES ALVAREZ, Ing. y Auditor de Sistemas de Informacin
wcortes@utp.edu.co - wcortesalvarez@yahoo.com
clc
clear all
disp('Validar una nota entre 1 y 5')
nota = 0;
mensaje = '';
while nota < 1 | nota > 6
nota = input('Ingrese una nota entre 1 y 5: ');
end
if nota > 4.5
mensaje = 'EXCELENTE';
elseif nota >= 4 & nota <= 4.5
mensaje = 'SOBRESALIENTE';
else if nota > 3 & nota <= 3.9
mensaje = 'BUENA';
else
mensaje = 'MALA';
end
disp(sprintf('La calificacin cualitativa de la materia es %f', mensaje))
disp('Fin del ejercicio')
Ejercicio 14: Dado un nmero entero mostrar la lista de los nmeros pares inferiores a
l.
Ejercicio 15: Dados dos nmeros enteros mostrar la lista de los nmeros
impares comprendidos entre ellos.
Ejercicio 16: Generar un nmero aleatorio entero entre 0 y 20, seguidamente disee un
algoritmo que permita establecer en cuantos intentos fue adivinado.