Módulo 3A: Programación
1. Introducción a la programación
Un programa es un conjunto de instrucciones dadas al ordenador en un
lenguaje que solo es entendible por él para comunicarle lo que queremos que
haga. Un algoritmo es una secuencia finita de operaciones que resuelven un
determinado problema.
Un algoritmo es más parecido a una idea, una forma de resolver un problema,
mientras que un programa está más relacionado con la realización de una o
más tareas por parte de un ordenador.
Un programa debe cumplir una serie de características:
• Deber ser finito: formado por un conjunto limitado de sentencias.
• Debe ser legible: es importante crear códigos limpios y fáciles de leer
con tabulaciones y espacios que diferencien las partes del programa.
• Debe ser modificable: debe ser sencillo el proceso de actualización o
modificación ante nuevas necesidades.
• Debe ser eficiente: debemos crear programas que ocupen poco
espacio en memoria y se ejecuten rápidamente.
• Debe ser modulable: debemos realizar algoritmos que se dividan a su
vez en sub-algoritmos de forma que se disponga de un grupo principal
desde el que llamaremos al resto. Así, incitamos a la reutilización de
código.
• Debe ser estructurado: engloba a las características anteriores, ya que
un programa estructurado será fácil de leer y modificar, y estará
compuesto de subprogramas que permitirán la reutilización de código.
Representaciones gráficas
Para representar un algoritmo, podemos utilizar dos herramientas gráficas: los
diagramas de flujo y el pseudocódigo.
Un diagrama de flujo es una representación gráfica de un proceso. Cada paso
del proceso se representa con un símbolo diferente que contiene una breve
descripción.
Debemos usar una serie de símbolos estándar:
Indican inicio o fin de programa.
3
Módulo 3A: Programación
Representan una instrucción, un
paso a dar o un proceso. Por
ejemplo: cont=cont+1.
Operaciones de entrada/salida de
datos. Por ejemplo: visualiza en
pantalla suma.
Usaremos este símbolo si nos
encontramos en un punto en el que
se realizará una u otra acción en
función de una decisión.
Por ejemplo, si miVariable = 0,
hacemos la instrucción 1. Si no,
hacemos la instrucción 2.
Conector. Permite unir diferentes
zonas del diagrama de forma que se
redefine el flujo de ejecución hacia
otra parte del diagrama.
Representa un método o
subprograma.
Flechas para indicar la dirección de
flujo.
Características de los diagramas de flujo:
• Deben escribirse de arriba abajo o de izquierda a derecha.
• Debemos evitar el cruce de líneas, para eso se define la forma de
conector. El uso de conectores debe producirse cuando no exista otra
opción.
• Todas las líneas de flujo deben estar conectadas a algún objeto.
• El texto que se escribe en las formas debe ser escueto y legible.
4
Módulo 3A: Programación
• Todos los símbolos de decisión deben tener más de una línea de salida,
es decir, deben indicar qué camino seguir en función de la decisión
tomada.
Ejemplo
Se representa el siguiente diagrama de flujo, que muestra todos los
números pares del 0 al 98:
5
Módulo 3A: Programación
La otra herramienta para representar los algoritmos es el pseudocódigo.
Es la manera de representar las distintas sentencias que va a realizar nuestro
algoritmo con un lenguaje cercano al natural. Por tanto, es un lenguaje que
no se puede ejecutar en una máquina.
Características del pseudocódigo
• Comienza con la palabra algoritmo seguido de su nombre.
• A continuación, tenemos la secuencia de instrucciones de este
algoritmo.
• Finaliza con la estructura FinAlgoritmo.
• No es necesaria la indentación (sangrado), aunque es recomendable.
• No se diferencia entre mayúsculas ni minúsculas.
Algoritmo triángulo
Definir área, altura, base de tipo números reales;
Escribir “Introduce la altura del triángulo:”;
Leer altura;
Escribir “Introduce la base del triángulo:”;
Leer base;
Área <- (a*b)/2;
Escribir “El área del triángulo es:”, área;
FinAlgoritmo
Comunicación de un sistema informático
En el proceso de programación se comunica a un usuario con una máquina.
Para que se pueda realizar dicha comunicación, debemos tener:
• Los dos agentes principales, usuario y máquina.
• El canal. Para continuar con el ejemplo con el que estamos explicando
el proceso de programación, podemos decir que el canal por el que se
comunica nuestro usuario será el teclado.
• El lenguaje. Tanto el receptor como el emisor hablan un lenguaje
completamente diferente. Para que la comunicación sea fluida,
debemos acercar los lenguajes, tanto de la máquina como del usuario,
y así lograr el entendimiento.
6
Módulo 3A: Programación
Ahora bien, para solventar el problema de la comunicación, tenemos
lenguajes de programación de tres tipos: alto nivel, nivel medio y bajo nivel.
Los lenguajes de alto nivel están más cerca del lenguaje que habla el usuario,
mientras que los lenguajes de bajo nivel se acercan más a las estructuras del
lenguaje de la máquina. Por su parte, los lenguajes de nivel medio toman
características de ambos, como por ejemplo el lenguaje C.
Para facilitar el trabajo, implementaremos nuestro código con lenguajes de
alto nivel, de modo que necesitaremos un proceso de traducción para
convertir el programa escrito en lenguaje máquina.
Características del lenguaje de alto nivel:
• Es totalmente independiente de la máquina y, por tanto, muy portable.
• Muy utilizado en el mercado laboral informático.
• Tanto las modificaciones como las actualizaciones son muy fáciles de
realizar.
• Para la tarea de traducción de código necesitamos un compilador y un
enlazador con librerías del propio lenguaje de programación elegido.
Algunos ejemplos de lenguajes de alto nivel son java, php, c#, VB.NET,
Python…