SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Tema 2. Concepto de
                  Algoritmo




Objetivos
    Definir el concepto de algoritmo
    Resolver problemas sencillos mediante el diseño
    de un algoritmo
    Conocer los tipos de datos elementales y las
    operaciones sobre ellos




Tema 2. Concepto de algoritmo                         2




                                                          1
Tema 2. Concepto de algoritmo
1.     Resolución de problemas

2.     Definición de algoritmo

3.     Tipos de datos

4.     Elementos de un algoritmo

5.     Variables, constantes y expresiones

6.     Precedencia de los operadores




Tema 2. Concepto de algoritmo                                                             3




Resolución de problemas
     ¿Cómo se resuelve un problema mediante la programación?
          Definir claramente el problema
               Identificación de datos de entrada, de salida, de variables intermedias…

          Separar entre
               Fase de solución general al problema: diseño de un algoritmo
               Fase de solución específica: programa de ordenador escrito en algún
               lenguaje de programación




                                        Diseño del                Programa de
               Problema
                                        algoritmo                  ordenador




Tema 2. Concepto de algoritmo                                                             4




                                                                                              2
Pasos para resolver un problema
    Diseño del algoritmo
    Codificación del algoritmo mediante un programa
    escrito en lenguaje de programación adecuado
    Ejecución y validación de programa




Tema 2. Concepto de algoritmo                                                   5




Definición de algoritmo
    La palabra algoritmo proviene del nombre del matemático persa
    del siglo IX Muhammad ibn Musa al-Jwarizmi
    Un algoritmo es una secuencia ordenada de pasos, exenta de
    ambigüedad, que permite la resolución de un problema
    determinado
    Características de un algoritmo
          Preciso: exento de ambigüedad
          Finito: si se sigue el algoritmo, se debe terminar en algún momento
          Definido: si se sigue dos veces el algoritmo con los mismo datos de
          entrada, la salida debe ser la misma




Tema 2. Concepto de algoritmo                                                   6




                                                                                    3
Algoritmo para cambiar una
bombilla
1.    Retirar la bombilla fundida
      1.   Colocar una escalera debajo de la bombilla
      2.   Subir la escalera
      3.   Desenroscar la bombilla en el sentido contrario de las agujas del reloj
      4.   Bajar la escalera
2.    Poner una bombilla nueva
      1.   Coger la bombilla nueva
      2.   Subir la escalera
      3.   Enroscar la bombilla en el sentido de las agujas del reloj
      4.   Bajar la escalera
      5.   Retirar la escalera




Tema 2. Concepto de algoritmo                                                                  7




Notaciones para describir
algoritmos
     Método informal
           Lenguaje natural
                Ventajas: comprensible e intuitivo
                Inconveniente: impreciso
     Métodos formales
           Pseudocódigo
                Lenguaje natural limitado y sin ambigüedad
           Diagramas
                Diagramas de flujo u organigramas
                      Utiliza un conjunto de símbolos para representar cada estructura de
                      control y mediante líneas de flujo se indica el orden en que se realiza el
                      flujo lógico del algoritmo
                Diagramas de Nassi-Schneiderman o Diagramas N-S
                      Los pasos sucesivos se escriben en cajas con distintas formas según la
                      estructura de control que representen




Tema 2. Concepto de algoritmo                                                                  8




                                                                                                   4
Descripción de algoritmos
     Metodología para describir algoritmos
          Entrada
          Proceso
          Salida




Tema 2. Concepto de algoritmo                          9




Algoritmo para calcular el cociente de una división
entera sin usar la operación de división
(Lenguaje Natural)

1.    Leer el numerador N y el denominador D
2.    Inicializar el cociente a 0 (C ← 0)
3.    Si N<D ir al paso 7
4.    Restar a N el valor de D (N ← N-D)
5.    Incrementar en uno C (C ← C+1)
6.    Si N>=D volver al paso 4
7.    Mostrar el valor de C




Tema 2. Concepto de algoritmo                         10




                                                           5
