SlideShare una empresa de Scribd logo
2
Lo más leído
ALGORITMO:
Secuencia de pasos o procesos lógicamente relacionados entre sí a fin de
obtener la solución a un problema planteado.
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.


        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 LOS 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. 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.
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.
3.- Un algoritmo debe ser “FINITO”, si se sigue un algoritmo se debe terminar
en algún momento.

4.- Entrada: El algoritmo tendrá cero o más entradas, es decir, cantidades o
datos dados 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.
Ejemplos de Algoritmos:
Podemos idear un algoritmo para un determinado proceso, tomando en cuenta
que puede ser realizado 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 Algoritmo, sería el de una llamada telefónica, o el
proceso para efectuar un viaje en el Metro de Santo Domingo, o la obtención
de la licencia para conducir o el cambio de una llanta que esté baja de aire, etc;
en fin, hay muchas formas de aplicar los algoritmos en cuestiones cotidianas
descomponiendo la acción en pasos lógicos.
A continuación, veamos un ejemplo de algoritmo para el proceso de cambiar
una llanta que está baja de aire.
      1.- Levantar el carro con el gato hidráulico.
      2.- Quitar los tornillos del rin.
      3.- Quitar la llanta dañada.
      4.- Poner la llanta de repuesto.
      5.- Apretar los tornillos.
      6.- Bajar el carro con el gato.


Descripción de un algoritmo en forma gráfica:
Cuando una secuencia de actividades que definen un problema es muy simple
en su naturaleza, es decir que sólo implique seguir una serie de pasos, uno
después de otro, y que no tenga decisiones lógicas ni alternativas a tomar, es
muy fácil describirlo en palabras. Pero si esta secuencia de actividades se
hace más compleja será no sólo difícil describirlo en palabras sino también
retener todas las alternativas.
Generalidades
El programador de computadoras es ante que nada una persona que resuelve
problemas, por lo que para llegar a ser un programador eficaz se necesita
aprender a resolver problemas de un modo riguroso y sistemático. A la
metodología necesaria para resolver problemas mediante programas se
denomina Metodología de la Programación. El eje central de esta metodología
es el concepto, ya tratado, de algoritmo.
Los algoritmos son independientes tanto del lenguaje de programación en que
se expresan como de la computadora que lo ejecuta. En cada problema el
algoritmo se puede expresar en un lenguaje diferente de programación y
ejecutarse en una computadora distinta; sin embargo, el algoritmo será siempre
el mismo.
El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos
de técnicas de programación.
La definición de un algoritmo ha de tomar en cuenta tres partes: Entrada,
Proceso y Salida.
Por ejemplo, el algoritmo para realizar una receta de cocina tendrá:
Entrada: ingrediente y utensilios empleados.
Proceso: elaboración de la receta en la cocina.
Salida: terminación del plato (por ejemplo, cordero).


Otro ejemplo de algoritmo
Un cliente ejecuta un pedido a una fábrica. Esta examina en su banco de datos
la ficha del cliente; si el cliente es solvente entonces la empresa acepta el
pedido; en caso contrario rechazara el pedido.
Los pasos del algoritmo son:
 1.   inicio
 2.   leer el pedido
 3.   examinar la ficha del cliente
 4.   si el cliente es solvente aceptar pedido; en caso contrario, rechazar pedido
 5.   fin

Consideraciones al diseñar un Algoritmo:

En la etapa de análisis del proceso de programación se determina que hace el
programa. En la etapa de diseño se determina como hace el programa la tarea
solicitada.
 Los métodos mas eficaces para el proceso de diseño se basan en el conocido
por Divide y Vencerás, es decir, la resolución de un problema complejo se
realiza dividiendo el problema en sub problemas y a continuación dividir estos
sub problemas en otros de nivel mas bajo, hasta que pueda ser implementada
una solución en la computadora. Este método se conoce técnicamente como
diseño descendente (Top Down) o modular.
El proceso de romper el problema en cada etapa y expresar cada paso en
forma más detallada se denomina refinamiento sucesivo.
DIAGRAMAS DE FLUJO:
Los diagramas de flujo son esquemas que representan gráficamente un
algoritmo por medio de los pasos de un proceso. Son utilizados en
programación, economía y procesos industriales. Utilizan una serie de símbolos
con significados especiales.
Un diagrama de flujo ilustra la secuencia de las operaciones que se realizan
para conseguir la solución de un problema y son usados normalmente para
seguir la secuencia lógica de las acciones en el diseño de problemas de
computadoras.
Es la representación gráfica de la solución a un problema utilizando símbolos
predefinidos para su interpretación.
Es la representación gráfica de un algoritmo.
 A nivel de programación es la representación gráfica de lo que se desea que la
