Etiquetas

BIENVENIDOS. AQUI ENCONTRARAS DIFERENTES CONTENIDOS

Todos como hijo de la tierra estamos destinados a protegerla. valora cada espacio en el que habitats, siembra conciencia en los demas y haz parte del cambio.

PIENSA

"La tierra proporciona lo suficiente para satisfacer las necesidades de cada hombre, pero no la codicia de cada hombre"-Gandhi.

ACTUA

"Todo lo que le ocurra a la tierra, le ocurrirá a los hijos de la tierra" Jefe indio Seattle.

ACTUALIDAD AMBIENTAL

"Temas relacionados con las problematicas ambientales del dia a dia - Distintos puntos de vistas."

CONCIENCIA

"El que nos encontremos tan a gusto en plena naturaleza proviene de que ésta no tiene opinión sobre nosotros - Jordi Bigues."

INGENIERIA AMBIENTAL

"Teorias, modelacion ambiental, articulos, alternativas de desarrollo sostenible - Desde la academia."

ARTICULOS ALGORITMO Y PROGRAMACION

Escritos sobre temas de programacion basica.

MUSICA

"Remixes, mix, remix, loops, y todo tipo de genero - DJ EL ESPECTRO."

INNOVACION Y TECNOLOGIA

"ESCRITOS Y DOCUMENTALES CON TEMAS QUE NOS INTERESAN SOBRE EL FUTURO DEL MUNDO TECNOLOGICO - ENLACES DE INTERES."

TEMAS DE INTERES GENERAL

"Diferentes tematicas que despiertan curiosidades - ENLACES DE INTERES."

sábado, 28 de marzo de 2015

6.De seudocódigo a MATLAB

Para llevar el algoritmo de un lenguaje común en su estructura, solo se debe de seguir unas pequeñas pautas para pasarlos al lector de matlab, para eso debemos de manejar los comandos o líneas de condicionales para escribir el algoritmo en el programa, para un algoritmo simple tenemos (if-then/si-entonces), que pueden llevar una estructura similar a.



Si <condición> if <condición>
Entonces <acción S1> then <acción S1>
fin_si endif
Para una condición doble se pueden implementar los siguientes referentes en inglés
(si-entonces-sino/if-then-else) por lo cual pueden generar una estructura similar
Si <condición> if <condición>
Entonces <acción S1> then <acción S1>
Sino <acción S2> else <acción S2>
fin_si endif.
Para las condicionales anidadas pueden haber más de tres condicionales dentro del seguimientos del algoritmo una estructura if-then-else puede incluir un decisión adicional. Existen estructuras más complejas que se les llama Condiciones compuestas. Estas condiciones se obtienen a partir de las expresiones simples, utilizando los operadores lógicos and, or y not. Los significados de estos operadores se describen adecuadamente por medio de las tablas de verdad. Pero por ahora no se enfocara en las condicionales compuestas, el interés en este artículo es saber implementar las estructuras en el algoritmo para que a su vez este me genere la solución a los problemas.
En Matlab, se pueden simplificar las variables y buscar alternativas más favorables para el algoritmo, esto para evitar tanta información y que al final nuestras estructuras condicionales no se vean saturadas y por lo tanto se enrede la secuencia.
Por último se presentara un ejemplo general de cómo podría quedar un algoritmo en el programador siguiendo todas las pautas mencionadas anteriormente.
Dados dos números reales, a y b, y el símbolo, S (carácter), de un operador aritmético (+, -, *, /), imprimir el resultado de la operación a S b
INICIO
   LEER a
    LEER b
     LEER S
       Si S=’+’
IMPRIMIR ’El resultado es =’, a+b
                  Si no, si S=’-’
IMPRIMIR ’El resultado es =’, a-b
               Si no, si S=’*’
IMPRIMIR ’El resultado es =’, a*b
                Si no, si b=0
                 Si a=0
IMPRIMIR ’El resultado es =’, NaN (indeterminaci´on)
                 Si no
IMPRIMIR ’El resultado es =’, Inf (infinito)
        Fin Si
  Si no
IMPRIMIR ’El resultado es =’, a/b
    Fin Si
Fin

Si te interesa más del tema te invito  a que vayas al canal de YouTube de Andrés Felipe Ramirez Valencia, y puedas conocer paso a paso de una forma visual todo lo que has leído en este artículo


