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

La actualidad más candente

Presentacion info
Presentacion infoPresentacion info
Presentacion info
mariopoza00
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
Franco Guamán
 
Conceptos sobre algoritmos
Conceptos sobre algoritmosConceptos sobre algoritmos
Conceptos sobre algoritmos
nicolas franco jimenez
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
Yohnny A Okazaki
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujocasdilacol
 
Pseudocodigos, algoritmos y diagramas de flujo
Pseudocodigos, algoritmos y diagramas de flujoPseudocodigos, algoritmos y diagramas de flujo
Pseudocodigos, algoritmos y diagramas de flujo
Juan Pablo Tello Zapata
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
Irma Rebeca Andalón García
 
Conceptos basicos de la programacion
Conceptos basicos de la programacionConceptos basicos de la programacion
Conceptos basicos de la programacion
yamy matin
 
Unidad I. Algoritmo y Programas. Parte 1
Unidad I. Algoritmo y Programas. Parte 1Unidad I. Algoritmo y Programas. Parte 1
Unidad I. Algoritmo y Programas. Parte 1
LisbleinArismendi
 
Presentacion ip algoritmia_2012_i_v2_parte_i
Presentacion ip algoritmia_2012_i_v2_parte_iPresentacion ip algoritmia_2012_i_v2_parte_i
Presentacion ip algoritmia_2012_i_v2_parte_i
ymendal
 
Qué es un algoritmo
Qué es un algoritmoQué es un algoritmo
Qué es un algoritmo
juan manuel sinisterra lozano
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
ReynaldoVelzquez
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
TITO GILMER PACHECO PEREZ
 
Presentación de computación
Presentación de computaciónPresentación de computación
Presentación de computación
LuisRestan1
 
Unidad 1 el pseudocodigo
Unidad 1 el pseudocodigoUnidad 1 el pseudocodigo
Unidad 1 el pseudocodigo
Francisco Arias Larrea
 
Taller de consulta
Taller de consultaTaller de consulta
Taller de consulta
JuanCamilo052
 
Nicholas casañas castaño
Nicholas casañas castañoNicholas casañas castaño
Nicholas casañas castaño
nicholas_333
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
joel210696
 

La actualidad más candente (19)

Presentacion info
Presentacion infoPresentacion info
Presentacion info
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 
Programación.
Programación.Programación.
Programación.
 
Conceptos sobre algoritmos
Conceptos sobre algoritmosConceptos sobre algoritmos
Conceptos sobre algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Pseudocodigos, algoritmos y diagramas de flujo
Pseudocodigos, algoritmos y diagramas de flujoPseudocodigos, algoritmos y diagramas de flujo
Pseudocodigos, algoritmos y diagramas de flujo
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
 
Conceptos basicos de la programacion
Conceptos basicos de la programacionConceptos basicos de la programacion
Conceptos basicos de la programacion
 
Unidad I. Algoritmo y Programas. Parte 1
Unidad I. Algoritmo y Programas. Parte 1Unidad I. Algoritmo y Programas. Parte 1
Unidad I. Algoritmo y Programas. Parte 1
 
Presentacion ip algoritmia_2012_i_v2_parte_i
Presentacion ip algoritmia_2012_i_v2_parte_iPresentacion ip algoritmia_2012_i_v2_parte_i
Presentacion ip algoritmia_2012_i_v2_parte_i
 
Qué es un algoritmo
Qué es un algoritmoQué es un algoritmo
Qué es un algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
 
Presentación de computación
Presentación de computaciónPresentación de computación
Presentación de computación
 
Unidad 1 el pseudocodigo
Unidad 1 el pseudocodigoUnidad 1 el pseudocodigo
Unidad 1 el pseudocodigo
 
Taller de consulta
Taller de consultaTaller de consulta
Taller de consulta
 
Nicholas casañas castaño
Nicholas casañas castañoNicholas casañas castaño
Nicholas casañas castaño
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
 

Similar a PowerPoint Programación

Programación
ProgramaciónProgramación
Programación
lunanogales
 
Programación tic
Programación ticProgramación tic
Programación tic
lunanogales
 
Programación tic
Programación ticProgramación tic
Programación tic
Amelia Mora González
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
Camilo_elnepe
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
FresyMetal
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
EduardoZacariasMiran1
 
Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmoTAMELIMAR
 
Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmoLigia Marcela Tafur
 
PROGRAMACION-copia.pptx
PROGRAMACION-copia.pptxPROGRAMACION-copia.pptx
PROGRAMACION-copia.pptx
OrlandoLopez271483
 
ALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWAREALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWARE
sistemas informaticos
 
ALGORITMOS.ppsx
ALGORITMOS.ppsxALGORITMOS.ppsx
ALGORITMOS.ppsx
MauricioJimnezMartne1
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionlupitagarcia07
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]Jalil Segura
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]Jalil Segura
 
Clase 1
Clase 1Clase 1
Clase 1
Gugui Maguna
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
AlgoritmosAlgoritmos
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
TIRZOANTONIOMEDINACA1
 

Similar a PowerPoint Programación (20)

Programación
ProgramaciónProgramación
Programación
 
Programación tic
Programación ticProgramación tic
Programación tic
 
Programación tic
Programación ticProgramación tic
Programación tic
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Programación.
Programación.Programación.
Programación.
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmo
 
Programas diseñados para realizar algoritmo
Programas  diseñados para realizar algoritmoProgramas  diseñados para realizar algoritmo
Programas diseñados para realizar algoritmo
 
PROGRAMACION-copia.pptx
PROGRAMACION-copia.pptxPROGRAMACION-copia.pptx
PROGRAMACION-copia.pptx
 
ALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWAREALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWARE
 
ALGORITMOS.ppsx
ALGORITMOS.ppsxALGORITMOS.ppsx
ALGORITMOS.ppsx
 
Conceptos basicos algoritmos
Conceptos basicos algoritmosConceptos basicos algoritmos
Conceptos basicos algoritmos
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Clase 1
Clase 1Clase 1
Clase 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 

Último

INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 

Último (20)

INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 

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.