SlideShare una empresa de Scribd logo
1 de 8
Unidad I. Algoritmos                                       Prof. Marlenys Valladare


                                                                       Maracaibo, 22/03/10

ALGORITMOS

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,
nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de
números y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados o instrucciones que describe el proceso que se
debe seguir, para dar solución a un problema específico.

No podemos apartar nuestra vida de los algoritmos. Sin darnos cuenta nuestra vida cotidiana
está llena de ellos. Pero de alguna forma se hacen transparente.

Ejemplo de algoritmos cuando nos levantamos todos los días para ir a nuestro trabajo u lugar
donde estudiamos, hacemos un conjunto de pasos antes de llegar a nuestros trabajos.


Algoritmos en programación
Un programa de computadora es un algoritmo que le dice a la computadora los pasos específicos
para llevar a cabo una tarea. Los algoritmos son rigurosamente definidos para que la
computadora pueda interpretarlos. El orden en que se ejecuta cada uno de los pasos que
constituyen un algoritmo es fundamental. El orden más básico es de arriba hacia abajo,
ejecutándose una instrucción tras otra de un código. Pero un algoritmo puede variar en su flujo
u orden de ejecución de pasos dependiendo de los valores de inicio o que entran durante su
ejecución.

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.
Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo
fácilmente.
Modificables: Estarán diseñados de modo que sus posteriores modificaciones sean fáciles de
realizar, incluso por programadores diferentes a sus propios autores.


Los pasos para la resolución de un problema son:
Unidad I. Algoritmos                                         Prof. Marlenys Valladare


Diseño de algoritmo, que describe la secuencia ordenada de pasos que conducen a la solución
de un problema dado. (Análisis del problema y desarrollo del algoritmo).
Expresar el algoritmo como un programa de lenguaje de programación adecuado. (Fase de
codificación.)
Ejecución y validación del programa por la computadora.


Partes de un algoritmo
Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso
y salida. Donde:
        Entrada: Corresponde al insumo, a los datos necesarios que requiere el proceso para
       ofrecer los resultados esperados.
       Proceso: Pasos necesarios para obtener la solución del problema o la situación planteada.
       Salida: Resultados arrojados por el proceso como solución.




Ejemplo: Preparar una receta de cocina
             Entrada: ingrediente y utensilios empleados.
             Proceso: elaboración de la receta en la cocina.
             Salida: terminación del plato (por ejemplo, pasticho).

Tipos de algoritmos. Existen dos tipos y son llamados así por su naturaleza:
Cualitativos: Son aquellos en los que se describen los pasos utilizando sólo palabras. Es decir,
en sus pasos o instrucciones para resolver un problema no están involucrados cálculos
numéricos.
       Ejemplos: instrucciones para armar un aeromodelo, desarrollar una actividad física o
       encontrar un tesoro, cursar una carrera a nivel superior, tejer un suéter entre otros.
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del
proceso.
       Ejemplos: Calcular el factorial de un numero, solución de la ecuación de segundo grado,
       encontrar el mínimo común múltiplo entre otros.

Lenguajes Algorítmicos: Un Lenguaje algorítmico es una serie de símbolos y reglas que se
utilizan para describir de manera explícita un proceso. Entre ellos se encuentran: Gráficos y no
gráficos.

Tipos de Lenguajes Algorítmicos
Unidad I. Algoritmos                                                       Prof. Marlenys Valladare




Gráficos: Es la representación gráfica de las                           No Gráficos: Representa en forma
operaciones que realiza un algoritmo (diagrama                           descriptiva las operaciones que debe
de flujo).                                                               realizar un algoritmo (pseudocodigo).

                                                                         INICIO
                                                                           Edad: Entero
                                                                           ESCRIBA “cual es tu edad?”
                                                                           Lea Edad
                                                                           SI Edad >=18 entonces
                                                                             ESCRIBA “Eres mayor de Edad”
                                                                           FINSI
                                                                           ESCRIBA “fin del algoritmo”
                                                                         FIN




