El documento habla sobre la importancia de analizar los objetivos y pasos de un programa antes de codificar. También cubre la creación de algoritmos usando pseudocódigo o diagramas de flujo de datos, y explica los tipos básicos de lenguajes de programación como los de bajo nivel, alto nivel, compilados e interpretados.
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.).