Software">
Nothing Special   »   [go: up one dir, main page]

0% encontró este documento útil (0 votos)
29 vistas7 páginas

1 Inicio

Este documento introduce los conceptos básicos de la programación y lenguajes de programación. Explica que los lenguajes de programación permiten dar instrucciones al ordenador de una manera más sencilla que el lenguaje máquina. También describe la evolución histórica de los lenguajes de programación y cómo han ido surgiendo lenguajes de alto nivel para simplificar la programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
29 vistas7 páginas

1 Inicio

Este documento introduce los conceptos básicos de la programación y lenguajes de programación. Explica que los lenguajes de programación permiten dar instrucciones al ordenador de una manera más sencilla que el lenguaje máquina. También describe la evolución histórica de los lenguajes de programación y cómo han ido surgiendo lenguajes de alto nivel para simplificar la programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

INICIACION A LA PROGRAMACION AULA MENTOR

PRESENTACION AL CURSO

Este curso de Introducción a la Programación abarca los conceptos básicos de la


programación de ordenadores: tipos de datos, expresiones, estructuras de control, estructuras
de datos y funciones.

Pretende que tras su superación, el alumno adquiera una visión global de la programación
que le permita abordar tareas de programación sobre cualquier lenguaje de programación
con un esfuerzo moderado.

Para ello, además de desarrollar los conceptos fundamentales de un lenguaje de


programación, se insistirá en la necesidad de respetar las normas de la programación
estructurada, y se intentará que el alumno adopte una visión modular a la hora de enfrentarse
a la resolución de problemas.

Aunque los conceptos son genéricos y extensibles a otros lenguajes de programación, este
curso se basará en el lenguaje de programación Pascal, el más recomendado desde un punto
de vista didáctico para iniciarse en la programación de ordenadores. El paso a otro lenguaje
de programación (C, Java, Modula, etc.) no debería llevar más de un par de semanas.

Al mismo tiempo, este curso es un buen punto de partida para la Programación Orientada a
Objetos (POO), puesto que todos los conceptos y técnicas que se estudian en este curso
serán parte de esta.

El curso está dirigido a personas con conocimientos básicos de informática a nivel de


usuario, pero sin conocimientos previos de programación.

Cada vez que termine uno de los temas, deberá acceder a la mesa de trabajo y completar
tanto la evaluación de cada tema como los ejercicios prácticos que incluye cada tema. Los
tres primeros temas (Lenguajes, Algoritmos y Pascal) no incluyen ejercicios prácticos.

Los ejemplos y ejercicios se realizarán sobre un compilador de libre distribución que


acompaña al curso. La configuración e instalación de este compilador la encontrará en el
anexo.

-1-
INICIACION A LA PROGRAMACION AULA MENTOR

LENGUAJES DE PROGRAMACION

Introducción e Historia

La finalidad de un lenguaje de programación es "decirle" al ordenador qué es lo que tiene


que hacer paso a paso. Esta definición da que pensar: no parecen muy listos los ordenadores.
Debido a esto es muy frecuente la expresión: Los ordenadores son tontos.

Necesitan de alguien que les indique lo que tienen que hacer. Y ese "alguien" es el
programador. Pero una vez que saben qué hacer y cómo, lo pueden repetir siempre que
deseen, sin error posible, y a velocidades que ya quisieran los programadores.

Desgraciadamente, el ordenador y las personas hablan idiomas diferentes: el ordenador


entiende unas determinadas secuencias de ceros y unos, llamado lenguaje o código máquina.
El programador debe darle instrucciones en ese formato. Este lenguaje o código máquina es
difícil de aprender, difícil de utilizar e incluso aún más difícil de modificar.

Se pensó que sería más útil trabajar en un lenguaje parecido o similar al lenguaje hablado, al
lenguaje que usamos diariamente. Una vez expresado el conjunto de instrucciones en ese
lenguaje natural, será necesario traducir ese lenguaje a código máquina. Pero esta labor se
puede programar, y que sea el ordenador el que automáticamente haga la traducción a
lenguaje máquina. Y de esta forma surgieron los lenguajes llamados de alto nivel, y los
programas encargados de la traslación: los traductores.

Programa

Podemos definir un programa como un conjunto ordenado de instrucciones expresadas en un


lenguaje de programación.

Un lenguaje de programación, al igual que un lenguaje natural, estaría constituido por:


Un conjunto de símbolos: letras, símbolos de puntuación, etc.
Una serie de normas para la correcta combinación del anterior conjunto.
Combinando correctamente los símbolos será capaz de crear programas. Los programas
serán más sencillos de escribir cuanto más cercano sea el lenguaje de programación al
lenguaje humano. En realidad son muy parecidos al lenguaje dominante en el mundo de la
informática: el inglés. Pero no se asuste, esto no es un curso de idiomas.

