SlideShare una empresa de Scribd logo
1 de 11
Teoría de programación
cosas mas básicas
Alejandro Lafuente
Análisis de programa
• Un de los grandes fallos que cometen las personas que están aprendiendo a
programar (e incluso muchos profesionales, por falta de tiempo principalmente) es
que se apresuran a escribir el código fuente sin haberse tomado antes el tiempo
necesario para analizar los objetivos (qué debe hacer el programa) y los pasos
necesarios para alcanzarlos, creando así un programa robusto (libre de errores).
• Por ejemplo, si se está escribiendo un simple programa para pedir un número al
usuario con motivo de mostrarlo después por pantalla, el objetivo principal sería
mostrar el número, los pasos necesarios serían pedir el número y mostrarlo luego
por pantalla... debiéndose también tener en cuenta cosas como: ¿qué debería
hacer el programa si el usuario escribe una letra en lugar de un número?, ¿y si
pulsa la tecla Esc?...
• La fase de análisis es un paso fundamental para obtener una documentación del
programa sobre cuya base se comenzará a desarrollar el mismo.
• La documentación del programa debe mantenerse actualizada durante todo el
ciclo de vida del mismo dejando constancia de todos los cambios realizados,
pudiendo así ser consultada en caso de tener que comprobar algo, facilitar la
comprensión del mismo por otros programadores que entren a formar parte del
proyecto, etc.
ALGORITMOS
• Una vez se han analizado los requisitos del
programa podemos crear algoritmos para indicar
qué pasos debe realizar el programa de modo
que realice correctamente su propósito,
independientemente del lenguaje de
programación que sea usado.
• Los algoritmos pueden representarse de tres
modos: usando lenguaje natural, pseudocódigo o
con Diagramas de Flujo de Datos (DFD), siendo
los dos últimos métodos los más usados.
Algoritmo en Diagramas
de Flujos de Datos(1)
• Para crear un Diagrama de Flujo de Datos
usaremos entre otros los siguientes símbolos:
Algoritmo en Diagramas de Flujos de
Datos(2)
• Algunas de las pautas para crearlos son:
• Debe ser diseñado de forma que sea leído de arriba hacia
abajo y de izquierda a derecha.
• Todo Diagrama de Flujo de Datos (DFD) debe tener un
conector de inicio y al menos uno de finalización (el
programa debe terminar su ejecución en algún momento).
• A un símbolo no puede apuntar más de una flecha.
• Para conectar sus elementos han de usarse líneas rectas
horizontales y/o verticales, y jamás deben cruzarse unas
con otras.
• Es posible que encuentres otras formas de representar un
DFD.
Algoritmo en Diagramas
de Fujo de Datos (3)
• En la siguiente imagen mostramos un ejemplo
de un programa que pide un número al
usuario y muestra el resultado por pantalla,
realizado con un Diagrama de Flujo de Datos
(DFD):
Algoritmos en Diagramas de
Flujos de Datos
• Para la acción de pedir el dato al usuario usamos
el conector correspondiente, cargando el valor
obtenido en una variable llamada 'entrada', cuyo
valor a continuación será mostrado por pantalla
• Observa que para los elementos que dan
comienzo y fin al programa se usan terminadores.
• Más adelante veremos algunos ejemplos de
Diagramas de Flujo de Datos
Lenguaje de programación (1)
• Existen dos tipos de lenguajes de programación: los denominados
de bajo nivel (se ejecutan más rápidamente en el ordenador que los
de alto nivel pero no son fáciles de entender para los humanos,
siendo muy complicado escribir programas con ellos) y los de alto
nivel (en los que el código fuente es más facilmente entendible por
el ser humano).
• Dentro de los lenguajes de bajo nivel se hallan:
• Lenguaje máquina: formado por una combinación de ceros y unos
(es el lenguaje 'entendido' por los ordenadores). El código fuente
escrito en otros lenguajes de programación es 'traducido' a él de un
modo u otro.
• Ensamblador: en el que se usan algunas palabras abreviadas del
idioma inglés.
Lenguaje de programación (2)
• Los lenguajes de alto nivel pueden ser:
• Lenguaje secuencial: en el que las líneas del programa se ejecutan
una tras otra, de forma secuencial.
• Lenguaje estructurado: permite dividir el código fuente del
programa en varias partes, permitiendo así mantener un orden
dentro del mismo, facilitar la búsqueda de errores, etc.
• Lenguaje de Programación Orientada a Objetos (POO): tratan de
aplicar conceptos de la vida real al desarrollar un programa. Por
ejemplo, si estamos escribiendo un programa que controle un
coche, debemos tratar a éste desde el mismo código fuente como
un Objeto (el coche en sí), que tiene sus Propiedades (marca,
modelo, color...) y realiza acciones (llamadas Métodos, como por
ejemplo: arrancar, acelerar, parar, etc.)
Lenguaje de programación (3)
• También cabe destacar que los lenguajes de
programación pueden ser:
• Interpretados: cada línea del código fuente del
programa es sobre la marcha leída y 'traducida' a
lenguaje máquina (el único entendido por el
ordenador) por un programa denominado
intérprete. Como ejemplo tenemos los antiguos
lenguajes de programación BASIC o COBOL, así como
los más modernos PHP, JavaScript, etc.
• Compilados: el código fuente es convertido a lenguaje
máquina por medio de un compilador. Ejemplos:
Delphi, C, C++...
Lenguaje de programación (4)
• Existen otros lenguajes de programación como
por ejemplo Java que es una mezcla de ambos:
por un lado su código fuente necesita ser
compilado a bytecode (un código intermedio
entre el propio código fuente y el lenguaje
máquina), el cual para ser interpretado necesita
de una Máquina Virtual Java instalada el sistema
operativo.
• Para desarrollar programas se usan normalmente
lenguajes de alto nivel (como Java, C++, Visual
Basic .NET, PHP, JavaScript, etc.).

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Clase 1. lógica de la programación
Clase 1. lógica de la programaciónClase 1. lógica de la programación
Clase 1. lógica de la programación
 
