SlideShare una empresa de Scribd logo
1 de 31
ALGORÍTMICA


Dpto. Ingeniería de Sistemas y Automática
          Facultad de Ciencias
        Universidad de Valladolid.
Indíce
  Algoritmo
  Elementos de un algoritmo:
    Variables, Constantes, Expresiones
  Datos:
    Definición y Tipos de datos
  Representación de algoritmos:
    Pseudocódigo
    Diagramas de flujo
  Sentencias:
    Asignación
    Entrada/salida
    Estructuras de control: condicional, bucles, funciones.
Algoritmos

 Algoritmo: es una secuencia finita de operaciones
 que resuelve un problema en un tiempo finito.
 Sus características son:
    Finito: debe tener un número finito de pasos, por
    lo que debe estar limitado tanto en tiempo de
    realización como por el número de pasos que
    realiza
    Definido: para los mismos datos de entrada
    obtienen los mismos de salida
    Preciso: debe indicarse el orden de realización de
    cada paso
    Independiente del lenguaje de programación
Elementos de un algoritmo

  Un algoritmo consta de datos y de sentencias

         Se almacenan
 Datos                  Variables y constantes

                                    Son involucrados

                            En expresiones


Las sentencias describen las acciones que pueden ser
ejecutadas, en general realizan cálculos,
entradas/salidas y control de flujo del algoritmo
Variables, constantes y expresiones

  Variable: elemento del algoritmo que posee un valor,
  conocido por un nombre o identificador y que
  pertenece a un tipo de dato definido al inicio del
  algoritmo

  Debe ser declarada antes de usarse !!!!!!!!

  En un algoritmo la declaración consta de una
  sentencia que especifica: el tipo de dato, su nombre
  y un valor inicial en algunas ocasiones
Variables, constantes y expresiones

  Constante: los elementos del algoritmo que no
  cambian de valor a lo largo del algoritmo
  Las constantes deben ser inicializadas de acuerdo
  con el tipo de dato al que pertenecen

  Expresión: es una combinación de variables,
  constantes, valores constantes, operadores y
  funciones especiales que, en cada momento, al
  evaluarla tiene un valor concreto
  Las expresiones más representativas son las
  numéricas y las lógicas
Expresiones

  Las expresiones numéricas tienen como resultado
  datos numéricos

Los operadores: ^, Signo: (+,-), *,/, +, -
                                Orden de precedencia de
                                mayor a menor


  Las operaciones entre paréntesis se evalúan primero
  Las operaciones aritméticas se evalúan según el
  orden de prioridad
Expresiones

  Las expresiones lógicas son las que ofrecen como
  resultado después de su operación un valor lógico.

  Los operadores lógicos que involucran son: AND,
  OR,NOT y los relacionales: <, >, ==, <=, >=, ~=


 NOT, AND, OR, operadores relacionales

                         Orden de
                         precedencia
Tipos de datos

  Dato es una información relativa a un objeto que es
  manipulable por el ordenador, que posee un valor y
  que es conocido en un programa o algoritmo por un
  nombre o identificador del dato.

  El identificador indica una dirección de memoria, y es
  el nombre por el que se conoce a ese dato.

  Existen datos elementales y estructurados
Tipos de datos

                                Entero
                      Simples   Real
                                Lógico
                                Carácter
                                Puntero
           Tipos de Datos       Enumerado
                                Subrango
  Estructurados

Arrays, cadenas,
registros, listas, árboles
Tipos de datos

  Enteros: Representan números positivos o negativos
  sin decimales, en el rango [-2n-1, 2n-1-1]


  Reales: Almacenan un valor de la forma N=M*BE

  Carácter: Representan elementos individuales de un
  conjunto finito de caracteres.


  Lógico o booleano: Solo pueden tener dos posibles
  valores verdadero o falso
Tipos de datos

  Enumerado: este tipo de dato requiere que el
  programador defina el rango de valores que puede
  tomar

  Subrango: este tipo de dato se define a partir del tipo
  de dato entero, carácter o enumerado, con solo decir
  que el tipo de dato definido podrá tomar un conjunto
  de valores limitado del original

  Puntero: es aquel cuyo valor es la dirección en
  memoria de otro dato
