martes, 9 de junio de 2015

EJERCICIOS CON MATRICES Y BUENAS PRACTICAS semana 14

Ejercicio 1


























Ejercicio 2
Se desea un algoritmo o sub programa que me imprima las posiciones así:
































primera forma de solución














Segunda forma de solucion










Sub programa






El anterior ejercicio en matlab






























Ejercicio 2
Se desea un algoritmo o sub programa que me imprima las posiciones así:





Solución










RECOMENDACIONES PARA LA   PROGRAMACIÓN EN MATLAB


Las buenas prácticas de programación Las buenas prácticas de programación consisten en la aplicación de un conjunto de recomendaciones que están orientadas a mejorar la calidad del software construido y la facilidad con que puede ser intercambiado y compartido por los diferentes  programadores.

¿Por qué adoptar las buenas prácticas   de programación?

• Porque en la vida real los programas son desarrollados por más de un programador, ya sea en forma simultánea o  diferida cuando un programador retoma el trabajo de otro  para  mejorarlo. La adopción de las buenas practicas facilita en trabajo colaborativo entre los programadores.
• Porque permite mejorar la eficiencia del uso de los recursos de procesamiento y memoria del computador.
• Porque me permite a mí como programador retomar mis propios programas construidos tiempo atrás y mejorarlos rápidamente.

Usar nombres de variables amigables

Se recomienda usar nombres de variables que permitan saber de forma intuitiva cual es el dato que se almacena en cada variable. Adicionalmente se recomienda nombres compuestos
Para las variables remplazando en espacio en blanco por el guion bajo. Por ejemplo Se recomienda usar:
numero_de_filas=input(‘Entre el número de filas: ’);
En lugar de:
m=input(‘Entre el número de filas: ’);

Usar sangría cada vez que se abra una estructura

Se recomienda usar sangría constante cada vez se abra una instrucción como SI, MIENTRAS, O PARA, esta sangría se debe eliminar cuando la instrucción se cierre. Por ejemplo Se recomienda usar:
SI a<b
        x=b-a
FIN(SI)

En lugar de:
SI a<b
x=b-a
FIN(SI)


En Matlab, siempre prefiere las funciones vectoriales

Con respecto específicamente a la programación en Matlab se recomienda siempre que sea posible usar las funciones vectoriales en lugar de hacer cálculos escalares repetitivos, Por Ejemplo Se recomienda usar:
suma=sum(vector)
En lugar de
suma=0
for i=1:n
         suma=suma+vector(i)
end


En Matlab, siempre prefiere  crear las matrices de antemano

Con respecto específicamente a la programación en Matlab se recomienda siempre que sea posible crear los vectores y matrices a través de las funciones destinadas para este fin, en lugar de añadirles elementos uno por uno a través de los ciclos, Por ejemplo Se recomienda usar:
Vector=zeros(1,n)

En lugar de
for i=1:n
      vector(i)=0

end

REFERENCIAS

http://dis.unal.edu.co/~programacion/book/modulo3.pdf
http://www.fisicaeingenieria.es/resources/Problemas+resueltos+de+C$2B$2B.pdf
http://es.slideshare.net/gonmrod/vectores-matrices-i


El actual blog fue realizado con la ayuda de las notas obtenidas en clase de algoritmos y programación dictada por Angel Rey de la universidad de Antioquia  en el siguiente link:

http://www.wiziq.com/online-class/2347661-iav-304-algoritmos-y-programaci%C3%B3n





lunes, 1 de junio de 2015

EJERCICIO VECTOR Y MATRICES semana 13

EJERCICIO VECTOR 










 MATRICES

 El concepto de matriz

Del mismo que ocurre para los vectores, el contexto de algebra lineal se tiene un concepto de matriz como una estructura rectangular de números
El campo del algebra lineal contempla un sin número de aplicaciones en las que el uso de las matrices es critico para facilitar la realización de cálculos. Es esta característica lo que las hace bastante comunes en las aproximaciones a problemas de ingeniería.
En los algoritmos también existe el concepto de vector, el cual al igual que en el caso del algebra lineal facilita bastante al realización de algunos cálculos. Cabe anotar que la principal funcionalidad del lenguaje de programación Matlab esta en su potencia para la realización de cálculos matriciales, por lo que resulta bastante útil para un ingeniero aprender a utilizarlo. Tan importante es ésta característica en dicho lenguaje que su nombre proviene de un acrónimo de Matrix Laboratory -MATLAB-.

Las matrices en Matlab

Como ya menciono, el manejo de matriz constituye la principal funcionalidades de Matlab ya que permiten una versatilidad de cálculo bastante alta.
La creación de matrices
Aunque existen diferentes formas de crear vectores en Matlab, la más sencilla es crear los manualmente así:
nombre_de_la_matriz = [a11 a12 … a1n; a21 a22 … a2n; am1 am2… amn]
por ejemplo para crear la matriz
notas =
5
3
1
4
4
2
3
5
5

