jueves, 19 de mayo de 2011

Programación

Lógica Computacional
La lógica es la capacidad de pensar en soluciones alternativas; es una rama del conocimiento que nos permite determinar que algo está aprobado por la razón como bien deducido o bien pensado.
Es muy importante ya que determina la manera en la que se puede resolver un problema. Es un nivel de abstracción sin el cual no es posible estructurar los pasos que generen lo que esperamos obtener.
La computadora trabaja con una lógica especial, exacta y matemática.

Algoritmos
El primer paso que debes dar para la solución de un problema es tener muy claro cuál es el problema a resolver. Tener claro el objetivo te va a permitir saber hacia dónde vas y a dónde quieres llegar. Cundo el objetivo es lo suficientemente claro podemos vislumbrar un camino lógico para llegar hasta él. A ese camino se le llama Algoritmo.

Un algoritmo es un conjunto de pasos que permiten alcanzar un objetivo. Los pasos deben ser secuenciales y ordenados, es decir, deben ser ejecutados unos después de otro, en un orden definido, teniendo un inicio y un fin.

Ejemplo: Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programación!!), ¿qué debe haga el estudiante?


<>   <>

Inicio
Dormir
haga 1 hasta que suene el despertador (o lo llame la mamá).
Mirar la hora.
¿Hay tiempo suficiente?
Si hay,entonces
Bañarse.
Vestirse.
Desayunar.
Sino
,

Vestirse.
Cepillarse los dientes.
Despedirse de la mamá y el papá.
¿Hay tiempo suficiente?
Si, Caminar al paradero.
Sino,
Correr al paradero.
Hasta que pase un bus para la universidad haga :

Esperar el bus
Ver a las demás personas que esperan un bus.
Tomar el bus.
Mientras no llegue a la universidad haga :
Seguir en el bus.
Pelear mentalmente con el conductor.
Timbrar.
Bajarse.
Entrar a la universidad.
Fin

Características del algoritmo:

Ser preciso
Las actividades o pasos del algoritmo deben desarrollarse en orden estricto, ya que el desarrollo de cada paso debe seguir un orden lógico.
Ser definido
Siempre 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 finito
Esto indica que el número de pasos de un algoritmo debe ser limitado, es decir, los pasos a seguir deben 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 clasificaciones para los algoritmos:
Informales:
Aquellos que no se realizan para una computadora, sino para ser ejecutados por el ser humano.
Computacionales:
Se crean para que una computadora sea quien ejecute los pasos y obtener el resultado esperado. Los algoritmos computacionales no pueden ser ejecutados directamente, la transcripción es el proceso a través del cual convertimos un algoritmo es un listado de instrucciones entendibles para la computadora; deben ajustarse a las reglas sintácticas del lenguaje de programación.
Después necesitas hacer una compilación que 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.
·         Errores de sintaxis: errores representados en la omisión de alguna regla sintáctica del lenguaje de programación. Algunas veces se requiere utilizar paréntesis, comas, puntos o corchetes. Si no se cumple con esas reglas de lenguaje, el programa no puede funcionar. Estos errores son los más fáciles de detectar y corregir.
·         Errores de precaución: algunos compiladores hacen sugerencias para el mejoramiento del programa.
·         Errores lógicos: estos errores no pueden ser detectados por el compilador. Ocurren cuando el programa se compila perfectamente, no tiene errores de sintaxis, sin embargo no hace lo que se supone que debería hacer.

Variables:
En programación una variable es un campo de memoria que almacena información, la cual puede cambiar en cualquier momento. En un programa debes especificar qué tipo de información va a almacenar. A esto se le conoce como declaración de variables. Para asignar un valor a una variable se utiliza el signo = que indica que almacenara el valor de la derecha del símbolo dentro de la variable de la izquierda.
Ejemplo:
A=8 indica que almacenara el número 8 en la variable a
·         Tipo entero: solamente puede almacenar valores numéricos sin punto decimal, ya que operan con un juego de reglas llamado Aritmética Entera.
·         Tipo real: puede almacenar números que tienen punto decimal y en sus operaciones puede generar decimales, ya que opera con un juego de reglas llamado Aritmética Real.
·         Tipo carácter: puede almacenar valores equivalentes del código ASCII que es un código internacional de equivalencias internas en el sistema binario, por lo que una variable carácter puede almacenar cualquier cadena de caracteres que hayan sido tecleados.