Datos estructurados

  Una estructura es estática cuando el tamaño en
  memoria ocupado se define antes de la ejecución del
  programa y no puede modificarse durante la
  ejecución.

  Una estructura dinámica es aquella en la que no se
  define a priori su tamaño en memoria

  Un conjunto homogéneo es aquel que está formado
  por datos del mismo tipo, y es ordenado si se puede
  acceder a cada uno de sus elementos usando un
  identificador
Datos estructurados

  Array es una estructura de datos homogénea,
  estática y ordenada, formada por una cantidad fija de
  datos de un mismo tipo, cada uno tiene asociado uno
  o más índices que determinan la posición del dato en
  el array.
                                   A(3)

            A

                1    2   3   4



  Cadenas de caracteres está formada por una
  secuencia de caracteres en un orden determinado,
  por lo tanto es una estructura homogénea, estática y
  de acceso por posición
Datos estructurados

  Registros: formada por varios elementos o campos
  que se refieren a una misma entidad, es
  heterogénea, estática y de acceso por nombre

  Lista: es una estructura de datos homogénea,
  dinámica y de acceso por clave. Se constituye por
  una cantidad no prefijada de registros, con al menos
  dos campos, uno de los cuales sirve para localizar al
  sgte. elemento de la lista

  Árbol: es una estructura de datos homogénea y
  dinámica que ordena los elementos que la integran
  en forma de árbol, usando nodos y subárboles
Representación de algoritmos

      Pseudocódigo.
      Diagramas de flujo.

ALGORITMO nombre del algoritmo
ENTRADA descripción de los datos de entrada al algoritmo
SALIDA descripción de los datos de salida del algoritmo
VARIABLES lista de variables usadas separadas por comas
INICIO
       cuerpo del algoritmo
FIN
Representación de los algoritmos

          Sentencias: Describen lo que debe hacer el
          algoritmo. Varios tipos:
                Asignación: almacena un valor en una variable o
                constante. Se representa con el operador :


           Variable         Expresión


                    Deben ser del                         a   b
                                    Una variable,
Identificador       mismo tipo
                                    constante,
declarado
                                    constante literal o
anteriormente
                                    fórmula a evaluar.
Representación de los algoritmos

    Entrada/salida: Pueden almacenarse de tres
    formas: asociados con constantes, asignados a
    una variable o una sentencia de lectura.
       Entrada: Leer lista de variables separadas por
       comas

      Salida: Escribir lista de variables o expresiones
      separadas por comas



           Leer b               Escribir a
Representación de los algoritmos

  En Matlab:
    Sentencias de asignación:
       A=23
       b = 48*A+b
       .......
    Sentencias de entada /salida:
       Entrada: n=input(‘dame el valor n’);
       Salida: nombre de la variable sin ; :
         •   N
         •   A
         •   .....
Representación de los algoritmos

    Sentencias de control de flujo del algoritmo:
       Secuenciales: todas las instrucciones se
       ejecutan una detrás de otra:
       Ejemplo: calcular el área de un triangulo

       Selectivas (bifurcaciones): se evalúa una
       expresión lógica o relacional, y en función de
       su resultado se selecciona cual de las posibles
       opciones se toma
       Ejemplo: dados dos números imprime el mayor
       de ellos
Representación de los algoritmos

 Speudocódigo             Diagrama de flujo

SI condición
      ENTONCES
      sentencia 1
       ….
                    NO
SI NO                                   SI
                          CONDICION
      sentencia 2
        ….
FIN_SI
Representación de los algoritmos

   En Matlab:
                       If condición
                              sentencia 1

if condición                  ..........
      sentencia 1      elseif condicion
        ….
                              sentencia 2
else
       sentencia 2            ......
         ….            else
end
                          sentencia 3
                          .......
                       end
Representación de los algoritmos

  Otra forma de estructura de control selectiva

    EN CASO DE QUE expresión VALGA
          Valor 1: bloque sentencias 1
          Valor 2: bloque sentencias 2
          Valor 3: bloque sentencias 3
          …
    [EN OTRO CASO bloque sentencia x]
    FIN_CASO
Representación de los algoritmos
                 Repetitivas: (cíclicas, bucles o lazos): Se utilizan
                 para realizar varias veces el mismo conjunto de
                 operaciones.
                     • Ciclo determinista: bucle PARA


            PARA i=0 HASTA i=9 CON INCREMENTO 1