Algoritmo para calcular el cociente de
una división entera (Organigrama)

                                     Leer N y D


                                       C←0


                                SI                NO
                                       N<D
                                                       N←N-D


                Escribir C                             C←C+1




Tema 2. Concepto de algoritmo                                  11




Tipos de datos
    Conjunto de valores junto con las operaciones sobre esos
    valores
    Tipos elementales
          Entero
          Real
          Carácter
          Lógico




Tema 2. Concepto de algoritmo                                  12




                                                                    6
Tipos de datos
    Tipo Entero
          Conjunto de los números enteros positivos y negativos
          En la práctica están limitados por el almacenamiento -> Overflow
          Operaciones básicas: aritméticas, relacionales

    Tipo Real
          Conjunto de los números reales positivos y negativos (parte entera y
          parte decimal separada por un punto)
          En la práctica están limitados por el almacenamiento -> Overflow
          Operaciones básicas: aritméticas, relacionales




Tema 2. Concepto de algoritmo                                                    13




Tipos de datos
    Tipo carácter
          Conjunto de elementos de un conjunto de caracteres predefinidos o
          alfabeto (normalmente se utiliza el conjunto de caracteres ASCII)
          Generalmente se almacenan internamente como datos enteros (código
          ASCII)
          Operaciones de conversión de enteros a caracteres y viceversa y
          relacionales

    Lógicos
          Valores entre 2 posibles, es decir, valores binarios (verdad/falso,
          si/no)
          En algunos lenguajes no se implementan sino que se consideran como
          verdad cualquier valor distinto de 0
          Operaciones: operadores lógicos (AND, OR y NOT)
          Fundamentales para evaluar condiciones




Tema 2. Concepto de algoritmo                                                    14




                                                                                      7
Operadores lógicos
                                    AND   OR       NOT


                          V     V    V    V    F         F

                          V     F    F    V    F         V

                          F     V    F    V    V         F

                          F     F    F    F    V         V



        (3<4) OR (3=4)
        (Respuesta=‘S’) AND (salir=‘N’)
        NOT ((3<4) OR (3=4))
        (caracter=‘A’) AND (caracter=‘B’) es siempre FALSO
        (N<=10) OR (N>10) es siempre VERDAD


Tema 2. Concepto de algoritmo                                15




Elementos de un algoritmo
    Variables, constantes y expresiones
    Estructuras de control
          Secuencial
                Operación de asignación
                Operación de entrada
                Operación de salida
          Condicional
          Repetitiva




Tema 2. Concepto de algoritmo                                16




                                                                  8
Variables
      Una variable es un objeto de datos que posee un valor conocido por
      su nombre (identificador)
      Toda variable tiene un tipo asociado
      Su valor puede ser modificado pero en un instante dado sólo
      contiene un valor determinado
      Es necesario declarar las variables al principio del algoritmo
            Elegir el nombre mediante un identificador
            Determinar el tipo de datos que va a contener
      Ejemplos
               Sueldo: real
               Edad: entero
               Letra_nif: caracter




Tema 2. Concepto de algoritmo                                            17




Constantes
    Objeto de datos que contiene un valor invariable conocido por su
    identificador
    Es necesario inicializar las constantes al principio del algoritmo
          Esto determina el tipo de la constante
    Ejemplos
             PI=3.14
             SALUDO=“Hola mundo”
             MAXIMO=500
             RESPUESTA=‘S’




Tema 2. Concepto de algoritmo                                            18




                                                                              9
Identificadores
    Un identificador es una secuencia de caracteres que permite
    identificar de forma única a cada elemento/objeto de un algoritmo
    No todos los caracteres son válidos por lo que normalmente se
    usan letras, dígitos y subrayado (_)
    El primer carácter debe ser una letra o subrayado
    Pueden tener cualquier longitud dentro del límite que imponga el
    compilador
    Las palabras reservadas del lenguaje no pueden utilizarse como
    identificadores
    Algunos lenguajes no distinguen entre caracteres en mayúsculas y
    minúsculas (Pascal, Modula-2) y otros sí (C, Java)
    Reglas para crear identificadores
          Usar solo letras, dígitos y subrayado
          Usar minúsculas para identificadores de variables
          Usar mayúsculas para identificadores de constantes
          Para identificadores de funciones con más de una palabra usar
          subrayado para separar las palabras o mayúsculas para la primera
          letra de cada palabra (Ej. CalcularFechaNacimiento)


