Tema 6. Introducción a la programación de ordenadores. · 1.Algoritmos y programas. ... se puede...

9
Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato Tema 6. Introducción a la programación de ordenadores. 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

Transcript of Tema 6. Introducción a la programación de ordenadores. · 1.Algoritmos y programas. ... se puede...

Tema 6. Introducción a la programación de ordenadores. 1º de Bachillerato

Tema 6. Introducción a la programación de ordenadores.

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 programasLa palabra Programación resulta muy cercana y familiar; se puede relacionar con un programade 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: intentanrealizar una actividad de un modo ordenado.

Cuando se especifican y determinan los pasos que se deben dar, así como el orden en que hande realizarse para poder   llevar  a cabo cualquier  actividad,  estamos especificando  lo que sedefine 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 definiruna 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.

Se puede definir un  algoritmo  como la sucesión de pasos que se deben realizar desde que seplantea el problema hasta que este queda perfectamente resuelto.

Un  programa  es   similar  a  un  algoritmo:   la  gran  diferencia  es  que   los  pasos  que  permitenresolver el problema deben escribirse en un determinado lenguaje de programación para que elordenador pueda ejecutarlos y encontrar así la solución.

2.­ Lenguajes de programaciónLa programación es la rama de la informática que permite crear programas propios para resolverdistintos   problemas.   Para   ello   es   necesario   utilizar   un   software   especial,   denominadogenéricamente lenguajes de programación.

Existen distintos criterios para clasificar los lenguajes de programación; uno de ellos permitedividirlos 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 nivelLos 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, 0y 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   lasdistintas instrucciones.

Hay que resaltar que el lenguaje máquina no es portable; es decir, un mismo programa no puedeser 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ásparecido a los que utilizan las personas. En este lenguaje, cada instrucción está formada por unconjunto de hasta cuatro caracteres más los operadores, lo cual resulta más sencillo de recordarque una cadena de unos y ceros (bits); además, se disminuye la probabilidad de cometer erroresdurante su escritura.

Debido a que utiliza instrucciones, el lenguaje ensamblador necesita un compilador, es decir, unprograma que traduzca las instrucciones escritas en lenguaje máquina, único lenguaje que elordenador puede entender.

Lenguajes de alto nivelEstos 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), demodo que los programas se puedan leer y escribir más fácilmente. Para ello utilizan palabrasen lugar de cadenas de símbolos sin aparente significado, reduciendo así las posibilidades decometer errores.  

• Suministrar librerías de rutinas, con las funciones de uso frecuente: entrada/salida, manejo detablas, manejo de ficheros, etc; de este modo se evita tener que crearlas cada vez que senecesiten.

Los lenguajes de alto nivel no son inteligibles directamente para el ordenador, sino que utilizanun  intérprete  que va   traduciendo en programa para  que el  ordenador  pueda ejecutarlo.  Lasdiferencias entre un compilador y un intérprete se pueden resumir de la siguiente forma: elintérprete  traduce y ejecuta cada línea del programa siguiendo la secuencia del mismo; por elcontrario, el compilador traduce el programa completo, creando uno nuevo ya inteligible para elordenador,   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 ficheroejecutable por el ordenador, denominado programa ejecutable.

Lenguajes de tercera generación

Existen distintos tipos de estos lenguajes (lógicos, funcionales,...) entre los que destacamos loslenguajes procedimentales, que son aquellos que especifican mediante algoritmos la serie depaso 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 losalgoritmos.   

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 elmomento, se habían creado únicamente lenguajes de propósito general que no eran válidos paragenerar   algunos   programas   específicos;   por   ello   se   comenzaron   a   crear   lenguajes   másespecializados.

