Sie sind auf Seite 1von 11

UNIDAD 2 SOFTWARE PARA INGENIERIA

PASO 5

PRESENTADO POR

CHRISTIAN ACERO BARRERA

CC : 1121840455

GRUPO: 203036_30

TUTOR

CAMILO ARTURO LAGOS

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

ACACIAS

MAYO 19 DE 2019
INTRODUCCION

En principio, las sentencias de un programa se ejecutan secuencialmente, esto es, cada una a
continuación de la anterior empezando por la primera y acabando por la última. Sin embargo, es
fácil encontrar ejemplos de programas cuyo flujo de ejecución no puede ser secuencial. Pensemos
por ejemplo en un menú básico de un cajero automático:

Menú de opciones:

1. Sacar Dinero

2. Consulta de Saldo

3. Últimos Movimientos

4. Salir

Teclee la opción deseada: _

El funcionamiento habitual de este tipo de programas es el siguiente: el usuario teclea un número


de opción (1, 2, 3 ó 4). Si la opción tecleada no fuera una de estas opciones, el programa después
de advertir del error volvería a solicitar una opción correcta. Si la opción es válida el programa
ejecutará las sentencias correspondientes a la acción seleccionada y una vez acabadas, lo normal
es que el programa pregunte si queremos realizar otra operación y si es así volverá al menú inicial
esperando de nuevo otra opción.

En esta secuencia de ejecución podemos detectar dos tipos de modificación del flujo secuencial:
bucles y bifurcaciones.

Por un lado, observamos que hay una secuencia de pasos que deben repetirse un número
determinado de veces: por ejemplo, si la opción tecleada no es correcta hay que solicitar una que
lo sea y también es un bucle cuando termina la primera operación, si el usuario quiere realizar
otra.

Por otro lado, cuando se escoge una determinada operación el programa debe ejecutar sólo el
grupo de sentencias que realizan esa operación, lo que implica que el control del programa debe
dirigirse a unas sentencias, saltándose otras, y que cuando terminen, debe volver el control al
bucle inicial.

El lenguaje C dispone de varias sentencias para modificar el flujo secuencial de la ejecución:


fundamentalmente las sentencias if y switch1 implementan las bifurcaciones, que como hemos
señalado permiten elegir entre dos o más opciones según ciertas condiciones, y las sentencias for
y while2 , que permiten ejecutar repetidamente un conjunto de instrucciones tantas veces como
se desee, cambiando o actualizando ciertos valores.
ACTIVIDADES A DESARROLLAR INDIVIDUAL

PARA CONTINUAR LA CONSTRUCCIÓN DE LA SOLUCIÓN DEL PROBLEMA


PLANTEADO EN EL CURSO

 Releer el problema a resolver.

Problema 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:

o Digitar el orden de la matriz (no inferior a 8x8)


o 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
o Mostrar la matriz diseñada con la imagen a mostrar para caminar y parar.
o Simular con un temporizador, la visualización alterna de cada matriz, el usuario determina
dicho tiempo.
o Mostrar una matriz que contenga la coincidencia de led encendido para la imagen de
caminar y parar.
 Recopile información concreta que le permita construir la solución del problema
(teorías, conceptos, manuales, videos, ejercicios resueltos, entre otros), resúmala y
digítela en un procesador de texto con sus respectivas referencias con normas APA

Indexado de Matrices

La siguiente notación es la que se usa para representar una matriz con 3 filas y 3 columnas

