0% encontró este documento útil (0 votos)
2 vistas

Programacion repetitiva

El documento describe funciones y operadores en MatLab, incluyendo operaciones de módulo, redondeo y operadores lógicos. Se presentan ejercicios prácticos para manipular números enteros, como identificar dígitos, verificar paridad y modificar dígitos en posiciones específicas. Además, se enfatiza la importancia de la validación de entradas para evitar errores en los programas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas

Programacion repetitiva

El documento describe funciones y operadores en MatLab, incluyendo operaciones de módulo, redondeo y operadores lógicos. Se presentan ejercicios prácticos para manipular números enteros, como identificar dígitos, verificar paridad y modificar dígitos en posiciones específicas. Además, se enfatiza la importancia de la validación de entradas para evitar errores en los programas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Programación con Estructura

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

Función Descripción Ejemplo


M = round(x) Redondea al entero mas próximo >> M = round(23 / 5)
M= 5
M = fix(x) Redondea hacia cero >>M = fix(23 / 5)
M= 4
M = ceil(x) Redondea hacia infinito >> M = ceil(23 / 5)
M= 5
M = floor(x) Redondea hacia menos infinito >> M = floor(‐23
floor( 23 / 5)
M = ‐5
M = sign(x) Función signo: devuelve 1 si x>0, ‐ >> N = floor(‐23 / 5)
1 sii x<0
0 y 0 sii x=0
0 N = ‐55
>> M=sign(N)
M = ‐1
Operadores
p relaciones y lógicos
g en MatLab

Los operadores relacionales Operadores Relacionales


se usan para comparar los == Igual
valores de dos variables o
los valores de una variable < Menor que
con una constante. El <= M
Menor o igual
i l que
resultado de la evaluación > Mayor que
siempre es un valor lógico:
verdadero
erdadero o falso,
falso que
q e en >= Mayor o igual que
MatLab se representa como ~= distinto
1 ó 0 respectivamente.

Los operadores lógicos


sirven para actuar sobre Operadores Lógicos
expresiones lógicas o
& AND (Y lógico)
variables con valores lógicos
| OR (O lógico)
~ NOT (negación)
Ejercicio 1
Elaborar un programa para que pueda leer un número entero entre 1 y
9999999, como resultado deberá mostrar los dígitos que forman dicho
número indicando si el dígito es par o impar.
número, impar

El programa debe tener la capacidad de mostrar un mensaje si se ingresa


un numero negativo,
negativo cero o mayor que 9999999

Guiarse por el ejemplo mostrado.


Si N=8638 es el número ingresado Si N=56789 es el número ingresado

Deberá mostrar: Deberá mostrar:

El numero tiene 4 dígitos y son: El numero tiene 5 dígitos y son:


8ppar 5p par
6 par 6 par
3 impar 7 impar
8ppar 8p par
9 impar
E
Estructura del
d l Programa
P

% Pograma
P 31
clear; clc;
format compact

x=input('Ingrese un número mayor que 0 y menor que 100000000 : ');

while x<0 | x>99999999


clc;
x=input('Ingrese
x=input( Ingrese un número mayor que 0 y menor que 100000000 : ');
);
end

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

disp(' '); disp('La respuesta es: '); disp(' ');


fprintf('El número %9i tiene %3i dígitos \n‘ ,y,n)
di ('
disp('Y……...');
') disp('
di (' ')

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

Elaborar el diagrama de flujo y el programa correspondiente para


que lea
l un número
ú entre
t 1 y 9999999 y una posicióni ió determinada.
d t i d
El objetivo es determinar el dígito que está ocupando la posición
indicada. Por ejemplo:
j p 856384 y 5;; sean el número y p posición
ingresada, la respuesta indicará: El dígito que ocupa la posición (5)
es el (8)
Guiarse por el ejemplo mostrado.

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

Elaborar el diagrama de flujo y el programa correspondiente para


que lea
l un número
ú entre
t 1 y 9999999 y una posicióni ió determinada.
d t i d
El objetivo es determinar el dígito que está ocupando la posición
indicada. Por ejemplo:
j p 856384 y 5;; sean el número y p posición
ingresada, la respuesta indicará: El dígito que ocupa la posición (5)
es el (8)
Guiarse por el ejemplo mostrado.

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

Guiarse por el ejemplo mostrado.

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

Cálculo del # while x>0


de dígitos y n=n+1;
los residuos ó i
i=n;
dígitos del a(i)=mod(x,10);
número x=fix(x/10);
i
ingresado
d E d
End
Segunda parte del programa:

xx=input('Indique una posición del número : ');


Control para que no
ingrese una posición while xx<1 | xx>n
mayor a la cantidad %clc
de dígitos que tiene el xx=input('Indique
i ('I di una posición
i ió del
d l número
ú : ')
');
número ingresado end

xxx=input('Ingrese un numero entre 0 y 9 para cambiar : ');


Control para que no
while xxx<0 | xxx>9
ingrese un número
%clc
negativo, un número
xxx=input('Ingrese un numero entre 0 y 9 para cambiar : ');
de dos cifras y otros
end

disp(' ');
Tercera parte del programa:

Iniciación de variable m=0;

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

Iniciación de variable aa=0; disp(' ');

for iii=n:‐1:1
Ordenes que permiten formar n=n‐1;
el nuevo número aa= aa + a(iii)*10^n;
end

Ordenes que permiten formar fprintf( El número anterior fue %9i \n


fprintf('El \n',y)
y)
el nuevo número fprintf('El número nuevo es %9i \n',aa)
Ejercicio 3.1 – una variante de la anterior
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

Guiarse por el ejemplo mostrado.

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.

También podría gustarte