El diagrama de flujo (DF) o Flowchart es una de las técnicas de representación de algoritmos
más antigua, y consiste en representar mediante símbolos las operaciones a realizar. Por
ejemplo: el inicio y el fin del algoritmo se representan con un símbolo elíptico, las entradas y
salidas con un paralelogramo, las decisiones con un rombo, los procesos con un rectángulo, etc.
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 sean requeridos.
Algunos símbolos son:

 Nombre                Símbolo                                            Función

                                         Representa el inicio y fin de un programa. También puede representar una
    Terminal
                                       parada o interrupción programada que sea necesaria realizar en un programa.

                                       Cualquier tipo de introducción de datos en la memoria desde los periféricos o
 Entrada / salida
                                                    registro de información procesada en un periférico.

                                        Cualquier tipo de operación que pueda originar cambio de valor, formato o
    Proceso                           posición de la información almacenada en memoria, operaciones aritméticas, de
                                                                   transformaciones, etc.

                                       Indica operaciones lógicas o de comparación entre datos (normalmente dos) y
    Decisión                          en función del resultado de la misma determina (normalmente si y no) cual de los
                                                 distintos caminos alternativos del programa se debe seguir

                                         Sirve para enlazar dos partes cualesquiera de un diagrama a través de un
    Conector
                                      conector en la salida y otro conector en la entrada. Se refiere a la conexión en la
  Misma Página
                                                                  misma página del diagrama
  Indicador de
    dirección o                                     Indica el sentido de la ejecución de las operaciones
  línea de flujo
Unidad I. Algoritmos                                                     Prof. Marlenys Valladare



                                     Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un
     Salida
                                               pedazo de hoja. Es usado para mostrar datos o resultados.




Reglas para la creación de Diagramas de flujo
 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 van a 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 más de una línea de flujo de salida.

Pseudocódigo: Es una herramienta de programación en la que las instrucciones se describen en
palabras similares al inglés o español, que facilita tanto la escritura como la lectura de los
programas de computación.

Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo
Ocupa menos espacio en una hoja de papel
Permite representar en forma fácil operaciones repetitivas complejas
Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación.
Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.


Ejemplo de algoritmo cualitativo.
   Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados
   en Pseudocódigo y en diagramas de flujos:
   “Tengo un teléfono y necesito llamar a alguien pero no sé cómo hacerlo“.
Unidad I. Algoritmos                                        Prof. Marlenys Valladare




Conceptos fundamentales para construir algoritmos cuantitativos.

   Tipos de datos: Numéricos (enteros y reales); lógicos; carácter y cadenas de caracteres.
   Identificador: Los datos a procesar por un computador, deben almacenarse en casillas o
   celdas de memoria para su posterior utilización.
   Declaración de variables: Es un proceso que consiste en listar al principio del algoritmo
   todas las variables (identificador) que se usaran, además de colocar el nombre de la variable
   que debe decir qué tipo de dato se almacenará ahí (real, entero, lógico, otros).
             Contador: entero
             Edad, I: entero
             Dirección: cadena_de_caracteres
             Salario_Basico: real
             Opción: carácter
   Variable: Objetos que pueden cambiar su valor durante la ejecución del programa.
   Constante: Son datos que no cambian durante la ejecución de un programa.
   Bloque de asignación: La asignación consiste, en el paso de valores o resultados a una zona
   de memoria. Dicha zona será reconocida con el nombre de la variable (identificador) que
   recibe el valor. Un bloque de asignación se utiliza para asignar valores o expresiones a una
   variable.

   Escritura o salida de datos: Consiste en mandar por un dispositivo de salida (ej. monitor o
   impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito
   entre comillas o el contenido de la variable. Este proceso se representa así como sigue:
Unidad I. Algoritmos                                         Prof. Marlenys Valladare




Lectura o entrada de datos: La lectura o entrada de datos consiste en recibir desde un
dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la
variable que aparece a continuación de la instrucción. Esta operación se representa así:




   Ejemplos de algoritmos cuantitativos

1)Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de
estos. Use Pseudocódigo y diagrama de flujos.