computadora realice.
Son representaciones graficas de un
algoritmo el cual muestra los pasos o
procesos a seguir para alcanzar la
solución de un problema. Es llamado
Diagrama de Flujo porque los símbolos
utilizados se conectan por medio de
flechas para indicar la secuencia de una
operación y son también llamados
flujogramas.
Utilizan  diversos    símbolos     para
representar operaciones específicas.
El ejemplo muestra un Diagrama de
flujo sencillo con los pasos a seguir si
una lámpara no funciona.

Símbolos utilizados

Para poder hacer comprensibles los diagramas a todas las personas, los
símbolos se someten a una normalización; es decir, se hicieron símbolos casi
universales, ya que, en un principio cada usuario podría tener sus propios
símbolos para representar sus procesos en forma de Diagrama de flujo. Esto
trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía
interpretar.

En teoría, no es necesario usar un tipo especial de símbolos para crear un
diagrama de flujo, pero existen algunos ampliamente utilizados por lo que es
adecuado conocerlos y utilizarlos, ampliando así las posibilidades de crear un
diagrama más claro y comprensible.
Se utilizan los símbolos indicados a continuación, estandarizados según la
norma ISO 5807.

      Flecha. Indica el sentido y trayectoria del proceso de información o
      tarea.

                         Rectángulo. Se usa para representar un evento o
                  proceso determinado. Éste es controlado dentro del
                  diagrama de flujo en que se encuentra. Es el símbolo más
      comúnmente utilizado. Se usa para representar un evento que ocurre de
      forma automática y del cual generalmente se sigue una secuencia
               determinada.

                      Rombo. Se utiliza para representar una condición.
                 Normalmente el flujo de información entra por arriba y sale por
      un lado si la condición se cumple o sale por el lado opuesto si la
      condición no se cumple. El rombo además especifica que hay una
      bifurcación.

                     Círculo. Representa un punto de conexión entre procesos.
             Se utiliza cuando es necesario dividir un diagrama de flujo en varias
      partes, por ejemplo por razones de espacio o simplicidad. Una referencia
      debe darse dentro para distinguirlo de otros. La mayoría de las veces se
      utilizan números en los mismos.



                        Terminador, utilizado para indicar el inicio o el fin del
                  diagrama.



                          Documento, símbolo utilizado para expresar salida de
                 datos.




Características que debe cumplir un Diagrama de Flujo

En los diagramas de flujo se presuponen los siguientes aspectos:

      Existe siempre un camino que permite llegar a una solución (finalización
      del algoritmo).
      Existe un único inicio del proceso.
      Existe un único punto de fin para el proceso de flujo.
VARIABLE: Es un valor no fijo que permanece almacenado en la memoria del
computador y que es identificado con un nombre único y irrepetible.
Podemos definirlo como cualquier cantidad o valor al cual hacemos referencia
asignándole un nombre clave (casi siempre abreviada) y que tomará diferentes
valores durante el proceso.
Ejemplo: Nombre, Apellido, Sueldo, Número de Cédula de Identidad, num, tel.
Físicamente, una variable es un espacio o dirección en la memoria del
computador.
CARACTERÍSTICAS DE LAS VARIABLES:
    El nombre de una variable puede ir formado por una o más letras, números
    o la combinación de ambas.
A       COD         COD01
    Los nombres de las variables siempre deberán comenzar por una letra.
FAC001              Nunca:               01COD
    Los nombres de las variables no deberán ir separados por espacios en
    blanco.
    Debe ser mnemotécnica. Ejemplo:
Código Empleado = CODEMP                 Cédula= CED
Sueldo = SDO                             Impuesto sobre la Renta = ISLR
TIPOS DE VARIABLES:
    Alfanuméricas: Son aquellas que pueden almacenar cualquier carácter,
    letras (A-Z); números (0-9), espacios en blanco, o caracteres especiales (-, !
    ,¡ , %, *, + , /, $, &, etc…)