Tema 2. Concepto de algoritmo                                                19




Valores constantes
         También llamados valores literales
         Se trata de valores que aparecen explícitamente en un algoritmo
         y que no tienen identificador asociado (sólo pueden ser
         referenciados por su propio valor)
         Ejemplos
              0
              “Introduzca el dato de entrada”
              100
              7.5
              ‘x’




Tema 2. Concepto de algoritmo                                                20




                                                                                  10
Expresiones
         Una expresión es la combinación de distintas variables,
         constantes, valores constantes, operadores, paréntesis y
         nombres de funciones
         Toda expresión tiene en todo momento un valor concreto que es
         el resultado de evaluarla de izquierda a derecha, siempre
         teniendo en cuenta la precedencia de los operadores y los
         paréntesis que aparecen en la expresión
         El valor devuelto tras la evaluación de una expresión determina
         el tipo de la expresión (entera, lógica …)
         Ejemplos
              5+6-5*2
              (5+6-5)*2
              (A<0) OR B AND C




Tema 2. Concepto de algoritmo                                                                    21




Precedencia de los operadores

        Operadores              Operadores Relacionales              Operadores
         Lógicos                                                     Aritméticos
             NOT                 <, > , = , <= , >=, <>      Operadores de signo (+,-)

             AND                                          Multiplicación y división (* , /, %)

              OR                                                Suma y resta (+ , -)




Tema 2. Concepto de algoritmo                                                                    22




                                                                                                      11
Ejemplo de árboles de precedencia

 7* 3 - 5            2    /     (2 + 3) *   8   ((2 * 3) < 8) AND ((5 * 2) >= 14)

 21             25                5                6                 10

                          5                        verdad              falso
                                  40
                                                             falso
                     -19




Tema 2. Concepto de algoritmo                                                       23




Resumen
      Resolución de problemas mediante el diseño de
      algoritmos y la posterior codificación de un
      programa en un lenguaje de alto nivel
      Algoritmo
          Definición
          Características
          Etapas para describir algoritmos
          Elementos básicos
      Tipos de datos
      Identificadores, variables, constantes y
      expresiones
      Precedencia de los operadores

Tema 2. Concepto de algoritmo                                                       24




                                                                                         12

Más contenido relacionado

La actualidad más candente

Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++Nana Garces
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Unidad 06 metodología, técnica y tecnología para solucionar un problema
Unidad 06   metodología, técnica y tecnología para solucionar un problemaUnidad 06   metodología, técnica y tecnología para solucionar un problema
Unidad 06 metodología, técnica y tecnología para solucionar un problemaLorenzo Alejo
 
Diseño de salidas del sistema
Diseño de salidas del sistemaDiseño de salidas del sistema
Diseño de salidas del sistemacidbauniquindio
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semanticoInfomania pro
 
Automata de Pila y Maquina de Turing No Deterministas
Automata de Pila y Maquina de Turing No DeterministasAutomata de Pila y Maquina de Turing No Deterministas
Automata de Pila y Maquina de Turing No DeterministasPedro Roman
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programaciónnormaroldano
 
Código de ética del Ingeniero en sistemas computacionales
Código de ética del Ingeniero en sistemas computacionalesCódigo de ética del Ingeniero en sistemas computacionales
Código de ética del Ingeniero en sistemas computacionalesDan Huerta
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Anllel Cardenas Yllanes
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOadark
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónAngel Aguilar
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 

La actualidad más candente (20)

Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADORFUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR
 