2)Escriba un algoritmo que permita conocer el área de un triángulo a partir de la base y la
altura. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.
Unidad I. Algoritmos                                          Prof. Marlenys Valladare




Ejercicios propuestos

1.Leer la base y la altura de un rectángulo. Calcular y mostrar por pantalla el área del mismo.
La fórmula del área es Área=base *altura
2.Un usuario solicita un libro para la lectura, si el libro se encuentra en la biblioteca se presta;
de lo contrario se devuelve la ficha de solicitud.
3.Construir un algoritmo el sueldo básico de un obrero, si para ello se requiere ingresar por
teclado la tarifa diaria y el número de horas trabajadas. La fórmula del sueldo básico es: sueldo
=tarifa diaria* número de horas.
4.Escriba un algoritmo que lea el nombre y la fecha de nacimiento de una persona. Calcule y
muestre el nombre y la edad del mismo.
5.Realice un algoritmo que calcule e imprima el promedio de notas obtenidas por un alumno en un
semestre X, los datos de entrada son: nota final de: matemáticas, ingles, contabilidad e
informática.
6.Diseñe un algoritmo que calcule el área y el perímetro de un rectángulo. Los datos de entrada
son: base y altura. Las formulas son: área= base*altura;         perímetro=2*(base + altura)
7.Se desea otorgar una comisión a un vendedor, que será un porcentaje del 10% de sus tres
ventas. Realice un algoritmo que calcule e imprima dicha comisión conociendo el nombre del
vendedor y el monto de cada una de sus ventas que ha realizado.
8.Dado un número determinado de días, calcule e imprima cuantos segundos tienen estos días.
9.Hacer el algoritmo para escribir un programa que indique si un número ingresado por el
teclado es positivo.
   10.Hacer un algoritmo para un programa que calcule el pago que hacen un grupo de personas
   para ver una película teniendo en cuenta que si el grupo es menor de 8 personas el pago es de
   30 bs por persona y para grupos de 8 personas o más el pago es 20 bs por persona.
Unidad I. Algoritmos                                    Prof. Marlenys Valladare


11.Leer el sueldo de dos empleados con años de servicios en una organización. Si años de
servicios en mayor a 5 aplicarles un aumento 15% sobre el sueldo sino el 10%.

Más contenido relacionado

La actualidad más candente

Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmosarmando_franco
 
estructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientrasestructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientrasJohan Velandia
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujoLuisMiguelVO
 
Unidad 4 Técnicas para la formulación de algoritmos
Unidad 4 Técnicas para la formulación de algoritmosUnidad 4 Técnicas para la formulación de algoritmos
Unidad 4 Técnicas para la formulación de algoritmosCarlos M. Sandoval
 
Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programaciónMilton Escobar
 
Programacion Logica
Programacion LogicaProgramacion Logica
Programacion LogicaNatalia
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la ProgramaciónJeckson Loza
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacionnmqy28
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-cClariza
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkLaurence HR
 

La actualidad más candente (20)

Disenoestructuradoalgoritmos
DisenoestructuradoalgoritmosDisenoestructuradoalgoritmos
Disenoestructuradoalgoritmos
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
estructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientrasestructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientras
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Unidad 4 Técnicas para la formulación de algoritmos
Unidad 4 Técnicas para la formulación de algoritmosUnidad 4 Técnicas para la formulación de algoritmos
Unidad 4 Técnicas para la formulación de algoritmos
 
Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programación
 
Programacion Logica
Programacion LogicaProgramacion Logica
Programacion Logica
 
Pseudocodigo - Algoritmos - Diagramas de flujo
Pseudocodigo - Algoritmos - Diagramas de flujoPseudocodigo - Algoritmos - Diagramas de flujo
Pseudocodigo - Algoritmos - Diagramas de flujo
 