4. Conceptos básicos III
4. Conceptos básicos III4. Conceptos básicos III
4. Conceptos básicos III
 
1. que es programacion
1. que es programacion1. que es programacion
1. que es programacion
 
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
 
Estructua Basica Lenguaje C++
Estructua Basica Lenguaje C++Estructua Basica Lenguaje C++
Estructua Basica Lenguaje C++
 
Lenguajes de programacion22
Lenguajes de programacion22Lenguajes de programacion22
Lenguajes de programacion22
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Programeichon de milagro
Programeichon de milagroProgrameichon de milagro
Programeichon de milagro
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compilador
 
Tema1 b
Tema1 bTema1 b
Tema1 b
 
Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.
 
Diapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacionDiapositivas fundamentos-de-programacion
Diapositivas fundamentos-de-programacion
 
Presentación1
Presentación1Presentación1
Presentación1
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 

Similar a Teoría de programación: Análisis de algoritmos y lenguajes

presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTPcesia_97
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdfNancyHerrera88
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionlupitagarcia07
 
Programación
ProgramaciónProgramación
ProgramaciónGraceelml
 
Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de AlgoritmosTaniaCalle
 
Informatica
InformaticaInformatica
Informaticadebop88
 
Informatica
InformaticaInformatica
Informaticalisarrua
 
Material para exponer de informatica
Material para exponer de informaticaMaterial para exponer de informatica
Material para exponer de informaticameylinramos
 
Programacion y Desarrollo de Software
Programacion y Desarrollo de SoftwareProgramacion y Desarrollo de Software
Programacion y Desarrollo de Software1501199500223
 
Programacion y Desarrollo de Software
Programacion y Desarrollo de SoftwareProgramacion y Desarrollo de Software
Programacion y Desarrollo de Software1516198900119
 