Unidad 06 metodología, técnica y tecnología para solucionar un problema
Unidad 06   metodología, técnica y tecnología para solucionar un problemaUnidad 06   metodología, técnica y tecnología para solucionar un problema
Unidad 06 metodología, técnica y tecnología para solucionar un problema
 
Diseño de salidas del sistema
Diseño de salidas del sistemaDiseño de salidas del sistema
Diseño de salidas del sistema
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
Automata de Pila y Maquina de Turing No Deterministas
Automata de Pila y Maquina de Turing No DeterministasAutomata de Pila y Maquina de Turing No Deterministas
Automata de Pila y Maquina de Turing No Deterministas
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 
Arquitecturas de computadoras
Arquitecturas de computadorasArquitecturas de computadoras
Arquitecturas de computadoras
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
canonicas
canonicascanonicas
canonicas
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programación
 
preguntas de algoritmos
preguntas de algoritmospreguntas de algoritmos
preguntas de algoritmos
 
Código de ética del Ingeniero en sistemas computacionales
Código de ética del Ingeniero en sistemas computacionalesCódigo de ética del Ingeniero en sistemas computacionales
Código de ética del Ingeniero en sistemas computacionales
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Diferencias entre arquitectura y organización
Diferencias entre arquitectura y organizaciónDiferencias entre arquitectura y organización
Diferencias entre arquitectura y organización
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 

Destacado

diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos TiffanyMartinez
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmosaralylopez88
 
La diferencia entre función y procedimiento
La diferencia entre función y procedimientoLa diferencia entre función y procedimiento
La diferencia entre función y procedimientoAnita_Sango
 
Diapositivas algoritmos
Diapositivas algoritmosDiapositivas algoritmos
Diapositivas algoritmoswrtc
 
Presentacion de algoritmos
Presentacion de algoritmosPresentacion de algoritmos
Presentacion de algoritmossistemas2011
 
Diapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujoDiapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujoKellyDeArmas
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 
1 conceptos algoritmos
1 conceptos algoritmos1 conceptos algoritmos
1 conceptos algoritmosLeidy Campos
 
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
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
Tutorial algoritmo estructuras condicionales
Tutorial algoritmo   estructuras condicionalesTutorial algoritmo   estructuras condicionales
Tutorial algoritmo estructuras condicionalesMichele André
 
12. arreglos parte i
12. arreglos parte i12. arreglos parte i
12. arreglos parte ircarrerah
 
Fp sesion 1 ppt
Fp sesion 1 pptFp sesion 1 ppt
Fp sesion 1 pptThejacob18
 
Practicas (pseudocodigos & algoritmos)
Practicas (pseudocodigos & algoritmos)Practicas (pseudocodigos & algoritmos)
Practicas (pseudocodigos & algoritmos)Eli Diaz
 
Algoritmos de la vida cotidiana
Algoritmos de la vida cotidianaAlgoritmos de la vida cotidiana
Algoritmos de la vida cotidianaArianaAlvareez
 

Destacado (20)

diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmos
 
La diferencia entre función y procedimiento
La diferencia entre función y procedimientoLa diferencia entre función y procedimiento
La diferencia entre función y procedimiento
 
Diapositivas algoritmos
Diapositivas algoritmosDiapositivas algoritmos
Diapositivas algoritmos
 
Presentacion de algoritmos
Presentacion de algoritmosPresentacion de algoritmos
Presentacion de algoritmos
 
Diapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujoDiapositivas algoritmos Pseudocodigo diagramas de flujo
Diapositivas algoritmos Pseudocodigo diagramas de flujo
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 
Elaboracion de algoritmos
Elaboracion de algoritmosElaboracion de algoritmos
Elaboracion de algoritmos
 
Algoritmos ejemplos
Algoritmos ejemplosAlgoritmos ejemplos
Algoritmos ejemplos
 
Ppt algoritmo
Ppt algoritmoPpt algoritmo
Ppt algoritmo
 
1 conceptos algoritmos
1 conceptos algoritmos1 conceptos algoritmos
1 conceptos 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
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Tutorial algoritmo estructuras condicionales
Tutorial algoritmo   estructuras condicionalesTutorial algoritmo   estructuras condicionales
Tutorial algoritmo estructuras condicionales
 