Operadores
Son signos que expresan relaciones entre variables  y/o constantes de las cuales se obtiene un resultado. Los más conocidos son: suma (+), resta (-), multiplicación (*), división (/), potencia (^).
Si se usa más de un operador se ejecutan de acuerdo a una jerarquía: primero potencias de izquierda a derecha, después multiplicaciones y divisiones y por ultimo sumas y restas. Cuando utilizamos paréntesis se altera la jerarquía de los operadores, ya que la computadora realiza primero las operaciones de los paréntesis más internos y dentro se estos se respeta la jerarquía.
Estructuras básicas
Una estructura es un esquema que nos permite representar una idea de manera mas simplificada, además de restringir un poco la lógica algorítmica.
·         Primera estructura: secuencia de acciones (poner en orden los pasos a seguir)
·         Segunda estructura: decisión de acción (decidir si tomar un camino u otro)
·         Tercera estructura: ciclos de acciones (estructura que nos permite repetir una o varias acciones)
Técnicas para representar algoritmos

Diagramas de flujo: forma de representar algoritmos de forma grafica. Permite que la secuencia sea más entendible, especialmente cuando ay condiciones o ciclos; utilizan diversos símbolos que se conectan por medio de flechas para indicar la secuencia de una operación.

Pseudocódigo
Lenguaje de especificación de algoritmos, de uso fácil y sintaxis similar al lenguaje de programación. Hay que cumplir algunos requisitos:

-asignar un nombre.
-declarar variables.
-delimitar estructuras (inicio y fin).
-identificar mensajes.

Decisiones en secuencia
Se utiliza cuando se deben realizar varias preguntas (condiciones) en las que no es importante el “sino” de cada decisión.
Esquema general:
Si condición 1
                Instrucciones a seguir en caso de que la condición 1 sea verdadera
Si condición 2
                Instrucciones a seguir en caso de que la condición 2 sea verdadera
Si condición 3
                Instrucciones a seguir en caso de que la condición 3 sea verdadera

Decisiones en cascada
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.
Ejemplo:
Si llueve entonces
                No salir de casa
Si no
                Si hace frio
                               Usar abrigo
                               Ir al cine
Si no
             Usar ropa fresca

                Ir a la playa

Fin_si

Fin_si

Ciclos
Estructura que permite repetir un conjunto de acciones la cantidad de veces que determine una condición, 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 cumpla se ejecutan las instrucciones especificadas dentro de la estructura. Se utiliza cuando queremos que se repitan ciertas instrucciones un numero definido de veces. Antes de iniciar el ciclo, el programa verifica la condición y si esta se cumple se ejecuta el ciclo. Si no se cumple la condición, el programa hace caso omiso de cualquier instrucción dentro del ciclo y continua con las demás instrucciones del programa.
Esquema:

Mientras (condición)

               Acciones a ejecutar

Fin mientras

·         Ciclo para (for): este ciclo ejecuta una serie de instrucciones, el numero de veces definidas en un rango. Utiliza una variable que almacena el valor de inicio del ciclo y se incrementa o decrementa en cada repetición hasta que la variable es igual al valor final del ciclo.

Esquema:

Inicio

Entero: N

Para N=1 hasta 25

Escriba N

Fin_para

Fin

·         Ciclo hacer-mientras (repeat while): cuando no sabemos cuantas veces se ha de ejecutar el cicloy tenemos que esperar a que cierta condición se cumpla. Si la condicon es verdadera el ciclo se repite y se termina cuando la condición es falsa.

Esquema:

Inicio

Entero:numero

Numero=2

Hacer

Escriba numero

Numero=numero+2

Mientras numero <=1000

Fin

·         Ciclo hacer-hasta (repeat until): hasta que la condición a validar sea verdadera.

Esquema:

Inicio

Entero:numero

Numero=2

Hacer

Escriba numero

Numero=numero+2

Mientras numero >1000

Fin

·         Ciclos anidados: estructuras en la que un ciclo está dentro de otro.

Arreglos
Conjunto de variables a las que nos podemos referir utilizando un nombre común. Primero se especifica el tipo de dato que va a contener, seguido del nombre del arreglo y hay que especificar el tamaño del arreglo entre corchetes: tipo:nombre_arreglo [tamaño]

No hay comentarios:

Publicar un comentario