Entrar en                                                       Salida
el bucle                                                        del bucle
            Sentencias        Sentencias           Sentencias
            del bucle         del bucle            del bucle


               i=0               i=1                    i=9
Representación de los algoritmos

   En pseudocódigo:

PARA contador = vi HASTA vf CON INCREMENTO n
HACER
      Bloque de sentencias
FIN_PARA



 Ejemplo: escribir los números pares del 2 al 50
Representación de los algoritmos

  En diagrama de flujo             ENTRADA
  En Matlab:

                             PARA i=vi HASTA vf
                             CON INCREMENTO n
for i=vi:incremento:vf
      Bloque de sentencias
end                          SENTENCIAS
                               BUCLES


                                          SALIDA
Representación de los algoritmos

      Ciclo condicional: se repiten las sentencias mientras se
      cumple una condición. Bucle MIENTRAS


Entrar en
el bucle    ¿se cumple la   SI
            condición?




              NO            Sentencias
                            del bucle

                                                   Salir del
                                                   bucle
Representación de los algoritmos

   En pseudocódigo          En diagrama de flujo

 MIENTRAS condición
 HACER
     Bloque de sentencias
                                                   NO
                                 CONDICION
 FIN_MIENTRAS

En Matlab:                              SI
   While condición                Sentencias
                                    bucle
     Bloque de sentencias
   end
Subalgoritmos

  Un subalgoritmo es una parte de un algoritmo. Se
  utiliza para descomponer en varias partes un
  algoritmo que resuelve un problema complejo.
  Esta característica permite que los algoritmos sean
  simples, modulares y reutilizables


                                 Suabalgoritmo 2

Suabalgoritmo 1


     Paso de          Suabalgoritmo 3
     parámetros
Subalgoritmos

  Parámetros formales son las variables que utiliza el
  algoritmo llamado para emitir o recibir datos a o
  desde el algoritmo llamante

  Parámetros actuales son las variables, constantes o
  expresiones utilizadas por el algoritmo llamante.

  El paso de parámetros se puede realizar por valor o
  por referencia
  Existen datos globales y datos locales
Subalgoritmos

  Las funciones reciben valores de entrada y
  devuelven un valor que es el resultado de la función


       ¿Cómo se utiliza una función?


  El algoritmo invoca a la función con un nombre y una
  lista de parámetros actuales

Más contenido relacionado

La actualidad más candente

Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantesIEO Santo Tomás
 
Unidad 03 variables, constantes y operadores
Unidad 03   variables, constantes y operadoresUnidad 03   variables, constantes y operadores
Unidad 03 variables, constantes y operadoresLorenzo Alejo
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Joseluis Cruz Ramirez
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujocarlospaul
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instruccionesrcarrerah
 
Características%20 de%20los%20programas[1]
Características%20 de%20los%20programas[1]Características%20 de%20los%20programas[1]
Características%20 de%20los%20programas[1]yariluz_gonzalez
 
Tutorial algoritmo expresiones
Tutorial algoritmo expresionesTutorial algoritmo expresiones
Tutorial algoritmo expresionesMichele André
 
Generalidades algoritmos
Generalidades algoritmosGeneralidades algoritmos
Generalidades algoritmosMagda Fernandez
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabrielEnrique Morales
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaIEO Santo Tomás
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmojairofr97
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Javasvhurtado
 
Constantes y variables
Constantes y variablesConstantes y variables
Constantes y variablesEdgar0622
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasEdward Ropero
 

La actualidad más candente (20)

Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantes
 
Unidad 03 variables, constantes y operadores
Unidad 03   variables, constantes y operadoresUnidad 03   variables, constantes y operadores
Unidad 03 variables, constantes y operadores
 
Unidad 2 Principios de programación
Unidad 2 Principios de programaciónUnidad 2 Principios de programación
Unidad 2 Principios de programación
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
 
Características%20 de%20los%20programas[1]
Características%20 de%20los%20programas[1]Características%20 de%20los%20programas[1]
Características%20 de%20los%20programas[1]
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Tutorial algoritmo expresiones
Tutorial algoritmo expresionesTutorial algoritmo expresiones
Tutorial algoritmo expresiones
 