Ejemplos:
ISLR= 10%     , CED=031-0426879-6        FECHA=01/05/2011


    Numéricas: Son aquellas que almacenan sólo números (Dígitos) de (0-9).
A= 0;   SDO= 4500.00      ; CED=03104268796 ; edad=25
Ejercicio
Realice un Diagrama de Flujo que determine la velocidad, dados distancia y
tiempo.
CONTADOR:
Es un valor que se incrementa o decrementa, según sea el caso, un contador
en términos constante es un valor fijo que se va a ir contando, es decir
cumpliendo una función cuantitativa.
Es un campo en memoria, el cual sirve (como su nombre lo indica) para contar,
éste incrementa en el valor de 1 y nos muestra el número de veces que el
proceso ha detectado una ocurrencia determinada y siempre deberemos
expresarlo en forma cuantitativa.
C= 0
Ejemplo:     C=    C+1
C=           Variable contador


ACUMULADOR:
Es un campo de memoria, un valor que se incrementa en forma no definida
esto por la suma de otro valor a dicho campo.
Ejercicio:
Realice un Diagrama de flujo que calcule el promedio de un conjunto de notas
leídas (termine al leer una nota igual a cero).


OPERADORES RELACIONALES:
                                          OPERADORES ARITMETICOS:
>            Mayor que                    +     =      Suma
<            Menor que                    -     =      Resta
≥            Mayor o igual                *     =      Multiplicación
≤            Menor o igual                /     =      División
<>           Diferente ó desigual         ^     =      Exponente o potencia
=            Igual a
Ejercicio
El siguiente Diagrama de Flujo calcula el 13,5% de cualquier número y luego lo
muestra como resultado de salida.
- Identificación de variables y análisis de proceso.


N=    0
C=    13,5%
R=    N * 13,5% ó R= N*C


                        Inicio                         Inicio



                  N=0                          Declarar variables
                          R=0

                          r
                          N
                                                       Leer N



                   R= N * 13,5%
                                                 Proceso / Calcular



                          R                      Imprimir Resultado




                         Fin                              Fin
Ejercicio
Diagrama de Flujo para calcular la masa de un objeto que se mueve con una
fuerza y una aceleración, donde: F= m.a, Imprimir el resultado con su
respectivo mensaje.
- Identificación de variables y análisis de proceso.


F=    m*a
m=    f/a


                        Inicio                         Inicio



                  m=0       f= 0               Declarar variables
                            a=0

                            r
                        a         f
                                                       Leer N
                            f


                      m= f / a
                                                 Proceso / Calcular



                   “La masa es: ”                Imprimir Resultado
                        m




                            Fin                           Fin
1.- Algoritmo y Diagrama de Flujo para calcular el área de un círculo donde:
a= ¶ * r2
- Identificación de variables y análisis de proceso.


a=    0
r=    0
¶=    3,14


                        Inicio                         Inicio



                  a=0    Pi= 3,14              Declarar variables
                          r=0

                          r
                          r
                                                       Leer N



                     a= ¶ * r2
                                                 Proceso / Calcular



                    “El área es: “               Imprimir Resultado




                         Fin                              Fin
c.- Algoritmo que descarte Por qué, el CPU del computador que se te asignó
en el Laboratorio no enciende.
1.- Inicio
2.- Verifico la causa del problema.
3.- Si el problema es falta de energía eléctrica.
4.- Entonces, no puedo utilizar el computador, fin.
5.- Si el problema es porque no está enchufado.
6.- Enchufo el cable soluciono el problema.
7.- Si el problema es de carácter técnico.
8.- Entonces no puedo utilizar el computador, fin.
9.- Si el problema es que el computador está Dañado.
10.- Entonces, utilizo otro computador.
11.- Fin.

Más contenido relacionado

DOCX
Aplicaciòn de las estructuras de datos
PPTX
Método de ordenación por inserción directa
PPTX
Mapa conceptual poo
PPTX
Memoria Estatica
 
PPTX
Memoria dinamica
DOCX
Trabajo de compiladores completo alexandra
PPT
Algoritmo congruencial aditivo
DOCX
Que es y para que sirve la programacion orientada a objetos
Aplicaciòn de las estructuras de datos
Método de ordenación por inserción directa
Mapa conceptual poo
Memoria Estatica
 
