sábado, 17 de septiembre de 2011

UNIDAD 2 - ALGORITMIA Y HERRAMIENTAS LÚDICAS

UNIDAD 2 - ALGORITMIA Y HERRAMIENTAS LÚDICAS
TEMA 1: Conceptos básicos de algoritmia


  1. Que es algoritmia?
  2. Mencione las condiciones con las que debe cumplir la algoritmia.
  3. Realice un algoritmo que cumpla con todos los pasos anteriores.
  4. Cuales son los tipos de algoritmos y explíquelos.
  5. Cuales son las partes de un algoritmo y realice un ejemplo donde se vean claramente.
  6. Defina cada una de las características con las que debe cumplir un algoritmo
  7. Cuales son los elementos que nos sirven para la construcción de un algoritmo y de un ejemplo de cada uno de ellos.
En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y éste a su vez del matemático persa Al Juarismi es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.
Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.

Podemos encontrar muchas definiciones de algoritmo en los textos de programacion, todas ellas muy similares:

  • Conjunto ordenado y finito de pasos que permite hallar la solución de un problema.
  • Una secuencia de pasos que conducen a la realización de una tarea.
  • Descripción exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento.
  • Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lógica de un programa.
  • Es un sistema por el cual se llega a una solución, teniendo en cuenta que debe de ser definido, finito y preciso.
  • Toda receta, proceso, rutina, método, procedimiento, técnica, formula que resuelven un determinado problema.
  • Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una acción determinada.
  • Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas.
  • Descripción precisa de una sucesión de instrucciones que permite llevar a cabo un trabajo en un número finito de pasos.
  • Un conjunto de símbolos y procedimientos usados en la realización de un cálculo.
Las definiciones mas completas o formales:
  • Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]
  • Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988]
  • Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]


EXISTEN DOS TIPOS:

ALGORITMOS COMPUTACIONALES: Los que realiza una computadora.
ALGORITMOS NO COMPUTACIONALES: Los que realiza el ser humano.

Caracteristicas:
Las características fundamentales que debe cumplir todo algoritmo son:
  • Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.
  • Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.
  • Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.
  • Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.
  • Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.

Un ejemplo de algoritmo puede ser:

INICIO
Num1=0, Num2=0, Multiplicacion=0
Escribir "Ingrese el numero 1", Leer Num1
Escribir "Ingrese el numero 2", Leer Num2
Multiplicacion=Num1*Num2
Escribir "La Respuesta Es: ", Multiplicacion
FIN

Tipos de algoritmos:

Las partes fundamentales de un algoritmo son:

Entradas:  Datos necesarios que requiere el proceso para ofrecer los resultados esperados.

Proceso:  Pasos necesarios para solucion del problema o situacion planteada.

Salida:  Resultados arrojados por el proceso como solucion.




Las características fundamentales que debe cumplir todo algoritmo son:

-Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

-Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.

-Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algún momento; o sea, debe tener un numero finito de pasos