En la forma reducida A = (aᵢj) є M₃ (k), donde k es el cuerpo (por ejemplo, K= R o K = C.


el símbolo aᵢj se refiere a la entrada situada en la fila i y columna j. MATLAB usa una
notación similar para representar los elementos de una matriz.

% pascal no funciona en octave

>> A=pascal (5)

>> A (1,2)

>> A (3,4)

En general, A (i, j) se refiere al elemento de la fila i, columna j de la matriz A. También es


fácil cambiar el valor de una entrada.

>> A (3,3) =11111

Otro ejemplo:
Cadenas de Caracteres (Array)

Los caracteres de una cadena se almacenan en un vector, con un carácter por elemento.
Cada carácter ocupa dos bytes. Las cadenas de caracteres van entre apóstrofos o comillas
simples, como por ejemplo: 'cadena'. Si la cadena debe contener comillas, éstas se
representan por un doble carácter comilla, de modo que se pueden distinguir fácilmente del
principio y final de la cadena. Por ejemplo, para escribir la cadena ni ’idea’ se escribiría
’ni’’idea’’’. Una matriz de caracteres es una matriz cuyos elementos son caracteres, o bien
una matriz

cuyas filas son cadenas de caracteres. Todas las filas de una matriz de caracteres deben
tener el mismo número de elementos. Si es preciso, las cadenas (filas) más cortas se
completan con blancos.

A continuación, se pueden ver algunos ejemplos y practicar con ellos:


COMANDOS EN MATLAB (imread, rgb2gray, imresize, size, cat, montage).

Imread Lee la imagen del archive especificado por filename, deduciendo el formato del archive
de su contenido.

Si filename es un archivo de imágenes múltiples, entonces lee la primera imagen del


archivo.

Rgb2gray Convierte imagen RGB o mapa de colores a escalas de grises.

Imresize Cambia el tamaño de la imagen.

Size Leer el tamaño de una matriz en filas y columnas.

Cat Concatenar matrices a lo largo de la dimensión especifica.

Montage mostrar múltiples marcos de imagen como montaje rectangular

Double (c) convierte en números ASCII cada carácter

Char (v) convierte un vector de números v en una cadena de caracteres

Char (cl, c2) crea una matriz de caracteres, completando con blancos las cadenas mas cortas

Deblank (c) elimina los blancos al final de una cadena de caracteres

Disp (c) imprime el texto contenido en la variable c

ischar(c) detecta si una variable es una cadena de caracteres

isletter() Detecta si un carácter es una letra del alfabeto. Devuelve un vector o matriz de unos y
ceros

isspace() Detecta si un carácter es un espacio en blanco. Devuelve un vector o matriz de unos y


ceros

strcmp(c1,c2) Comparación de cadenas. Si las cadenas son iguales devuelve un uno, y si no lo son,
devuelve un cero (funciona de modo diferente que la correspondiente función de C)

strcmpi(c1,c2) igual que strcmp(c1,c2), pero ignorando la diferencia entre mayúsculas y minúsculas

strncmp(c1,c2, n) compara los n primeros caracteres de dos cadenas

c1==c2 Compara dos cadenas carácter a carácter. Devuelve un vector o matriz de unos y ceros

s=[s,' y más'] concatena cadenas, añadiendo la segunda a continuación de la primera

findstr(c1,c2) devuelve un vector con las posiciones iniciales de todas las veces en que la cadena más
corta aparece en la más larga

strmatch(cc,c) devuelve los índices de todos los elementos de la matriz de caracteres (o vector de
celdas) cc, que empiezan por la cadena c

strrep(c1,c2,c3) sustituye la cadena c2 por c3, cada vez que c2 es encontrada en c1

[p,r]=strtok(t) separa las palabras de una cadena de caracteres t. Devuelve la primera palabra p y el
resto de la cadena r

int2str(v) convierte un número entero en cadena de caracteres

num2str(x,n) convierte un número real x en su expresión por medio de una cadena de caracteres, con
cuatro cifras decimales por defecto (pueden especificarse más cifras, con un argumento
opcional n)

vc=cellstr(cc) Convierte una matriz de caracteres cc en un vector de celdas vc, eliminando los blancos
adicionales al final de cada cadena. La función char() realiza las conversiones opuestas

sprintf Convierte valores numéricos en cadenas de caracteres, de acuerdo con las reglas y
formatos de conversión del lenguaje C. Esta es la función más general para este tipo de
conversión y se verá con más detalle en otro lugar

Con las funciones anteriores se dispone en MATLAB de una amplia gama de posibilidades
para trabajar con cadenas de caracteres.

A continuación, se pueden ver algunos ejemplos:

Es habitual convertir los valores numéricos en cadenas de caracteres para poder imprimirlos
Como títulos en los dibujos o gráficos. Véase el siguiente ejemplo:

 Estructuras de Control

Las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de


un programa. Quiere decir, que permite que unas condiciones se lleven a cabo cuando el
programador lo desee, ya sea un número determinado de veces o hasta un cierto error, etc.
Las estructuras de control tienen un único punto de entrada y un único punto de salida, por
lo que están estructuradas.
Se clasifica en

Estructura de bifurcación: Se utilizan cuando en el programa se debe decidir en qué


situación se tiene que cumplir una cierta condición. Su estructura básica es el IF o el
SWITCH.

Estructuras repetitivas: Se utilizan cuando hay que repetir más de una vez un grupo de
instrucciones. Pueden ser FOR o WHILE.

Sentencias break y continúe: Se utilizan para manipular el comportamiento normal de los


bucles.

Estructuras repetitivas: Se utilizan cuando hay que repetir más de una vez un grupo de
instrucciones. Hay dos tipos fundamentales:

1. Bucle FOR: Una variable tomará valores desde un número inicial, hasta uno final, con
un determinado paso (que es la distancia entre dos valores). En Matlab, el paso por defecto
es de valor 1, pero se puede cambiar. Cada vez que la variable cambie su valor, se
realizarán las operaciones que se hayan programado después.

El bucle FOR se utiliza cuando se sabe previamente el número de iteraciones que se van a
realizar.

El parámetro inicial, final y el paso pueden ser variables previamente definidas. El paso
puede ser negativo, siempre que el valor inicial sea mayor que el final.

El bucle FOR escribe en Matlab del siguiente modo:

For variable = inicial : paso : final(grupo de instrucciones)

End

Veremos un ejemplo del bucle FOR para calcular un factorial.


2. Bucle WHILE: Se da una condición que se tiene que evaluar, que se realizará siempre
que sea verdadera. En el momento en el que la condición sea falsa, cesará. Por tanto, no se
conoce de antemano el número de iteraciones a realizar.

Las variables utilizadas tienen que estar inicializadas antes del bucle, que cumplan la
condición la primera vez por lo menos y cambiar de valor en cada iteración dentro del bucle
(de lo contrario se producirá un bucle infinito). En Matlab, se escribe como:

While (condición lógica)

(grupo de instrucciones)

End

veremos un ejemplo de bucle WHILE para calcular un factorial.

Hay una variante del bucle WHILE que es el DO-WHILE, que es similar, pero con la
diferencia de que las instrucciones se tienen que cumplir por lo menos una vez, y una vez
cumplida, se evalúa la condición. Si la condición se cumple, se entra en el bucle hasta que
sea falsa, que se acaba la iteración. Se escribe de este modo:

(instrucciones 1)

While (condición lógica)

(instrucciones 1)

End
 Código ASCII

El ASCII es un código numérico que representa los caracteres, usando una escala decimal
del 0 al 127. Esos números decimales son convertidos por la computadora en números
binarios para ser posteriormente procesados. Por lo tanto, cada una de las letras que
escribas va a corresponder a uno de estos códigos.

Tal es la importancia que ha cobrado el código ASCII en la informática, que es


prácticamente imposible utilizar una computadora o dispositivo sin que este código ASCII
se encuentre presente, tal es la importancia que tiene todavía en nuestros días.
 Elaborar un algoritmo (diagrama de flujo o pseudocódigo) que represente la solución del
problema planteado en el curso.

 Referencias Bibliográficas

https://es.slideshare.net/RossyGillenM/algoritmos-56071366

https://es.wikipedia.org/wiki/ASCII

https://es.wikipedia.org/wiki/Estructuras_de_control