En Matlab se da el comando 
notas=[5 3 1; 4 4 2; 3 5 5];

El acceso a los componentes de una matriz

En Matlab, cada vez que se quiere hacer referencia un componente particular de una matriz vasta don dar su nombre y el índice correspondiente entre paréntesis. Por ejemplo para acceder directamente fila 2 columna 3 de la matriz notas, vasta con dar el comando
notas(2,3)

El acceso a todos los componentes de una matriz

Para acceder a todos los componentes de una matriz solo vasta con utilizar una variable que sirva como índice sobre las filas cuyo valor cambie entre 1 y el número total de filas, y usar una variable que sirva como índice de las comunas, cuyo valor cambie entre 1 el numero de columnas. Para esto nos valemos dos ciclos para anidados












RECORRIDO SOBRE MATRICES

 De derecha a izquierda 

De abajo hacia arriba y de izquierda a derecha












REFERENCIAS
http://es.kioskea.net/faq/2991-manipulacion-basica-de-matrices-en-matlab
http://www.mat.ucm.es/~rrdelrio/documentos/practica3_200506.pdf
https://www.youtube.com/watch?v=adoAIiA8118
https://www.youtube.com/watch?v=tw32qnG3Uhg


lo anterior fue realizado con la ayuda de las notas tomadas de la clase dictada por el profesor Angel Rey de la universidad de Antioquia en el siguiente link:

EJERCICIOS VECTOR, ARREGLOS semana 12

Ejercicio 1.


















Ejercicio 2



























REFERENCIAS:
http://wwwalgoritmos-jesus.blogspot.com/2011/06/arreglos-o-vectores.html
http://es.slideshare.net/zerojhaker/ejercicios-de-arreglo
https://www.youtube.com/watch?v=gzQCpPgkwh4
https://www.google.com.co/search?q=vector+en+algoritmo&espv=2&biw=1366&bih=667&site=webhp&tbm=isch&tbo=u&source=univ&sa=X&ei=RYBsVcaaIIOTNvT0gIAK&ved=0CEYQsAQ&dpr=1#imgrc=zJMS2OyW4GXTuM%253A%3BcdktYaOHTrSwiM%3Bhttp%253A%252F%252Fprogramacion.net%252Fcursos_descargas%252Fintroprog%252FBusquedaDicotomica.png%3Bhttp%253A%252F%252Fprogramacion.net%252Farticulo%252Fintroduccion_a_la_programacion_205%252F11%3B547%3B384

los anteriores ejercicios fueron sacados de las notas tomadas de la clase dictada por el profesor Ángel Rey de la universidad de Antioquia en el siguiente link.
 http://www.wiziq.com/online-class/2347661-iav-304-algoritmos-y-programaci%C3%B3n







sábado, 23 de mayo de 2015

VECTORES Semana 11

 LOS VECTORES 

 El campo del álgebra lineal contempla un sin número de aplicaciones en las que el uso de los vectores es crítico para facilitar la realización de cálculos. Es esta característica lo que los hace bastante comunes en las aproximaciones a problemas de ingeniería.

 En los algoritmos los vectores  al igual que en el  algebra lineal facilita bastante al realización de algunos cálculos.
Los vectores, en algoritmos, consisten en un grupo de variables del mismo tipo donde cada una está identificada por la su ubicación en el grupo.
Normalmente en el contexto de los algoritmos los arreglos se representan forma de vectores filas, en lugar de hacer como vectores columna, por ejemplo el grupo de variables U, es decir el vector U se representa en algoritmos de esta forma.

Los vectores en Matlab
El manejo de vectores es una de las mejores funcionalidades de Matlab ya que permiten un versatilidad de calculo bastante alta.

La creación de vectores

Aunque existen diferentes formas de crear vectores en Matlab, la más sencilla es crear los manualmente así:
nombre_vel_vector = [valor1 valor2 … valorN]
por ejemplo para crear el vector
notas =   
5
3
2
4

En Matlab se da el comando
notas=[5 3 2 4];

El acceso a los componentes de un vector

En Matlab, cada vez que se quiere hacer referencia un componente particular de un vector vasta don dar su nombre y el índice correspondiente entre paréntesis. Por ejemplo para acceder directamente a la posición 2 del arreglo notas, basta con dar el comando
notas(2).

El acceso a todos los componentes de un vector

Para acceder a todos los componentes de un vector solo basta con utilizar una variable que sirva como índice cuyo valor cambie entre 1 y el número total de elementos en el vector, para esto nos valemos de un simple ciclo PARA

for i=1:4
     disp( notas(i) )
end


Problema
•Censo en la ciudad de Medellín.
•Mpio: código del municipio
•Dir: dirección
•Np: número de personas vivienda
•Cmed: acumulado censo


