Pagina 1 de 49
Introducci6n a la programacion.
Caso practico
La evolucién de Intemet y de las nuevas tecnologias, asi
coma las diferentes positilidades para establecer nuevas Y 4
lineas de negocio para la empresa BK Programacién, han
hecho que Ada haya decidido abrir una via de innovacion
Para ello, su empresa deberd realizar el desarrollo de sus
aplicaciones a traves de Jenguajes y tecnicas de
programacién modernos, aunquo con una cficioncia y
exiblidad contrastades.
Maria y Juan, ayudados y orientados por Ada, recordardn y
ampliaran sus conccimientos relacionados con la
programacién, permitiéndoles crear software que pueda adaptarse a nuevas situaciones, como el
Tuncionamiento en diferentes plataformas (PDA, Méviles, Web, etc.) 0 la interaccién con bases de
datos. Todo ello sin perder de vista de donde parten y hacia dénde quieren redirigir sus esfuerzos.
Estas innovacionas, junto a la predisposicién para adaptarse y evolucionar que BK Programacion
esta potenciando en todas aus areas, repercutiran en una mayor capacidad de respuesta ante las
necesidades de sus posibles clientes. En defintiva, conseguir mayor compettividad,
Materiales formativos de FP Online propiedad del Ministerio de
Educacion, Cultura y Deporte.
‘aviso Legal
08/07/2013,Pagina 2 de 49
1
_.Cuantas acciones de las que has realizado hoy, crees que estén relacionadas con
la programacion? Hagamos un repaso de los primeros instantes del dia: te ha
despertado la alarma de tu teléfono mévil o radic-despertader, has preparado el
desayuno utllzando el mictoondas, mientras desayunabas has visto u oido las
lliimas noticias a través de tu receptor de television digital terrestre, te has vestido
y puede que hayas utllzado el ascensor para bajar al portal y salir a la calle, ete.
Quizd no es necesario que continuomes més para damos cuenta de que casi todo
lo que nos rodea, en alguna medida, esta relacionade con la programacién, los
programas y el tratamiento de algin tipo de informacién.
Introduccion
El volumen de datos que actualmente manejamos y sus innumerables posibilidades
do tratamiento constituyen un vasto tertitoro en el que los programadores tienen
mucho que deci.
En esta primera unidad realizaremes un recorride por los conceptos fundamentales
de la programacion de aplicaciones. Iniciaremos nuestro camino conociendo con qué vamos a trabajar. qué
‘técnica podemos emplear y qué es lo que pretendemes conseguir. Continuando con el andlisis de las
diferentes formas de programacién ex’stentes, identificaremos qué fases conforman el desarrollo de un
programa, avanzaremos detallande las caracteristicas relevantes de cada uno de los lenguajes de
programacién disponibles, para posteriommente, realizar una visién general del lenguaje de programacién Java
Finalmente, tendremos la oportunidad de conocer con qué heframientas pedriamos desarrallar nuestros
programas, escogiendo entre una de ellas para ponernos manos a la obra utiizando el lenguaje Java,
08/07/2013,‘Pagina 3 de 49
2.- Programas y programacion
Caso practico
Ada conoce bien lo que significa tener que llevar a cabo el
proceso completo de creacién de software y sabe que, en
ocasiones, no se le da la importancia que deberia a las fases
iniciales do osto proceso. Quiore quo Juan, quo dosarrolla
programas casi sin darse cuenta, recuerde las ventalas que
porta un buen anslisis inicial de los problemas a solucionar y
que no aborde el desarrollo de sus programas senténdose
directamente ante el ordenador a teclear codigo.
Juan le comenta a Ada y 2 Maria: —La verdad es que cuando conoces bien un lenguaje de
programacién crees que puedes hacer cualquior programa direstamento sobre el ordenador, poro
al final te das cuenta de que daberias haberte parado a planificar tu trabajo. Muchas vecas tenes.
que volver atras, racodificar y en ocasionas, rehacer gran parte dal programa porque lo que tienes
no esté bien planteado.
Maria, que permanoce atenta a lo que dicen Ada y Juan, quiore aprender bien desdo ol principio y
lendrd la ventaja de tener a su lado dos expertos,
08/07/2013,Pagina 4 de 49
2.4.- Buscando una solucion.
Generalmente, la primera razén que muave a una persona hacia al aprendizaje
de la programacion es utilizar el ordenedor como herramienta para resolver
problemas concretas Como en la vida real, la bilsqueda y obtencién de una
solucién a un problema determinado, utlizando medios informaticos, se lleva a
cabo siguiendo unos pasos fundamentales. En la siguiente tabla podemos ver
estas analogias.
Resolucion de problemas
En la vida real... En Programacién...
Anilisis del problema: requiere que el problema
sea definide y comprendido claramente para que
pueda ser anelizado con todo detalle.
Observacién dela
situacion 0 problema
Pensamos en una 0
varias posiles
Disefio 0 desarrollo de algoritmos: procedimiento
aso a paso para solucionar el problema dado.
Resolucién del _algoritmo elegido en la
computadora: consiste en convartir el algoritmo en
programa, ejecutarlo y comprobar que soluciona
verdaderamante el problema
Aplicamos la solucién
que estimames mas
adecuads.
Que virtudes deberia tener nuestra solucion?
Correcci6n y eficacta: si resuelve el problema adecuadamente.
Eficiencia: silo hace en un tiempo minime y con un uso éptimo de los recursos del sistema
Para conseguitio, cuando affontemos la construccién de la solucion tendremos que tener en cuenta los
siguientes conceptos:
1. Abstraccion: se trata de realizar un analisis dal problema para descomponerlo en problemas mas
pequefios y de menor complejidad, describiendo cada uno de ellos de manera precisa. Divide y
venceras, esta suele ser consideraca una filosofia general para resolver problemas y de aqui que su
nombre no sélo forme parte del vocabulario informatico, sino que también se utiliza en muchos otros
ambitos.
2. Encapsulacién: consiste en ocultar la informacién para poder implomentarla de diferontes manoras sin
que esto influya en el resto de elementos,
3. Modularidad: estructuraremos cada parte en médulos independientes, cada uno de ellos tendra su
funcién correspondiente.
Citas para pensar
Roger Pressman. “El comienzo de la sabiduria para un ingeniero de software es
reconocer la diferencia ontre hacer quo un programa funcione y conseguir quo lo
haga comrectamente.”
08/07/2013,Pagina 5 de 49
2.2.- Algoritmos y programas.
Después de analizar en detalle el problema a solucionar, hemos de disefiar y desarrollar el algoritmo
adecuado. Pero, ¢Qué es un algoritmo?
Algoritmo: secuencia ordenada de pasos, descita sin ambigiedades, que conducen a la solucién
de un problema dado
Los algoritmos con indapendientes do los lenguajes de programacién y de
las computadoras donde se ejecutan. Un mismo algoritmo puede ser
expresado en diferentes lenguajes de programacién y podria ser ejecutado
en diferentes dispositivos. Piensa en una ‘eceta de cocina, ésta puede ser
expresada en castellano, inglés o francés, podria ser cocinada en fagan 0
vittocerémica, por un cocinero 0 mas, etc. Pero independientemente de
todas estas circunstancias, el plato se prepararé siguiendo los mismos
pasos.
La diferencia fundamental entre algoritmo y programa es qua, en al
segundo, los pasos que permiten resolver el problema, deben esctibirse en
un determinado lenguaje de programacion para que puedan ser ejecutados en el ordenador y asi obtener la
solucion,
Los lenguajes de programacién son sélo un modio para expresar el algoritmo y el ordenader un procesador
para ejecutalo. El cise’to de los algorimmos seré una tarea que necesitard de la cteatividad y conocimientos de
las técnicas de programacién. Estilas distintos, de distintos programadores ala hora de obtener la salucién del
problema, daran lugar a algoritmos diferentes, igualmente validos.
En esencia, todo problema se puede describir por medio de un algoritmo y las caracteristicas fundamentales
que éstos deben cumplir son.
Debe ser preciso e indicar el orden de realizacién peso a paso
Debe estar definido, sise ejecuta dos o mas veces, debe obtener el mismo resultado cada vez
Debe ser finito, debe tener un numero finito de pasos.
Pero cuando los problemas son complejos, es necesario descomponer éstos en subproblemas mas simples y,
a Su vez, en olfos mas pequefios. Estas estrategias reciben el nombre de diselio descendente 0
disefio modular (tap.dewn dasign). Este sistema se basa en al lema divide y venceras
Para representar graficamente los algortmos que vamos a diseflar, tenemos a nuestra disposicién diferentes
herramiontas que ayudardn a doseribir cu comportamionto de una forma precisa y genérica, para luego poder
codificarlos con el lenguaje que nos interese. Ente otras tenemos.
jiagramas de flujo: Esta técnica utilize simbelos gréfices para la representacién del algoritmo. Suele
utlizarse en las fases de analisis
Peoudocddigo: Esta técnica so basa on ol uso do palabras clave on lenguajo natural, _constantos,
variables, ottos objetos, Instrucciones y estructuras de programacion que expresan de forma escrita
la solucién dal problema. Es la técnica mas utiizada actualmente.
Tablas de decision: En una tabla son representadas las posibles conciciones del problema con sus
respectivas acciones. Suele ser una técnica de apoyo al pseudacadigo cuando existen siuaciones
condicionales complejas.
Debes conocer
Acontinuacién te ofrecemos dos enlaces muy interesantes:
En el primer video puedes ver los elementos grifices fundamenteles que se utlizan para la
generacisn de diagramas de tlujo.
En el segundo video so realiza la construccién do un diagrama de fiujo con una herramienta
gialica y su transformacion a pseudacédigo
08/07/2013