Informe de pseint
Informe de pseintInforme de pseint
Informe de pseint
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacion
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Unidad i-guia1
Unidad i-guia1Unidad i-guia1
Unidad i-guia1
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tk
 
1.3 Introduccion a los Algoritmos
1.3 Introduccion a los Algoritmos1.3 Introduccion a los Algoritmos
1.3 Introduccion a los Algoritmos
 

Similar a Unidad I Algoritmos

Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
Unidad algoritmos y df
Unidad algoritmos y dfUnidad algoritmos y df
Unidad algoritmos y dfernestdo1
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmicopaty_cursocompu
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoClariza
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representaciónBenjamin Medina Ramirez
 
Diseno dealgoritmos
Diseno dealgoritmosDiseno dealgoritmos
Diseno dealgoritmosDeyvid Atens
 
Bloque 1 informatica 2
Bloque 1 informatica 2Bloque 1 informatica 2
Bloque 1 informatica 2Noé AG
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica IINoe Altamirano
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica iiNoe Altamirano
 
Proyecto de-programacion
Proyecto de-programacionProyecto de-programacion
Proyecto de-programacionhelp center
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxTIRZOANTONIOMEDINACA1
 

Similar a Unidad I Algoritmos (20)

Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Unidad algoritmos y df
Unidad algoritmos y dfUnidad algoritmos y df
Unidad algoritmos y df
 
Diagrama
DiagramaDiagrama
Diagrama
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmico
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujo
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representación
 
Diseno dealgoritmos
Diseno dealgoritmosDiseno dealgoritmos
Diseno dealgoritmos
 
Tarea 4 algoritmos
Tarea 4 algoritmosTarea 4 algoritmos
Tarea 4 algoritmos
 
Bloque 1 informatica 2
Bloque 1 informatica 2Bloque 1 informatica 2
Bloque 1 informatica 2
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica II
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica ii
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Proyecto de-programacion
Proyecto de-programacionProyecto de-programacion
Proyecto de-programacion
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Los algoritmos
Los    algoritmosLos    algoritmos
Los algoritmos
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Más de Ender Melean

ambientacion del salon.pptx
ambientacion del salon.pptxambientacion del salon.pptx
ambientacion del salon.pptxEnder Melean
 
RELIGIÓN Y TUTORÍA.pptx
RELIGIÓN Y TUTORÍA.pptxRELIGIÓN Y TUTORÍA.pptx
RELIGIÓN Y TUTORÍA.pptxEnder Melean
 
Inclusion de conjuntos clases de conjuntos ppt
Inclusion de conjuntos   clases de conjuntos pptInclusion de conjuntos   clases de conjuntos ppt
Inclusion de conjuntos clases de conjuntos pptEnder Melean
 
Clase modelo para dar fracciones
Clase modelo para dar fraccionesClase modelo para dar fracciones
Clase modelo para dar fraccionesEnder Melean
 
Metodologia de estudios
Metodologia de estudiosMetodologia de estudios
Metodologia de estudiosEnder Melean
 
Cronograma de actividades virtuales inic prim
Cronograma de actividades virtuales inic primCronograma de actividades virtuales inic prim
Cronograma de actividades virtuales inic primEnder Melean
 
Valores personales
Valores personalesValores personales
Valores personalesEnder Melean
 
Responsabilidad social
Responsabilidad socialResponsabilidad social
Responsabilidad socialEnder Melean
 
Gascon unidad analisis
Gascon unidad analisisGascon unidad analisis
Gascon unidad analisisEnder Melean
 
04 ifd-aprendizaje-unidad-3
04 ifd-aprendizaje-unidad-304 ifd-aprendizaje-unidad-3
04 ifd-aprendizaje-unidad-3Ender Melean
 
Zelinski ernie el exito de los perezosos
Zelinski ernie   el exito de los perezososZelinski ernie   el exito de los perezosos
Zelinski ernie el exito de los perezososEnder Melean
 
