Está en la página 1de 6

SOFTWARE PARA INGENIERÍA

GRUPO
203036_86

PASO4 – PRACTICA 2

TUTOR:
JUAN MONROY

REALIZADO POR:
JOSÉ GUSTAVO DUCÓN PÉREZ 1052020929

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA
ABRIL 2019
VIDEO PRÁCTICA 2

Link del video https://youtu.be/z7lQMF9fuQE


El video debe contener la explicación del desarrollo de cada uno de los
programas Temáticas que aborda componente práctico:
PRÁCTICA 2
UNIDAD 2. SENTENCIAS DE CONTROL DE FLUJO
• Estructura repetitiva FOR- WHILE
• Estructuras tipo CASE
Lógica de vectores
Actividades a desarrollar:
Es importante que realice cada una de las actividades descritas, ya que
de ellas puede extraer varias ideas que lo orienten en la formulación de
la solución del problema planteado en el curso.
1. Realice un programa que capture el valor de una resistencia en ohmios
y el programa devuelva los códigos de colores que correspondan a ese
valor, por cada banda (el más aproximado, según el caso).
%no se tuvo en cuenta la tolerancia de la resistencia
resistencia=input('ingrese el valor de la resistencia en
ohmios:','s');%se pide el ingreso del valor de la resistencia
c=length(resistencia); %se calcula la longitud del vector
%se cambia de caracteres a decimales
for i=1:c
valores(i)=uint8(resistencia(i));
end
fprintf('\n');
%primera franja
if valores(1)==49
disp('CAFE');
end
if valores (1)==50
disp('ROJO');
end
if valores(1)==51
disp('NARANJA');
end
if valores(1)==52
disp('AMARILLO');
end
if valores(1)==53
disp('VERDE');
end
if valores(1)==54
disp('AZUL');
end
if valores(1)==55
disp('VIOLETA');
end
if valores(1)==56
disp('GRIS');
end
if valores(1)==57
disp('BLANCO');
end

if c==1
disp('NEGRO');
end
if c >=3
if valores(3) >=54
valores(2)=valores(2)+1;
end
end

%segunda franja
if c>=2
if valores(2)==48
disp('NEGRO');
end
if valores(2)==49
disp('CAFE');
end
if valores(2)==50
disp('ROJO');
end
if valores(2)==51
disp('NARANJA');
end
if valores(2)==52
disp('AMARILLO');
end
if valores(2)==53
disp('VERDE');
end
if valores(2)==54
disp('AZUL');
end
if valores(2)==55
disp('VIOLETA');
end
if valores(2)==56
disp('GRIS');
end
if valores(2)==57
disp('BLANCO');
end
end
%tercera franja
if c==1
disp('DORADO');
end
if c==2
disp('NEGRO');
end
if c==3
disp('CAFE');
end
if c==4
disp('ROJO');
end
if c==5
disp('NARANJA');
end
if c==6
disp('AMARILLO');
end
if c==7
disp('VERDE');
end
if c==8
disp('AZUL');
end
if c==9
disp('VIOLETA');
end
if c==10
disp('GRIS');
end
if c==1
disp('BLANCO');
end

2. Realice un programa que permita mostrar un vector de binarios,


con un solo digito de valor 1 y el resto ceros, rotando de izquierda
a derecha o viceversa, debe dar la sensación que el 1 se desplaza
por las casillas; para esto el usuario debe establecer:

• El tamaño del vector, en un rango de 8 a 25


• La posición donde se ubica el 1
• El tipo de rotación, izquierda ó derecha
• Velocidad de rotación (como programador determinar el
rango dentro del cual el usuario el usuario pueda elegir)
• Cantidad de veces a visualizar la rotación

Ejemplo de rotar a derecha ubicando el 1 en la primera celda a


una velocidad de 1 segundo por 5 segundo
En el primer segundo debe verse: 10000000
Siguiente segundo 01000000
Siguiente segundo 00100000
Siguiente segundo 00010000
Siguiente segundo 00001000

%se pide el tamaño del vector y se restringe este valor entre 8 y 25


while(1)
tamano=input('ingrese el tamaño del vector(entre 8 y 25):');
if tamano >7 && tamano <26
break;
end
end
%se pide la posicion del 1 y se restriinge que la posicion este denro del
tamaño del vector
while(1)
posicion=input('\n ingrese la posicion donde iniciara el 1:');
if posicion<=tamano && posicion>=0
break;
end
end
%se pide hacia donde se rotara y se restringe a solo dos opciones.
while(1)
rotacion =input('\n ingrese el tipo de rotacion:\n1.
derecha.\n2.izquierda.\n--->');
if rotacion==1||rotacion ==2
break;
end
end
%se pide la velocidad de rotacion y se restringe este valor entre 0.1 y 1
while(1)
velocidad=input('\n ingrese la velocidad a la que va a rotar el
1(entre 0.1 y 1 segundos):');
if velocidad >=0.1 && velocidad <=1
break;
end
end
%se pide la cantidad de veces que se va a rotar el 1, restringiendo este
valor a solo numeros positivos
while(1)
c_veces=input('\n ingrese la cantidad de veces a visualizar la
rotacion :');
if c_veces>=1
break;
end
end

vector=zeros(1,tamano); %se crea el vector lleno de ceros.


vector(posicion)=1; %se ingresa el 1 en la posicion indicada por el
usuario.
clc;
disp(vector); %se visualiza el vector inicial.
pause(velocidad); %retardo de visualizacion.
clc;
%condicion para cuando la rotacion es hacia la derecha.
if rotacion==1
for i=1:c_veces
vector(posicion)=0;
if posicion==tamano
posicion=0;
end
vector(posicion+1)=1;
posicion=posicion+1;
disp(vector);
pause(velocidad);
clc;
end
end
% condicion para cuando la rotacion es hacia la izquierda
if rotacion==2
for j=1:c_veces
vector(posicion)=0;
if posicion==1
posicion=tamano +1;
end
vector(posicion -1)=1;
posicion=posicion -1;
disp(vector);
pause(velocidad);
clc;
end
end
disp(vector);

También podría gustarte