Programacion y Desarrollo de Software
Programacion y Desarrollo de SoftwareProgramacion y Desarrollo de Software
Programacion y Desarrollo de Software1516198900119
 
Programacion y Desarrollo de Software
Programacion y Desarrollo de SoftwareProgramacion y Desarrollo de Software
Programacion y Desarrollo de Software1516198400309
 
Exposicion actividad 3
Exposicion actividad 3Exposicion actividad 3
Exposicion actividad 3Robie1516
 

Similar a Teoría de programación: Análisis de algoritmos y lenguajes (20)

presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTP
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Programación
ProgramaciónProgramación
Programación
 
Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de Algoritmos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
BRANDON VELASQUEZ
BRANDON VELASQUEZBRANDON VELASQUEZ
BRANDON VELASQUEZ
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
Informatica(1)
Informatica(1)Informatica(1)
Informatica(1)
 
Informatica
InformaticaInformatica
Informatica
 
Informatica
InformaticaInformatica
Informatica
 
Material para exponer de informatica
Material para exponer de informaticaMaterial para exponer de informatica
Material para exponer de informatica
 
Programación
ProgramaciónProgramación
Programación
 
Programacion y Desarrollo de Software
Programacion y Desarrollo de SoftwareProgramacion y Desarrollo de Software
Programacion y Desarrollo de Software
 
Programacion y Desarrollo de Software
Programacion y Desarrollo de SoftwareProgramacion y Desarrollo de Software
Programacion y Desarrollo de Software
 
Programacion y Desarrollo de Software
Programacion y Desarrollo de SoftwareProgramacion y Desarrollo de Software
Programacion y Desarrollo de Software
 
Programacion y Desarrollo de Software
Programacion y Desarrollo de SoftwareProgramacion y Desarrollo de Software
Programacion y Desarrollo de Software
 
Exposicion actividad 3
Exposicion actividad 3Exposicion actividad 3
Exposicion actividad 3
 

