SlideShare una empresa de Scribd logo
Algoritmos
(Teoría de la
programación)
Pablo
Lafuente
(2ºBA)
¿Qué es un algoritmo?
• Un algoritmo es una secuencia precisa de operaciones que
resuelven un problema en un tiempo finito.
• Se pueden representar en multitud de lenguajes y ejecutarse en
ordenadores distintos.
Propiedades del algoritmo
• Siempre debe terminar.
• Instrucciones concretas, sin ambigüedades.
• Pasos simples y orden definido.
• Debe funcionar sean cuales sean los datos de
entrada.
• Eficiente y rápidoOptimizar.
• Independiente de la máquina y del lenguaje de
programación usado.
¿Qué es un programa?
• Expresión de un algoritmo en lenguaje de
programación, capaz de ser procesado por el
ordenador tras el compilado, linkado… y que
controla el funcionamiento del ordenador para
resolver un problema.
¿Cómo construir un programa?
• Análisis: ¿qué tenemos que hacer?
• Diseño: ¿cómo vamos a hacerlo? Diseño
TOP DOWN.
• Codificación: obtención del programa.
• Pruebas: comprobar que el sistema no falla.
• Documentación y mantenimiento.
Herramientas para describir soluciones
• 1. Diagrama de flujo.
Representación gráfica del algoritmo mediante
símbolos que contienen los pasos del algoritmo
y flechas que los unen indicando el orden en
que se ejecutan.
• 2. Pseudocódigo.
Representación narrativa en lenguaje natural
usando estructuras de control y algunos símbolos
algebraicos. Las estructuras de control son:
-Estructura secuencial (una instrucción tras otra,
ejecutadas de arriba abajo)
-Estructura selectiva (conjunto de instrucciones
en función de si se cumple o no una condición)
-Estructura iterativa (repite algo un número de
veces hasta que sea cierto)
Ejemplo de estructura
selectiva.
1. Estructura secuencial.
• El orden en que se realizan las acciones es
muy importante: no puede calcularse la media
sin antes leer los números.
2. Estructura selectiva o condicional.
• Se examina la condición, y si es verdadera, se
ejecutan las acciones asociadas al ‘sí’. Si no fuese
verdadera, se ejecutan acciones ligadas al ‘si no’,
aunque esto no es obligatorio.
• Permite anidar unas instrucciones dentro de otras.
• Existen el operador ‘y’, para ejecutar una instrucción
si se cumplen dos condiciones simultáneamente, y el
operador ‘o’, para ejecutar la instrucción si se cumple
alguna de las condiciones.
3. Estructura iterativa o de repetición.
• Tiene la estructura ‘mientras’ (se analiza la
condición, y si es falsa, se saltan las
instrucciones dentro del bucle), la estructura
‘repetir’ (evalúa la condición una vez
realizada la acción), la estructura ‘para’
(permite realizar una acción un número
determinado de veces)
• Un error muy común con las estructuras de
repetición consiste en poner mal la condición
de finalización u olvidarse de incrementar el
contador, dando lugar a bucles infinitos (bucles
Ejemplo de estructura iterativa
Traducción de ideas a un lenguaje de
programación concreto.
• Acciones y estructuras de control de los
algoritmos.
Las acciones pueden ser:
1. AsignacionesEvaluar una expresión y
almacenar su valor en una variable.
2. E/SEl programa intercambia información
con un medio externo.
3. Operaciones aritmético-lógicasEjecutan
operaciones aritméticas (suma, división,
potenciación) y lógicas (and, or, not)
Las estructuras de control pueden ser:
1. Decisiones  acciones de control de flujo que
permiten cambiar el orden en que se hacen otras
acciones en función de si se cumple una condición.
2. Ciclos (bucles)  repetición de un segmento de
programa. El ciclo puede ser repetitivo o condicional.
PROCEDIMIENTOS O SUBRUTINA
Realiza una parte del programa y tiene un nombre por
el que puede ser llamado desde cualquier parte del
programa. Se comunica mediante una variable de
comunicación llamada argumento.
Lenguajes de programación
• Herramienta que nos permite transformar un
algoritmo en un programa.
• Tiene un léxico, una gramática y una semántica.
• Los lenguajes de alto nivel han de ser traducidos a
lenguaje máquina para su comprensión.
• Para ello existen los traductores, que pueden ser
compiladores (traducen el programa inicial:
programa fuente, y producen el programa objeto)
o intérpretes (analizan una a una las instrucciones
del programa fuente y no se analiza una hasta que
la anterior se haya ejecutado)
Clasificación de los lenguajes de
programación
1. Lenguaje máquina: directamente inteligibles por el ordenador
porque son cadenas binarias. Solo ejecutable en el procesador
específico. Poca fiabilidad.
2. Lenguaje de bajo nivel (ensamblador): dependen de la
máquina en particular. Más fáciles de codificar que el
lenguaje máquina.
3. Lenguaje de alto nivel (independientes de la máquina, muy
portables. Más fáciles de programar y entender. Sintaxis más
cercana al lenguaje humano que al de la máquina. Hay
varios, como el Java, Visual Basic…)
Lenguajes de nivel C
• Combina lenguajes de alto nivel con elementos
del ensamblador.
• Permite manipular bits, bytes, direcciones… A
diferencia de los de alto nivel.
• Adecuado para programación de sistemas.
• Posible adaptar el software de un ordenador en
otro.

Más contenido relacionado

PPTX
PowerPoint Programación
PPTX
Estructuras de control en la programación.
PPTX
Conceptos básicos y metodología de la programación
DOC
Principios de programacion
PPT
Metodologia Programación
PPTX
Conceptos básicos y metodología de la programación
PPTX
Desarrollo de la consulta algoritmos
PPTX
Taller steisy
PowerPoint Programación
Estructuras de control en la programación.
Conceptos básicos y metodología de la programación
Principios de programacion
Metodologia Programación
Conceptos básicos y metodología de la programación
Desarrollo de la consulta algoritmos
Taller steisy

La actualidad más candente (19)

PPT
Presentacion info
PPTX
Fundamentos de Programación. Unidad I
PPTX
Conceptos sobre algoritmos
PPTX
Programación.
PPTX
Diagramas de flujo
PPT
Diagramas de Flujo
PPTX
Algoritmo
PPTX
Pseudocodigos, algoritmos y diagramas de flujo
PDF
Conceptos basicos de la programacion
PDF
Unidad I. Algoritmo y Programas. Parte 1
PDF
Presentacion ip algoritmia_2012_i_v2_parte_i
PDF
Unidad 1 el pseudocodigo
PDF
Clase 1 lógica de programación
PPTX
Presentación de computación
PPTX
Qué es un algoritmo
PPTX
Algoritmo
PPTX
Nicholas casañas castaño
PPTX
Clase 1 de introduccion a la programacion
PPTX
Taller de consulta
Presentacion info
Fundamentos de Programación. Unidad I
Conceptos sobre algoritmos
Programación.
Diagramas de flujo
Diagramas de Flujo
Algoritmo
Pseudocodigos, algoritmos y diagramas de flujo
Conceptos basicos de la programacion
Unidad I. Algoritmo y Programas. Parte 1
Presentacion ip algoritmia_2012_i_v2_parte_i
Unidad 1 el pseudocodigo
Clase 1 lógica de programación
Presentación de computación
Qué es un algoritmo
Algoritmo
Nicholas casañas castaño
Clase 1 de introduccion a la programacion
Taller de consulta
Publicidad

Similar a PowerPoint (Programación) (20)

PPTX
Programación
PPTX
Programación tic
PPTX
Programación tic
PPTX
Algoritmos
PPT
Fpr Tema 1 www.fresymetal.com
PPTX
Programación.
PPSX
Algoritmos y diagramas de flujo
PPTX
Programas diseñados para realizar algoritmo
PPTX
Programas diseñados para realizar algoritmo
PPT
Conceptos Basicos Logica de programacion.ppt
PPTX
PROGRAMACION-copia.pptx
PPSX
ALGORITMOS.ppsx
PPTX
ALGORITMOS EN EL SOFTWARE
PDF
Conceptos basicos algoritmos
DOCX
Introduccion a los lenguajes de programacion
DOCX
Visual basic terminado[1]
DOCX
Visual basic terminado[1]
PPTX
Algoritmos (DFD, Pseudocodigos).pptx
PDF
Clase 1
DOCX
Programación
Programación tic
Programación tic
Algoritmos
Fpr Tema 1 www.fresymetal.com
Programación.
Algoritmos y diagramas de flujo
Programas diseñados para realizar algoritmo
Programas diseñados para realizar algoritmo
Conceptos Basicos Logica de programacion.ppt
PROGRAMACION-copia.pptx
ALGORITMOS.ppsx
ALGORITMOS EN EL SOFTWARE
Conceptos basicos algoritmos
Introduccion a los lenguajes de programacion
Visual basic terminado[1]
Visual basic terminado[1]
Algoritmos (DFD, Pseudocodigos).pptx
Clase 1
Publicidad

Último (20)

PDF
CyberOps Associate - Cisco Networking Academy
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
Maste clas de estructura metálica y arquitectura
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Diapositiva proyecto de vida, materia catedra
PDF
clase auditoria informatica 2025.........
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPT
Que son las redes de computadores y sus partes
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
CyberOps Associate - Cisco Networking Academy
REDES INFORMATICAS REDES INFORMATICAS.pptx
Influencia-del-uso-de-redes-sociales.pdf
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Maste clas de estructura metálica y arquitectura
Estrategia de apoyo tecnología miguel angel solis
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Calidad desde el Docente y la mejora continua .pdf
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Plantilla para Diseño de Narrativas Transmedia.pdf
Presentación PASANTIAS AuditorioOO..pptx
introduccion a las_web en el 2025_mejoras.ppt
Diapositiva proyecto de vida, materia catedra
clase auditoria informatica 2025.........
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Que son las redes de computadores y sus partes
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Propuesta BKP servidores con Acronis1.pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia

PowerPoint (Programación)

  • 2. ¿Qué es un algoritmo? • Un algoritmo es una secuencia precisa de operaciones que resuelven un problema en un tiempo finito. • Se pueden representar en multitud de lenguajes y ejecutarse en ordenadores distintos.
  • 3. Propiedades del algoritmo • Siempre debe terminar. • Instrucciones concretas, sin ambigüedades. • Pasos simples y orden definido. • Debe funcionar sean cuales sean los datos de entrada. • Eficiente y rápidoOptimizar. • Independiente de la máquina y del lenguaje de programación usado.
  • 4. ¿Qué es un programa? • Expresión de un algoritmo en lenguaje de programación, capaz de ser procesado por el ordenador tras el compilado, linkado… y que controla el funcionamiento del ordenador para resolver un problema.
  • 5. ¿Cómo construir un programa? • Análisis: ¿qué tenemos que hacer? • Diseño: ¿cómo vamos a hacerlo? Diseño TOP DOWN. • Codificación: obtención del programa. • Pruebas: comprobar que el sistema no falla. • Documentación y mantenimiento.
  • 6. Herramientas para describir soluciones • 1. Diagrama de flujo. Representación gráfica del algoritmo mediante símbolos que contienen los pasos del algoritmo y flechas que los unen indicando el orden en que se ejecutan.
  • 7. • 2. Pseudocódigo. Representación narrativa en lenguaje natural usando estructuras de control y algunos símbolos algebraicos. Las estructuras de control son: -Estructura secuencial (una instrucción tras otra, ejecutadas de arriba abajo) -Estructura selectiva (conjunto de instrucciones en función de si se cumple o no una condición) -Estructura iterativa (repite algo un número de veces hasta que sea cierto) Ejemplo de estructura selectiva.
  • 8. 1. Estructura secuencial. • El orden en que se realizan las acciones es muy importante: no puede calcularse la media sin antes leer los números.
  • 9. 2. Estructura selectiva o condicional. • Se examina la condición, y si es verdadera, se ejecutan las acciones asociadas al ‘sí’. Si no fuese verdadera, se ejecutan acciones ligadas al ‘si no’, aunque esto no es obligatorio. • Permite anidar unas instrucciones dentro de otras. • Existen el operador ‘y’, para ejecutar una instrucción si se cumplen dos condiciones simultáneamente, y el operador ‘o’, para ejecutar la instrucción si se cumple alguna de las condiciones.
  • 10. 3. Estructura iterativa o de repetición. • Tiene la estructura ‘mientras’ (se analiza la condición, y si es falsa, se saltan las instrucciones dentro del bucle), la estructura ‘repetir’ (evalúa la condición una vez realizada la acción), la estructura ‘para’ (permite realizar una acción un número determinado de veces) • Un error muy común con las estructuras de repetición consiste en poner mal la condición de finalización u olvidarse de incrementar el contador, dando lugar a bucles infinitos (bucles
  • 12. Traducción de ideas a un lenguaje de programación concreto. • Acciones y estructuras de control de los algoritmos. Las acciones pueden ser: 1. AsignacionesEvaluar una expresión y almacenar su valor en una variable. 2. E/SEl programa intercambia información con un medio externo. 3. Operaciones aritmético-lógicasEjecutan operaciones aritméticas (suma, división, potenciación) y lógicas (and, or, not)
  • 13. Las estructuras de control pueden ser: 1. Decisiones  acciones de control de flujo que permiten cambiar el orden en que se hacen otras acciones en función de si se cumple una condición. 2. Ciclos (bucles)  repetición de un segmento de programa. El ciclo puede ser repetitivo o condicional. PROCEDIMIENTOS O SUBRUTINA Realiza una parte del programa y tiene un nombre por el que puede ser llamado desde cualquier parte del programa. Se comunica mediante una variable de comunicación llamada argumento.
  • 14. Lenguajes de programación • Herramienta que nos permite transformar un algoritmo en un programa. • Tiene un léxico, una gramática y una semántica. • Los lenguajes de alto nivel han de ser traducidos a lenguaje máquina para su comprensión. • Para ello existen los traductores, que pueden ser compiladores (traducen el programa inicial: programa fuente, y producen el programa objeto) o intérpretes (analizan una a una las instrucciones del programa fuente y no se analiza una hasta que la anterior se haya ejecutado)
  • 15. Clasificación de los lenguajes de programación 1. Lenguaje máquina: directamente inteligibles por el ordenador porque son cadenas binarias. Solo ejecutable en el procesador específico. Poca fiabilidad. 2. Lenguaje de bajo nivel (ensamblador): dependen de la máquina en particular. Más fáciles de codificar que el lenguaje máquina. 3. Lenguaje de alto nivel (independientes de la máquina, muy portables. Más fáciles de programar y entender. Sintaxis más cercana al lenguaje humano que al de la máquina. Hay varios, como el Java, Visual Basic…)
  • 16. Lenguajes de nivel C • Combina lenguajes de alto nivel con elementos del ensamblador. • Permite manipular bits, bytes, direcciones… A diferencia de los de alto nivel. • Adecuado para programación de sistemas. • Posible adaptar el software de un ordenador en otro.