Publicado el 20 de Marzo del 2018
912 visualizaciones desde el 20 de Marzo del 2018
172,4 KB
24 paginas
Creado hace 24a (26/01/2000)
Introducción
a la programación
M. Jesús Marco Galindo
Josep Vilaplana Pastó
PID_00149895
© FUOC • PID_00149895
Índice
Introducción a la programación
Introducción ..........................................................................................
Objetivos .................................................................................................
1. Conceptos básicos de programación ..........................................
1.1. Definiciones ..................................................................................
1.2. Ejemplos .......................................................................................
2. La programación como disciplina de ingeniería ....................
2.1. Etapas en el desarrollo de un programa .......................................
2.1.1. Análisis de requerimientos. Definición del problema ......
2.1.2. Diseño del algoritmo .........................................................
2.1.3.
Implementación del programa .........................................
2.1.4. Pruebas ..............................................................................
2.1.5. Operación, mejoras y mantenimiento ..............................
2.2. Conclusiones y motivación ..........................................................
3. Objetivos de la asignatura ............................................................
3.1. Etapas del diseño de un algoritmo ...............................................
3.1.1. Entender el problema ........................................................
3.1.2. Plantear y planificar la solución .......................................
3.1.3. Formular la solución .........................................................
3.1.4. Evaluar la corrección de la solución .................................
3.2. Implementación de un programa ................................................
5
6
7
7
10
12
12
13
13
14
14
15
15
17
17
18
19
19
19
20
Resumen ..................................................................................................
22
Glosario ...................................................................................................
23
Bibliografía ............................................................................................
23
© FUOC • PID_00149895
Introducción
5
Introducción a la programación
Este módulo introduce el mundo de la programación como disciplina de la in-
geniería. A partir de aquí se comprenderán mejor los objetivos que hay que al-
canzar para convertirse en un buen programador. En realidad, éste es, como
veréis, el objetivo de esta asignatura.
La finalidad básica de la programación es solucionar problemas mediante el
ordenador. Al igual que en cualquier disciplina, el aprendizaje debe ser progre-
sivo: primero hay que aprender a resolver problemas sencillos a partir de un
conjunto de herramientas básicas, y más adelante se intentan resolver proble-
mas más complejos que requieren más herramientas. Así pues, este material
está formado por una serie de módulos con una estructura orientada al apren-
dizaje progresivo de los contenidos y, por lo tanto, es muy importante asimilar
los contenidos de un módulo antes de pasar al siguiente.
Antes de entrar en materia tenemos que saber de qué hablamos. Para poder se-
guir el discurso de la asignatura es indispensable conocer, en primer lugar, el
significado de los conceptos con que trabajaremos. En el primer apartado de
este módulo definiremos estos conceptos básicos.
A partir de los conceptos podremos dar un paso adelante y seguir con el segun-
do apartado, que nos presenta la programación como una disciplina de la in-
geniería y nos muestra cómo hay que emprender el desarrollo de un programa
para convertirse en un buen profesional. Pensad que la programación no es un
arte, sino una técnica.
Con todo esto, ya seremos capaces de entender los objetivos de la asignatura,
que se exponen en el tercer apartado.
Una vez situados y conocidos todos estos aspectos, en el módulo siguiente es-
taremos en condiciones de empezar el aprendizaje de las herramientas y mé-
todos que necesitamos para desarrollar un programa.
© FUOC • PID_00149895
Objetivos
6
Introducción a la programación
Los objetivos de este módulo son los siguientes:
1. Comprender los conceptos básicos de programación, algoritmo y programa.
2. Conocer las etapas básicas de desarrollo de un programa.
3. Entender la diferencia entre diseño e implementación, y comprender la
importancia que el diseño de algoritmos tiene en la programación.
4. A partir de la comprensión de los conceptos básicos, conocer cuáles son los
objetivos de la asignatura.
© FUOC • PID_00149895
7
Introducción a la programación
1. Conceptos básicos de programación
Para entender en qué consiste la programación como disciplina y cuáles son
los objetivos de esta asignatura, necesitamos, antes que nada, comprender los
conceptos básicos que deberemos utilizar. Así pues, los definiremos de una
manera sencilla y clara.
Encontraréis los objetivos
de los fundamentos de la
programación en el apartado 3
de este módulo.
1.1. Definiciones
Situémonos primero en uno de los conceptos más importantes con los que tra-
bajaremos: el concepto de algoritmo.
Un algoritmo se define como una descripción no ambigua y precisa de
las acciones que hay que realizar para resolver un problema bien defini-
do en un tiempo finito.
Por lo tanto, podemos pensar en un algoritmo como una receta o guión que
hay que seguir para resolver un problema determinado, normalmente a partir
de una información que tenemos de entrada (por ejemplo, una receta para co-
cinar un plato). Un algoritmo, sin embargo, es un método general para resol-
ver todos los casos posibles del mismo problema y, por lo tanto, debe ser
independiente de los datos de entrada de cualquier caso concreto.
Para comprender completamente este concepto de algoritmo, será preciso de-
finir ahora los conceptos entorno, acción, proceso y procesador.
El entorno es el conjunto de objetos necesario para llevar a cabo una tarea de-
terminada. El estado del entorno en un momento determinado es la descrip-
ción del estado de los objetos del entorno en aquel momento concreto. Un
algoritmo actúa de manera que hace cambiar progresivamente el estado de su
entorno.
Una acción es un suceso finito en el tiempo y que tiene un efecto definido y
previsto. Una acción puede actuar sobre un entorno y lo puede modificar, es
decir, se parte de un estado inicial y se llega a un estado final diferente. Una
acción elemental es una acción que el destinatario de un algoritmo entiende
y sabe procesar.
Un proceso es la ejecución de una o varias acciones. El algoritmo expresa unas
pautas que hay que seguir para llevar a cabo una tarea concreta. El encargado
de llevar a cabo el proceso es el procesador. Un procesador es una entidad ca-
Definición de algoritmo
según el diccionario
Según el Diccionario de la
Lengua Española de la R.A.E,
algoritmo es:
“Conjunto ordenado y finito de
operaciones que permite hallar
la solución de un problema.”
Ejemplo de entorno
y estado
En el caso de una receta de
cocina, el entorno estaría con-
formado por los utensilios de
cocina (ollas, sartenes, etc.)
y los ingredientes.
El estado de las sartenes, por
ejemplo, cambiará de limpias
a sucias.
© FUOC • PID_00149895
8
Introducción a la programación
paz de comprender y ejecutar eficazmente un algoritmo. El destinatario del al-
goritmo es, pues, el procesador.
Un procesador puede ser
una persona, una lavadora,
un ordenador, etc.
Ahora que ya sabemos qué es un algoritmo, debemos decidir cómo lo expresa-
mos. Deberemos encontrar un lenguaje que nos permita realizar una descrip-
ción no ambigua y precisa de las acciones que componen nuestros algoritmos.
Denominamos lenguaje natural el lenguaje que normalmente utilizamos
para comunicarnos. No obstante, debido a su complejidad y ambigüedad, ve-
remos que el lenguaje natural no nos permite definir las acciones con la pre-
cisión y claridad que queremos. En realidad, si nosotros actuamos como
procesadores de alguien que nos indica cómo hay que realizar una tarea, a me-
nudo pedimos puntualizaciones y aclaraciones de qué hay que hacer.
Necesitamos, pues, un lenguaje más reducido y preciso. En los módulos siguien-
tes describiremos un lenguaje concreto creado ex professo para poder expresar
cualquier algoritmo con la claridad y precisión necesarias. Lo denominaremos
lenguaje algorítmico o notación algorítmica.
En esta asignatura nos dedicaremos a aprender las técnicas básicas para diseñar
algoritmos. Por lo tanto, necesitaremos aprender este lenguaje algorítmico que
acabamos de mencionar. En el módulo “Introducción a la algorítmica”, descri-
biremos el lenguaje algorítmico, y en los módulos siguientes aprenderemos a
utilizarlo de manera progresiva, conjuntamente con las técnicas para el diseño
de algoritmos.
Una vez hemos llegado a este punto, ya hemos definido la mayoría de los con-
ceptos principales con los que trabajaremos; y prestad atención al hecho de
que, curiosamente, todavía no hemos hablado de programas.
Definiremos un programa en relación con todo lo que hemos definido hasta
ahora. Para hacerlo, necesitamos aclarar también qué es un ordenador o
computador.
La lengua española o la inglesa
serían ejemplos de lenguajes
naturales.
Lenguajes no naturales
No es la primera vez que os
encontráis en la situación
de tener que utilizar una nueva
notación (diferente del lengua-
je natural) para expresar
conceptos; por ejemplo, estáis
muy acostumbrados a utilizar
la notación matemática
(+, −, >, log, etc.).
Aunque ya tenemos una idea de lo qué es, un ordenador se puede defi-
nir formalmente como una máquina compuesta por circuitos electróni-
cos que tiene la capacidad de resolver problemas bajo el control de unas
instrucciones dadas. Un ordenador está fo
Comentarios de: Introducción a la programación (0)
No hay comentarios