Generalidades algoritmos
Generalidades algoritmosGeneralidades algoritmos
Generalidades algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimia
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Maria reyes
Maria reyesMaria reyes
Maria reyes
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmo
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Java
 
Constantes y variables
Constantes y variablesConstantes y variables
Constantes y variables
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
 

Destacado

5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlabMaje Gonzalez
 
Sesion4 matlab
Sesion4 matlabSesion4 matlab
Sesion4 matlabmatlab_usc
 
Matlab-una-introduccion-con-ejemplos-practicos-Amos-Gilat
Matlab-una-introduccion-con-ejemplos-practicos-Amos-GilatMatlab-una-introduccion-con-ejemplos-practicos-Amos-Gilat
Matlab-una-introduccion-con-ejemplos-practicos-Amos-Gilatalop3z
 
Presentación algoritmos
Presentación algoritmosPresentación algoritmos
Presentación algoritmosomar_tisalema
 
Curso Introductorio De Enseñanza De La Programación Y Algorítmica
Curso Introductorio De Enseñanza De La Programación Y AlgorítmicaCurso Introductorio De Enseñanza De La Programación Y Algorítmica
Curso Introductorio De Enseñanza De La Programación Y AlgorítmicaGuillermo de Majo
 
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSUNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSLuiS YmAY
 
Lógica y Algoritmos 1. Operadores
Lógica y Algoritmos 1. OperadoresLógica y Algoritmos 1. Operadores
Lógica y Algoritmos 1. OperadoresEdward Ropero
 
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Carlos M. Sandoval
 
Tutorial funciones básicas Matlab
Tutorial funciones básicas MatlabTutorial funciones básicas Matlab
Tutorial funciones básicas Matlabkariitoorttega
 
Diagrama estructurado-pseudocódigo
Diagrama estructurado-pseudocódigoDiagrama estructurado-pseudocódigo
Diagrama estructurado-pseudocódigoValeria Ramón Vega
 
Algoritmos genéticos con matlab
Algoritmos genéticos con matlabAlgoritmos genéticos con matlab
Algoritmos genéticos con matlabUNIV OF PERU
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 

Destacado (20)

Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
 
5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab5 herramienta aprendizaje algoritmos geneticos entorno matlab
5 herramienta aprendizaje algoritmos geneticos entorno matlab
 
Int prog matlab
Int prog matlabInt prog matlab
Int prog matlab
 
Sesion4 matlab
Sesion4 matlabSesion4 matlab
Sesion4 matlab
 
Matlab-una-introduccion-con-ejemplos-practicos-Amos-Gilat
Matlab-una-introduccion-con-ejemplos-practicos-Amos-GilatMatlab-una-introduccion-con-ejemplos-practicos-Amos-Gilat
Matlab-una-introduccion-con-ejemplos-practicos-Amos-Gilat
 
Presentación algoritmos
Presentación algoritmosPresentación algoritmos
Presentación algoritmos
 
Curso Introductorio De Enseñanza De La Programación Y Algorítmica
Curso Introductorio De Enseñanza De La Programación Y AlgorítmicaCurso Introductorio De Enseñanza De La Programación Y Algorítmica
Curso Introductorio De Enseñanza De La Programación Y Algorítmica
 
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSUNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
 
Cibernetica
CiberneticaCibernetica
Cibernetica
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Lógica y Algoritmos 1. Operadores
Lógica y Algoritmos 1. OperadoresLógica y Algoritmos 1. Operadores
Lógica y Algoritmos 1. Operadores
 
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
 
Tutorial funciones básicas Matlab
Tutorial funciones básicas MatlabTutorial funciones básicas Matlab
Tutorial funciones básicas Matlab
 
Diagrama estructurado-pseudocódigo
Diagrama estructurado-pseudocódigoDiagrama estructurado-pseudocódigo
Diagrama estructurado-pseudocódigo
 
Matlab 2 Capitulo 2
Matlab 2 Capitulo 2Matlab 2 Capitulo 2
Matlab 2 Capitulo 2
 
Algoritmos genéticos con matlab
Algoritmos genéticos con matlabAlgoritmos genéticos con matlab
Algoritmos genéticos con matlab
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Top down y bottom up
Top down y bottom upTop down y bottom up
Top down y bottom up
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Programacion en matlab
Programacion en matlabProgramacion en matlab
Programacion en matlab
 