Dyer, w wayne tus zonas erróneas (2)
Dyer, w wayne   tus zonas erróneas (2)Dyer, w wayne   tus zonas erróneas (2)
Dyer, w wayne tus zonas erróneas (2)Ender Melean
 
educacion del futuro
educacion del futuroeducacion del futuro
educacion del futuroEnder Melean
 

Más de Ender Melean (20)

TEOPOB6 (2).ppt
TEOPOB6 (2).pptTEOPOB6 (2).ppt
TEOPOB6 (2).ppt
 
ambientacion del salon.pptx
ambientacion del salon.pptxambientacion del salon.pptx
ambientacion del salon.pptx
 
RELIGIÓN Y TUTORÍA.pptx
RELIGIÓN Y TUTORÍA.pptxRELIGIÓN Y TUTORÍA.pptx
RELIGIÓN Y TUTORÍA.pptx
 
Horario.pptx
Horario.pptxHorario.pptx
Horario.pptx
 
Inclusion de conjuntos clases de conjuntos ppt
Inclusion de conjuntos   clases de conjuntos pptInclusion de conjuntos   clases de conjuntos ppt
Inclusion de conjuntos clases de conjuntos ppt
 
Clase modelo para dar fracciones
Clase modelo para dar fraccionesClase modelo para dar fracciones
Clase modelo para dar fracciones
 
Metodologia de estudios
Metodologia de estudiosMetodologia de estudios
Metodologia de estudios
 
Cronograma de actividades virtuales inic prim
Cronograma de actividades virtuales inic primCronograma de actividades virtuales inic prim
Cronograma de actividades virtuales inic prim
 
Valores personales
Valores personalesValores personales
Valores personales
 
Responsabilidad social
Responsabilidad socialResponsabilidad social
Responsabilidad social
 
Gascon unidad analisis
Gascon unidad analisisGascon unidad analisis
Gascon unidad analisis
 
04 ifd-aprendizaje-unidad-3
04 ifd-aprendizaje-unidad-304 ifd-aprendizaje-unidad-3
04 ifd-aprendizaje-unidad-3
 
Zelinski ernie el exito de los perezosos
Zelinski ernie   el exito de los perezososZelinski ernie   el exito de los perezosos
Zelinski ernie el exito de los perezosos
 
Dyer, w wayne tus zonas erróneas (2)
Dyer, w wayne   tus zonas erróneas (2)Dyer, w wayne   tus zonas erróneas (2)
Dyer, w wayne tus zonas erróneas (2)
 
educacion del futuro
educacion del futuroeducacion del futuro
educacion del futuro
 
Estrategias iv
Estrategias ivEstrategias iv
Estrategias iv
 
Estrategias iii
Estrategias iiiEstrategias iii
Estrategias iii
 
Estrategias iv
Estrategias ivEstrategias iv
Estrategias iv
 
Estrategias v
Estrategias vEstrategias v
Estrategias v
 
Estrategias ii
Estrategias iiEstrategias ii
Estrategias ii
 