POR CAMILO BORJA © 2015 ALL RIGHTS RESERVED. 

Fuentes consultadas:


Andres.F. Ramires, Tutorial 6 de MATLAB en español - Programación 1/3 https://www.youtube.com/watch?v=FOmzOt5w3XA
Imagen: http://i.ytimg.com/vi/IbxkMCzDnyQ/maxresdefault.jpg

5.Estructura de decisión para ejecutar en un programador


Como se había indicado en artículos anteriores, se deben de seguir una serie de secuencias para que la estructura de un algoritmo sea adecuada y pueda calcular lo que se pretenda, la porción lógica da a la computadora la capacidad de tomar decisiones. Esto forma la base de la construcción (algoritmica if-then-else )(si-entonces-de lo contrario), la que permitirá la selección de acciones alternativas. En la especificación de los algoritmos muchas veces se requiere de una descripción más complicada que una lista de instrucciones secuenciales. En algunos casos es necesario establecer diferentes alternativas de acciones a ejecutar de acuerdo al resultado de la evaluación de una determinada condición.  Las instrucciones condicionales evalúan una condición o proposición que devuelve como resultado únicamente dos valores posibles y excluyentes verdadero o falso, se ejecutará el bloque de instrucciones de acuerdo al resultado correspondiente.  En palabras breves la introducción de las condicionales se utiliza para tomar decisiones lógicas. Se pueden definir como un conjunto de acciones o secuencias de instrucciones a ejecutar, si el resultado de la condición es verdadera, una condición de tipo lógico de la que salen dos posibles caminos.
Condicionales se clasifican Simple, Doble, Anidada
La instrucción condicional de selección simple ejecuta un bloque de instrucciones cuando la proposición o condición es verdadera; si la condición es falsa, no hace nada. Representación en Pseudocódigo SI (condición) entonces accion1 accion2 : accionN FinSI La instrucción “SI” ejecuta el bloque de instrucciones únicamente si al evaluarse la condición, ésta es verdadero, se cumple la condición. Ejemplo: Diseñar el algoritmo que un algoritmo que dada la edad de una persona indique si es mayor de edad. Se considera mayor de edad a partir de los 18 años. Enunciado del Problema seria lgo como Escribir “Es mayor de edad” Edad >= 18 Leer Edad Entero: Edad Pseudocódigo Inicio Entero: Edad Leer Edad Si ( Edad >= 18) entonces Escribir “Es mayor de edad“ Fin- Si Fin algoritmo
La instrucción condicional de selección doble ejecuta un bloque de instrucciones o acciones (A) cuando la condición o proposición es verdadera y un bloque diferente de instrucciones o acciones (B) cuando ésta es falsa.
Representación Pseudocódigo SI (condición) entonces Acciones (A) sino Acciones (B) FinSI Acciones si es VERDADERA la condición Acciones si es FALSA la condición
Ejemplo Dadas las tres calificaciones que el estudiante obtuvo en un curso a) determinar su promedio b) indicar si el estudiante aprobó o no el curso. El estudiante aprueba el curso si el promedio es mayor a 3.0
Algoritmo Datos de Entrada: Calf1, Calf2, Calf3 Datos de Salida: Promedio de Notas (P) Mensaje indicando aprobó o no el curso. Leer Calf1, Calf2, Calf3 Calcular Promedio P Calf1 + Calf2 + Calf3 / 3 Mostrar P Si (P es mayor o igual a 65) entonces Escribir mensaje “aprobó curso” sino Escribir mensaje “No aprobó curso” Proceso:
. Pseudocódigo Leer Calf1, Calf2, Calf3 P  (Calf1 + Calf2 + Calf3) / 3 Escribir “El promedio es:”, P Si ( P >= 3.0 ) entonces Escribir “Aprobó el curso“ sino Escribir “No aprobó el curso“ Fin- Si Inicio Entero: Calf1, Calf2, Calf3 Real P Fin algoritmo Definición de Variables Leer calificaciones Calcular y mostrar el promedio Instrucción Condicional Si la condición es falsa Si la condición es verdadera
Aprueba el curso si el promedio es mayor a 3.0. Escribir “Aprobó” P >= 3.0 Leer calf1, calf2,calf3 P (calf1+calf2+calf3) / 3 Escribir”El promedio es”, P Escribir “NO Aprobó” Entero:calf1,calf2,calf3 Real: P
La instrucción de selección Anidada permite expresar situaciones donde hay más de una condición que se debe tomar en cuenta. SI (condición1) ENTONCES Acciones 1 SINO SI (condición2) ENTONCES Acciones2 SINO ... Fin-Si.
Un ejemplo general
ejemplo conceptual.diagrama
Es escribe un algoritmo que recibe tres números e indique cual es el mayor de los tres, nota: los tres números deben ser distintos.
Algoritmo.
Variables: ˂˄˅
INICIO
         LEA(num1,num2,num3)
           SI  num1˃num2
           SI num1˃num3
            Mayor=num1