12. arreglos parte i
12. arreglos parte i12. arreglos parte i
12. arreglos parte i
 
Fp sesion 1 ppt
Fp sesion 1 pptFp sesion 1 ppt
Fp sesion 1 ppt
 
Practicas (pseudocodigos & algoritmos)
Practicas (pseudocodigos & algoritmos)Practicas (pseudocodigos & algoritmos)
Practicas (pseudocodigos & algoritmos)
 
Algoritmos de la vida cotidiana
Algoritmos de la vida cotidianaAlgoritmos de la vida cotidiana
Algoritmos de la vida cotidiana
 

Similar a Algoritmo en powerpoint

Pres algoritmos
Pres algoritmosPres algoritmos
Pres algoritmoswmvp
 
Unidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.pptUnidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.pptssuser6eba56
 
Unidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmosUnidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmosAlexandra Ochoa
 
Pares algoritmos
Pares algoritmosPares algoritmos
Pares algoritmosbraken262
 
Diagramas de-flujo.
Diagramas de-flujo.Diagramas de-flujo.
Diagramas de-flujo.Uriel Lopez
 
Pares algoritmos
Pares algoritmosPares algoritmos
Pares algoritmosbraken262
 
Logica de programacion de algoritmos
Logica de programacion de algoritmosLogica de programacion de algoritmos
Logica de programacion de algoritmosDavid Ramos
 
Algoritmos y programas datos importantes
Algoritmos y programas datos importantesAlgoritmos y programas datos importantes
Algoritmos y programas datos importantesEsteban Bedoya
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadorarestradal
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadorarestradal
 
03 Intro Programacion C
03 Intro Programacion C03 Intro Programacion C
03 Intro Programacion CEdwinRicardo
 

Similar a Algoritmo en powerpoint (20)

algoritmica
algoritmicaalgoritmica
algoritmica
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Pres algoritmos
Pres algoritmosPres algoritmos
Pres algoritmos
 
Pres algoritmos
Pres algoritmosPres algoritmos
Pres algoritmos
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.pptUnidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.ppt
 
Unidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmosUnidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmos
 
Pares algoritmos
Pares algoritmosPares algoritmos
Pares algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Diagramas de-flujo.
Diagramas de-flujo.Diagramas de-flujo.
Diagramas de-flujo.
 
Pares algoritmos
Pares algoritmosPares algoritmos
Pares algoritmos
 
Logica de programacion de algoritmos
Logica de programacion de algoritmosLogica de programacion de algoritmos
Logica de programacion de algoritmos
 
Algoritmos y programas datos importantes
Algoritmos y programas datos importantesAlgoritmos y programas datos importantes
Algoritmos y programas datos importantes
 
Pares algoritmos
Pares algoritmosPares algoritmos
Pares algoritmos
 
Semana 1
Semana 1Semana 1
Semana 1
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
 
03 Intro Programacion C
03 Intro Programacion C03 Intro Programacion C
03 Intro Programacion C
 