Unidad I Algoritmos

  • 1. Unidad I. Algoritmos Prof. Marlenys Valladare Maracaibo, 22/03/10 ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados o instrucciones que describe el proceso que se debe seguir, para dar solución a un problema específico. No podemos apartar nuestra vida de los algoritmos. Sin darnos cuenta nuestra vida cotidiana está llena de ellos. Pero de alguna forma se hacen transparente. Ejemplo de algoritmos cuando nos levantamos todos los días para ir a nuestro trabajo u lugar donde estudiamos, hacemos un conjunto de pasos antes de llegar a nuestros trabajos. Algoritmos en programación Un programa de computadora es un algoritmo que le dice a la computadora los pasos específicos para llevar a cabo una tarea. Los algoritmos son rigurosamente definidos para que la computadora pueda interpretarlos. El orden en que se ejecuta cada uno de los pasos que constituyen un algoritmo es fundamental. El orden más básico es de arriba hacia abajo, ejecutándose una instrucción tras otra de un código. Pero un algoritmo puede variar en su flujo u orden de ejecución de pasos dependiendo de los valores de inicio o que entran durante su ejecución. 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. Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo fácilmente. Modificables: Estarán diseñados de modo que sus posteriores modificaciones sean fáciles de realizar, incluso por programadores diferentes a sus propios autores. Los pasos para la resolución de un problema son:
  • 2. Unidad I. Algoritmos Prof. Marlenys Valladare Diseño de algoritmo, que describe la secuencia ordenada de pasos que conducen a la solución de un problema dado. (Análisis del problema y desarrollo del algoritmo). Expresar el algoritmo como un programa de lenguaje de programación adecuado. (Fase de codificación.) Ejecución y validación del programa por la computadora. Partes de un algoritmo Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida. Donde: Entrada: Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados. Proceso: Pasos necesarios para obtener la solución del problema o la situación planteada. Salida: Resultados arrojados por el proceso como solución. Ejemplo: Preparar una receta de cocina Entrada: ingrediente y utensilios empleados. Proceso: elaboración de la receta en la cocina. Salida: terminación del plato (por ejemplo, pasticho). Tipos de algoritmos. Existen dos tipos y son llamados así por su naturaleza: Cualitativos: Son aquellos en los que se describen los pasos utilizando sólo palabras. Es decir, en sus pasos o instrucciones para resolver un problema no están involucrados cálculos numéricos. Ejemplos: instrucciones para armar un aeromodelo, desarrollar una actividad física o encontrar un tesoro, cursar una carrera a nivel superior, tejer un suéter entre otros. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Ejemplos: Calcular el factorial de un numero, solución de la ecuación de segundo grado, encontrar el mínimo común múltiplo entre otros. Lenguajes Algorítmicos: Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Entre ellos se encuentran: Gráficos y no gráficos. Tipos de Lenguajes Algorítmicos
  • 3. Unidad I. Algoritmos Prof. Marlenys Valladare Gráficos: Es la representación gráfica de las No Gráficos: Representa en forma operaciones que realiza un algoritmo (diagrama descriptiva las operaciones que debe de flujo). realizar un algoritmo (pseudocodigo). INICIO Edad: Entero ESCRIBA “cual es tu edad?” Lea Edad SI Edad >=18 entonces ESCRIBA “Eres mayor de Edad” FINSI ESCRIBA “fin del algoritmo” FIN El diagrama de flujo (DF) o Flowchart es una de las técnicas de representación de algoritmos más antigua, y consiste en representar mediante símbolos las operaciones a realizar. Por ejemplo: el inicio y el fin del algoritmo se representan con un símbolo elíptico, las entradas y salidas con un paralelogramo, las decisiones con un rombo, los procesos con un rectángulo, etc. 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 sean requeridos. Algunos símbolos son: Nombre Símbolo Función Representa el inicio y fin de un programa. También puede representar una Terminal parada o interrupción programada que sea necesaria realizar en un programa. Cualquier tipo de introducción de datos en la memoria desde los periféricos o Entrada / salida registro de información procesada en un periférico. Cualquier tipo de operación que pueda originar cambio de valor, formato o Proceso posición de la información almacenada en memoria, operaciones aritméticas, de transformaciones, etc. Indica operaciones lógicas o de comparación entre datos (normalmente dos) y Decisión en función del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir Sirve para enlazar dos partes cualesquiera de un diagrama a través de un Conector conector en la salida y otro conector en la entrada. Se refiere a la conexión en la Misma Página misma página del diagrama Indicador de dirección o Indica el sentido de la ejecución de las operaciones línea de flujo
  • 4. Unidad I. Algoritmos Prof. Marlenys Valladare Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un Salida pedazo de hoja. Es usado para mostrar datos o resultados. Reglas para la creación de Diagramas de flujo 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 van a 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 más de una línea de flujo de salida. Pseudocódigo: Es una herramienta de programación en la que las instrucciones se describen en palabras similares al inglés o español, que facilita tanto la escritura como la lectura de los programas de computación. Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo Ocupa menos espacio en una hoja de papel Permite representar en forma fácil operaciones repetitivas complejas Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación. Ejemplo de algoritmo cualitativo. Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocódigo y en diagramas de flujos: “Tengo un teléfono y necesito llamar a alguien pero no sé cómo hacerlo“.
  • 5. Unidad I. Algoritmos Prof. Marlenys Valladare Conceptos fundamentales para construir algoritmos cuantitativos. Tipos de datos: Numéricos (enteros y reales); lógicos; carácter y cadenas de caracteres. Identificador: Los datos a procesar por un computador, deben almacenarse en casillas o celdas de memoria para su posterior utilización. Declaración de variables: Es un proceso que consiste en listar al principio del algoritmo todas las variables (identificador) que se usaran, además de colocar el nombre de la variable que debe decir qué tipo de dato se almacenará ahí (real, entero, lógico, otros). Contador: entero Edad, I: entero Dirección: cadena_de_caracteres Salario_Basico: real Opción: carácter Variable: Objetos que pueden cambiar su valor durante la ejecución del programa. Constante: Son datos que no cambian durante la ejecución de un programa. Bloque de asignación: La asignación consiste, en el paso de valores o resultados a una zona de memoria. Dicha zona será reconocida con el nombre de la variable (identificador) que recibe el valor. Un bloque de asignación se utiliza para asignar valores o expresiones a una variable. Escritura o salida de datos: Consiste en mandar por un dispositivo de salida (ej. monitor o impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso se representa así como sigue:
  • 6. Unidad I. Algoritmos Prof. Marlenys Valladare Lectura o entrada de datos: La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuación de la instrucción. Esta operación se representa así: Ejemplos de algoritmos cuantitativos 1)Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. Use Pseudocódigo y diagrama de flujos. 2)Escriba un algoritmo que permita conocer el área de un triángulo a partir de la base y la altura. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.
  • 7. Unidad I. Algoritmos Prof. Marlenys Valladare Ejercicios propuestos 1.Leer la base y la altura de un rectángulo. Calcular y mostrar por pantalla el área del mismo. La fórmula del área es Área=base *altura 2.Un usuario solicita un libro para la lectura, si el libro se encuentra en la biblioteca se presta; de lo contrario se devuelve la ficha de solicitud. 3.Construir un algoritmo el sueldo básico de un obrero, si para ello se requiere ingresar por teclado la tarifa diaria y el número de horas trabajadas. La fórmula del sueldo básico es: sueldo =tarifa diaria* número de horas. 4.Escriba un algoritmo que lea el nombre y la fecha de nacimiento de una persona. Calcule y muestre el nombre y la edad del mismo. 5.Realice un algoritmo que calcule e imprima el promedio de notas obtenidas por un alumno en un semestre X, los datos de entrada son: nota final de: matemáticas, ingles, contabilidad e informática. 6.Diseñe un algoritmo que calcule el área y el perímetro de un rectángulo. Los datos de entrada son: base y altura. Las formulas son: área= base*altura; perímetro=2*(base + altura) 7.Se desea otorgar una comisión a un vendedor, que será un porcentaje del 10% de sus tres ventas. Realice un algoritmo que calcule e imprima dicha comisión conociendo el nombre del vendedor y el monto de cada una de sus ventas que ha realizado. 8.Dado un número determinado de días, calcule e imprima cuantos segundos tienen estos días. 9.Hacer el algoritmo para escribir un programa que indique si un número ingresado por el teclado es positivo. 10.Hacer un algoritmo para un programa que calcule el pago que hacen un grupo de personas para ver una película teniendo en cuenta que si el grupo es menor de 8 personas el pago es de 30 bs por persona y para grupos de 8 personas o más el pago es 20 bs por persona.
  • 8. Unidad I. Algoritmos Prof. Marlenys Valladare 11.Leer el sueldo de dos empleados con años de servicios en una organización. Si años de servicios en mayor a 5 aplicarles un aumento 15% sobre el sueldo sino el 10%.