http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php
http://es.wikipedia.org/wiki/Algoritmo
http://www.slideshare.net/Stephenson/fundamentos-de-algoritmia
http://edgardobuelvas0407.wordpress.com/generalidades/anexo-3-fundamentos-de-un-algoritmo/partes-y-elementos-para-la-construccion-de-un-algoritmo/



  • Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.







  • Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso




  • Los elementos para la construccion de un algoritmo son:

    Comandos
    Datos
    Variables
    Operadores


    Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad de resolver un problema, a continuación se describen los elementos que se utilizan en la construcción de una instrucción.

    Instrucción o sentencia
    Dependiendo del origen del material instruccional se habla de instrucción o sentencia; ésta, define una acción o un mandato que se debe realizar, esa acción o mandato se representa a través de un comando o lo que es lo mismo palabras reservadas de un lenguaje de programación en particular. Una instrucción esta compuesta por uno o más comandos (acción), datos, símbolos, variables o constantes y expresiones, que en conjunto representan una instrucción o sentencia.

    Ejemplo de instrucción: En la construcción de los programas se utiliza una instrucción por línea. Así mismo, se utiliza la identación, que no es más que la alineación de aquellas instrucciones dentro de las estructuras que las contienen de manera ordenada que permita visualizar el inicio y fin de cada bloque de instrucciones.

    Si ASISTIO =”SI” Entonces
    Leer Sueldo,
    Asignar Sueldo = Sueldo + HoraExtra
    Fin Si
    Donde:
    SI
    Representa una estructura condicional utilizada para establecer preguntas
    o programar ciertas condiciones
    ASISTIO
    Nombre de una Variable lógica que puede obtener sólo dos valores “SI”
    o “NO”. En el ejemplo se programa la condición de la variables cuando
    es “SI”
    ENTONCES
    Parte de la instrucción o estructura condicional
    LEER SUELDO
    Instrucción utilizando el comando cuya acción es la lectura de un campo
    o dato
    Asignar SUELDO=
    SUELDO+HORAEXTRA
    Instrucción de asignación, permite asignar o calcular el valor que adquirirá
    una variable
    Fin SI
    Cierra la estructura condicional Si –Entonces –Fin Si


    Comandos o palabras reservadas
    Todos los lenguajes, naturales o computacionales, tienen palabras que denotan una acción. Los comandos no son más que acciones que debe interpretar y ejecutar el computador. Cada comando conserva una sintaxis determinada, es decir la forma de utilizarlo. Los lenguajes computacionales tienen en su repertorio comandos dirigidos al procesamiento de archivos y datos, entre ellos: Leer, Calcular, Asignar, Clasificar, Imprimir.


    Datos
    Los datos son símbolos que se convierten en condiciones, hechos, situaciones o valores. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción. La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Es decir, por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse en información que ofrezca un significado, conocimiento, ideas o conclusiones.


    TIPOS DE DATOS
    Como se describió anteriormente, un dato es un campo que puede convertirse en información.
    Existen datos simples (sin estructura) y compuestos (estructurados).
    Los datos simples son los siguientes
    - Numéricos (Reales, Enteros)
    - Lógicos
    - Carácter (Char, String)

    Los tipos de datos simples son:
    Tipos de datos
    Numéricos Lógicos Carácter
    Reales Enteros Char String
    Ejemplo. Ejemplos de tipos de datos simples
    Tipo de datos Características
    Ejemplos
    Numéricos Enteros

    Los números enteros son los números naturales positivos y negativos que conocemos.
    1
    2
    25
    146
    -456

    Numéricos Reales
    Los números reales, son los números que tienen
    parte decimal.
    0.56
    1.00
    25.13
    148.45
    -456.23

    Lógicos o boléanos
    Son aquellos datos cuyos únicos valores sólo pueden
    ser: Verdadero (V) o Falso (F), puede encontrarse,
    Verdadero (True) o Falso (False). Se utiliza
    para representar las opciones (si/no) a determinadas
    condiciones.
    Nacionalidad = “Venezolano”
    (S/N)?

    Carácter o Char
    Su valor lo comprenden todos los caracteres alfabéticos,
    mayúsculas y minúsculas (A – Z), numéricos
    (0 – 9) y símbolos especiales (#,@,%,&).

    Carácter String o cadena
    Su valor esta representado por un conjunto de caracteres.
    “Abril”
    “Reporte Anual de Fallas
    Técnicas”
    “1º de mayo, Día del
    Trabajador”

    • Conjunto ordenado y finito de pasos que permite hallar la solución de un problema.
    • Una secuencia de pasos que conducen a la realización de una tarea.
    • Descripción exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento.
    • Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lógica de un programa.
    • Es un sistema por el cual se llega a una solución, teniendo en cuenta que debe de ser definido, finito y preciso.
    • Toda receta, proceso, rutina, método, procedimiento, técnica, formula que resuelven un determinado problema.
    • Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una acción determinada.
    • Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas.
    • Descripción precisa de una sucesión de instrucciones que permite llevar a cabo un trabajo en un número finito de pasos.
    • Un conjunto de símbolos y procedimientos usados en la realización de un cálculo.
    Las definiciones mas completas o formales:
    • Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]
    • Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988]
    • Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]