Está en la página 1de 13

Paso 6

Software para ingeniería

Grupo xx

Nombre estudiante

Ítem escogido x.

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD

Escuela de Ciencias Básicas, Tecnología e Ingeniería

2019 16-01
CONSTRUCCIÓN DE LA SOLUCIÓN DEL PROBLEMA PLANTEADO EN EL CURSO

Releer el problema a resolver

En una empresa de publicidad, se requiere implementar un programa que permita al diseñador


bosquejar dos imágenes a visualizar en una matriz de leds a instalar al lado de un semáforo, la
idea es mostrar una imagen que le indique al peatón cuando caminar y otra para cuando parar;
para ello el aplicativo que diseñe debe permitir:
Digitar el orden de la matriz (no inferior a 8x8).
El programa debe permitir que el usuario establezca que leds encenderán para formar la imagen a
partir del ingreso de un 1 lógico en las casillas que determine, para cada imagen
Mostrar la matriz diseñada con la imagen a mostrar para caminar y parar.
Simular con un temporizador, la visualización alterna de cada matriz, el usuario determina dicho
tiempo.
Mostrar una matriz que contenga la coincidencia de led encendido para la imagen de caminar y
parar.
Algoritmo (diagrama de flujo o pseudocódigo) de la solución del problema planteado,
debidamente comentado
Algoritmo programa
Escribir "Ingrese el numero de columnas:"
Leer columnas // leemos el numero de columnas
Escribir "Ingrese el numero de filas:"
Leer filas // leemos el numero de filas
Escribir filas
Dimension imagen_caminar[filas,columnas] // Creamos la matriz caminar
Dimension imagen_parar[filas,columnas] // Creamos la matriz parar
Escribir "Vamos a crear la imagen para caminar:"
Para f <-1 hasta filas Hacer // recorremos las filas
Para c <-1 hasta columnas Hacer // recorremos las columnas
Escribir "nos encontramos en la posición: columna=",c," fila=", f;
Escribir "deseas incluir un 1 en esta posición: [1]. Si. o [2]. No.: "
Leer desicion
Si desicion==1 Entonces // si el usuario digita el 1, guardamos el valor en la matriz
imagen_caminar[f,c]<-desicion
SiNo
imagen_caminar[f,c]<-0
Fin Si
FinPara
FinPara
Escribir "Vamos a crear la imagen para parar:"
Para f <-1 hasta filas Hacer // recorremos las filas
Para c <-1 hasta columnas Hacer // recorremos las columnas
Escribir "nos encontramos en la posición: columna=",c," fila=", f;
Escribir "deseas incluir un 1 en esta posición: [1]. Si. o [2]. No.: "
Leer desicion
Si desicion==1 Entonces // si el usuario digita el 1, guardamos el valor en la matriz
imagen_parar[f,c]<-desicion
SiNo
imagen_parar[f,c]<-0
Fin Si
FinPara
FinPara
Limpiar Pantalla
Escribir ""
Escribir "imagen para caminar"
Para i<-1 Hasta filas Con Paso 1 Hacer
Escribir "";
Para j<-1 Hasta columnas Con Paso 1 Hacer
Escribir Sin Saltar imagen_caminar[i,j]," " // mostramos la matriz caminar en la pantalla
Fin Para
FinPara
Escribir "";
Escribir "imagen para parar"
Para i<-1 Hasta filas Con Paso 1 Hacer
Escribir "";
Para j<-1 Hasta columnas Con Paso 1 Hacer
Escribir Sin Saltar imagen_parar[i,j]," " // mostramos la matriz parar en la pantalla
Fin Para
FinPara
Escribir "";
Escribir "Coincidencia de leds"
Para i<-1 Hasta filas Con Paso 1 Hacer
Escribir "";
Para j<-1 Hasta columnas Con Paso 1 Hacer
Si imagen_caminar[i,j]==1 && imagen_parar[i,j]==1 Entonces
Escribir Sin Saltar imagen_parar[i,j]," " // mostramos la matriz de coincidencia
en la pantalla
SiNo
Escribir Sin Saltar "0"," "
Fin Si
Fin Para
FinPara
FinAlgoritmo
Código fuente de la solución del problema, debidamente comentado
columnas = input('Ingrese el numero de columnas: '); // Pedimos al usuario el número de
columnas para la matriz
filas = input('Ingrese el numero de filas: '); // Pedimos al usuario el número de columnas para la
matriz
imagen_caminar=zeros(filas,columnas); // definimos la matriz caminar
imagen_parar=zeros(filas,columnas); // definimos la matriz parar
imagen_coincidencia=zeros(filas,columnas); // definimos la matriz de coincidencia
disp('Vamos a crear la imagen para caminar');
for f=1:filas // recorremos las filas de la matriz
for c=1:columnas // recorremos las columnas de la matriz
mprintf('nos encontramos en la posición: columna=%i fila=%i',c,f);
decision = input('deseas incluir un 1 en esta posición: [1]. Si. o [2]. No.: ');
if decision ==1 then // Si el usuario decidio colocar un uno en la posición x
imagen_caminar(f,c)=decision; // asignamos el numero 1 a la matriz
else
imagen_caminar(f,c)=0; // asignamos el numero 0 a la matriz
end
end
end
disp('Vamos a crear la imagen para parar:');
for f=1:filas // recorremos las filas de la matriz
for c=1:columnas // recorremos las columnas de la matriz
mprintf('nos encontramos en la posición: columna=%i fila=%i',c,f);
decision = input('deseas incluir un 1 en esta posición: [1]. Si. o [2]. No.: ');
if decision ==1 then // Si el usuario decidio colocar un uno en la posición x
imagen_parar(f,c)=decision; // asignamos el numero 1 a la matriz
else
imagen_parar(f,c)=0; // asignamos el numero 0 a la matriz
end
end
end
disp('');
disp('imagen para caminar');
disp(imagen_caminar); // mostramos en panatalla la matriz caminar
disp('');
disp('imagen para parar');
disp(imagen_parar); // mostramos en panatalla la matriz parar
disp('');
simulacion = input('¿Cuántos segundos desea que demore la imagen activa?'); // pedimos
los segundos que va a demorar la simulacion
iteracion = input('¿Cuántas iteraciones?'); // numero de iteraciones
disp('Simulación');
for i=1:iteracion
disp('Caminar');
disp(imagen_caminar); // mostramos en pantalla la matriz caminar
sleep(simulacion*1000); // pausamos la pantalla por los segundos que digito el usuario
disp('parar');
disp(imagen_parar); // mostramos en pantalla la matriz parar
sleep(simulacion*1000); // pausamos la pantalla por los segundos que digito el usuario
end
disp('');
disp('Coincidencia de leds');
for i=1:filas // recorremos las filas de la matriz
disp('');
for j=1:columnas // recorremos las filas de la matriz
if imagen_caminar(i,j)==1 & imagen_parar(i,j)==1 then
imagen_coincidencia(i,j)=1; // asignamos el valor de 1, en la posición que
conicida el uno en ambas matrices
else

end
end
end
disp(imagen_coincidencia); // Mostramos en pantalla la matriz de coincidencia

Capturas de pantalla del funcionamiento del aplicativo, debidamente comentadas

También podría gustarte