mientras (while-condicion-end)

UNIVERSIDAD TECNOLOGICA DE PEREIRA Facultad de Ingeniería Industrial – Informática T2 G5 Septiembre de 2014 Estructuras repetitivas (bucles) Son aque

6 downloads 206 Views 52KB Size

Recommend Stories


Mientras conversamos unos pasapalos
1 Mientras conversamos unos pasapalos… Tequeños. Tostaditas. Tostaditas de rúcola, jamón serrano tostado y queso feta. Tostaditas con tomate confitad

Mientras el lector se
EL PAÍS, lunes 30 de mayo de 2005 INVESTIGACIÓN Y ANÁLISIS 17 MORIR EN ESPAÑA / 1. La muerte está teniendo mucho protagonismo mediático. Pero, más

Story Transcript

UNIVERSIDAD TECNOLOGICA DE PEREIRA Facultad de Ingeniería Industrial – Informática T2 G5 Septiembre de 2014

Estructuras repetitivas (bucles) Son aquellas que permiten repetir instrucciones (sentencias) hasta que una o varias condiciones lo permitan (cuando su interpretación lógica sea verdadera). Pueden ser de 2 formas: numéricos y/o lógicos, los numéricos son aquellos que se repiten una n (cantidad) veces, mientas que los lógicos algo los hace suspender la repetición a nivel de un estado de variable. Para el caso puntual del curso en matlab, utilizaremos los ciclos repetitivos (bucles) while y for (según sea el caso).

mientras (while-condicion-end)

Falso Condicion Verdadero

Instrucciones

Sintaxis en matlab: while condicion(es) Instrucciones; end Observación: El ciclo se inicia con la cabecera while y se cierra con end (abre – cierra). Esta estructura se utiliza para ciclos numéricos y/o lógicos.

Profesor Wilson Cortés Álvarez, Ing. y Auditor de Sistemas de Información [email protected] - [email protected]

UNIVERSIDAD TECNOLOGICA DE PEREIRA Facultad de Ingeniería Industrial – Informática T2 G5 Septiembre de 2014

para hasta (for-condicion-end) Falso

Condiciones Verdadero

Instrucciones

Sintaxis en matlab: for vble = inicio : incremento : fin Instrucciones; end Observación: El ciclo se inicia con la cabecera for y se cierra con end (abre – cierra). Los argumentos inicio, incremento y fin son valores numéricos. Esta estructura se utiliza para ciclos numéricos, debido a su simple sintaxis y lógica en utilización.

Profesor Wilson Cortés Álvarez, Ing. y Auditor de Sistemas de Información [email protected] - [email protected]

UNIVERSIDAD TECNOLOGICA DE PEREIRA Facultad de Ingeniería Industrial – Informática T2 G5 Septiembre de 2014

Planteamiento de problemas y soluciones. Ejercicio 1: Mostrar los números del 1 al 10 en forma ascendente, diseñar el algoritmo tanto con la estructura while como la for. a) Con while clear all clc disp(‘Números del 1 al 10 ascendente’) numero = 1; while numero = 1 disp(numero) numero = numero - 1; % contador que decrementa el numero inicial end disp(‘Fin del ejercicio’)

Profesor Wilson Cortés Álvarez, Ing. y Auditor de Sistemas de Información [email protected] - [email protected]

UNIVERSIDAD TECNOLOGICA DE PEREIRA Facultad de Ingeniería Industrial – Informática T2 G5 Septiembre de 2014

b) Con for clear all clc disp(‘Números del 1 al 10 descendente’) for numero = 10 : -1 : 1 disp(numero) end disp(‘Fin del ejercicio’) Ejercicio 3: Mostrar los números del 1 al 10 en forma descendente pero solo impares, diseñar el algoritmo tanto con la estructura while como la for. a) Con while clear all clc disp(‘Números 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(‘Números 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’)

Profesor Wilson Cortés Álvarez, Ing. y Auditor de Sistemas de Información [email protected] - [email protected]

UNIVERSIDAD TECNOLOGICA DE PEREIRA Facultad de Ingeniería Industrial – Informática T2 G5 Septiembre de 2014

Ejercicio 4: Mostrar los productos del 1 al 10 de la tabla de multiplicar del número 5, ejemplo de salida: Tabla de multiplicar del número 5 5x1=5 5 x 2 = 10 Hasta 5 x 10 = 50 clc clear all disp('Tabla de multiplicar del número 5') resultado = 0; tabla = 5; for numero = 1 : 10 resultado = tabla * numero; disp(sprintf('%d x %d = %d', tabla, numero, resultado)) end disp('Fin del ejercicio...')

Ejercicio 5: Mostrar las tablas de multiplicar del 1 al 10 por pantallazos clc clear all disp('Tablas de multiplicar del 1 al 10') resultado = 0; % Ciclo de tablas for tabla = 1 : 10 disp(sprintf('Tabla del número %d', tabla)) % Ciclo de productos por tabla for numero = 1 : 10 resultado = tabla * numero; disp(sprintf('%d x %d = %d', tabla, numero, resultado)) end disp('Presione Enter para continuar') pause % hace una pause y continúa con un Enter clc end disp('Fin del ejercicio...')

Ejercicio 6: Mostrar la tabla de multiplicar de un número dado (ingresado) clc clear all disp('Tabla de multiplicar de un número ingresado') tabla = 0; resultado = 0; tabla = input('Número de la tabla a procesar:'); disp(' ') Profesor Wilson Cortés Álvarez, Ing. y Auditor de Sistemas de Información [email protected] - [email protected]

UNIVERSIDAD TECNOLOGICA DE PEREIRA Facultad de Ingeniería Industrial – Informática T2 G5 Septiembre de 2014

for numero = 1 : 10 resultado = tabla * numero; disp(sprintf('%d x %d = %d', tabla, numero, resultado)) end disp(' ') disp('Fin del ejercicio...') Ejercicio 7: Mostrar la tabla de multiplicar de un número dado, y repetir el proceso hasta que el usuario lo quiera realizar. clc clear all disp('Tabla de multiplicar de un número ingresado con pregunta para nueva ejecución') tabla = 0; resultado = 0; respuesta = 'S'; while respuesta == 'S' tabla = input('Número 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 número de tabla (S/N)?', 's')); if respuesta == 'S' clc end end disp(' ') disp('Fin del ejercicio...') Ejercicio 8: 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; Profesor Wilson Cortés Álvarez, Ing. y Auditor de Sistemas de Información [email protected] - [email protected]

UNIVERSIDAD TECNOLOGICA DE PEREIRA Facultad de Ingeniería Industrial – Informática T2 G5 Septiembre de 2014

elseif texto(letra) == 'o' vo = vo + 1; elseif texto(letra) == 'u' vu = vu + 1; end end disp('Resultados') disp(sprintf('Cantidad de vocal a %d', va)) disp(sprintf('Cantidad de vocal e %d', ve)) disp(sprintf('Cantidad de vocal i %d', vi)) disp(sprintf('Cantidad de vocal o %d', vo)) disp(sprintf('Cantidad de vocal u %d', vu))

disp('Fin del ejercicio...') Ejercicio 9: Generar n números aleatorios y al final mostrar su promedio. clc clear all disp('Generar n números aleatorios y su promedio') cantidad = 0; primedio = 0; sumatoria = 0; cantidad = input('Cantidad de números aleatorios: '); for numero = 1 : cantidad sumatoria = sumatoria + rand; % se genera el numero aleatorio y se acumula end promedio = sumatoria / cantidad; disp(sprintf('El promedio de los números aleatorios es %.4f', promedio)) disp('Fin del ejercicio...') Ejercicio 10: Ingresar n números y al final mostrar de acuerdo a los siguientes rangos su correspondiente sumatoria: a) Números menores a 100 b) Números entre 100 y 500 c) Números mayores a 500. clc clear all disp('Ingresar n números realizando unas sumatorios') cantidad = 0; numero = 0; nummenor = 0; numentre = 0; nummayor = 0; cantidad = input('Cantidad de números a ingresar: '); for n = 1 : cantidad numero = input('Ingrese el número: '); if numero < 100 nummenor = nummenor + numero; elseif numero >= 100 & numero 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'; elseif nota > 3 & nota

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.