Memoria dinamica
Trabajo de compiladores completo alexandra
Algoritmo congruencial aditivo
Que es y para que sirve la programacion orientada a objetos

La actualidad más candente (20)

PPTX
Ordenamiento QuickSort
PDF
Lenguajes de simulacion
PPTX
Analisis de algoritmos complejidad en tiempo y espacio
DOCX
Cuadro comparativo algoritmos de busqueda
PDF
PPTX
Lenguajes de simulación
PPTX
Tipos de datos, identificadores, variables y constantes
PPTX
Eficiencia de algoritmos - Vanessa Ramirez
PPTX
Normalización de la base de datos (3 formas normales)
PPTX
41439707 sistemas-blandos fase-i_ii
DOCX
Metodos de-ordenamiento
DOCX
Estándares para el Modelado de Procesos de Negocios
PPTX
Pruebas de autocorrelacion yule
PPT
Archivo Secuencial
PPTX
ImplantacióN Y EvaluacióN Del Sistema
PDF
Examen de compiladores i parcial
PDF
Paradigmas de ingenieria del software
PPT
Arreglos En Una Dimension
PPTX
Estructura de Datos - Unidad 5 metodos de ordenamiento
Ordenamiento QuickSort
Lenguajes de simulacion
Analisis de algoritmos complejidad en tiempo y espacio
Cuadro comparativo algoritmos de busqueda
Lenguajes de simulación
Tipos de datos, identificadores, variables y constantes
Eficiencia de algoritmos - Vanessa Ramirez
Normalización de la base de datos (3 formas normales)
41439707 sistemas-blandos fase-i_ii
Metodos de-ordenamiento
Estándares para el Modelado de Procesos de Negocios
Pruebas de autocorrelacion yule
Archivo Secuencial
ImplantacióN Y EvaluacióN Del Sistema
Examen de compiladores i parcial
Paradigmas de ingenieria del software
Arreglos En Una Dimension
Estructura de Datos - Unidad 5 metodos de ordenamiento
Publicidad

Destacado (20)

PDF
Problemas,algoritmos y diagramas de flujo.
PDF
Ejemplos de Algoritmos
PPT
Diagramas de Flujo
DOC
Diagrama de flujo;3
PDF
Diagramas de Flujo y Algoritmos (Informática ll)
PDF
21 problemas de algoritmo resueltos
PDF
Diagrama de Flujos Ejemplos.
PPT
Algoritmos
DOCX
Algoritmos de entrada, proceso y salida
DOCX
Algoritmos y metodología para la solución de problemas
PDF
Algoritmos y diagramas de flujo
PPTX
Ejemplos de entrada,procesamiento,salida,
PPT
Algoritmos
DOCX
Algoritmo
PPT
Diagrama de flujo
PDF
Hernia nucleo
PPTX
Los algoritmos
DOCX
Diagramas de flujo
PPTX
Lógica de Programación
PPSX
Diagramas d flujo
Problemas,algoritmos y diagramas de flujo.
Ejemplos de Algoritmos
Diagramas de Flujo
Diagrama de flujo;3
Diagramas de Flujo y Algoritmos (Informática ll)
21 problemas de algoritmo resueltos
Diagrama de Flujos Ejemplos.
Algoritmos
Algoritmos de entrada, proceso y salida
Algoritmos y metodología para la solución de problemas
Algoritmos y diagramas de flujo
Ejemplos de entrada,procesamiento,salida,
Algoritmos
Algoritmo
Diagrama de flujo
Hernia nucleo
Los algoritmos
Diagramas de flujo
Lógica de Programación
Diagramas d flujo
Publicidad

Similar a Algoritmos y diagramas_de_flujo (20)