-2-
INICIACION A LA PROGRAMACION AULA MENTOR

Evolución Histórica

Se ha comentado previamente que el primer lenguaje de programación fue el lenguaje


máquina. A continuación aparece el Lenguaje Ensamblador. En este se utilizan símbolos y
códigos nemotécnicos (códigos cuyos nombres recuerdan la acción que representan) para
especificar instrucciones del código máquina. Cada instrucción del código máquina se
corresponde con una instrucción en ensamblador. Era un primer avance para simplificar las
tareas de programación.

En los años 50 comienzan a aparecer lenguajes de carácter más humano. En 1956 aparece el
lenguaje FORTRAN (FORmula TRANslation) de la mano de IBM. Este lenguaje conserva
algunos vínculos con la máquina. Es un lenguaje que aún se usa en entornos muy
específicos. En 1958 aparece el lenguaje ALGOL (ALGOritmic Language). En 1959 se crea
el LISP en el MIT (Instituto Tecnológico de Massachusetts), lenguaje orientado al área de
Inteligencia Artificial.

En 1960 el DoD (Departamento de Defensa de EE.UU.) crea el COBOL (Common Business


Oriented Language), lenguaje orientado a la gestión y muy utilizado en banca y empresas en
general. En la década de los 60 en la Universidad de Darmouth se desarrolla el BASIC
(Beginners All-Purpose Symbolic Instruction Code), siendo éste un lenguaje de iniciación.

En 1971 N. Wirth crea el PASCAL. Una de las principales características de este lenguaje es
que es fuertemente estructurado. Será el que nos acompañe a lo largo de este curso. En la
década de los 70 Dennis Ritchie crea el Lenguaje C. C es un lenguaje de alto y bajo nivel a
la vez que ha presentado una evolución pareja a la del sistema operativo UNIX.

A partir de ese momento la aparición de nuevos lenguajes y revisiones de los anteriores ha


sido constante, sin mencionar numerosos lenguajes de programación desarrollados
específicamente para tareas muy concretas. También han surgido todo tipo de variantes de
los lenguajes anteriores con características de tipo visual o añadiendo la programación
orientada a objetos. Como posibles ejemplos tenemos Visual C, Visual Basic, C++, Pascal
Orientado a Objetos, Java.

Las herramientas visuales permiten crear aplicaciones apoyándose en rutinas ya realizadas


para el manejo de ventanas, menús desplegables, botones, etc. En el momento que se tienen
claros los conceptos de programación básicos, el salto a este tipo de programación es
sencillo.

La orientación a objetos es una nueva aproximación a la hora de desarrollar una aplicación.


Conceptualmente su diseño es más complejo, pero facilita la reutilización de los programas,
con lo cual se gana tiempo y dinero. De todas formas, los conceptos de la programación
estructurada y modular siguen siendo útiles en la programación orientada a objetos.

En general todos los lenguajes de alto nivel tienen propiedades comunes: el uso de
sentencias simples, existencia de variables, expresiones, estructuras de control y funciones.

-3-
INICIACION A LA PROGRAMACION AULA MENTOR

El lenguaje Pascal es quizás el más adecuado para aprender y consolidar dichos conceptos.

CLASIFICACION

Clasificación

Vamos a realizar una primera clasificación de los Lenguajes en función de tres criterios:

Según su proximidad al lenguaje máquina:

*Lenguajes de bajo nivel: Son distintos para cada procesador: cada tipo de ordenador posee
el suyo. Controlan directamente los recursos hardware de la máquina. Como ejemplos
tenemos el lenguaje máquina o el ensamblador.
*Lenguajes de alto nivel: Son independientes del procesador. Son más sencillos y legibles.
Para ser ejecutados necesitan un traductor. Ejemplos: Pascal, Modula-2 o el lenguaje C.

Según el propósito del lenguaje:

*Lenguajes de propósito general: como el Pascal o el C.


*Lenguajes de propósito específico: por ejemplo, Cobol estaría orientado a la gestión o
Fortran al cálculo científico.

Según su orientación:

*Lenguajes orientados al procedimiento: son lenguajes imperativos como Pascal en los que
se describen los pasos que han de darse para resolver un determinado problema. Se explica
como resolver un problema.
*Lenguajes orientados al problema: como por ejemplo Prolog. En estos lenguajes lo que se
describe es el problema en sí; son de tipo declarativo.

En este curso se estudiará un lenguaje de alto nivel, de propósito general y orientado al


procedimiento o imperativo: el lenguaje Pascal.

-4-
INICIACION A LA PROGRAMACION AULA MENTOR