DE_LO_CONTRARIO

             Mayor=num3
    Fin(SI)
DE_LO_CONTRARIO
            SI num2˃num3
                 Mayor=num2
DE_LO_CONTRARIO
           Mayor=num3
   Fin(SI)
  FIN(SI)
 ESCRIBA(“el mayor es:”.mayor)
FIN
FIN(mayor)


POR CAMILO BORJA © 2015 ALL RIGHTS RESERVED.

Fuentes consultadas:

Programación para oceanologos. Karina. Fcm.(2012)http://fcm.ens.uabc.mx/~karina/?p=temario.html

Algoritmos Computacionales. Estructuras de decisión. Javalos (uan). http://correo.uan.edu.mx/~iavalos/Estructuras%20de%20desicion.html
imagenes:
Diagrama: http://rgdadiagramasdeflujo.wikispaces.com/file/view/condi02.jpg/167180037/condi02.jpg
Buho:http://eljuego.free.fr/Images/buho.gif

sábado, 14 de marzo de 2015

4.Programador y utilidades

Aunque pueda parecer extraño, buena parte de los quebraderos de cabeza a los que nos enfrentamos programando derivan de no saber bien lo que queremos hacer. No podemos pretender desarrollar un programa simplemente en base a ideas, intuiciones, nociones. Necesitaremos método y esquemas claros que raramente estarán en nuestra cabeza. Necesitarán de un trabajo de desarrollo. El buen programador, al igual que el buen proyectista en arquitectura, ha de tener claros cuáles son los pasos a ir dando para desarrollar una construcción sólida. La precipitación, la falta de reflexión o las prisas por terminar son malas consejeras. Cada programador tiene sus propios esquemas de trabajo. Cuando se empieza la programación se requiere tener técnicas para definir las variables, así como comandos de programación o en otras palabras el lenguaje de programación de los software. Aunque la mayoría de los programas utilizan las mismas estructuras, algunos pueden varían en comando por sus fabricantes, en nuestro caso utilizaremos el programador MATLAB se define como “una herramienta de software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M) y servicio de especie”.[1] Esta herramienta informática puede solucionar problemas de cálculo técnico más rápidamente que con lenguajes de programación tradicionales, Pueden utilizar MATLAB en una gran variedad de aplicaciones, tales como procesamiento de señales e imágenes, comunicaciones, diseño de control, pruebas y medidas, modelado y análisis financiero o biología computacional. Para la mayoría de ingenieros y científicos de la industria y la educación, MATLAB es el lenguaje del cálculo técnico. Este software inicialmente se utilizó en las universidades para realizar cálculos de álgebra lineal y análisis numérico fue creado por el matemático y programador de computadoras Cleve Moler en 1984.
MATLAB es un entorno de programación con infinidad de posibilidades, que nos ayudará a resolver nuestros problemas de cálculo técnico incluso más rápidamente que otros lenguajes de programación. MATLAB es extremadamente potente. Existen consideraciones del programa que se deben de tener muy en cuenta.
1.       MATLAB distingue entre mayúsculas y minúsculas.
2.       La comilla ' es la que, en un teclado estándar, se encuentra en la tecla de la interrogación.
3.       Los comentarios deben ir precedidos por % o, lo que es lo mismo, MATLAB ignora todo lo que vaya precedido por el símbolo %.
La ayuda de MATLAB es bastante útil; para acceder a la misma basta teclear help. Es recomendable usarlo para obtener una información más precisa sobre la sintaxis y diversas posibilidades de uso de los comandos. En general el programa es muy eficiente y fácil de utilizar ya que se encuentra divido por secciones las cuales cumple cada una función específica; con el pasar de los años los diseñadores han ido innovado la parte gráfica, iconos y visualización del programa, actualmente existen versiones actualidad de MATLAB, pero su forma de funcionar y diferentes pestañas e iconos cumplen las misma función de versiones más antiguas.
imagen MATLAB 2013
El programa es bastante útil para realizar soluciones a ecuaciones de modelamiento en el área ambiental, ya que sus cálculos son precisos y así da la tranquilidad al ingeniero para aplicar los cálculos en los proyectos reales.