PDF
Desarrollo de habilidades de pensamiento
PDF
Desarrollo de habilidades de pensamiento
DOCX
Desarrollo de habilidades de pensamiento
PDF
Unidad algoritmos y df
PDF
Resolución de problemas y algoritmo
PPTX
Evaluacion de algoritmo
PDF
Etapas del desarrolo de un programa
PPT
Clase2 algoritmos formas-representacionalgoritmicas1
PDF
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
PDF
Apartes De Algoritmos
PPT
Introducción a la Informática - Los Algoritmos
PPTX
Trabajo de informatica Elsy Villa
PPTX
Algoritmos (DFD, Pseudocodigos).pptx
PDF
Unidad2 compu luis jimenez
PPTX
Algoritmos
PDF
Algoritmos-y-Diagramas_AHQ.pdf
PPTX
UNIDAD II ALGORITMO, PSEUDOCODIGO Y DIAGRAMA DE FLUJO.pptx
PDF
Razonamiento algoritmico
DOC
Unidad I Algoritmos
DOC
Unidad I Algoritmos
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
Unidad algoritmos y df
Resolución de problemas y algoritmo
Evaluacion de algoritmo
Etapas del desarrolo de un programa
Clase2 algoritmos formas-representacionalgoritmicas1
Algoritmos y seudocódigos (orangel rodriguez) (30.736.401)
Apartes De Algoritmos
Introducción a la Informática - Los Algoritmos
Trabajo de informatica Elsy Villa
Algoritmos (DFD, Pseudocodigos).pptx
Unidad2 compu luis jimenez
Algoritmos
Algoritmos-y-Diagramas_AHQ.pdf
UNIDAD II ALGORITMO, PSEUDOCODIGO Y DIAGRAMA DE FLUJO.pptx
Razonamiento algoritmico
Unidad I Algoritmos
Unidad I Algoritmos

Más de Clariza (11)

PPT
Educacion comercial
PPT
Revolucion abril
ODP
Conciliacion
DOC
Arreglos
PPTX
Estructuras de seleccion
DOCX
Pseudocodigos
DOCX
Programacion lenguaje-c
PPTX
Introduccion a lenguaje_c
DOC
La Taxonomia De Anderson Krathwohl 2001
PPT
SíMbolos Del Diccionario De Datos
PPT
Bienvenida 2009 2010
Educacion comercial
Revolucion abril
Conciliacion
Arreglos
Estructuras de seleccion
Pseudocodigos
Programacion lenguaje-c
Introduccion a lenguaje_c
La Taxonomia De Anderson Krathwohl 2001
SíMbolos Del Diccionario De Datos
Bienvenida 2009 2010

Último (20)

PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Escuelas Desarmando una mirada subjetiva a la educación
Tomo 1 de biologia gratis ultra plusenmas
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
Cosacos y hombres del Este en el Heer.ppt
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
ciencias-1.pdf libro cuarto basico niños
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
Escuela Sabática 6. A través del Mar Rojo.pdf
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf

