jueves, 19 de mayo de 2011

Modulo 1: Programación.


Lógica computacional
Es la capacidad de pensar en soluciones alternativas.


La lógica es una rama del conocimiento que nos permite que algo está aprobado por la razón como bien deducido o bien pensado.La lógica es muy importante, ya que determina a manera en que se puede resolver un problema. Es un nivel de abstracción sin el cual no es posible estructurar los pasos que generan lo que esperamos obtener.

Algoritmos
La computadora permite solucionar una gran cantidad de problemas. El primer paso que debes dar para la solución de un problema es tener muy claro cual es el problema a resolver, en otras palabras, cual es el objetivo. Tener en claro el objetivo te va a permitir saber hacia donde vas y a donde quieres llegar. Cuando el objetivo es lo suficiente claro podemos vislumbrar un  camino lógico para llegar hasta el. A ese camino lógico se le llama ALGORITMO.
El análisis de algoritmos busca que las soluciones sean lo mas sencilla posibles, aun para problemas muy complejos.



Prueba de escritorio.
Todo algoritmo debe ser probado antes de ser ejecutado, para tener la certeza de que lograremos el objetivo. La forma de probarlo es siguiendo cada uno de los pasos que indica el algoritmo. A esto es a lo que llamaremos prueba de escritorio.




Características del algoritmo.
Ser preciso: las actividades o pasos del algoritmo deben desarrollarse en orden escrito, ya que el desarrollo de cada paso debe seguir un orden lógico.
Ser definido: Esto quiere decir que se ejecute con los mismos datos, el resultado será el mismo. No puede improvisar, inventar o adivinar la información que necesita para poder realizar un proceso.
Ser infinito: Esto indica que el número de pasos de un algoritmo debe ser limitado, es decir, los pasos a seguir deben de tener un fin.
Presentación: El algoritmo debe ser entendible para cualquier persona, no solo para la persona que lo diseño.

Clasificación de algoritmos.
Hay dos tipos de clasificación para los algoritmos:
ALGORITMOS INFORMALES: Son aquellos que no se realizan para una computadora, sino se diseña para ser ejecutados por el ser humano.
ALGORITMOS COMUNICACIONALES: Son los que se crean para que la computadora sea quien ejecute los pasos y obtener el resultado esperado. 

Transcripción.
La transcripción es el proceso a través del cual convertimos un algoritmo en un listado de instrucciones entendibles para la computadora. Estas instrucciones deben ajustarse a las reglas sintácticas de un lenguaje de programación.

Compilación y errores.
Una vez que has identificado a cumplir, has realizado un algoritmo que te permita obtener el resultado deseado y lo has transcrito en un lenguaje de programación, necesitas hacer una complicación.
La compilación es el proceso mediante el cual la computadora revisa que el programa que has escrito cumpla con las reglas sintácticas del lenguaje de programación que estés utilizando. El compilador es el encargado de hacer esta revisión y te ayuda a detectar los errores de sintaxis y de precaución.

Operadores 
Los operadores son signos que expresan relaciones entre variables y/o constantes de las cuales se obtiene un resultado. Los mas conocidos son:
  • Para expresar una suma: +
  • Para expresar una resta: -
  • Para expresar una potencia: ^
  • Para expresar una multiplicación: *
  • Para expresar una divicion: /
La prioridad va de izquierda a derecha.

Estructuras básicas


Una estructura se define como un esquema que nos permite representar una idea de manera simplificada, además de restringir un poco la lógica algorítmica.
Primera Estructura: Secuencia de Acciones.
Para realizar una de este tipo solo se tiene que escribir una instrucción después de otro, de manera que se entienda la secuencia y el orden de ejecución.
Segunda Estructura: Decisión de Acción.
Siempre que se va tomar una decisión esta va a depender de una condición: es una expresión lógica que nos permite decidir cuál es el camino a seguir.
Tercera Estructura: Ciclo de Acciones.
Un ciclo es una estructura que permite repetir una o varias acciones.

Técnicas para representar algoritmos.
Diagramas de flujo:
Un diagrama de flujo es la forma de representar algoritmos de forma grafica. El diagrama permite que la secuencia a seguir sea más entendible, especialmente cuando hay condiciones y ciclos.

Pseudocódigo
Es un lenguaje de especificación de algoritmos, de uso fácil y sintaxis similar al lenguaje de programación.
Declara una variable: consiste en escribir el tipo de dato que se puede guardar, seguido del nombre de la variable. Para asignar un valor a una variable primero se escribe el nombre de la variable, luego el signo de igualdad y después el valor que se va asignar a la variable.
Diagramas de Nassi-Schneiberman (N-S)
Este diagrama también es conocido como diagrama de Chapín, es una técnica que combina la descripción textual del seudocódigo con la representación grafica del diagrama del flujo.
Cuenta con un conjunto limitado de símbolos para representar los pasos del algoritmo, por  lo que se apoya en expresiones del lenguaje natural utilizando un conjunto de palabras reservadas. Algunas de ellas son: Inicio, Fin, Leer, Escribir, Mientras, Para, Carácter, Lógico, etc.
Diagrama N-S de estructuras de decisión.

Diseño de la solución.


Pseudocódigos de la estructura SI-ENTONCES-SI NO
En la toma de decisiones que dependen de una condición, la o las instrucciones que formen parte de la estructura solo se ejecutan si se cumple una condición. Un ejemplo de esto es:
Si hace frio entonces.
         Usar un abrigo    
         Ir al cine
Si no
          Usar ropa fresca
         Ir a la playa
Fin _si
Decisiones en secuencia.
Este tipo de estructura se utiliza cuando se deben realizar varias preguntas en las que no es importante el “si no” de cada decisión.
Decisiones en cascada o anidadas.
En este tipo de decisiones, un nuevo condicional completo se coloca dentro de la opción SI o de la opción SI-NO de otro condicional.
Ciclos
Un ciclo es una estructura que permite repetir un conjunto de acciones la cantidad de veces que determine una condición. El ciclo siempre debe tener un inicio y un final.
Ciclo Mientras (While)
En esta estructura hay una condición al inicio del ciclo. Mientras la condición se cumple como, se ejecutan las instrucciones especificas dentro de la estructura.
Ciclo para (for)
Este ciclo ejecuta una serie de instrucciones, el número de veces decididas en un rango. Utiliza una variable que almacena el valor de inicio del ciclo y se incrementa o decremento en cada repetición hasta que la variable es igual al valor final del ciclo.
Ciclo Hacer-Mientras (repeat while)
Esta estructura se utiliza generalmente cuando no sabemos de ante mano cuantas veces se ha de ejecutar el ciclo y tenemos que esperar a que cierta condición se cumpla.
Ciclo Hacer-Hasta (Repeat until)
Algunos lenguajes de programación incluyen un ciclo muy parecido al ciclo hacer mientras, con una diferencia: el ciclo se repite hasta que la condición a validar sea verdadera.
Ciclos anidados.
Es una estructura en la que un ciclo esta dentro de otro. Es posible crear ciclos anidados de cualquiera de los tipos de ciclos anteriores o incluso anidar dos o más ciclos de diferente tipo.
Arreglos
Es un conjunto de variables del mismo tipo a las que nos podemos referir utilizado un nombre común. Para identificar cada una de las variables de un arreglo se utiliza una posición o dirección: la dirección más baja corresponde al primer elemento y la más alta al último.
Matrices
Son un conjunto de datos del mismo tipo organizados en filas y columnas.

No hay comentarios:

Publicar un comentario