martes, 23 de octubre de 2012

Los Algoritmos




ALGORITMO:
1.- Es una secuencia de pasos o procesos lógicamente relacionados entre sí a fin de obtener la solución a un problema planteado.
2.- Es una lista de instrucciones para efectuar paso a paso un proceso.
3.- Conjunto “FINITO” de pasos o instrucciones, seguidas en un orden lógico, los cuales nos llevan a la solución de un problema específico.
4.- Una serie de instrucciones colocadas en cierta secuencia, necesarias para la descripción de las operaciones que llevan a la solución de un problema.
5.- Es un procedimiento completo para resolver un problema específico en un número “FINITO” de pasos.
6.- Es un método para resolver un problema mediante una serie de datos precisos, definidos y finitos.
PASOS PARA PLANTEAR LA SOLUCIÓN A UN PROBLEMA:
1.- Análisis del problema.
2.- Identificar las entradas, procesos y salidas del problema, declaración de variables.
3.- Diseño del Algoritmo: Describe la secuencia ordenada de los pasos, sin ambigüedad, es decir, siendo preciso y veraz en la búsqueda de la solución al problema.
4.- Codificación del Algoritmo: Es la expresión en un lenguaje de programación de los pasos definidos en el algoritmo.
5.- Ejecución y validación del programa por el computador.
CARACTERÍSTICAS DE ALGORITMOS:
Las características fundamentales que debe cumplir todo algoritmo son:
1.- Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
2.- Un algoritmo debe estar bien definido, es decir, si se sigue la ejecución dos veces del mismo se debe obtener la misma secuencia lógica. El algoritmo debe definirse de forma precisa para cada paso, es decir, hay que evitar toda ambigüedad al definir cada paso. Puesto que el lenguaje humano es impreciso, los algoritmos se expresan mediante un lenguaje formal, ya sea matemático o de programación para un computador.
3.- 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.
4.- Entrada: El algoritmo tendrá cero o más entradas, es decir, cantidades dadas antes de empezar el algoritmo. Estas cantidades pertenecen además a conjuntos especificados de objetos. Por ejemplo, pueden ser cadenas de caracteres, enteros, naturales, fraccionarios, etc. Se trata siempre de cantidades representativas del mundo real expresadas de tal forma que sean aptas para su interpretación por el computador.
5.- Salida: El algoritmo tiene una o más salidas, en relación con las entradas.
CLASIFICACIÓN DE LOS ALGORITMOS:
  • Directos: Son aquellos que permiten encontrar la solución al problema de manera instántanea o directa, en un número determinado de pasos.