si te interesa aprender a utilizar las herramientas de MATLAB te invito a ver el siguiente vídeo, en el cual aprenderás las funciones del programa, parte por parte y así hacerte la vida un poco mas fácil a la hora de realizar cálculos muy extensos.







[1]  Fuente: Wikipedia. http://es.wikipedia.org/wiki/MATLAB


POR CAMILO BORJA © 2015 ALL RIGHTS RESERVED.


Fuentes consultadas.
Juan A. Infante, José M. Rey . Introducción a MATLAB/ mat.ucm.2013http://www.mat.ucm.es/~jair/matlab/notas.htm


MATLAB + ARDUINO: SERIAL PORT COMMUNICATION. Geekytheory.2012https://geekytheory.com/matlab-arduino-serial-port-communication/


sábado, 7 de marzo de 2015

3.Construir un algoritmo.


Para realizar un algoritmo con mucho éxito, se requiere de una buena organización, datos y planificar lo que se quiere realizar, para eso el programador debe ser muy cuidadoso, con lo que pretenda que el computador procese y haga respuesta a lo que se le esta ordenando, ya que si la información que escribe tiene un margen de incoherencia, inmediatamente, la computadora va a rechazar el algoritmo y definirlo como un error, por lo tanto desde un principio se debe analizar el problema, diseñar la solución exacta, construir el algoritmo paso a paso y realizar la posterior prueba de eficiencia. Es por eso que para realizar los anteriores pasos sin cometer errores, sea han definido unos tipos de estructuras que dependen del tipo de proceso que se quiere realizar, entre las estructuras están la secuencial, la cíclica y la de decisión,  la cíclica responde a comando como (mientras, para, haga), la de decisión a (si, de_lo_contrario, caso). La estructura secuencial es en la que se enfoca este escrito y es la principal a la hora de aprender a programar, esta sigue una cadena con sentido que se inicia con las instrucciones de lectura, escritorio, designación, instrucción-decisión, las instrucciones se ejecutan dependiendo del orden que le asigne el programador. En la estructura de secuencia vemos como queda una instrucción de lectura en forma general.
LEA:(“lista de variables”, separadas por comas)
Instrucción de escrito
ESCRIBA:( lista de variables y “mensajes”)

Ejemplo: Datos de entrada
Empresa, dirección         variables Emp, Dir
INICIO
          Variables: Emp, Dir
          LEA:(Emp,Dir)
          ESCRIBA:(“empresa”:, Emp, “dirección”:, Dir)
          FIN
El anterior ejemplo es básico, muestra la estructura de un algoritmo siguiendo las instrucciones de lectura que se desea ejecutar. Con los algoritmo bien definido se puede llegar a construir programas que definan y muestre la información que solicite un usuario de una entidad, empresa, instituciones y esto gracias a la buena definición de variables, datos que la computadora puede procesar en su memoria y responder de inmediatamente a la orden. A continuación se les presentara un problema que se puede programar en un algoritmo. En una empresa se requiere calcular el salario de cada empleado por el número de horas trabajadas al mes, cada empleado tiene un sueldo diferente, por lo tanto el programa debe mostrar el salario de cada empleado.

ENTRADA
Numero_de_horas_al_mes: # entero
Valor_de_hora: # real
SALIDA
Salario: # real
El algoritmo quedaría así.
Variable:
               Numero_de_horas_al_mes
               Valor_hora
INICIO
           ESCRIBA (“ingrese el número de horas y el valor de la hora”)
           LEA (números_horas, valor_hora)
           Salario= numero_horas*valor_hora
           ESCRIBA (“El salario calculado es”, salario)
           FIN
FIN (Salario)

El anterior fue un ejemplo de un algoritmo con una estructura bien definida.


POR CAMILO BORJA © 2015 ALL RIGHTS RESERVED.

Fuentes consultadas.
-Roberto F. Rueda. (2010). Algoritmo módulo 03. (vídeo) disponible: 
 http://zonaudearroba.udea.edu.co/video/222

