Programacion repetitiva
Programacion repetitiva
Repetitiva
mod
Muestra el residuo despues de la división
• M = mod(X,Y)
• Ejemplo:
• M = mod(13,4)
• M
M= 1
• M1 = mod(15,3)
mod(15 3)
• M1 = 0
rem
Muestra el residuo después de la división
R = rem(X,Y)
Ej
Ejemplo:
l
R = rem(17,6)
rem(17 6)
R=5
R1 = rem(19/6)
( / )
R1 = 1
Funciones de Redondeo en MatLab
% Pograma
P 31
clear; clc;
format compact
m=0;
n=0;
y ;
y=x;
while x>0
n = n+1;
i = n;
a(i) = mod(x,10);
x = fix(x/10);
end
for ii=n:‐1:1
if mod(a(ii),2)==0
d( (ii) 2) 0
fprintf('El digito %3i es par\n',a(ii))
else
fprintf('El
fprintf( El digito %3i es impar\n
impar\n',a(ii))
a(ii))
end
End
Ejercicio
j 2
Número ingresado 8 5 6 3 8 4
Posición 1 2 3 4 5 6
NOTA: El programa deberá tener la consistencia entre el número ingresado y las
posiciones p
p para evitar errores, es decir; no se ppuede ingresar
g 23678 y digitar
g la
posición 8, porque no existe. En todo caso se mostrará un mensaje de error.
Ejercicio
j 2.1 – una variante de la anterior
Número ingresado 8 5 6 3 8 4
Posición 6 5 4 3 2 1
NOTA: El programa deberá tener la consistencia entre el número ingresado y las
posiciones p
p para evitar errores, es decir; no se ppuede ingresar
g 23678 y digitar
g la
posición 8, porque no existe. En todo caso se mostrará un mensaje de error.
Ejercicio 3
Elaborar el diagrama de flujo y el programa correspondiente para que lea
un número entre 1 y 9999999, una posición determinada y un dígito entre
0 y 9. El objetivo es: una vez identificado el dígito que ocupa la posición
determinada deberá cambiarse dicho dígito por el dígito ingresado por el
teclado y escribir el nuevo número generado. Por ejemplo: 947390, 3 y 8;
sean el número, la posición de un digito de dicho número y el nuevo
dígito, la respuesta indicará: El dígito que ocupa la posición (3) es el (7) y
deberá cambiarse por (8) y el nuevo número es: 948390
Número ingresado 9 4 7 3 9 0
Posición 1 2 3 4 5 6
Número nuevo 9 4 8 3 9 0
NOTA: El p programa
g deberá tener la consistencia entre el número ingresado
g y las
posiciones para evitar errores, es decir; no se puede ingresar 23678 y digitar la
posición 8, porque no existe. En todo caso se mostrará un mensaje de error.
Primera parte del programa:
programa
Control para
x=input('Ingrese un número mayor que 0 y menor que 100,000,000: ');
que no
while x<0 | x>999999999
ingrese un
clc
número
ú ffuera
x=input('Ingrese un número mayor que 0 y menor que 100,000,000: ');
del rango
end
solicitado
Inicio y
asignación de n=0; y=x;
variables
disp(' ');
Tercera parte del programa:
for ii=n:‐1:1
Ordenes qque permiten
p m=m+1;
intercambiar el valor del dígito if m == xx
seleccionado por el usuario a(ii)=xxx;
end
Endd
for iii=n:‐1:1
Ordenes que permiten formar n=n‐1;
el nuevo número aa= aa + a(iii)*10^n;
end
Número ingresado 9 4 7 3 9 0
Posición 6 5 4 3 2 1
Número nuevo 9 4 8 3 9 0
NOTA: El p programa
g deberá tener la consistencia entre el número ingresado
g y las
posiciones para evitar errores, es decir; no se puede ingresar 23678 y digitar la
posición 8, porque no existe. En todo caso se mostrará un mensaje de error.