Similar a Algoritmica

Fundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.pptFundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.pptCarlosLopez1486
 
Datos y algoritmos
Datos y algoritmosDatos y algoritmos
Datos y algoritmosUNEG
 
Conceptos basicos de programacion
Conceptos basicos de programacion Conceptos basicos de programacion
Conceptos basicos de programacion Rika Furude
 
Analisis de algoritmo ii
Analisis de algoritmo iiAnalisis de algoritmo ii
Analisis de algoritmo iiMauro Rangel
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 
Material de apoyo unidad 3. datos y entidades primitivas
Material de apoyo unidad 3.  datos y entidades primitivasMaterial de apoyo unidad 3.  datos y entidades primitivas
Material de apoyo unidad 3. datos y entidades primitivasLeany González
 
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaClase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaJosé Ricardo Tillero Giménez
 
Clase de datos variables constantes
Clase de datos variables constantesClase de datos variables constantes
Clase de datos variables constantesSol Hernández
 
Intorduccion Algoritmos
Intorduccion AlgoritmosIntorduccion Algoritmos
Intorduccion Algoritmosagusalli456
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacionnmqy28
 
Tipos de datos y operaciones
Tipos de datos y operacionesTipos de datos y operaciones
Tipos de datos y operacionesEdwinChamorroT
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfcarlosquiza2
 
Introducción a C++
Introducción a C++Introducción a C++
Introducción a C++Ryoga Luis
 

Similar a Algoritmica (20)

algoritmos3.ppt
algoritmos3.pptalgoritmos3.ppt
algoritmos3.ppt
 
Fundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.pptFundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.ppt
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Datos y algoritmos
Datos y algoritmosDatos y algoritmos
Datos y algoritmos
 
Conceptos basicos de programacion
Conceptos basicos de programacion Conceptos basicos de programacion
Conceptos basicos de programacion
 
Analisis de algoritmo ii
Analisis de algoritmo iiAnalisis de algoritmo ii
Analisis de algoritmo ii
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
Unidad i
Unidad iUnidad i
Unidad i
 
Visión de Algoritmos clase 4
Visión de Algoritmos clase 4Visión de Algoritmos clase 4
Visión de Algoritmos clase 4
 
Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 
Material de apoyo unidad 3. datos y entidades primitivas
Material de apoyo unidad 3.  datos y entidades primitivasMaterial de apoyo unidad 3.  datos y entidades primitivas
Material de apoyo unidad 3. datos y entidades primitivas
 
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaClase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
 
Clase de datos variables constantes
Clase de datos variables constantesClase de datos variables constantes
Clase de datos variables constantes
 
Intorduccion Algoritmos
Intorduccion AlgoritmosIntorduccion Algoritmos
Intorduccion Algoritmos
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacion
 
Introducción a los algoritmos
Introducción a los algoritmosIntroducción a los algoritmos
Introducción a los algoritmos
 
Tipos de datos y operaciones
Tipos de datos y operacionesTipos de datos y operaciones
Tipos de datos y operaciones
 
10_ALGORITMOS 2.pdf
10_ALGORITMOS 2.pdf10_ALGORITMOS 2.pdf
10_ALGORITMOS 2.pdf
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
Introducción a C++
Introducción a C++Introducción a C++
Introducción a C++
 

Último

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 

Último (20)

Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 