-Imagen: https://masinteligencia.files.wordpress.com/2014/05/programan-do.jpg?w=270&h=186



domingo, 1 de marzo de 2015

2.¿Cómo funciona el cálculo en una computadora?.


Cuando nos preguntamos ¿cómo funciona una computadora?, surgen una serie de respuesta técnicas que suelen resultar complejas para su interpretación y que al final  nos abren más incógnitas al respecto. Pues para conocer ¿cómo funciona una computadora?, es necesario tener un conocimiento previo de sus partes, pues porque lógicamente cada componente del pc tiene una función distinta que desempeñar, del mismo modo que cada parte de un vehículo tiene una función específica. Pero además de eso conocer un poco sobre operaciones matemáticas, ¡sí!, se necesita del cálculo para que todos los componentes del computador junto a la ayuda de la electricidad pueda hacer lo que hacemos en pc todos los días. Todo se basa en los simples sistemas numéricos, los cuales pueden ser distintos pero en el caso de las computadoras utilizan el sistema binario. Se preguntaran ¿y cómo funciona eso?, pues aunque parece difícil de comprender cuando se introduce a un curso de algoritmo; las pc utiliza sólo dos valores para manipular cualquier tipo de información. Esto quiere decir que todas las operaciones que la computadora hace, desde permitirnos escribir un simple texto hasta jugar juegos en tres dimensiones, son realizados utilizando sólo dos valores (0,1) con estos dos valores representa  sus cuantías  y son llamados (dígitos binarios o solamente bit, conjunción de dos palabras de la lengua inglesa binary digit)[1].
Los ordenadores trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0). A partir de este sistema se puede ordenar a una computadora una secuencia lógica a través de unas instrucciones o pasos que le permitirá definir un orden y ejecutar el proceso internamente, a esto se le llama algoritmo que en simples palabra es cálculo de secuencias lógicas, que a su vez lleva a originar un programa, es por eso que podemos asimilar que “Una computadora realiza varios miles de millones de cálculos simples por segundo. Mientras que tú o yo, contando un número por segundo en forma continua, necesitaríamos 32 años para contar mil millones, una computadora lo hace en un abrir y cerrar de ojos. Las computadoras nos superaron en cuanto a la rapidez para pensar, pero la comparación entre las personas y las máquinas llega sólo hasta ahí. Aunque un ser humano cuente más lentamente, el cerebro está conformado por 10 mil millones de neuronas que son pequeños procesadores muy efectivos. Quizá contemos lentamente, pero somos muy buenos para realizar con rapidez "cálculos" complejos como reconocer un rostro, inventar una historia o correr, acciones que a una computadora le resultarían muy difíciles.”[2] Habiendo comprendido un poco lo anterior se infiere que la traducción del algoritmo al lenguaje binario se realiza automáticamente usando un programa especial llamado compilador, que es utilizado por el programador, es decir, la persona capacitada para dicho trabajo, finalmente para procesar los algoritmos se ha inventado unas magnitudes para entender velocidades de procesamientos, que parte de las cantidades que representa un bit(0,1), después le siguen en aumento los bytes, los kilobytes, los megabytes, gigabytes y una serie actual de súper magnitudes como Terabytes,  Petabyte, Exabyte, Zettabits, entre otros por no mencionarlos a todos.
Aunque las computadoras cada vez serán innovadas en cuanto a su capacidad y resultados tecnológicos solo se limitan a recibir órdenes, procesarlas y dar respuesta, por lo que surge una nueva pregunta que queda a conciencia e investigación del que le gusta el tema, y es la siguiente ¿podrán las computadoras ser auto controladas, es decir, tomaran decisiones por si misma o desarrollaran inteligencia propia capaz de súperar la humana?.        

POR CAMILO BORJA © 2015 ALL RIGHTS RESERVED.


[1]  Tomado de Wikipedia
[2] Tomado de planeseed/como piensa una computadora /http://www.planetseed.com/es/sciencearticle/como-piensa-una-computadora

Fuentes consultadas.

Sistemas numéricos/valle central instituto profesional/2011/ http://hardware60.tripod.com/id15.html

seed/ Cómo "Piensa" una Computadora(articulo)/2014/ http://www.planetseed.com/es/sciencearticle/como-piensa-una-computadora

Imagen: http://www.informatica-hoy.com.ar/imagenes-notas/2011/bit-3.jpg