Algoritmos y diagramas_de_flujo

  • 1. ALGORITMO: Secuencia de pasos o procesos lógicamente relacionados entre sí a fin de obtener la solución a un problema planteado. 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. 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 LOS 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. 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. 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. 3.- Un algoritmo debe ser “FINITO”, si se sigue un algoritmo se debe terminar en algún momento. 4.- Entrada: El algoritmo tendrá cero o más entradas, es decir, cantidades o datos dados 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.
  • 2. Ejemplos de Algoritmos: Podemos idear un algoritmo para un determinado proceso, tomando en cuenta que puede ser realizado 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 Algoritmo, sería el de una llamada telefónica, o el proceso para efectuar un viaje en el Metro de Santo Domingo, o la obtención de la licencia para conducir o el cambio de una llanta que esté baja de aire, etc; en fin, hay muchas formas de aplicar los algoritmos en cuestiones cotidianas descomponiendo la acción en pasos lógicos. A continuación, veamos un ejemplo de algoritmo para el proceso de cambiar una llanta que está baja de aire. 1.- Levantar el carro con el gato hidráulico. 2.- Quitar los tornillos del rin. 3.- Quitar la llanta dañada. 4.- Poner la llanta de repuesto. 5.- Apretar los tornillos. 6.- Bajar el carro con el gato. Descripción de un algoritmo en forma gráfica: Cuando una secuencia de actividades que definen un problema es muy simple en su naturaleza, es decir que sólo implique seguir una serie de pasos, uno después de otro, y que no tenga decisiones lógicas ni alternativas a tomar, es muy fácil describirlo en palabras. Pero si esta secuencia de actividades se hace más compleja será no sólo difícil describirlo en palabras sino también retener todas las alternativas. Generalidades El programador de computadoras es ante que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático. A la metodología necesaria para resolver problemas mediante programas se
  • 3. denomina Metodología de la Programación. El eje central de esta metodología es el concepto, ya tratado, de algoritmo. Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que lo ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo, el algoritmo será siempre el mismo. El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos de técnicas de programación. La definición de un algoritmo ha de tomar en cuenta tres partes: Entrada, Proceso y Salida. Por ejemplo, el algoritmo para realizar una receta de cocina tendrá: Entrada: ingrediente y utensilios empleados. Proceso: elaboración de la receta en la cocina. Salida: terminación del plato (por ejemplo, cordero). Otro ejemplo de algoritmo Un cliente ejecuta un pedido a una fábrica. Esta examina en su banco de datos la ficha del cliente; si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario rechazara el pedido. Los pasos del algoritmo son: 1. inicio 2. leer el pedido 3. examinar la ficha del cliente 4. si el cliente es solvente aceptar pedido; en caso contrario, rechazar pedido 5. fin Consideraciones al diseñar un Algoritmo: En la etapa de análisis del proceso de programación se determina que hace el programa. En la etapa de diseño se determina como hace el programa la tarea solicitada. Los métodos mas eficaces para el proceso de diseño se basan en el conocido por Divide y Vencerás, es decir, la resolución de un problema complejo se realiza dividiendo el problema en sub problemas y a continuación dividir estos sub problemas en otros de nivel mas bajo, hasta que pueda ser implementada una solución en la computadora. Este método se conoce técnicamente como diseño descendente (Top Down) o modular. El proceso de romper el problema en cada etapa y expresar cada paso en forma más detallada se denomina refinamiento sucesivo.
  • 4. DIAGRAMAS DE FLUJO: Los diagramas de flujo son esquemas que representan gráficamente un algoritmo por medio de los pasos de un proceso. Son utilizados en programación, economía y procesos industriales. Utilizan una serie de símbolos con significados especiales. Un diagrama de flujo ilustra la secuencia de las operaciones que se realizan para conseguir la solución de un problema y son usados normalmente para seguir la secuencia lógica de las acciones en el diseño de problemas de computadoras. Es la representación gráfica de la solución a un problema utilizando símbolos predefinidos para su interpretación. Es la representación gráfica de un algoritmo. A nivel de programación es la representación gráfica de lo que se desea que la computadora realice. Son representaciones graficas de un algoritmo el cual muestra los pasos o procesos a seguir para alcanzar la solución de un problema. Es llamado Diagrama de Flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de una operación y son también llamados flujogramas. Utilizan diversos símbolos para representar operaciones específicas. El ejemplo muestra un Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona. Símbolos utilizados Para poder hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. En teoría, no es necesario usar un tipo especial de símbolos para crear un diagrama de flujo, pero existen algunos ampliamente utilizados por lo que es adecuado conocerlos y utilizarlos, ampliando así las posibilidades de crear un diagrama más claro y comprensible.
  • 5. Se utilizan los símbolos indicados a continuación, estandarizados según la norma ISO 5807. Flecha. Indica el sentido y trayectoria del proceso de información o tarea. Rectángulo. Se usa para representar un evento o proceso determinado. Éste es controlado dentro del diagrama de flujo en que se encuentra. Es el símbolo más comúnmente utilizado. Se usa para representar un evento que ocurre de forma automática y del cual generalmente se sigue una secuencia determinada. Rombo. Se utiliza para representar una condición. Normalmente el flujo de información entra por arriba y sale por un lado si la condición se cumple o sale por el lado opuesto si la condición no se cumple. El rombo además especifica que hay una bifurcación. Círculo. Representa un punto de conexión entre procesos. Se utiliza cuando es necesario dividir un diagrama de flujo en varias partes, por ejemplo por razones de espacio o simplicidad. Una referencia debe darse dentro para distinguirlo de otros. La mayoría de las veces se utilizan números en los mismos. Terminador, utilizado para indicar el inicio o el fin del diagrama. Documento, símbolo utilizado para expresar salida de datos. Características que debe cumplir un Diagrama de Flujo En los diagramas de flujo se presuponen los siguientes aspectos: Existe siempre un camino que permite llegar a una solución (finalización del algoritmo). Existe un único inicio del proceso. Existe un único punto de fin para el proceso de flujo.
  • 6. VARIABLE: Es un valor no fijo que permanece almacenado en la memoria del computador y que es identificado con un nombre único y irrepetible. Podemos definirlo como cualquier cantidad o valor al cual hacemos referencia asignándole un nombre clave (casi siempre abreviada) y que tomará diferentes valores durante el proceso. Ejemplo: Nombre, Apellido, Sueldo, Número de Cédula de Identidad, num, tel. Físicamente, una variable es un espacio o dirección en la memoria del computador. CARACTERÍSTICAS DE LAS VARIABLES: El nombre de una variable puede ir formado por una o más letras, números o la combinación de ambas. A COD COD01 Los nombres de las variables siempre deberán comenzar por una letra. FAC001 Nunca: 01COD Los nombres de las variables no deberán ir separados por espacios en blanco. Debe ser mnemotécnica. Ejemplo: Código Empleado = CODEMP Cédula= CED Sueldo = SDO Impuesto sobre la Renta = ISLR TIPOS DE VARIABLES: Alfanuméricas: Son aquellas que pueden almacenar cualquier carácter, letras (A-Z); números (0-9), espacios en blanco, o caracteres especiales (-, ! ,¡ , %, *, + , /, $, &, etc…) Ejemplos: ISLR= 10% , CED=031-0426879-6 FECHA=01/05/2011 Numéricas: Son aquellas que almacenan sólo números (Dígitos) de (0-9). A= 0; SDO= 4500.00 ; CED=03104268796 ; edad=25 Ejercicio Realice un Diagrama de Flujo que determine la velocidad, dados distancia y tiempo.
  • 7. CONTADOR: Es un valor que se incrementa o decrementa, según sea el caso, un contador en términos constante es un valor fijo que se va a ir contando, es decir cumpliendo una función cuantitativa. Es un campo en memoria, el cual sirve (como su nombre lo indica) para contar, éste incrementa en el valor de 1 y nos muestra el número de veces que el proceso ha detectado una ocurrencia determinada y siempre deberemos expresarlo en forma cuantitativa. C= 0 Ejemplo: C= C+1 C= Variable contador ACUMULADOR: Es un campo de memoria, un valor que se incrementa en forma no definida esto por la suma de otro valor a dicho campo. Ejercicio: Realice un Diagrama de flujo que calcule el promedio de un conjunto de notas leídas (termine al leer una nota igual a cero). OPERADORES RELACIONALES: OPERADORES ARITMETICOS: > Mayor que + = Suma < Menor que - = Resta ≥ Mayor o igual * = Multiplicación ≤ Menor o igual / = División <> Diferente ó desigual ^ = Exponente o potencia = Igual a
  • 8. Ejercicio El siguiente Diagrama de Flujo calcula el 13,5% de cualquier número y luego lo muestra como resultado de salida. - Identificación de variables y análisis de proceso. N= 0 C= 13,5% R= N * 13,5% ó R= N*C Inicio Inicio N=0 Declarar variables R=0 r N Leer N R= N * 13,5% Proceso / Calcular R Imprimir Resultado Fin Fin
  • 9. Ejercicio Diagrama de Flujo para calcular la masa de un objeto que se mueve con una fuerza y una aceleración, donde: F= m.a, Imprimir el resultado con su respectivo mensaje. - Identificación de variables y análisis de proceso. F= m*a m= f/a Inicio Inicio m=0 f= 0 Declarar variables a=0 r a f Leer N f m= f / a Proceso / Calcular “La masa es: ” Imprimir Resultado m Fin Fin
  • 10. 1.- Algoritmo y Diagrama de Flujo para calcular el área de un círculo donde: a= ¶ * r2 - Identificación de variables y análisis de proceso. a= 0 r= 0 ¶= 3,14 Inicio Inicio a=0 Pi= 3,14 Declarar variables r=0 r r Leer N a= ¶ * r2 Proceso / Calcular “El área es: “ Imprimir Resultado Fin Fin
  • 11. c.- Algoritmo que descarte Por qué, el CPU del computador que se te asignó en el Laboratorio no enciende. 1.- Inicio 2.- Verifico la causa del problema. 3.- Si el problema es falta de energía eléctrica. 4.- Entonces, no puedo utilizar el computador, fin. 5.- Si el problema es porque no está enchufado. 6.- Enchufo el cable soluciono el problema. 7.- Si el problema es de carácter técnico. 8.- Entonces no puedo utilizar el computador, fin. 9.- Si el problema es que el computador está Dañado. 10.- Entonces, utilizo otro computador. 11.- Fin.