Date post: | 16-Dec-2015 |
Category: |
Documents |
Upload: | diego-tume |
View: | 88 times |
Download: | 10 times |
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 1
12. - Estructuras Repetitivas
1) while . End while condicion Instrucciones end
2) for
for v = vi : inc: vf Instrucciones
end donde : vi: valor inicial inc: incremento vf: valor final
Si el incremento es de 1 en 1, se omite el incremento for v=vi:vf Instrucciones end
Contador: Es una variable comienza con valor inicial y se incrementa en un valor constante. Inicializamos C=0; Y en el proceso
C=C+Valor_constante; 12.1.- Ejemplos Whileend Ejemplo mientras 01 Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 2
Ejemplo mientras 02 Ejecucin Ejemplo mientras 03 Ejecucin 12.2.- Ejemplos de procesos repetitivos for Ejemplo for 01 Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 3
Ejemplo for 02 Ejecucin Ejemplo for 03 Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 4
Ejemplo repetitivo 01 Ejecucin Ejemplo repetitivo 02
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 5
Ejecucin Acumulador: Variable que comienza con un valor inicial que generalmente es cero y se incrementa una cantidad variable Inicializamos S = 0 Y en el proceso de suma S = S + valor_a_sumar; Ejemplo repetitivo 03 Ejecucin Ejemplo repetitivo 04 Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 6
Ejemplo repetitivo 05 Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 7
Ejemplo repetitivo 06 Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 8
Ejemplo repetitivo 07 Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 9
Multiplicador: Variable que comienza con un valor inicial que generalmente es uno y se multiplica una cantidad variable Inicializamos P = 1; Y en el proceso de multiplicacin
P = P * valor_a_multiplicar; Ejemplo repetitivo 08 Ejecucin Ejemplo repetitivo 09 Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 10
Ejemplo 10 Calcular la suma de los n trminos de la siguiente serie: s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 +...... 1/n. Ejecucin Ejemplo 11 Ingresar n nmeros, calcular el mximo y el mnimo de ellos.
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 11
Ejecucin Ejemplo 12 Realizar un programa que escriba los n trminos de la serie de Fibonacci: 1, 1, 2, 3, 5, 8, 13,....... Ejecucin
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 12
Ejemplo 13 Calcular la sumatoria: s = 1 + x + x 2/2! + x3 /3! + x4 /4! + ........ + xn /n! Se debe ingresar x real y n entero positivo. Ejecucin
Ejercicios Resueltos 1.- Programa para ingresar un nmero y reportar todos sus divisores
clc n=input('ingrese numero :'); disp('Los divisores son '); for i=1:n if rem(n,i)==0 fprintf('%d ',i); end end
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 13
2.- Ingresar un nmero y reportar si es perfecto. Un nmero es perfecto si es igual a la suma de divisores menores que el
clear all clc n=input('Ingrese numero :'); s=0; for i=1:n-1 if rem(n,i)==0 s= s+i; end end if n==s disp('es perfecto'); else disp('no es perfecto'); end
3.- Ingresar un nmero y reportar si es primo.
clear all clc n=input('Ingrese numero :'); cd=0; for i=1:n if rem(n,i)==0 cd= cd+1; end end if cd==2 disp('es primo'); else disp('no es primo'); end
4.- Escribir un programa que descomponga un nmero N en todos sus factores correspondientes. Ej.:
27 = 3*3*3 180 = 2*2*3*3*3
clear all clc n=input('Ingrese numero :'); d=2; while n>1 if rem(n,d)==0 fprintf('%d ',d); n=n/d; else d=d+1; end end
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 14
5.- Ingresar 2 nmeros y calcular su mximo comn divisor
clc clear all n1=input('Primer numero :'); n2=input('Segundo numero :'); d=2; mcd=1; while d
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 15
8.- Ingresar un nmero y reportarlo al revs
clc; n=input('Ingrese numero :'); x=n; disp('El numero al reves es :'); while x>0 dig= rem(x,10); fprintf('%d',dig); x=fix(x/10); end
9.- Ingresar un nmero y reportar si es capica
clc; n=input('Ingrese numero :'); x=n; inv=0; while x>0 dig= rem(x,10); inv=inv*10+dig; x=fix(x/10); end if n==inv disp('el numero es capicua'); else disp('el numero no es capicua'); end
10.- Ingresar un nmero en base 10 y convertirlo a base 2
clc; n=input('Ingrese numero :'); x=n; b2=0;p=1; while x>0 r= rem(x,2); b2=b2+r*p; p=p*10; x=fix(x/2); end fprintf('el numero en base 2 es : %d ',b2);
11.- Ingresar un nmero en base 2 a base 10
clc; b2=input('Ingrese numero en base 2:'); x=b2; n=0;p=1; while x>0 r= rem(x,10); n=n+r*p; p=p*2; x=fix(x/10); end fprintf('el numero en base 10 es : %d ',n);
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 16
Ejercicios Propuestos 1) Ingresar un numero N entero positivo y reportar la suma de los nmeros desde 1
hasta N.
2) Ingresar N nmeros enteros positivos y reporte la suma de pares.
3) Reportar la suma de los N trminos de la serie:
1, 4, 7, 10, 13..
4) Hacer un programa para calcular el valor de XN. X real y N entero. (No usar el
operador ^).
5) Determinar la suma de los N trminos de la serie:
X + X2 + X3 + X4 + .
6) Hacer un programa que dado un valor de x, calcule el valor de la funcin:
f(x) = 1 x + x2/2! x3/3! + x4/4! x5/5! +
Tenga en cuenta solo los trminos de la serie que en valor absoluto son mayores o
iguales a 0.001
7) Reportar los N trminos de la serie:
17, 15, 18, 16, 19, 17, 20, 18, 21,
8) Hacer un programa que reporte los trminos de la sucesin:
2, 5, 7, 10, 12, 15, 17. 1800
Adems debe imprimir la suma de los trminos.
9) Sea n un entero positivo. Si n es par, divdalo entre 2, sino lo es, multiplquelo por 3
y smele 1. Realice este proceso hasta que el nmero que alcance sea 1. Realice un
programa en C que implemente dicho proceso. Imprima los nmeros que van
obteniendo. Por Ejemplo:
Para n = 10 la sucesin generada es: 10 5 16 8 4 2 1
10) Como parte de un experimento un bilogo requiere tomar la temperatura exterior
de un lugar cada hora por un periodo de 6 horas. Realice un programa que reciba
como datos las temperaturas tomadas y determine la mayor y la menor.
11) Generar un nmero aleatorio entre 1 y 100 y trate de adivinarlo. El resultado debe
orientar segn el resultado con los mensajes, alto y bajo. Al final debe mostrar
el nmero de intentos en los que adivino el nmero.
12) Generar n notas aleatoriamente y reportar el promedio, la nota mayor y la nota
menor.
13) Hacer un programa que simule varios lanzamientos de un dado hasta obtener un
seis. Muestre los puntajes del dado mientras se vayan generando y muestre al final
cuantos lanzamientos fueron necesarios efectuar.
14) Hacer un programa que genere nmeros aleatorios entre 300 y 1000 hasta obtener
un nmero mltiplo de 7. Se debe mostrar los nmeros generados, su suma, el mayor
y el menor.
15) Hacer un programa que genera la nota de n alumnos y que imprima cada nota y al
costado tantos asteriscos como indique la nota.
16) Escribir un programa que lea 3 nmeros enteros positivos a, b, n>0, calcule la
sumatoria de :
1! 2! 3! 4! (n+1)!
- + - + .....
A A + B A + 2B A + 3B A + nB
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 17
17) Escriba un programa que lea 2 nmeros X1 y X2 tal que X10 y que imprima los n trminos de
la serie:
4, 12, 24, 40, 60........ Debe imprimir tambin la suma de los n trminos.
19) Escribir un programa que lea un nmero entero n>0 y que imprima los n trminos de
la serie:
4, 9, 15, 23, 34, 49,..... Debe imprimir tambin la suma de los n trminos
20) Escribir un programa que calcule e imprima el valor de los n trminos de la serie:
2, 1, 1, 2, 8, 64.......Tambin se debe imprimir la suma de los n trminos
21) Escribir un programa que calcule e imprime los N trminos de la sumatoria
4/2 9/1 + 15/1 23/2 + 34/8 49/64 + .
Debe imprimir como mnimo k trminos por lnea. Tambin debe calcular la suma de
los N trminos
22) Escribir un programa que permita leer dos nmeros y reporte si son amigos.
Se dice que dos nmeros son amigos si cada uno de ellos es igual a la suma de los
divisores (menores que el nmero) del otro. Ejemplo: 220 y 284 son amigos.
23) Escribir un programa para ingresar 3 nmeros y reporte su mximo comn divisor y
su mnimo comn mltiplo.
24) Escribir un programa que para reducir un quebrado a su mnima expresin.
Ejemplos: 15/25 = 3/5 y 18/60 = 9/30 = 3/10
25) Escribir un programa que convierta un nmero de base b (entre 2 y 9) a un nmero
de base 10.
26) Convertir un numero de base n a un nmero de base m .
27) Escribir un programa que determine todos los nmeros primos que se encuentran
entre 2 nmeros n1 y n2.
28) Escribir un programa que permita mostrar en pantalla los N primeros nmeros
primos.
29) Escribir un programa que permita mostrar todos los nmeros perfectos menores
que 1000.
30) Escribir un programa que permita ingresar un nmero entero y reporte si es un
Cubo Perfecto. Un nmero es un cubo perfecto y es igual a la suma de sus dgitos al
cubo. Ejemplo 153 es cubo Perfecto porque 13 + 53+ 33 = 153.
31) Ingresar un nmero entero positivo y reportar el producto de sus dgitos y el mayor
de sus dgitos.
32) Ingresar N nmeros de 2 dgitos y determinar cul de ellos tiene la suma de
dgitos mayor
33) Escribir un programa que permita leer nmeros enteros diferentes de cero y que al
finalizar imprima:
a.- El nmero mayor y el nmero menor.
b.- El total de nmeros ledos.
c.- La cantidad de nmeros positivos y nmeros negativos.
El programa termina cuando se ingresa el cero.
34) Escribir un programa que lea las edades de personas y calcule la edad mayor, la
edad menor y la edad promedio.
El programa termina cuando se ingresa una edad menor o igual que cero.
Universidad Nacional de Trujillo Programacin en Matlab
Mg. Marcelino Torres Villanueva 18
35) Dado un numero entero positivo N, dibujar el siguiente triangulo:
Si N=5 saldr
1
12
1 2 3
1 2 3 4
1 2 3 4 5
36) Dado un numero entero positivo N,dibujar en la pantalla el siguiente triangulo:
Si N=4
****
***
**
*
37) Dado un numero entero positivo N, dibujar el siguiente cuadrado:
Ingrese N: 4
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3