Algoritmo en powerpoint

  • 1. Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos Tema 2. Concepto de algoritmo 2 1
  • 2. Tema 2. Concepto de algoritmo 1. Resolución de problemas 2. Definición de algoritmo 3. Tipos de datos 4. Elementos de un algoritmo 5. Variables, constantes y expresiones 6. Precedencia de los operadores Tema 2. Concepto de algoritmo 3 Resolución de problemas ¿Cómo se resuelve un problema mediante la programación? Definir claramente el problema Identificación de datos de entrada, de salida, de variables intermedias… Separar entre Fase de solución general al problema: diseño de un algoritmo Fase de solución específica: programa de ordenador escrito en algún lenguaje de programación Diseño del Programa de Problema algoritmo ordenador Tema 2. Concepto de algoritmo 4 2
  • 3. Pasos para resolver un problema Diseño del algoritmo Codificación del algoritmo mediante un programa escrito en lenguaje de programación adecuado Ejecución y validación de programa Tema 2. Concepto de algoritmo 5 Definición de algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-Jwarizmi Un algoritmo es una secuencia ordenada de pasos, exenta de ambigüedad, que permite la resolución de un problema determinado Características de un algoritmo Preciso: exento de ambigüedad Finito: si se sigue el algoritmo, se debe terminar en algún momento Definido: si se sigue dos veces el algoritmo con los mismo datos de entrada, la salida debe ser la misma Tema 2. Concepto de algoritmo 6 3
  • 4. Algoritmo para cambiar una bombilla 1. Retirar la bombilla fundida 1. Colocar una escalera debajo de la bombilla 2. Subir la escalera 3. Desenroscar la bombilla en el sentido contrario de las agujas del reloj 4. Bajar la escalera 2. Poner una bombilla nueva 1. Coger la bombilla nueva 2. Subir la escalera 3. Enroscar la bombilla en el sentido de las agujas del reloj 4. Bajar la escalera 5. Retirar la escalera Tema 2. Concepto de algoritmo 7 Notaciones para describir algoritmos Método informal Lenguaje natural Ventajas: comprensible e intuitivo Inconveniente: impreciso Métodos formales Pseudocódigo Lenguaje natural limitado y sin ambigüedad Diagramas Diagramas de flujo u organigramas Utiliza un conjunto de símbolos para representar cada estructura de control y mediante líneas de flujo se indica el orden en que se realiza el flujo lógico del algoritmo Diagramas de Nassi-Schneiderman o Diagramas N-S Los pasos sucesivos se escriben en cajas con distintas formas según la estructura de control que representen Tema 2. Concepto de algoritmo 8 4
  • 5. Descripción de algoritmos Metodología para describir algoritmos Entrada Proceso Salida Tema 2. Concepto de algoritmo 9 Algoritmo para calcular el cociente de una división entera sin usar la operación de división (Lenguaje Natural) 1. Leer el numerador N y el denominador D 2. Inicializar el cociente a 0 (C ← 0) 3. Si N<D ir al paso 7 4. Restar a N el valor de D (N ← N-D) 5. Incrementar en uno C (C ← C+1) 6. Si N>=D volver al paso 4 7. Mostrar el valor de C Tema 2. Concepto de algoritmo 10 5
  • 6. Algoritmo para calcular el cociente de una división entera (Organigrama) Leer N y D C←0 SI NO N<D N←N-D Escribir C C←C+1 Tema 2. Concepto de algoritmo 11 Tipos de datos Conjunto de valores junto con las operaciones sobre esos valores Tipos elementales Entero Real Carácter Lógico Tema 2. Concepto de algoritmo 12 6
  • 7. Tipos de datos Tipo Entero Conjunto de los números enteros positivos y negativos En la práctica están limitados por el almacenamiento -> Overflow Operaciones básicas: aritméticas, relacionales Tipo Real Conjunto de los números reales positivos y negativos (parte entera y parte decimal separada por un punto) En la práctica están limitados por el almacenamiento -> Overflow Operaciones básicas: aritméticas, relacionales Tema 2. Concepto de algoritmo 13 Tipos de datos Tipo carácter Conjunto de elementos de un conjunto de caracteres predefinidos o alfabeto (normalmente se utiliza el conjunto de caracteres ASCII) Generalmente se almacenan internamente como datos enteros (código ASCII) Operaciones de conversión de enteros a caracteres y viceversa y relacionales Lógicos Valores entre 2 posibles, es decir, valores binarios (verdad/falso, si/no) En algunos lenguajes no se implementan sino que se consideran como verdad cualquier valor distinto de 0 Operaciones: operadores lógicos (AND, OR y NOT) Fundamentales para evaluar condiciones Tema 2. Concepto de algoritmo 14 7
  • 8. Operadores lógicos AND OR NOT V V V V F F V F F V F V F V F V V F F F F F V V (3<4) OR (3=4) (Respuesta=‘S’) AND (salir=‘N’) NOT ((3<4) OR (3=4)) (caracter=‘A’) AND (caracter=‘B’) es siempre FALSO (N<=10) OR (N>10) es siempre VERDAD Tema 2. Concepto de algoritmo 15 Elementos de un algoritmo Variables, constantes y expresiones Estructuras de control Secuencial Operación de asignación Operación de entrada Operación de salida Condicional Repetitiva Tema 2. Concepto de algoritmo 16 8
  • 9. Variables Una variable es un objeto de datos que posee un valor conocido por su nombre (identificador) Toda variable tiene un tipo asociado Su valor puede ser modificado pero en un instante dado sólo contiene un valor determinado Es necesario declarar las variables al principio del algoritmo Elegir el nombre mediante un identificador Determinar el tipo de datos que va a contener Ejemplos Sueldo: real Edad: entero Letra_nif: caracter Tema 2. Concepto de algoritmo 17 Constantes Objeto de datos que contiene un valor invariable conocido por su identificador Es necesario inicializar las constantes al principio del algoritmo Esto determina el tipo de la constante Ejemplos PI=3.14 SALUDO=“Hola mundo” MAXIMO=500 RESPUESTA=‘S’ Tema 2. Concepto de algoritmo 18 9
  • 10. Identificadores Un identificador es una secuencia de caracteres que permite identificar de forma única a cada elemento/objeto de un algoritmo No todos los caracteres son válidos por lo que normalmente se usan letras, dígitos y subrayado (_) El primer carácter debe ser una letra o subrayado Pueden tener cualquier longitud dentro del límite que imponga el compilador Las palabras reservadas del lenguaje no pueden utilizarse como identificadores Algunos lenguajes no distinguen entre caracteres en mayúsculas y minúsculas (Pascal, Modula-2) y otros sí (C, Java) Reglas para crear identificadores Usar solo letras, dígitos y subrayado Usar minúsculas para identificadores de variables Usar mayúsculas para identificadores de constantes Para identificadores de funciones con más de una palabra usar subrayado para separar las palabras o mayúsculas para la primera letra de cada palabra (Ej. CalcularFechaNacimiento) Tema 2. Concepto de algoritmo 19 Valores constantes También llamados valores literales Se trata de valores que aparecen explícitamente en un algoritmo y que no tienen identificador asociado (sólo pueden ser referenciados por su propio valor) Ejemplos 0 “Introduzca el dato de entrada” 100 7.5 ‘x’ Tema 2. Concepto de algoritmo 20 10
  • 11. Expresiones Una expresión es la combinación de distintas variables, constantes, valores constantes, operadores, paréntesis y nombres de funciones Toda expresión tiene en todo momento un valor concreto que es el resultado de evaluarla de izquierda a derecha, siempre teniendo en cuenta la precedencia de los operadores y los paréntesis que aparecen en la expresión El valor devuelto tras la evaluación de una expresión determina el tipo de la expresión (entera, lógica …) Ejemplos 5+6-5*2 (5+6-5)*2 (A<0) OR B AND C Tema 2. Concepto de algoritmo 21 Precedencia de los operadores Operadores Operadores Relacionales Operadores Lógicos Aritméticos NOT <, > , = , <= , >=, <> Operadores de signo (+,-) AND Multiplicación y división (* , /, %) OR Suma y resta (+ , -) Tema 2. Concepto de algoritmo 22 11
  • 12. Ejemplo de árboles de precedencia 7* 3 - 5 2 / (2 + 3) * 8 ((2 * 3) < 8) AND ((5 * 2) >= 14) 21 25 5 6 10 5 verdad falso 40 falso -19 Tema 2. Concepto de algoritmo 23 Resumen Resolución de problemas mediante el diseño de algoritmos y la posterior codificación de un programa en un lenguaje de alto nivel Algoritmo Definición Características Etapas para describir algoritmos Elementos básicos Tipos de datos Identificadores, variables, constantes y expresiones Precedencia de los operadores Tema 2. Concepto de algoritmo 24 12