Algoritmo censo_en_medellín
Variables:
mpio,cemd,np,bandera: enteros
dir:alfanumérica
INICIO
cmed=0
MIENTRAS bandera == 0
LEA(mpio,dir,np)
cmed=cmed+np
Fin(MIENTRAS)
ESCRIBA(cmed)
LEA(bandera)
FIN
Fin(censo_en_medellín)


Agregamos otro municipio
•1. Medellín
•2. Bello


Algoritmo censo_en_medellín_y_bello
Variables:
mpio,cemd, cbel, np,bandera: enteros
dir:alfanumérica
INICIO
cmed=0
MIENTRAS bandera == 0
LEA(mpio,dir,np)
SI (mpio==1)
cmed=cmed+np
DE_LO_CONTRARIO
cbel=cbel + np
Fin(SI)
LEA(bandera)
Fin(MIENTRAS)
ESCRIBA(cmed, cbel)
FIN
Fin(censo_en_medellín)


Estructura arreglo
•Área de memoria con cierto número de posiciones y cada posición tiene un número asociado.
•Para imprimir una de las posiciones
•Arreglo de una dimensión se conoce como vector.

ESCRIBA (acmpio[4])      





































Referencias:
http://es.wikipedia.org/wiki/Vector_%28inform%C3%A1tica%29
https://www.youtube.com/watch?v=gzQCpPgkwh4
http://es.slideshare.net/zerojhaker/ejercicios-de-arreglo

El actual blog fue realizado con la ayuda de las notas de clase dictada en el siguiente link:


                                                                              

miércoles, 13 de mayo de 2015

TALLER "PARA" Y SUBPROGRAMAS semana 10

TALLER
















IMPLEMENTACIÓN EN MATLAB


SERIES























SUBPROGRAMAS
FUNCIÓN 


DEFINICIÓN













CLASIFICACIÓN 






 TIPO VOID











EJEMPLO COMBINATORIA 















PERMUTACIÓN




















REFERENCIAS

Categoría


El anterior trbajo fue realizado con la ayuda de las notas obtenidas en clase en el siguiente link 
 http://www.wiziq.com/online-class/2347661-iav-304-algoritmos-y-programaci%C3%B3n














domingo, 26 de abril de 2015

EJERCICIO CICLO MIENTAS Y CICLO PARA semana 9

EJERCICIO CICLO MIENTRAS





















CICLO PARA


DEFINICIÓN

El CICLO PARA permite la ejecución repetida de un conjunto de acciones. El número de veces que el bloque es ejecutado está determinado por los valores que puede tomar una variable contadora (de tipo entero), en un rango definido por un límite inferior (inclusive) y un límite superior (inclusive). Después de ejecutar el bloque de acciones en cada iteración, la variable contadora es incrementada en uno (1) automáticamente y en el momento en que la variable sobrepasa el límite superior el ciclo termina.

La principal diferencia de un bucle PARA con respecto a los bucles MIENTRAS y repetitivos , es que puede determinarse al comienzo del bucle cuántas veces se iterará el mismo, lo que muchas veces puede redundar en una optimización del código por parte de los compiladores. Los condicionales constituyen junto con los bucles los pilares de la programación estructurada, y su uso es una evolución de una sentencia de lenguaje ensamblador que ejecutaba la siguiente línea o no en función del valor de una condición.
ESTRUCTURA

PARA id DESDE v_inicial HASTA v_final CON_VARIACION [variable o constante]
Instrucciones
Fin(PARA)


Ejemplo 1
       Algoritmo muestra_numeros
                       Variables:
                                  i: entero
                       INICIO
                                  PARA i DESDE 1 HASTA 10 CON_VARIACION +1
                                                ESCRIBA(i)
                                  Fin(PARA)
                         FIN
                  Fin(muestra_numeros)

Ejemplo 2
        Algoritmo muestra_numeros
                            Variables:
                                      i: entero
                            INICIO
                                 PARA i DESDE 1 HASTA 10 CON_VARIACION +2
                                        ESCRIBA(i)
                                Fin(PARA)
                            FIN
                      Fin(muestra_numeros)

Ejemplo 3
            Algoritmo muestra_numeros
                                           Variables:
                                                    i: entero
                                           INICIO
                                                PARA i DESDE 10 HASTA 1 CON_VARIACION -1
                                                            ESCRIBA(i)
                                                Fin(PARA)
                                            FIN

                                      Fin(muestra_numeros)


APLICACION
Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren según el índice. Por esto último, una condición mínima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programación.
Tomado de: http://es.wikipedia.org/wiki/Bucle_for

REFERENCIAS
https://eperdomo89.wordpress.com/2009/08/12/dfd-clase11-%E2%80%93-ciclo-para/
http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo3/cap_04/leccion_4.html

Lo anterior se realizo con la ayuda de las notas obtenidas en clase del siguiente link:
 http://www.wiziq.com/online-class/2347661-iav-304-algoritmos-y-programaci%C3%B3n