Teoría de programación: Análisis de algoritmos y lenguajes

  • 1. Teoría de programación cosas mas básicas Alejandro Lafuente
  • 2. Análisis de programa • Un de los grandes fallos que cometen las personas que están aprendiendo a programar (e incluso muchos profesionales, por falta de tiempo principalmente) es que se apresuran a escribir el código fuente sin haberse tomado antes el tiempo necesario para analizar los objetivos (qué debe hacer el programa) y los pasos necesarios para alcanzarlos, creando así un programa robusto (libre de errores). • Por ejemplo, si se está escribiendo un simple programa para pedir un número al usuario con motivo de mostrarlo después por pantalla, el objetivo principal sería mostrar el número, los pasos necesarios serían pedir el número y mostrarlo luego por pantalla... debiéndose también tener en cuenta cosas como: ¿qué debería hacer el programa si el usuario escribe una letra en lugar de un número?, ¿y si pulsa la tecla Esc?... • La fase de análisis es un paso fundamental para obtener una documentación del programa sobre cuya base se comenzará a desarrollar el mismo. • La documentación del programa debe mantenerse actualizada durante todo el ciclo de vida del mismo dejando constancia de todos los cambios realizados, pudiendo así ser consultada en caso de tener que comprobar algo, facilitar la comprensión del mismo por otros programadores que entren a formar parte del proyecto, etc.
  • 3. ALGORITMOS • Una vez se han analizado los requisitos del programa podemos crear algoritmos para indicar qué pasos debe realizar el programa de modo que realice correctamente su propósito, independientemente del lenguaje de programación que sea usado. • Los algoritmos pueden representarse de tres modos: usando lenguaje natural, pseudocódigo o con Diagramas de Flujo de Datos (DFD), siendo los dos últimos métodos los más usados.
  • 4. Algoritmo en Diagramas de Flujos de Datos(1) • Para crear un Diagrama de Flujo de Datos usaremos entre otros los siguientes símbolos:
  • 5. Algoritmo en Diagramas de Flujos de Datos(2) • Algunas de las pautas para crearlos son: • Debe ser diseñado de forma que sea leído de arriba hacia abajo y de izquierda a derecha. • Todo Diagrama de Flujo de Datos (DFD) debe tener un conector de inicio y al menos uno de finalización (el programa debe terminar su ejecución en algún momento). • A un símbolo no puede apuntar más de una flecha. • Para conectar sus elementos han de usarse líneas rectas horizontales y/o verticales, y jamás deben cruzarse unas con otras. • Es posible que encuentres otras formas de representar un DFD.
  • 6. Algoritmo en Diagramas de Fujo de Datos (3) • En la siguiente imagen mostramos un ejemplo de un programa que pide un número al usuario y muestra el resultado por pantalla, realizado con un Diagrama de Flujo de Datos (DFD):
  • 7. Algoritmos en Diagramas de Flujos de Datos • Para la acción de pedir el dato al usuario usamos el conector correspondiente, cargando el valor obtenido en una variable llamada 'entrada', cuyo valor a continuación será mostrado por pantalla • Observa que para los elementos que dan comienzo y fin al programa se usan terminadores. • Más adelante veremos algunos ejemplos de Diagramas de Flujo de Datos
  • 8. Lenguaje de programación (1) • Existen dos tipos de lenguajes de programación: los denominados de bajo nivel (se ejecutan más rápidamente en el ordenador que los de alto nivel pero no son fáciles de entender para los humanos, siendo muy complicado escribir programas con ellos) y los de alto nivel (en los que el código fuente es más facilmente entendible por el ser humano). • Dentro de los lenguajes de bajo nivel se hallan: • Lenguaje máquina: formado por una combinación de ceros y unos (es el lenguaje 'entendido' por los ordenadores). El código fuente escrito en otros lenguajes de programación es 'traducido' a él de un modo u otro. • Ensamblador: en el que se usan algunas palabras abreviadas del idioma inglés.
  • 9. Lenguaje de programación (2) • Los lenguajes de alto nivel pueden ser: • Lenguaje secuencial: en el que las líneas del programa se ejecutan una tras otra, de forma secuencial. • Lenguaje estructurado: permite dividir el código fuente del programa en varias partes, permitiendo así mantener un orden dentro del mismo, facilitar la búsqueda de errores, etc. • Lenguaje de Programación Orientada a Objetos (POO): tratan de aplicar conceptos de la vida real al desarrollar un programa. Por ejemplo, si estamos escribiendo un programa que controle un coche, debemos tratar a éste desde el mismo código fuente como un Objeto (el coche en sí), que tiene sus Propiedades (marca, modelo, color...) y realiza acciones (llamadas Métodos, como por ejemplo: arrancar, acelerar, parar, etc.)
  • 10. Lenguaje de programación (3) • También cabe destacar que los lenguajes de programación pueden ser: • Interpretados: cada línea del código fuente del programa es sobre la marcha leída y 'traducida' a lenguaje máquina (el único entendido por el ordenador) por un programa denominado intérprete. Como ejemplo tenemos los antiguos lenguajes de programación BASIC o COBOL, así como los más modernos PHP, JavaScript, etc. • Compilados: el código fuente es convertido a lenguaje máquina por medio de un compilador. Ejemplos: Delphi, C, C++...
  • 11. Lenguaje de programación (4) • Existen otros lenguajes de programación como por ejemplo Java que es una mezcla de ambos: por un lado su código fuente necesita ser compilado a bytecode (un código intermedio entre el propio código fuente y el lenguaje máquina), el cual para ser interpretado necesita de una Máquina Virtual Java instalada el sistema operativo. • Para desarrollar programas se usan normalmente lenguajes de alto nivel (como Java, C++, Visual Basic .NET, PHP, JavaScript, etc.).