Algoritmica

  • 1. ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.
  • 2. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y Tipos de datos Representación de algoritmos: Pseudocódigo Diagramas de flujo Sentencias: Asignación Entrada/salida Estructuras de control: condicional, bucles, funciones.
  • 3. Algoritmos Algoritmo: es una secuencia finita de operaciones que resuelve un problema en un tiempo finito. Sus características son: Finito: debe tener un número finito de pasos, por lo que debe estar limitado tanto en tiempo de realización como por el número de pasos que realiza Definido: para los mismos datos de entrada obtienen los mismos de salida Preciso: debe indicarse el orden de realización de cada paso Independiente del lenguaje de programación
  • 4. Elementos de un algoritmo Un algoritmo consta de datos y de sentencias Se almacenan Datos Variables y constantes Son involucrados En expresiones Las sentencias describen las acciones que pueden ser ejecutadas, en general realizan cálculos, entradas/salidas y control de flujo del algoritmo
  • 5. Variables, constantes y expresiones Variable: elemento del algoritmo que posee un valor, conocido por un nombre o identificador y que pertenece a un tipo de dato definido al inicio del algoritmo Debe ser declarada antes de usarse !!!!!!!! En un algoritmo la declaración consta de una sentencia que especifica: el tipo de dato, su nombre y un valor inicial en algunas ocasiones
  • 6. Variables, constantes y expresiones Constante: los elementos del algoritmo que no cambian de valor a lo largo del algoritmo Las constantes deben ser inicializadas de acuerdo con el tipo de dato al que pertenecen Expresión: es una combinación de variables, constantes, valores constantes, operadores y funciones especiales que, en cada momento, al evaluarla tiene un valor concreto Las expresiones más representativas son las numéricas y las lógicas
  • 7. Expresiones Las expresiones numéricas tienen como resultado datos numéricos Los operadores: ^, Signo: (+,-), *,/, +, - Orden de precedencia de mayor a menor Las operaciones entre paréntesis se evalúan primero Las operaciones aritméticas se evalúan según el orden de prioridad
  • 8. Expresiones Las expresiones lógicas son las que ofrecen como resultado después de su operación un valor lógico. Los operadores lógicos que involucran son: AND, OR,NOT y los relacionales: <, >, ==, <=, >=, ~= NOT, AND, OR, operadores relacionales Orden de precedencia
  • 9. Tipos de datos Dato es una información relativa a un objeto que es manipulable por el ordenador, que posee un valor y que es conocido en un programa o algoritmo por un nombre o identificador del dato. El identificador indica una dirección de memoria, y es el nombre por el que se conoce a ese dato. Existen datos elementales y estructurados
  • 10. Tipos de datos Entero Simples Real Lógico Carácter Puntero Tipos de Datos Enumerado Subrango Estructurados Arrays, cadenas, registros, listas, árboles
  • 11. Tipos de datos Enteros: Representan números positivos o negativos sin decimales, en el rango [-2n-1, 2n-1-1] Reales: Almacenan un valor de la forma N=M*BE Carácter: Representan elementos individuales de un conjunto finito de caracteres. Lógico o booleano: Solo pueden tener dos posibles valores verdadero o falso
  • 12. Tipos de datos Enumerado: este tipo de dato requiere que el programador defina el rango de valores que puede tomar Subrango: este tipo de dato se define a partir del tipo de dato entero, carácter o enumerado, con solo decir que el tipo de dato definido podrá tomar un conjunto de valores limitado del original Puntero: es aquel cuyo valor es la dirección en memoria de otro dato
  • 13. Datos estructurados Una estructura es estática cuando el tamaño en memoria ocupado se define antes de la ejecución del programa y no puede modificarse durante la ejecución. Una estructura dinámica es aquella en la que no se define a priori su tamaño en memoria Un conjunto homogéneo es aquel que está formado por datos del mismo tipo, y es ordenado si se puede acceder a cada uno de sus elementos usando un identificador
  • 14. Datos estructurados Array es una estructura de datos homogénea, estática y ordenada, formada por una cantidad fija de datos de un mismo tipo, cada uno tiene asociado uno o más índices que determinan la posición del dato en el array. A(3) A 1 2 3 4 Cadenas de caracteres está formada por una secuencia de caracteres en un orden determinado, por lo tanto es una estructura homogénea, estática y de acceso por posición
  • 15. Datos estructurados Registros: formada por varios elementos o campos que se refieren a una misma entidad, es heterogénea, estática y de acceso por nombre Lista: es una estructura de datos homogénea, dinámica y de acceso por clave. Se constituye por una cantidad no prefijada de registros, con al menos dos campos, uno de los cuales sirve para localizar al sgte. elemento de la lista Árbol: es una estructura de datos homogénea y dinámica que ordena los elementos que la integran en forma de árbol, usando nodos y subárboles
  • 16. Representación de algoritmos Pseudocódigo. Diagramas de flujo. ALGORITMO nombre del algoritmo ENTRADA descripción de los datos de entrada al algoritmo SALIDA descripción de los datos de salida del algoritmo VARIABLES lista de variables usadas separadas por comas INICIO cuerpo del algoritmo FIN
  • 17. Representación de los algoritmos Sentencias: Describen lo que debe hacer el algoritmo. Varios tipos: Asignación: almacena un valor en una variable o constante. Se representa con el operador : Variable Expresión Deben ser del a b Una variable, Identificador mismo tipo constante, declarado constante literal o anteriormente fórmula a evaluar.
  • 18. Representación de los algoritmos Entrada/salida: Pueden almacenarse de tres formas: asociados con constantes, asignados a una variable o una sentencia de lectura. Entrada: Leer lista de variables separadas por comas Salida: Escribir lista de variables o expresiones separadas por comas Leer b Escribir a
  • 19. Representación de los algoritmos En Matlab: Sentencias de asignación: A=23 b = 48*A+b ....... Sentencias de entada /salida: Entrada: n=input(‘dame el valor n’); Salida: nombre de la variable sin ; : • N • A • .....
  • 20. Representación de los algoritmos Sentencias de control de flujo del algoritmo: Secuenciales: todas las instrucciones se ejecutan una detrás de otra: Ejemplo: calcular el área de un triangulo Selectivas (bifurcaciones): se evalúa una expresión lógica o relacional, y en función de su resultado se selecciona cual de las posibles opciones se toma Ejemplo: dados dos números imprime el mayor de ellos
  • 21. Representación de los algoritmos Speudocódigo Diagrama de flujo SI condición ENTONCES sentencia 1 …. NO SI NO SI CONDICION sentencia 2 …. FIN_SI
  • 22. Representación de los algoritmos En Matlab: If condición sentencia 1 if condición .......... sentencia 1 elseif condicion …. sentencia 2 else sentencia 2 ...... …. else end sentencia 3 ....... end
  • 23. Representación de los algoritmos Otra forma de estructura de control selectiva EN CASO DE QUE expresión VALGA Valor 1: bloque sentencias 1 Valor 2: bloque sentencias 2 Valor 3: bloque sentencias 3 … [EN OTRO CASO bloque sentencia x] FIN_CASO
  • 24. Representación de los algoritmos Repetitivas: (cíclicas, bucles o lazos): Se utilizan para realizar varias veces el mismo conjunto de operaciones. • Ciclo determinista: bucle PARA PARA i=0 HASTA i=9 CON INCREMENTO 1 Entrar en Salida el bucle del bucle Sentencias Sentencias Sentencias del bucle del bucle del bucle i=0 i=1 i=9
  • 25. Representación de los algoritmos En pseudocódigo: PARA contador = vi HASTA vf CON INCREMENTO n HACER Bloque de sentencias FIN_PARA Ejemplo: escribir los números pares del 2 al 50
  • 26. Representación de los algoritmos En diagrama de flujo ENTRADA En Matlab: PARA i=vi HASTA vf CON INCREMENTO n for i=vi:incremento:vf Bloque de sentencias end SENTENCIAS BUCLES SALIDA
  • 27. Representación de los algoritmos Ciclo condicional: se repiten las sentencias mientras se cumple una condición. Bucle MIENTRAS Entrar en el bucle ¿se cumple la SI condición? NO Sentencias del bucle Salir del bucle
  • 28. Representación de los algoritmos En pseudocódigo En diagrama de flujo MIENTRAS condición HACER Bloque de sentencias NO CONDICION FIN_MIENTRAS En Matlab: SI While condición Sentencias bucle Bloque de sentencias end
  • 29. Subalgoritmos Un subalgoritmo es una parte de un algoritmo. Se utiliza para descomponer en varias partes un algoritmo que resuelve un problema complejo. Esta característica permite que los algoritmos sean simples, modulares y reutilizables Suabalgoritmo 2 Suabalgoritmo 1 Paso de Suabalgoritmo 3 parámetros
  • 30. Subalgoritmos Parámetros formales son las variables que utiliza el algoritmo llamado para emitir o recibir datos a o desde el algoritmo llamante Parámetros actuales son las variables, constantes o expresiones utilizadas por el algoritmo llamante. El paso de parámetros se puede realizar por valor o por referencia Existen datos globales y datos locales
  • 31. Subalgoritmos Las funciones reciben valores de entrada y devuelven un valor que es el resultado de la función ¿Cómo se utiliza una función? El algoritmo invoca a la función con un nombre y una lista de parámetros actuales