Ejemplo: 23 = 2*2*2 = 8
  • Indirecto:
  • Se ignora el número de pasos.
  • Son aquellos donde se desconocen el número de pasos para lograr la solución de un problema.
  • Estos a su vez, se clasifican en:
    Finito: El número de pasos a realizar son conocidos así como la factibilidad de solución al problema planteado, o sea, que va a ver una respuesta al proceso.
    Ejemplo: Medir distancia
    A B
    Es factible que algún día pueda saber la distancia entre la Sede antigua del IUTEPAL (Av. Constitución) y la Sede Nueva del IUTEPAL (Urb. Caña de Azúcar).
    Infinito:
    Se desconoce el número de pasos a realizar, así como la imposibilidad de encontrar la solución al problema planteado.
    Cuando realmente es imposible lograr la solución, por más vueltas que le demos al problema.
    Ejemplo: 20 ; +" ; -2
    3 -"
    Ejemplos de Algoritmos:
    Podemos idear un algoritmo para un determinado proceso, así como también hacerlo en diferentes formas.
    Por ejemplo: Cómo podríamos encontrar el promedio de un conjunto de números?.
    Una posible solución sería:
    1.- Sumar los números dados.
    2.- Contar dichos números.
    3.- Dividir el resultado obtenido en el punto 1 entre el resultado obtenido en el punto 2.
    Otra clase de ejemplo de Algoritmos, sería el de una llamada telefónica, o el proceso para efectuar un viaje en el Metro de Caracas, o la obtención de la licencia para conducir o el cambio de un caucho que esté bajo de aire, etc; en fin, hay muchas formas de aplicar los algoritmos en cuestiones cotidianas descomponiendo la acción en pasos lógicos, como es el caso de una llamada desde una cabina de un teléfono público:
    1.- Inicio
    2.- Descolgar el teléfono
    3.- Esperar la señal digital.
    4.- Preguntamos si está dañado. Si lo está: Vamos al paso 5.
    Si no lo está: Vamos al paso 8.
    5.- Vociferar una palabra de mal gusto y fruncir el ceño.
    6.- Colgar.
    7.- Fin.
    8.- Digitar los números.
    9.- Verificamos si suena ocupado. Si suena ocupado: Vamos al paso 11.
    Si no lo está: Vamos al paso 13.
    10.-Insistir digitando los números.
    11.- Ir al paso 8.
    12.- Verificamos si contestan. Si contestan: Vamos al paso 14
    Si no contestan: Vamos al paso 21.
    13.- Preguntamos si se encuentra la persona.
    Si se encuentra: Vamos al paso 14.
    Si no se encuentra: Vamos al paso 17.
    14.- Hablar lo deseado.
    15.- Colgar.
    16.- Fin.
    17.- Pensar algo malo.
    18.- Tomar un café y tranquilizarse.
    19.- Ir al paso 15.
    A continuación, presentamos un ejemplo de algoritmo para el proceso de cambiar un caucho que está bajo de aire.
    1.- Levantar el carro con el gato hidraúlico.
    2.- Quitar los tornillos del rin.
    3.- Quitar el caucho dañado.
    4.- Poner el caucho de repuesto.
    5.- Apretar los tornillos.
    6.- Bajar el carro con el gato.

    Fuente: http://html.rincondelvago.com/algoritmos-y-diagramas-de-flujo.html

    Los Algoritmos(Diagrama de Flujo)

    Reglas para dibujar un diagramas de flujo.
    Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando séan requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuación:
    Inicio o fin del programa
    Pasos, procesos o líneas de instruccion de programa de computo
    Operaciones de entrada y salida
    Toma de desiciónes y Ramificación
    Conector para unir el flujo a otra parte del diagrama
    Cinta magnética
    Disco magnético
    Conector de pagina
    Líneas de flujo
    Anotación
    Display, para mostrar datos
    Envía datos a la impresora
    Observación: Para obtener la correcta elaboración de los símbolos, existen plantillas. Las puedes conseguir en Papelerías.
    Simbolos gráficos
    Dentro de los simbolos fundamentales para la creaación de diagramas de flujo, los símbolos gráficos son utilizádos especificamente para para operaciónes aritméticas y relaciónes condicionales. La siguiente es una lista de los símbolos más comunmente utilizados:
    + Sumar
    - Menos
    * Multiplicación
    / División
    ± Mas o menos
    = Equivalente a
    > Mayor que
    < Menor que
    ³ Mayor o igual que
    £ Menor o igual que
    ¹ o <>
    Diferente de
      Si
      No
      True
      False
    Reglas para la creacion de Diagramas
    1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
    2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).
    3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario.
    4. No deben quedar líneas de flujo sin conectar
    5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
    6. Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.
    7. Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de salida.
       
      Fuente: http://mis-algoritmos.com/aprenda-a-crear-diagramas-de-flujo

    Los Algoritmos(Pseudocódigo)

    Ejemplos de Pseudocódigo

    Ejemplo: Realizar el pseudocódigo de un programa que permita calcular el área de un rectángulo. Se debe introducir la base y la altura para poder realizar el cálculo..
    Programa; área
    Entorno: BASE, ALTURA, AREA son número enteros
    Algoritmo:
                escribir “Introduzca la base y la altura”
                leer BASE, ALTURA
                calcular AREA = BASE * ALTURA
                escribir “El área del rectángulo es “AREA
    Finprograma
    Ejemplo: Realizar el pseudocódigo que permita al usuario introducir por teclado dos notas, calculando la suma y el producto de las notas.
    Programa: SumaProducto
    Entorno: NOTA1,NOTA2,SUMA,PRODUCTO son números enteros
    Algoritmo:
    escribir “Introduzca las notas”
    leer NOTA1,NOTA2
    calcular SUMA = NOTA1 + NOTA2
    calcular PRODUCTO = NOTA1 * NOTA2
    escribir “La suma de las dos notas es:” SUMA
    escribir “El producto de las dos notas es :”PRODUCTO
    Finprograma

    Ejemplo: Realizar el pseudocódigo de un programa que permita saber si un número es mayor, menor o igual a cero.
        Programa: ComparaNúmeros
           Entorno: NUMERO es un número entero
    Algoritmo:
    Escribir “Introduzca un número “
    leer NUMERO
    SI NUMERO>0  ENTONCES
              escribir “El número introducido es positivo”
    SI NO
              SI NUMERO<0 entonces="entonces" span="span">
                     escribir “El número introducido es negativo”
              SI NO
                     escribir “El número es cero”
              FINSI
    FINSI
    Finprograma


    Supongamos un algoritmo que lea las coordenadas de tres puntos y los mueva tres puntos en la coordenada x y escriba el resultado en algún dispositivo de salida:

    ALGORITMO lee_tres_vertices
    ENTRADA: las coordenadas (x,y) de tres puntos
    SALIDA: las coordenadas (x,y) de los tres puntos movidos 3 puntos hacia la derecha.
    VARIABLES: i:entera
    x,y: real
    INICIO
    PARA i=1 HASTA 3 CON INCREMENTO +1
    ESCRIBE "Abscisa del punto número ", i
    LEER x
    ESCRIBE "Ordenada del punto número ", i
    LEER Y
    ESCRIBE "El punto es (" x+3","y")"
    FIN_PARA
    FIN
     El programa equivalente a este algoritmo se muestra a continuación. Como podemos apreciar en un programa en Pascal es importantísimo no olvidar detalles de sintaxis. Por ejemplo cada sentencia termina en punto y coma. De cualquier forma es inmediato apreciar los simples cambios existentes.

    program lee_tres_vertices;
    var x,y:real;
    i:integer;
    begin
    for i:=1 to 3 do
    begin
    write ('Abscisa del punto número ',i); readln(x);
    write ('Ordenada del punto número ',i); readln(y);
    writeln (' El punto es (',x+3,',',y,')');
    end;
    end

    Fuente: http://arantxa.ii.uam.es/~jmmartinez/Pseudocodigo.htm

    Los Algoritmos(Entradas Secuenciales)

    1 .- Elaborar un algoritmo el cual calcule e imprima el sueldo de un empleado, teniendo como datos de entrada: nombre, horas trabajadas y cuota por hora.
    ALGORITMO:
    1.- inicio
    2.- pedir horas,pedir nombre, pedir horas trabajadas y cuota por hora (N,H,C)
    3.- multiplicar el numero de horas trabajadas por la cuota
    por hora (S=H*C)
    4.- mostrar resultados (S)
    5.- fin
    2) Escribe un algoritmo para obtener el área de un triángulo, tomando en cuenta que el área: (base * altura)/2.
    ALGORITMO:
    1.- inicio
    2.- pedir la base y la altura (B,H)
    3.- multiplicar la base y la altura y dividirlas entre 2 (A=B*H/2)
    4.- mostrar resultados (A)
    5.- fin
    3) Hacer un algoritmo para calcular el promedio de calificaciones de un estudiante. Los datos disponibles son: nombre y las 4 calificaciones de los exámenes. El algoritmo deberá imprimir el mensaje de “Aprobado” si el promedio fue >=7, de lo contrario el mensaje deberá ser “Reprobado”.
    ALGORITMO:
    1.- inicio
    2.- pedir nombre (N)
    3.-Pedir calificaciones( c1,c2,c3,c4)
    4.- sacar promedio prom=(c1+c2+c3+c4)/4
    5.- si el promedio es >=7 entonces mostrar como resultados “aprobado” si el promedio es menor a 7 mostrar como resultado “reprobado.
    6.- fin
    4) Hacer un algoritmo que calcule e imprima el costo de un terreno rectangular, teniendo como datos la anchura y longitud en metros, y el costo del metro cuadrado.
    ALGORITMO:
    0.- inicio
    1.-Pedir el costo (C)
    2.- pedir el precio del metro cuadrado (Pm2)
    3.- pedir el ancho y largo del terreno en metros cuadrados (A,L)
    4.- multiplicar el numero de metros cuadrados del terreno por el precio por metro para sacar su costo total (C=Pm2*(A*L))
    5.- mostrar resultados (C).
    6.- fin
    5) Hacer un algoritmo que convierta un número dado de segundos en minutos y que imprima el resultado.

    Fuente: http://www.buenastareas.com/ensayos/Algoritmos-Secuenciales/3521484.html

    domingo, 17 de junio de 2012

    Paradigama Educativo

    Quizás sea una forma de reformar la educación, una educación tradicional que se combine con una educación carismática y técnica.

    miércoles, 26 de enero de 2011

    Pruebas Por Competencias

    Check out this SlideShare Presentation: