Professional Documents
Culture Documents
1º de Bachillerato
1. Algoritmos y programas.
2. Lenguajes de programación.
• Lenguajes de bajo nivel.
• Lenguajes de alto nivel:
➢ Lenguajes de tercera generación.
➢ Lenguajes de cuarta generación.
➢ Lenguajes orientados a objetos.
3. Creación de un programa.
4. Variables y constantes.
5. Operadores aritméticos básicos.
6. Operadores relacionales y lógicos.
7. Instrucciones
• Simples.
• Compuestas.
1. Algoritmos y programas
La palabra Programación resulta muy cercana y familiar; se puede relacionar con un programa
de televisión, con un programa político, con la programación de horas de estudio, etc.
Al fijarnos en los ejemplos anteriores, vemos que todos ellos tienen algo en común: intentan
realizar una actividad de un modo ordenado.
Cuando se especifican y determinan los pasos que se deben dar, así como el orden en que han
de realizarse para poder llevar a cabo cualquier actividad, estamos especificando lo que se
define como algoritmo.
Página 1
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato
Supongamos que queremos escuchar un disco de música. Para hacer esto necesitamos definir
una serie de pasos que constituirán el algoritmo:
1. Dirigirnos a la estantería.
2. Seleccionar el CD a escuchar.
3. Sacar el CD seleccionado de la estantería.
4. Abrir la funda y extraer el CD.
5. Abrir la bandeja del reproductor de CD.
6. Introducir en la bandeja el CD seleccionado.
7. Cerrar la bandeja del reproductor.
8. Pulsar play.
2. Lenguajes de programación
La programación es la rama de la informática que permite crear programas propios para resolver
distintos problemas. Para ello es necesario utilizar un software especial, denominado
genéricamente lenguajes de programación.
Existen distintos criterios para clasificar los lenguajes de programación; uno de ellos permite
dividirlos en cuatro grandes grupos:
✗ Lenguajes de bajo nivel.
✗ Lenguajes de alto nivel:
➢ Lenguajes de tercera generación
➢ Lenguajes de cuarta generación
➢ Lenguajes orientados a objetos.
Lenguajes de bajo nivel
Los principales lenguajes de bajo nivel son el lenguaje máquina y el lenguaje ensamblador.
El lenguaje máquina
Éste es el único lenguaje que entiende el ordenador, ya que utiliza el alfabeto binario, es decir, 0
y 1.
Fue el primer lenguaje que se empleó en la programación de ordenadores, pero dejó de
Página 2
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato
utilizarse, ya que era muy frecuente cometer errores y resultaba difícil de memorizar las
distintas instrucciones.
Hay que resaltar que el lenguaje máquina no es portable; es decir, un mismo programa no puede
ser utilizado en ordenadores de características diferentes.
El lenguaje ensamblador
El lenguaje ensamblador fue el primer intento de sustituir el lenguaje máquina por otro más
parecido a los que utilizan las personas. En este lenguaje, cada instrucción está formada por un
conjunto de hasta cuatro caracteres más los operadores, lo cual resulta más sencillo de recordar
que una cadena de unos y ceros (bits); además, se disminuye la probabilidad de cometer errores
durante su escritura.
Debido a que utiliza instrucciones, el lenguaje ensamblador necesita un compilador, es decir, un
programa que traduzca las instrucciones escritas en lenguaje máquina, único lenguaje que el
ordenador puede entender.
Lenguajes de alto nivel
Estos lenguajes son posteriores a los de bajo nivel, y se crearon con los siguientes objetivos:
• Lograr la independencia del ordenador, ya que estos lenguajes sí son portables.
• Aproximar aún más sus instrucciones al lenguaje humano (mayor nivel de abstracción), de
modo que los programas se puedan leer y escribir más fácilmente. Para ello utilizan palabras
en lugar de cadenas de símbolos sin aparente significado, reduciendo así las posibilidades de
cometer errores.
• Suministrar librerías de rutinas, con las funciones de uso frecuente: entrada/salida, manejo de
tablas, manejo de ficheros, etc; de este modo se evita tener que crearlas cada vez que se
necesiten.
Los lenguajes de alto nivel no son inteligibles directamente para el ordenador, sino que utilizan
un intérprete que va traduciendo en programa para que el ordenador pueda ejecutarlo. Las
diferencias entre un compilador y un intérprete se pueden resumir de la siguiente forma: el
intérprete traduce y ejecuta cada línea del programa siguiendo la secuencia del mismo; por el
contrario, el compilador traduce el programa completo, creando uno nuevo ya inteligible para el
ordenador, llamado programa objeto. Posteriormente , éste debe ser montado (linkado),
operación que consiste en enlazarlo con las librerías de rutinas, para crear así un nuevo fichero
ejecutable por el ordenador, denominado programa ejecutable.
Lenguajes de tercera generación
Existen distintos tipos de estos lenguajes (lógicos, funcionales,...) entre los que destacamos los
lenguajes procedimentales, que son aquellos que especifican mediante algoritmos la serie de
paso a seguir para obtener la solución a un determinado problema.
Entre los componentes de este tipos de lenguajes, nos encontramos con los datos, con los que
Página 3
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato
nos permitirá trabajar dicho lenguaje y un conjunto de instrucciones con los que describimos los
algoritmos.
Los lenguajes de tercera generación más conocidos son Fortran, Pascal, Lisp, y C.
Lenguajes de cuarta generación
Los lenguajes de cuarta generación nacieron para solucionar problemas muy concretos. Hasta el
momento, se habían creado únicamente lenguajes de propósito general que no eran válidos para
generar algunos programas específicos; por ello se comenzaron a crear lenguajes más
especializados.
Para el usuario, estos lenguajes son muy intuitivos, ya que se centran en necesidades muy
específicas. En la mayoría de los casos suelen estar formados por una serie de precompiladores,
llamados así porque traducen previamente su código a un lenguaje de alto nivel (normalmente
lenguaje C) y posteriormente a lenguaje máquina para obtener el fichero ejecutable.
Entre los lenguajes de cuarta generación podemos destacar:
SQL. Se trata de un lenguaje de consulta a base de datos.
4GL. Permite generar aplicaciones con ayuda de una gran cantidad de módulos preprogramados
en lenguaje C.
Lenguajes orientados a objetos
Los lenguajes de alto nivel se basan principalmente en la programación estructurada; sin
embargo, los lenguajes orientados a objetos se centran en los datos, objetos, indicando cómo
han de ser y definiendo las operaciones a las que se les va a someter.
Existen varios lenguajes que soportan programación orientada a objetos : Visual Basic, Object
Pascal, Smalltalk, C++, C#, Visual C++, Visual J, etc.
3. Creación de un programa
Cuando un programador se plantea la necesidad de crear un programa, no se lanza a escribir
directamente las instrucciones que solucionan el problema, ya que lo habitual es que un
programa real necesite 1.000, 5.000, 10.000 o más líneas de instrucciones.
La creación de un programa se realiza en una serie de fases, que deben llevarse a cabo de forma
secuencial y ordenada: análisis del problema y división en subproblemas (si es necesario),
búsqueda del algoritmo, codificación en el lenguaje de programación adecuado, compilación del
programa fuente, montaje o linkado del programa, ejecución para comprobar su funcionamiento
y, por último, explotación y mantenimiento del programa.
Búsqueda del algoritmo. Se suelen usar distintas herramientas: organigramas, pseudocódigo,
etc. Se puede decir que es en esta fase donde realmente se resuelve el problema, ya que un buen
algoritmo garantiza, casi siempre, un buen funcionamiento del programa.
Página 4
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato
Ejemplo de algoritmo en pseudocódigo:
inicio
num1 = 0
num2 = 0
leer de teclado num1 y num2
si num1 > num2
visualizar “Mayor =”, num1
si no
visualizar “Mayor=”, num2
fin
Codificación del programa. En esta fase se escribe el algoritmo obtenido en la fase anterior en el
lenguaje de programación elegido. El resultado final será la creación de un fichero con las
instrucciones necesarias para resolver el problema, denominado programa fuente. Esta fase
debería ser la más corta, ya que se trata simplemente de escribir las instrucciones indicadas por
el algoritmo. A continuación se muestra el algoritmo anterior escrito en un lenguaje de
programación (lenguaje C):
#include <stdio.h>
void main ()
{
int num1, num2;
prinf(“Introduce el primer número: “);
scanf(“%d”, &num1);
prinf(“Introduce el segundo número: “);
scanf(“%d”, &num2);
if (num1>num2)
printf(“El mayor es %d”, num1);
else
printf(“El mayor es %d”, num2);
}
4. Variables y constantes.
Podemos decir que las variables y constantes son espacios reservados en la memoria del
ordenador a los que se les puede dar un nombre donde uno puede almacenar diferentes tipos de
datos. Estos datos son los que nuestro programa usa durante su ejecución. En el ejemplo
anterior num1 y num2 son dos variables que almacenan números. La diferencia entre una
variable y una constante es que la información contenida en una variable puede variar a lo largo
de la ejecución del programa mientras que el una constante toma el valor al comienzo de la
ejecución del programa y este valor no se puede cambiar durante la ejecución del programa.
Las constantes se utilizan para almacenar valores ya establecidos con un nombre más fácil de
recordar. Por ejemplo, si necesitamos utilizar el número pi en nuestro programa varias veces,
podemos almacenar el valor de pi en una constante y referenciar esa constante cada vez que
necesitemos el número pi.
Página 5
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato
Existen diferentes tipos de variables en función del tipo de dato que almacenen. La variable se
define siempre antes de su uso y en esta definición (declaración) se indica qué tipo de dato
almacenará.
Los diferentes tipos de variables pueden variar en función del lenguaje utilizado, pero todos
usan unos tipo generales como pueden ser: números enteros, números reales, carácter, cadenas
de caracteres, booleano (verdadero o falso), etc.
Instrucciones de entrada y salida
Son instrucciones que se usan para introducir datos desde el exterior (por ejemplo el teclado) en
una variable o mostrar su valor a través de un dispositivo externo (por ejemplo la pantalla).
5. Operadores aritméticos básicos
La función de los operadores aritméticos es permitir realizar las operaciones básicas (sumas,
restas, divisiones y multiplicaciones) con los datos de las distintas variables. Los operadores
aritméticos básicos y la acción que realiza cada uno de ellos, son los que se muestran en la
siguiente tabla.
El orden en el que se van a ejecutar los distintos operadores aritméticos en una misma fórmula
es el habitual:
1º Multiplicaciones 2º Divisiones 3º Sumas 4º Restas
Cuando existen varias operaciones con la misma prioridad, se realizan de izquierda a derecha.
Los paréntesis modifican el orden de la prioridad (se realizan primero las operaciones incluidas
en ellos), y en caso de que existan paréntesis dentro de otros, se ejecutan en primer lugar las
operaciones indicadas en los paréntesis interiores.
Página 6
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato
Ejercicios
Calcula las siguientes expresiones e indica el valor del resultado
num1 = 2
num2 = 8
num3 = 3
num4 = 12
num5 = 1
resultado = num4-num3+num2*num1+num5
resultado = num4-(num3+num2)*num1+num5
resultado = (num4-(num3+num2))*num1+num5
resultado = num4-(num3+num2)*(num1+num5)
6. Operadores relacionales y lógicos
Los operadores relacionales son los habituales: mayor que, menor que, menor o igual que...,
aunque algunos de ellos se escriben de un modo especial.
En la siguiente tabla se muestran los operadores relacionales junto a su escritura.
Operador Símbolo
Mayor que >
Menor que <
Mayor o igual que >=
Menor o igual que <=
Igual que ==
Distinto que !=
Operadores lógicos
A la hora de expresar una condición, además de los operadores relacionales, se puede utilizar
alguno de los denominados operadores lógicos: Y, O y NO.
Operador NO. También conocido como operador negación. Al aplicarlo sobre una expresión,
hace que ésta tome el valor verdadero cuando la condición no se cumpla, y falso cuando sí se
cumpla. Debe tenerse en cuenta que la expresión sobre la que actúa este operador debe estar
encerrada entre paréntesis.
Operador Y. Este operador permite relacionar dos o más expresiones en una condición; en ese
caso, la condición sólo tomará el valor verdadero cuando se cumplan todas las expresiones; si
Página 7
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato
hubiera al menos una expresión que no se cumpliera, el valor de la condición sería falso.
Operador O. Este operador relaciona varias expresiones en una misma función si, de modo que
ésta tomará el valor verdadero en cuanto se cumpla, al menos, una de las expresiones; sólo
tomará el valor falso si todas las expresiones de la condición son falsas.
Es posible utilizar varios operadores lógicos a la vez. En este caso el programa los evaluará en
el siguiente orden:
1º Operador NO 2º Operador Y 3º Operador O
Para modificar este orden deben emplearse paréntesis; las expresiones escritas entre
paréntesis se evaluarán en primer lugar.
Los valores de los operadores quedan resumidos en las siguientes tablas (tablas de verdad):
Ejercicios
Evalúa las siguientes expresiones como verdaderas o falsas, si: a=1, b=2,
c=3, d=4.
• a > b && c > d
• a > b || c > d
• b > a && c > d
• a != b
• c <= a || c >=d
7. Instrucciones
Instrucciones Simples
Página 8
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato
Instrucciones declarativas
Son instrucciones que se utilizan para declarar los objetos que se van a usar en el programa,
estos objetos son los datos con los que trabajaremos en el programa y que estarán almacenados
en una determinada zona de memoria.
Instrucciones de entrada y salida
Las instrucciones de salida se utilizan para presentar, en pantalla o impresora, comentarios,
mensajes al usuario, contenidos de las variables, resultados de una expresión,...
Las instrucciones de entrada se utilizan para tomar datos del exterior y guardarlos en variables.
Una instrucción de entrada detiene la ejecución del programa y espera a que el usuario
introduzca un dato por teclado. El valor tecleado se introduce en la variable que se indique en
la instrucción y continua la ejecución del programa.
Una intrucción de entrada suele estar precedida por una de salida, para que en ésta le
indiquemos al usuario la información que queremos que introduzca.
Instrucciones de asignación
Este tipo de instrucciones se utilizan para asignar valores a las variables dentro de un programa,
teniendo en cuenta que si la variable ya contenía un valor, éste será destituido por el valor
nuevo que se le asigne.
Instrucciones de control.
Este tipo de instrucciones modifican el flujo de control secuencial que sigue un programa. Son
de varios tipos, y las veremos en el tema siguiente.
Instrucciones Compuestas
Estas instrucciones están formadas por un conjunto de instrucciones simples que desarrolladas
en un lugar apartado del resto y agrupadas bajo un nombre son llamadas desde cualquier punto
del programa. Una vez ejecutadas el control del programa vuelve a la instrucción siguiente que
realizó dicha llamada.
Página 9