Para el  usuario,  estos  lenguajes  son muy  intuitivos,  ya que se centran en necesidades  muyespecí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 (normalmentelenguaje 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 preprogramadosen lenguaje C.

Lenguajes orientados a objetos

Los   lenguajes   de   alto   nivel   se   basan   principalmente   en   la   programación   estructurada;   sinembargo, los lenguajes orientados a objetos se centran en los datos,  objetos, indicando cómohan 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, ObjectPascal, 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 escribirdirectamente   las   instrucciones   que   solucionan   el   problema,   ya   que   lo   habitual   es   que   unprograma 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 formasecuencial  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 delprograma fuente, montaje o linkado del programa, ejecución para comprobar su funcionamientoy, 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 buenalgoritmo 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:

inicionum1 = 0 num2 = 0leer de teclado num1 y num2si num1 > num2

visualizar “Mayor =”, num1si no

visualizar “Mayor=”, num2fin

Codificación del programa. En esta fase se escribe el algoritmo obtenido en la fase anterior en ellenguaje de programación elegido.  El resultado final será   la creación de un fichero con lasinstrucciones  necesarias  para   resolver  el  problema,  denominado  programa fuente.  Esta   fasedebería ser la más corta, ya que se trata simplemente de escribir las instrucciones indicadas porel   algoritmo.   A   continuación   se   muestra   el   algoritmo   anterior   escrito   en   un   lenguaje   deprogramació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   delordenador a los que se les puede dar un nombre donde uno puede almacenar diferentes tipos dedatos.  Estos  datos   son   los   que  nuestro  programa  usa  durante   su   ejecución.  En   el   ejemploanterior  num1  y  num2  son  dos  variables  que  almacenan números.  La  diferencia   entre  unavariable y una constante es que la información contenida en una variable puede variar a lo largode la ejecución del programa mientras que el una constante toma el valor al comienzo de laejecució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 derecordar. 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 quenecesitemos 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 sedefine siempre  antes de su uso  y en esta definición (declaración) se indica qué  tipo de datoalmacenará.

Los diferentes tipos de variables pueden variar en función del lenguaje utilizado, pero todosusan unos tipo generales como pueden ser: números enteros, números reales, carácter, cadenasde caracteres, booleano (verdadero o falso), etc.

Instrucciones de entrada y salidaSon instrucciones que se usan para introducir datos desde el exterior (por ejemplo el teclado) enuna variable o mostrar su valor a través de un dispositivo externo (por ejemplo la pantalla). 

5.­ Operadores aritméticos básicosLa 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 operadoresaritméticos básicos y la acción que realiza cada uno de ellos, son los que se muestran en lasiguiente tabla.

OperaciónOperación OperadorOperador AcciónAcción

Suma + Calcula la suma de dos o más variables numéricas.

Diferencia ­ Calcula la diferencia entre dos variables numéricas.

Multiplicación * Multiplica el valor de las variables numéricas.

División / Calcula el valor de la división de dos variables numéricas.

El orden en el que se van a ejecutar los distintos operadores aritméticos en una misma fórmulaes 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 incluidasen ellos), y en caso de que existan paréntesis dentro de otros, se ejecutan en primer lugar lasoperaciones 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 = 2num2 = 8num3 = 3num4 = 12num5 = 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.

OperadorOperador SímboloSímbolo

Mayor que >

Menor que <

Mayor o igual que >=

Menor o igual que <=

Igual que ==

Distinto que !=

Operadores lógicosA la hora de expresar una condición, además de los operadores relacionales, se puede utilizaralguno 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í secumpla. Debe tenerse en cuenta que la expresión sobre la que actúa este operador debe estarencerrada entre paréntesis.

Operador Y. Este operador permite relacionar dos o más expresiones en una condición; en esecaso, 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ólotomará 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á enel siguiente orden:

1º Operador NO     2º Operador Y     3º Operador O

Para   modificar   este   orden   deben   emplearse   paréntesis;   las   expresiones   escritas   entreparéntesis se evaluarán en primer lugar.

Los valores de los operadores quedan resumidos en las siguientes tablas (tablas de verdad):

a NO a a b a  Y  b a b a  O  b

V F V V V V V V

F V V F F V F V

F V F F V V

F F F F F F

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 declarativasSon 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 almacenadosen una determinada zona de memoria.

Instrucciones de entrada y salidaLas 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   usuariointroduzca un dato por teclado.  El valor tecleado se introduce en la variable que se indique enla 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   leindiquemos al usuario la información que queremos que introduzca.

Instrucciones de asignaciónEste 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 valornuevo que se le asigne.  

Instrucciones de control.Este tipo de instrucciones modifican el flujo de control secuencial que sigue un programa.  Sonde varios tipos, y las veremos en el tema siguiente. 

Instrucciones CompuestasEstas instrucciones están formadas por un conjunto de instrucciones simples que desarrolladasen un lugar apartado del resto y agrupadas bajo un nombre son llamadas desde cualquier puntodel programa.  Una vez ejecutadas el control del programa vuelve a la instrucción siguiente querealizó dicha llamada.  

Página 9