Lenguajes de Alto Nivel

Los lenguajes de alto nivel buscan:

-Ser un medio sencillo para expresar la solución de problemas.


-Simplicidad: un conjunto reducido de operaciones básicas y un conjunto de reglas para
combinar las anteriores.
-Eficiencia, de manera que permitan una traducción rápida y un código máquina eficiente.
-Legibilidad, facilidad de comprensión del código, presentando la posibilidad de añadir
comentarios. Todo esto hace que sea más sencillo depurar o modificar el código, incluso por
personas que no lo han realizado.
-Portabilidad: los lenguajes de alto nivel son independientes de la máquina para la que se
esté haciendo un determinado desarrollo.

Características de los lenguajes de alto nivel

Las características más importantes que deben presentar este tipo de lenguajes son las
siguientes:

-Utilizar un juego de caracteres determinado (por ejemplo, no admiten la "ñ") y un juego de


palabras reservadas.
-Presentar unas reglas sintácticas de manera que la estructura de los programas debe ceñirse
a las mismas.
-Tener capacidad para la realización de operaciones de tipo aritmético, operaciones lógicas o
con texto.
-Tener capacidad para bifurcar o repetir el código (o partes de él) en lugar de ejecutarlo
siempre secuencialmente.
-Tener facilidades para la programación modular.

Veamos a continuación que elementos son necesarios para la realización de un programa.

-5-
INICIACION A LA PROGRAMACION AULA MENTOR

ENTORNOS DE PROGRAMACION

Entornos de programación

Un entorno de programación es un programa o conjunto de programas que engloban todas


las tareas necesarias para el desarrollo de un programa o aplicación, que serían los
siguientes:
Edición del programa.
Compilación y enlazado.
Ejecución.
Depuración.
Hay quien además incluye la creación de documentación complementaria (manual de
usuario, etc.) dentro de estas funciones.

Este tipo de entornos incorporan numerosas herramientas, utilidades, aplicaciones ya


desarrolladas, ejemplos, tutoriales, etc.

Editores

El primer elemento necesario para el desarrollo de un programa es un editor de texto. Un


editor es un programa que nos permite escribir (editar) las instrucciones del programa, y
posteriormente guardar el programa en un fichero. Cualquier editor de texto se puede utilizar
para editar programas, con la única precaución de que a la hora de guardar, salvar o
almacenar el programa sólo se almacene el texto sin opciones de formato: negrita, estilos,
itálica, etc.

Lo normal es utilizar un editor especialmente preparado para la programación. Estos tienen


facilidades para la corrección de errores, destacan las palabras del lenguaje en colores, y en
general facilitan la labor del programador.

Traductores: compilación

Una vez editado nuestro programa, es necesario traducirlo al único lenguaje que entiende el
ordenador: el código máquina. Para ello son necesarios los traductores.
Un traductor es un programa cuyo cometido es traducir un programa escrito en lenguaje de
programación (que puede ser de alto o bajo nivel) a su correspondiente equivalente en
lenguaje máquina.

-6-
INICIACION A LA PROGRAMACION AULA MENTOR

Además de esta función principal, otras tareas podrían ser la detección de errores y la
optimización del código.

Los traductores se clasifican en tres grupos:


Ensambladores: traducen los programas escritos en lenguaje ensamblador a código máquina.
Realizan una traducción muy directa.
Compiladores: traducen programas escritos en lenguaje de alto nivel. Para ello, traducen
todo el código fuente y almacenan el código resultante (objeto) en un fichero (fichero que
será posteriormente ejecutable con la ayuda del enlazador). PASCAL es un ejemplo de
lenguaje compilado.
Intérpretes: traducen y ejecutan una a una las instrucciones de los programas escritos en
lenguaje de alto nivel, no generando programas en lenguaje máquina ni quedando
almacenado ningún fichero objeto. BASIC y PROLOG son ejemplos de lenguajes
interpretados.

Enlazadores

El código generado por el compilador no es realmente ejecutable. Es un código intermedio


que se llama código objeto. El Enlazador o linker enlaza todos los ficheros objetos
necesarios, junto con las funciones o bibliotecas del sistema utilizadas, y produce el fichero
final llamado ejecutable.

Es frecuente que el enlazado sea un paso más de la compilación, ya que el compilador


ejecuta inmediatamente el enlazador, con lo que aparentemente el programador no realiza
este paso.

Depuradores

Una vez editado y compilado el programa, es necesario ejecutarlo (run en inglés). Y no


siempre funciona correctamente.

Los depuradores son capaces de ejecutar el programa paso a paso. Esto, junto con todo un
conjunto de facilidades, posibilita la localización de errores no evidentes.

-7-

También podría gustarte