Sie sind auf Seite 1von 43

MD_UDxxxxxx_V(11)UniversidadEsp.

dot

INICIACIN A JAVA

Introduccin a la programacin

M085_00_V(01)

INTRODUCCN A LA PROGRAMACIN

NDICE
MOTIVACIN ..............................................................................................3 PROPSITOS ...............................................................................................4 PREPARACIN PARA LA UNIDAD .........................................................................5 1. QU ES LA PROGRAMACIN? .......................................................................7 1.1. UN POCO DE HISTORIA.............................................................. 7 2. LENGUAJES DE PROGRAMACIN ......................................................................9 2.1. PROCESO DE TRADUCCIN ..................................................... 10 2.2. COMPILADORES E INTRPRETES ............................................. 13 2.3. CLASIFICACIN DE LOS LENGUAJES ......................................... 13 3. RESOLUCIN DE PROBLEMAS DE PROGRAMACIN ................................................ 14 3.1. IDENTIFICACIN DEL PROBLEMA .............................................. 14 3.2. RESOLUCIN DEL PROBLEMA .................................................. 15 3.3. VERIFICACIN DEL ALGORITMO ............................................... 17 4. TRADUCCIN A PSEUDOCDIGO .................................................................... 18 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. TIPOS DE DATOS .................................................................... 19 VARIABLES............................................................................. 19 OPERADORES ........................................................................ 20 ARITMTICOS ......................................................................... 21 ASIGNACIN .......................................................................... 21 RELACIONES .......................................................................... 22 OPERADORES LGICOS.......................................................... 23 FUNCIONES............................................................................ 23

Unidad didctica 0

INICACIN A JAVA

4.9. INSTRUCCIONES PARA ENTRADA Y SALIDA DE DATOS ............... 24 4.10. EL PRIMER PROGRAMA ..................................................... 24 4.11. ESTRUCTURAS DE PROGRAMAS ........................................ 25 4.12. ESTRUCTURA SECUENCIAL ............................................... 25 4.13. ESTRUCTURAS DE CONTROL SELECTIVAS .......................... 26 4.14. ESTRUCTURAS DE CONTROL REPETITIVAS ......................... 27 4.15. PROGRAMAR CON SUBRUTINAS ......................................... 30 4.16. MBITO DE LAS VARIABLES ............................................... 32 CONCLUSIONES .......................................................................................... 35 RECAPITULACIN ........................................................................................ 36 AUTOCOMPROBACIN .................................................................................. 37 SOLUCIONARIO .......................................................................................... 39 BIBLIOGRAFA ........................................................................................... 41

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

MOTIVACIN

Dedica unos minutos cada da a prepararte y elige tu futuro.

Vamos a introducirnos en el apasionante mundo de la programacin, y para ello hemos de tener la base slida para entender las causas que llevaron a la creacin de los lenguajes de programacin. A parte de esto tenemos que aprender tcnicas para traducir los problemas de la vida cotidiana a un lenguaje de programacin.

Unidad didctica 0

INICACIN A JAVA

PROPSITOS
Con esta unidad vas a aprender y dominar los siguientes aspectos:

Entorno histrico de la programacin. Tcnicas para resolver problemas. Caractersticas comunes de los lenguajes de programacin. Destreza para resolver problemas con pseudocdigo.

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

PREPARACIN PARA LA UNIDAD


Antes de iniciarnos en la programacin, debemos conocer sus races y sus principales motivos. En este tema aprenderemos la historia de la programacin, los componentes actuales y la manera en que nosotros como programadores utilizaremos los ordenadores. En este tema vamos a aumentar un nivel de abstraccin y nunca hablaremos de un lenguaje de programacin en concreto. Todas las reglas que en este tema veamos, sern aplicables a varios lenguajes de programacin.

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

1. QU ES LA PROGRAMACIN?
Es el proceso de disear, escribir, probar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es el conjunto de ficheros escritos en un lenguaje de programacin que forman parte de nuestro proyecto. El propsito de la programacin es crear software que permita al usuario o usuarios realizar uno o diversos tipos de trabajo. Tal trabajo puede ser totalmente diverso, desde automatizar un proceso, digitalizar datos, software de entretenimiento (juegos), programas que nos ayuden en nuestro da a da, sistemas operativos

1.1. UN POCO DE HISTORIA


Al principio de los tiempos las computadoras solo interpretaban instrucciones en lenguaje mquina, cadenas de 1 y 0. Sistema binario. Como podis imaginar la programacin a este nivel resultaba extremadamente difcil. Los primeros cientficos que trabajaban en la materia decidieron crear un lenguaje ms parecido al humano que acabara traducido en lenguaje mquina. Este lenguaje tena ya palabras en ingls y se llam ensamblador. Por ejemplo, para sumar se utiliza la letra A de add. El lenguaje ensamblador es bsicamente lenguaje mquina, pero mucho ms fcil de recordar que secuencias de 0 y 1. Mientras aumentaba la complejidad de las tareas que realizaban las computadoras se vio la necesidad de crear un nuevo nivel de abstraccin. Entonces se crearon los lenguajes de programacin de alto nivel. Mientras que realizar una suma en un lenguaje de alto nivel se corresponde a una lnea al traducirlo a ensamblador se convierte en varias lneas de cdigo. Por ejemplo:

Unidad didctica 0

INICACIN A JAVA

Lenguaje Alto Nivel

Lenguaje Ensamblador LDA 0,4,3

Lenguaje Mquina 021404 031403 143000 041405

A=B+C

LDA 2,3,3 ADD 2,0 STA 0,5,2


Tabla 1. Ejemplo de creacin de niveles de abstraccin

No es propsito de este temario entender esta conversin; es simplemente un ejemplo para que entendamos la evolucin y veamos el nivel de abstraccin.

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

2. LENGUAJES DE PROGRAMACIN
Ahora que hemos visto en qu consiste la programacin y tenemos una visin histrica de la evolucin, vamos a ver qu son los lenguajes de programacin. Son un conjunto de smbolos y reglas para combinar que se usan para expresar algoritmos. Poseen:

Lxico, conjunto de smbolos permitidos. Sintaxis, indican como construir el lenguaje. Semntica, significado de cada construccin correcta.

El cdigo fuente se escribir en un lenguaje de programacin elegido, dicha eleccin estar basada en muchas variables. En nuestro caso utilizaremos Java, y nuestra decisin est basada en aprender a programar para Android. Caractersticas fundamentales

Independencia de la arquitectura fsica de la computadora. No obligan al programador a conocer detalles especficos de la mquina. Aunque en el caso de Android, hay momentos que necesitaremos saber si el dispositivos tiene GPS o no para usarlo; pero en el uso normal de un lenguaje como programadores nos olvidamos de lo que hay por debajo de la programacin. Utilizan notaciones cercanas a las habituales en el mbito que se usan. Las operaciones de expresan con sentencias o frases muy parecidas al lenguaje matemtico o al lenguaje natural. Las instrucciones se expresan por medio de texto, conteniendo caracteres alfanumricos y caracteres especiales (+, =, /, etc.).

Unidad didctica 0

INICACIN A JAVA

Se puede asignar un nombre simblico a determinados componentes del programa para facilitar la compresin de las personas. Como programadores somos libres de poner los nombres. Dispone de instrucciones potentes y funciones de gran diversidad:

Aritmticas: seno, coseno, mdulo, etc. Especiales: cambiar tipos de datos, por ejemplo de real a entero. Lgicas: comparaciones. Tratamientos de caracteres: bsqueda una subcadena en una cadena... Etc.

Podemos incluir comentarios, para aumentar la legibilidad. Estas lneas son ignoradas por el compilador. Por ejemplo, en Java podemos marcar una lnea como comentario aadiendo una doble barra al inicio de la lnea, por ejemplo:
//Esto es un comentario.

Dicha lnea aparecer coloreada de diferente manera para indicarnos que es un comentario. Ya hemos visto las caractersticas principales de los lenguajes de programacin. Nuestro objetivo ser Java para luego adentrarnos en Android con mayor facilidad, pero todas estas caractersticas son compartidas por la gran mayora de los lenguajes de programacin. Ahora veremos cmo se traduce desde cdigo fuente de alto nivel a lenguaje mquina.

2.1. PROCESO DE TRADUCCIN


Como ya hemos visto al principio del tema las computadoras solo entienden lenguaje mquina (1 y 0) y para facilitar el trabajo a los programadores se aadi un nivel de abstraccin y se crearon lenguajes de programacin parecidos al lenguaje humano. Ahora que tenemos nuestro programa escrito en ese lenguaje parecido al lenguaje humano (cdigo fuente) tenemos que traducirlo al lenguaje de la computadora. Dicho trabajo es realizado por los traductores. Hay varias maneras de hacer esto, pero nosotros nos centraremos en la compilacin. La compilacin es el proceso de traduccin realizado por un compilador. Dicho compilador es una herramienta que recibe como entrada un fichero de texto con el cdigo de nuestro programa y lo convierte en un programa objeto.

10

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

Este proceso est formado por varias fases:

Anlisis lexicogrfico: descompone todos los smbolos que tienen un significado para el lenguaje. Es decir las palabras clave, por poner un ejemplo en Java: If, for, while, +. En este paso el compilador nos avisar de problemas lxico (nos avisar si hemos escrito algo mal o que el lenguaje no entiende), tambin se obviarn las lneas que son comentarios. Anlisis sintctico: la sintaxis expresa como deben escribirse los programas mediante un conjunto de reglas. El cdigo fuente de nuestro programa ser correcto cuando todas sus estructuras aparecen en un orden correcto. Por ejemplo, en Java un mtodo debe ir encerrado entre llaves, quedando as:
private void funcion() { contenido };

Si nosotros no lo hiciramos siguiendo estas reglas, el compilador nos dara un error.

Anlisis semntico: aqu se pueden producir errores cuando se encuentran instrucciones sin un significado correcto como, por ejemplo, asignar contenido alfanumrico a una variable numrica. Un ltimo paso consistira en optimizar y generar el cdigo mquina con el mismo significado que el cdigo fuente. Hay veces que se utiliza un lenguaje intermedio en este paso con motivo de optimizacin.

Figura 1. Proceso de Java

Ahora vamos a centrarnos en explicar un poco el proceso que sucede con Java, ya que es el lenguaje en el que nos centraremos en los temas siguientes. El proceso de traduccin en Java es una mezcla entre compilador y mquina virtual. Veamos una definicin de la mquina virtual de Java: Una mquina virtual de Java (Java Virtual Machine) es una mquina virtual de proceso nativo, es decir, ejecutable en una plataforma especifica capaz de interpretar y ejecutar instrucciones expresadas en un cdigo binario especial el Java bytecode, el cual es generado por el compilador Java.

Unidad didctica 0

11

INICACIN A JAVA

Figura 2. Mquina virtual de Java

Como se muestra en el grfico el compilador tras realizar todos los pasos explicados anteriormente y estar libre de errores, genera ficheros bytecode que son ledos por la mquina virtual y se ejecuta el programa. Una de las caractersticas de Java es la multiplataforma, es decir, que un mismo programa fuente podr funcionar en la gran mayora de las plataformas actuales. De este modo nuestros programas podrn ser ejecutados tanto en GNU/Linux como Windows o Mac, solo que cada uno de los sistemas nombrados anteriormente tendrn que tener su propia mquina virtual especifica que haga la traduccin de bytecode a lenguaje mquina de la plataforma especfica. Hemos visto la compilacin como solucin para convertir el cdigo fuente en cdigo mquina, pero no es la nica opcin. Existe otra opcin llamada interpretacin. Ya ha quedado claro que Java es un lenguaje que necesita ser compilado para ser ejecutado, pero consideramos que es tambin de gran inters conocer esta otra alternativa.

12

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

2.2. COMPILADORES E INTRPRETES


Un compilador traduce un programa fuente, escrito en un lenguaje de alto nivel, a un programa objeto escrito en lenguaje mquina o ensamblador. El cdigo fuente suele almacenarse en un fichero y el programa objeto en un fichero en la memoria externa para ser procesado posteriormente sin necesidad de volver a hacer la traduccin. Una vez traducido la ejecucin es independiente del compilador, tendramos un fichero ejecutable.

Por el contrario, un intrprete traduce y ejecuta un fichero de cdigo fuente sentencia a sentencia. El intrprete capta una secuencia fuente, la analiza e interpreta, dando lugar a su ejecucin inmediata, por lo que la ejecucin esta supervisada por el intrprete. Es ms lento que un programa compilado. El ejemplo ms claro de un lenguaje interpretado lo tenemos en la web. HTML es un lenguaje interpretado que el navegador (intrprete) analiza lnea a lnea y conforme lo analiza correctamente lo ejecuta en la mquina. Por eso, nosotros podemos ver el cdigo fuente de cualquier pgina web, pero no podremos ver el cdigo fuente de un programa compilado. Te propongo buscar la opcin en tu navegador y observa el cdigo fuente de google.es.

2.3. CLASIFICACIN DE LOS LENGUAJES


Los lenguajes de programacin se pueden agrupar en funcin de varios criterios. Un criterio simple es el nivel; ya hemos hecho diferencias a lo largo del tema entre los lenguajes de bajo nivel (lenguaje mquina, ensamblador) y lenguajes de alto nivel (Java). Esta clasificacin est basada en la cercana del lenguaje humano y del lenguaje de programacin. As lenguajes de alto nivel son ms parecidos al lenguaje humano. Dentro de los lenguajes de alto nivel tenemos que hacer una parada en los lenguajes orientados a objetos. En ellos, los programas se descomponen en objetos que implementan partes del sistema encapsulando los datos que almacenan su estado junto con los mtodos que se utilizan para acceder a ellos. Java es un lenguaje de alto nivel orientado a objetos.

Unidad didctica 0

13

INICACIN A JAVA

DE PROBLEMAS DE PROGRAMACIN
Como hemos visto anteriormente, la programacin y los lenguajes de programacin nos ayudarn a automatizar, solventar y mejorar situaciones; en definitiva, a resolver problemas.

3. RESOLUCIN

Ahora que sabemos cmo funcionan los lenguajes de programacin y sabemos para qu se usan, vamos a ver tcnicas para poder convertir los problemas del lenguaje humano a un lenguaje de programacin. El proceso se realiza en tres fases:

Identificacin del problema. Resolucin del problema. Implementacin del problema en un lenguaje de programacin.

3.1. IDENTIFICACIN DEL PROBLEMA


Esta fase incluye el anlisis del problema, as como el diseo y verificacin del algoritmo. Cuando un usuario plantea un problema a un programador para resolverlo mediante su ordenador, ni el usuario tiene por qu tener conocimientos de informtica ni el informtico tiene por qu conocer el dominio del problema que se plantea. Por ejemplo, a la hora de realizar un software de contabilidad, el contable no tiene por qu ser informtico y el programador no tiene por qu ser un experto contable.

14

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

Por lo tanto, el primer paso para encontrar la solucin a un problema es analizar y examinar el mismo. Dicho problema ha de estar escrito sin ambigedades y el dilogo con el usuario ha de ser constante. Una vez que queda absolutamente claro el problema a resolver tenemos que centrarnos en disear el algoritmo que solucione dicho problema.

3.2. RESOLUCIN DEL PROBLEMA


Un algoritmo es una secuencia ordenada de pasos, sin ambigedades, que conducen a la resolucin de un problema dado. Las caractersticas que definen un algoritmo son:

Preciso: indicando el orden de realizacin de cada uno de los pasos. Definido: si se sigue varias veces proporcionndole los mismos datos ha de obtener los mismos resultados. Finito: debe terminar en algn momento. Debe tener un nmero finito de pasos.

Para disear un algoritmo debemos comenzar por identificar las tareas ms importantes para resolver el problema y disponerlas en el orden que han de ser ejecutadas. Este mtodo de disear el algoritmo por etapas, yendo desde los conceptos generales a los de detalle se conoce como mtodo descendente o top-down. Aqu cabe nombrar una famosa cita de Julio Csar utilizada en el mundo de la programacin: Divide y vencers; esto significa que si convertimos nuestro gran problema en pequeos problemas, obtendremos la solucin de manera ms clara. En un algoritmos debemos considerar tres partes:

Entrada: informacin dada al algoritmo o datos de entrada necesarios para resolver el problema. Por ejemplo, para realizar el algoritmo de una suma necesitaremos dos nmeros de entrada. Proceso: operaciones o clculos necesarios para encontrar la solucin al problema. Siguiendo con el ejemplo de la suma, en esta parte tendramos que encontrar la manera de sumar esos dos nmeros recibidos como entrada. Salida: respuesta dada por el algoritmo o resultados finales obtenidos por el procesamiento de los datos de entrada. En el caso de la suma, responderamos con el nmero resultante de la suma obtenida del proceso de los nmeros de entrada.

Veamos un ejemplo: queremos desarrollar un algoritmo para el clculo del rea de un rectngulo.

Unidad didctica 0

15

INICACIN A JAVA

Recordemos que la frmula para calcular la superficie de un rectngulo es: b h.

Figura 3. Superficie de un rectngulo

En primer lugar, deberamos plantearnos las siguientes preguntas: Qu datos necesito para calcular la superficie de un rectngulo?; en otras palabras, cules son mis datos de entrada? En este caso queda claro que son la altura y la base de dicho rectngulo. Tambin tendr que plantearme qu tipo de datos espero de entrada. Permito calcularlo en funcin de nmero reales? Solo permito usar nmeros enteros? Dependiendo de la respuesta deber hacer un filtro a la hora de verificar mis datos de entrada. Tendr que preguntarme tambin: cules van a ser los datos de salida? Cuntos datos de salida se producirn? Qu formato tendrn? En nuestro caso solo tendremos un dato de salida que ser el resultado de multiplicar la base por la altura; en cuanto al formato del dato de salida depender de cual sea el formato de los datos de entrada. Una vez que hemos analizado nuestros datos de entrada y de salida podemos tener el siguiente algoritmo, ordenado por pasos:

Pedir al usuario que introduzca por teclado la altura y la base del rectngulo. Solo permitiremos introducir datos enteros. Calcular la superficie multiplicando la base por la altura. Salida por pantalla del resultado devuelto por el paso anterior. El formato ser: La superficie del rectngulo es: superficie calculada en paso 3.

El lenguaje en el que escribimos un algoritmo ha de ser totalmente independiente al lenguaje de programacin en el que vamos a implementarlo. Existen varias maneras de escribir algoritmos en fase de anlisis: diagramas de flujo, pseudo-

16

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

cdigo, sistemas formales... En nuestro caso utilizaremos el pseudocdigo por estar ms cercano al lenguaje de programacin.

3.3. VERIFICACIN DEL ALGORITMO


Despus de disear el algoritmo hemos de comprobar si es correcto para un rango de nmeros. Como hemos visto en las caractersticas de un algoritmo, este ha de ser definido y para las mismas entradas tiene que producir las mismas salidas. La mejor manera de probar esto es ejecutando dicho algoritmo manualmente y apuntando los resultados en un papel o usando tablas. Por ejemplo, para verificar el algoritmo anterior usaramos esta tabla:

Datos Entrada B = 3; H = 1 B = 3; H = 2 B = 4; H = 5

Proceso 31 32 45

Salida 3 6 20

Tabla 2. Ejemplo de tabla de verificacin del algoritmo

De este modo comprobaramos que es un algoritmo definido y que para la misma entrada devuelve el mismo resultado. Tambin deberemos comprobar el nmero en los lmites; en este caso, por ejemplo, tendramos que preguntarnos Tiene sentido introducir nmeros negativos? Ejercicio Antes de continuar es recomendable que hagamos los pasos descritos (anlisis, diseo, verificacin) hasta ahora para los siguientes problemas:

Disear un algoritmo correspondiente a un programa que pida los datos necesarios para calcular la superficie de un crculo y retorne el resultado. Disear un algoritmo correspondiente a un programa que lea un dato en millas marinas1 y convierta dicho dato a metros; el resultado deber mostrarse por pantalla. Disear un algoritmo correspondiente a un programa que pida dos nmero enteros y escriba por pantalla su suma, multiplicacin y divisin.

Una milla marina equivale a 1.852 metros.

Unidad didctica 0

17

INICACIN A JAVA

4. TRADUCCIN A PSEUDOCDIGO
Vamos a entender ahora cmo traducir un algoritmo escrito en lenguaje natural a pseudocdigo. El pseudocdigo es utilizado por programadores para describir algoritmos en un lenguaje humano simplificado que no es dependiente de ningn lenguaje de programacin. No existe una regla global para la escritura de algoritmos en pseudocdigo, por lo tanto, un algoritmo en pseudocdigo es muy libre (esto da un gran potencial y la inconveniencia de que sea demasiado crptico como para que otros programadores lo entiendan). Para marcarnos unas reglas seguiremos una estructura para escribir nuestros algoritmos en pseudocdigo:

Cabecera:

Programa: escribiremos el nombre que queremos darle a nuestro programa. Mdulo: dentro de nuestro programa podemos tener varios mdulos que queramos representar separadamente. Por defecto, siempre utilizaremos el mdulo principal, que ser el punto de entrada cuando se ejecuta el programa. Constantes: aqu definiremos las constantes que vayamos a utilizar en el mdulo. Una constante es un valor inmutable a lo largo de la ejecucin de un programa. Por ejemplo, servir para almacenar valores del estilo de = 3,1416. Variables: espacio reservado para definir las variables donde almacenaremos nuestros datos. Una variable es un espacio de memoria cuyo valor puede cambiar a lo largo de la ejecucin de un programa.

18

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

Cuerpo:

Inicio: marca el inicio de un algoritmo. Instrucciones: conjunto de instrucciones ordenadas que forman el algoritmo.

Fin: punto de fin del algoritmo.

Hay programadores que incluyen las constantes y variables dentro de inicio, no queremos ser estrictos en la estructura, por lo tanto consideraremos ambas opciones vlidas.

4.1. TIPOS DE DATOS


Anteriormente solo hemos hecho pequeos nombramientos a los tipos de datos, a la hora de escribir pseudocdigo deberemos tenerlos ms en cuenta. Para esto tendremos que preguntarnos en qu tipos de datos queremos almacenar nuestras variables y constantes o que tipos de datos esperan como entrada nuestros programas o qu tipo de datos van a devolver nuestros programas. Veamos los tipos de datos bsicos:

Entero: subconjunto finito de los nmeros enteros, cuyo rango depende del lenguaje de programacin. Por ejemplo, en Java va desde -2.147.483.648 a 2.147.483.647. Real: subconjunto de los nmeros reales limitado no solo al tamao, sino tambin a la precisin. Lgico: conjunto formado por los valores cierto y falso, 1 y 0. Este tipo de dato puede funcionar con operadores lgicos como AND, OR Carcter: conjunto finito y ordenado de los caracteres que el ordenador reconoce. Se almacena en un byte (8 bits), por lo tanto podr representar 256 posibles valores. Un carcter se guarda en un solo byte como un nmero entero, que corresponde a su cdigo ASCII. Los caracteres se representan usando comillas simples, por ejemplo 'a', 'D'. Cadena: serie finita de caracteres que podr representarse de estas dos formas: 'H' 'O' 'L' 'A' u HOLA. Las cadenas se representan usando comillas dobles.

Entero, real, carcter, cadena y lgico son tipos de datos predefinidos en la mayora de los lenguajes; estos tipos de datos estn definidos en el lenguaje Java.

4.2. VARIABLES
Una variable es un dato representado por una posicin de memoria que puede cambiar su valor durante la ejecucin del programa.

Unidad didctica 0

19

INICACIN A JAVA

Se identifica por su tipo y por su nombre, el tipo podr ser cualquiera y determina el conjunto de valores que podr tomar. La declaracin de una variable origina la reserva de espacio en memoria para mantenerla, dicho espacio de memoria queda etiquetado con el identificador de la variable. El identificador tiene una serie de reglas que luego pueden cambiar en cada lenguaje, pero por norma general son:

Un identificador se forma como consecuencia de letras y dgitos. Si nosotros definimos errneamente este identificador, ser el compilador quien nos avise de un error sintctico. Un identificador no puede contener espacios en blanco ni caracteres reservados para otras acciones como por ejemplo: +, -, *, etc. El primer carcter de un identificador ha de ser una letra, nunca un nmero. Se hace distincin entre maysculas y minsculas, no es lo mismo base que BASE. Esto depende tambin del lenguaje de programacin, por ejemplo Java es sensible a maysculas y minsculas mientras que BASIC no lo es.

Ejemplos: tiempo, distancia1, contador_indice, velocidad_de_la_luz. Es muy recomendable elegir los identificadores de las variables de manera que mediante este podamos identificar rpidamente la misin de dicha variable. Por ejemplo: si estamos calculando la superficie de un rectngulo ser mejor llamar a las variables base y altura y no xy z. Para declarar variables utilizaremos el siguiente convenio:
tipo identificador;

Ntese que estamos utilizando un punto y coma para delimitar cada instruccin en pseudocdigo. No es algo obligatorio, pero siempre nos ayudar a saber dnde termina una instruccin. Ejemplo de definicin:
entero base; real media; carcter x;

4.3. OPERADORES
Es un carcter que acta sobre una, dos o ms variables para realizar una determinada operacin con un determinado resultado. Ejemplos tpicos de operadores son la suma (+), diferencia (-), etc.

20

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

4.4. ARITMTICOS
Son los ms sencillos de entender y usar:

Suma Resta Multiplicacin Divisin Resto

+ * / % (resto de la divisin entera) 23% 4 es 3.


Tabla 3. Signos aritmticos

Uniendo variables, constantes y operadores obtenemos expresiones, por ejemplo:


3*x-x*x/2

Las expresiones puede contener parntesis que ayudarn a su compresin o a la ejecucin en un determinado orden.

4.5. ASIGNACIN
Este tipo de operador asigna un valor o resultado de una expresin a una variable (copia dicho valor al espacio de memoria reservado para esa variable). El operador de asignacin ms conocido es = que no debe ser confundido con el operador de comparacin ==. Su uso es:
nombre_variable = expresion;

Primero se evala la expresin y el resultado se coloca en la variable, sustituyendo cualquier otro valor que hubiera almacenado en esa zona de memoria. Ejemplo:
variable = variable + 1;

Suponiendo que actualmente el valor de variable es igual a 4, esta ejecucin supondra que se incrementase en 1 dicho valor, por lo tanto la variable que acabar la ejecucin de esta lnea tendr 5 como valor. Esta operacin se podra denominar acumulacin.

Unidad didctica 0

21

INICACIN A JAVA

4.6. RELACIONES
Una caracterstica imprescindible de los lenguajes de programacin es la de trazar un camino, en consecuencia, de preguntas o comparaciones a valores o expresiones. Por ejemplo: preguntar al usuario por un determinado valor y si este es igual a lo que esperamos, realizar una accin o, en caso contrario, notificar al usuario que estamos esperando otra cosa; o preguntar al usuario si quiere realizar una accin o no. Mediante los operadores relacionales podremos comprobar si se cumplen estas condiciones y actuar en consecuencia. En un programa si la condicin se cumple el resultado es true y en caso contrario false. Los operadores relacionales son:

Igual que: == Menor que: < Mayor que: > Menor o igual que:<= Mayor o igual que: >= Distinto que: !=

Todos lo operadores relaciones son operadores binarios, es decir, necesitan dos operandos, como por ejemplo:

(2==1) El resultado de esto es false. (3<=3) El resultado es true, puesto que la condicin se cumple. (3<3) El resultado es false. (1!=1) El resultado es false.

22

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

4.7. OPERADORES LGICOS


Son operadores binarios que nos permiten comprobar los resultados de las operaciones relacionales. Los operadores lgicos son:

Y (&&). O (||). NO (!).

En ingls son AND, OR y NOT. Podemos usarlos de manera combinada o solos, unos ejemplos:

expresion1 && expresion2 Este ejemplo se encargar de que las dos expresiones sean true, hasta que las dos no lo sean no se cumplir. Expresion1 || expresion2 Se cumplir cuando una de las dos o las dos expresiones sean true. !expresion Operador unario que se cumplir cuando la expresin retorne false.

4.8. FUNCIONES
En los lenguajes de programacin existen muchas funciones predefinidas que nos ayudarn a la hora de realizar clculos o procesos. Veamos unas cuantas numricas (tambin existen las relacionadas con las cadenas).

abs(x) cos(x), sin(x) cuadrado(x) ent(x) ln(x) log(x) raiz(x) redondeo(x)

Valor Absoluto Coseno, Seno X al cuadrado Parte entera Ln(x) Logaritmo en base 10 de x Raz Cuadrada Redondear nmero
Tabla 4. Interpretacin de las funciones

Unidad didctica 0

23

INICACIN A JAVA

Lgicamente las funciones no se llamarn igual en todos los lenguajes de programacin; nosotros tenemos que saber que dichas funciones existen y en el momento de codificar solo tendremos que buscarlas en la documentacin del lenguaje en concreto. Por ejemplo, en Java, la funcin de redondeo se llama:
Math.round(x);

4.9. INSTRUCCIONES PARA ENTRADA Y SALIDA DE DATOS


Es primordial poder recibir datos del usuario mediante el teclado u otro tipo de entrada y, posteriormente, mostrarlos por la pantalla. Para esto, todos los lenguajes de programacin tienen funciones especficas que se encargan de esta labor. Para poder empezar a trabajar nosotros usaremos su equivalente en pseudocdigo.

Salida de datos: la instruccin que vamos a usar es Escribe(), presentan por la pantalla los parmetros que recibe la funcin, pudiendo ser expresiones, variables, cadenas. Para escribir conjuntamente cadenas y variable utilizaremos el operador de suma. En este caso el operador de suma concatenar a la cadena el valor de la variable representado una nica cadena a mostrar. Entrada de datos: usaremos la instruccin Leer(), que se encargar de leer datos de la entrada estndar o teclado. Este mtodo devolver los datos introducidos. Por lo tanto, tendremos que igualar la variable donde deseemos almacenar la lectura a la instruccin leer.

Ejemplos:
Escribe(Hola Mundo); Escribe(valor); Escribe(El valor de la variable es: + valor); x = Leer();

4.10. EL PRIMER PROGRAMA


Repasemos un poco las normas que tiene que seguir nuestro programa:

Los programas tendrn que tener su cabecera y su cuerpo. Dicho cuerpo siempre tendr que empezar por la palabra clave Inicio seguido de un grupo de sentencias. Cada sentencia terminar con el carcter ;. Como norma declararemos todas las variables en la cabecera. Todo programa deber terminar con la palabra clave Fin.

24

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

La programacin es un gran mundo que va a requerir gran concentracin y algo de dedicacin, por eso es tradicin, siempre que se empieza a aprender un nuevo lenguaje, realizar un Hola Mundo. El Hola Mundo es un programa sencillo cuya misin es escribir por pantalla la cadena Hola Mundo, esto nos ayudar a familiarizarnos con la sintaxis del nuevo lenguaje. Por lo tanto, vamos a hacer nuestro Hola Mundo en pseudocdigo. Vamos a escribir aqu la solucin, pero convendra intentar hacerlo en un papel con lpiz y goma y despus comprobarlo.
Programa: Hola Mundo Modulo: Principal Inicio: Escribir(Hola Mundo); Fin

4.11. ESTRUCTURAS DE PROGRAMAS


Cualquier programa puede ser realizado con una combinacin de las siguientes estructuras:

Secuencial. Repetitiva. Selectiva.

Vamos a pasar a ver estas estructuras de manera ms detallada.

4.12. ESTRUCTURA SECUENCIAL


Esta estructura consiste en la ejecucin de instrucciones segn el orden preestablecido por como son numeradas a lo largo del programa. Se ejecutan una detrs de otra (secuencial). Ejemplo:
x = 5; //Asignamos 5 a la variable x y = 7; //Asignamos 7 a la variable y z = x+y; //Sumamos x e y, asignando el resultado a z x = x+3; //aumentamos en 3 el valor de x

Unidad didctica 0

25

INICACIN A JAVA

4.13. ESTRUCTURAS DE CONTROL SELECTIVAS


Como dijimos anteriormente, muchas veces en los programas es necesario variar la ejecucin dependiendo del cumplimiento de una serie de condiciones. Mediante las estructuras selectivas podemos evaluar una condicin y en funcin del resultado ejecutar una accin u otra. Las estructuras disponibles son:

Seleccin simple: es la estructura selectiva bsica, formado por un sientonces. Esta estructura evala una condicin y si la condicin es verdadera (devuelve true) ejecuta la accin escrita en el entonces. Ejemplo en pseudocdigo:
si <condicin> entonces <accion1> fin si

Tambin podemos incluir varias acciones anidando las instrucciones dentro del entonces:
si <condicin> entonces <accion1> <accion2> <accion3> <accionN> fin si

Vamos a ver un ejemplo entero leyendo desde teclado (es decir, capturando lo que escribamos en el teclado), una variable y solo haciendo la divisin, si esta es mayor que cero.
x = leer(); y = 10; si x > 0 entonces resultado = y/x; escribir(El resultado es + resultado); fin si

Seleccin completa: en este caso, completaremos el si-entonces con un sino, para poder definir una accin si no se cumple la condicin. Al igual que el caso anterior, dentro del sino podremos incluir n acciones. Ejemplo:
x = leer(); y = 10; si x > 0 entonces resultado = y/x;

26

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

escribir(El resultado es + resultado); sino escribir(Debe escribir hacer la divisin); fin si

un

nmero

mayor

que

cero

para

Seleccin mltiple segn valor: a veces es necesario disponer de ms de dos posibles elecciones. Podramos resolver este problema anidando condiciones simples, pero dependiendo del nmero de opciones puede ser complejo escribirlo y, como consecuencia, leerlo o seguirlo. Por eso existe este tipo de estructura que evaluar una expresin que podr tomar n valores y podremos realizar n acciones por cada uno de esos valores. Por ejemplo:
segun(valor) caso valor 1 accin1 caso valor 2 accin2 en otro caso accion por defecto fin segn

Un ejemplo en el mundo real, bastante comn, es realizar acciones dependiendo de la opcin seleccionada de un men.
opcion=leer(); segun(opcion) caso 1 escribir(Has seleccionado el primer men); caso 2 escribir(Has seleccionado el segundo men); en otro caso escribir(No existe esa opcin); fin segn

4.14. ESTRUCTURAS DE CONTROL REPETITIVAS


En programacin es comn encontrarse con tareas dentro de un programa que han de repetirse un nmero determinado o indeterminado de veces. Este tipo de estructura nos va a permitir repetir acciones y es una muy importante puesto que

Unidad didctica 0

27

INICACIN A JAVA

nos ayudar a no repetir lneas de cdigo (en otros casos ser la nica manera de solventar problemas). Las estructuras que repiten una secuencia de instrucciones se llama bucle y llamaremos iteracin al hecho de repetir el conjunto de instrucciones que forma el bucle, por lo tanto podremos decir que un bucle estar formado por n iteraciones sobre el conjunto de instrucciones a ejecutar. Por ejemplo, supongamos que deseamos realizar un programa que genere la media de temperaturas de un determinado mes: dicho programa deber pedir al usuario cul ha sido la temperatura para cada da de un mes; dicha temperatura se almacenar en una variable que se ir sumando a la temperatura anterior. De este modo tendremos un contador que el ltimo da del mes solo tendremos que dividir para el nmero de das que tiene el mes. A la hora de implementar este problema podemos hacerlo de dos maneras:

Escribiendo la instruccin leer 30 veces (suponemos que todos los meses tienen 30 das). Escribiendo un bucle que se ejecute 30 veces.

Hasta ahora solo podramos resolver el problema mediante la primera opcin (pero esto supondra escribir muchas veces la misma instruccin), con lo que necesitamos algo que nos permita repetirlo n veces. Veamos las estructuras de repeticin:

Estructura desdehasta: esta estructura repetitiva se usa cuando sabemos el nmero de veces que queremos ejecutar una serie de instrucciones. Sera nuestra solucin al ejemplo anterior de las temperaturas (puesto que habamos definido que seran 30 das por mes). En pseudocdigo:
para i=x hasta n hacer instrucciones fin para

Este tipo de estructura inicia la variable i al valor x y la va incrementando automticamente hasta llegar a n. Para resolver nuestro ejemplo de las temperaturas lo haramos de la siguiente manera:
sumatorio = 0; para i=1 hasta 30 hacer escribir(Introduzca la temperatura para el da + i); temperaturaDia = leer(); sumatorio = sumatorio + temperaturaDia; fin para media = sumatorio / 30; escribir(La media para el mes es de + media + grados);

28

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

Estructura mientras: es aquella estructura en la que la instruccin o grupo de instrucciones se ejecuta mientras se cumpla la condicin que se le indica. Este bucle se ejecutar de 0 a n veces. En pseudocdigo:
mientras(condicion) <accin1>; <accin2>; fin mientras

Estructura repetir: es aquella estructura en la que se ejecutar la instruccin o conjunto de instrucciones hasta que se cumpla la condicin y, en el momento que se cumpla dicha condicin, se saldr del bucle. Con esta estructura el cuerpo del bucle se ejecuta al menos una vez, puesto que primero se ejecuta dicho cuerpo y luego se pregunta por la condicin. En pseudocdigo:
Repetir <accin1>; <accin2>; hasta (condicin)

Los bucles son bsicos en cualquier lenguaje de programacin, dominarlos no ser muy complicado, pero siempre nos podr dar alguna sorpresa como por ejemplo el famoso Bucle Infinito. Un bucle infinito es aquel que se ejecuta infinitamente, la causa principal de esto es que la condicin de salida del bucle estar mal escrita. Un ejemplo tpico a la vez que exagerado es:
mietras (true) instrucciones; fin mientras

Como se puede ver, estamos forzando a que la condicin siempre sea true, por lo tanto se ejecutar infinitamente.

Unidad didctica 0

29

INICACIN A JAVA

Ejercicios Ahora que hemos visto las nociones bsicas de la programacin orientada a pseudocdigo, es el momento de ponernos a practicar.

Disear el algoritmo correspondiente (pseudocdigo) a un programa que escribe el porcentaje descontado en una compra, el usuario deber introducir por teclado el importe total de la compra y el importe con el descuento. El programa deber devolver el descuento. Disear el algoritmo correspondiente (pseudocdigo) a un programa que calcule el rea y el permetro de un tringulo rectngulo dada la base y la altura. Disear el algoritmo correspondiente (pseudocdigo) a un programa que dibuje un men por pantalla, pida al usuario una opcin y pinte por pantalla la opcin seleccionada por el usuario. Disear el algoritmo correspondiente (pseudocdigo) a un programa que pida por pantalla un nmero hasta que dicho nmero sea divisible por 2. Disear el algoritmo correspondiente (pseudocdigo) a un programa que pida al usuario el nmero de alumnos que tiene una clase y la nota de una asignatura para cada uno de los alumnos que el usuario dijo que tena y, finalmente, muestre por pantalla la media de la nota de la clase.

4.15. PROGRAMAR CON SUBRUTINAS


Como ya vimos a lo largo del tema usar el lema Divide y vencers puede ayudarnos a la hora de resolver problemas complejos. Podramos definir a las subrutinas como subalgoritmos que forman parte de un algoritmo principal. Los motivos para utilizar subrutinas son varios:

Reutilizacin de cdigo. Abstraccin de funcionalidad. Facilidad de lectura del cdigo.

Las subrutinas se dividen principalmente en dos tipos: funciones y procedimientos. Las funciones, al igual que las funciones matemticas son aquellas que reciben parmetros y devuelve un resultado, los procedimientos podrn recibir parmetros, pero nunca devolvern resultados. Veamos unos ejemplos en pseudocdigo:
funcin suma(a,b) entero resultado = a + b; devolver resultado; fin funcion

30

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

entero valor1 = leer(); entero valor2 = leer(); resultado = suma(valor1,valor2); escribir (La suma es + resultado);

Como podemos ver en la funcin utilizaremos la palabra reservada devolver para indicar el valor a retornar. Como se puede ver en las siguientes lneas, dicho resultado se asignar a la variable sobre la que se invoque la funcin. Tambin hay que ver como estamos definiendo la variable al mismo tiempo que estamos asignndole un valor.
procedimiento pintaMenu(numeroMenu) segun (numeroMenu) caso 1 escribir(Menu 1); caso 2 escribir(Menu 2); en otro caso escribir(No existe ese menu); fin segun fin procedimiento entero opcionMenu = leer(); pintaMenu(opcionMenu);

Aqu observamos un procedimiento que, como hemos visto en su definicin, no retorna ningn parmetro. Por lo tanto, a la hora de llamarlo no tenemos que asignarlo a ninguna variable. Las funciones y lo mtodos se escriben solo una vez y pueden ser referenciadas tantas veces como se quiere a lo largo de una ejecucin. Definiremos nuestras funciones y procedimientos fuera del programa principal (Inicio-Fin), justo antes de la palabra reservada inicio. Por ejemplo:
Programa: Menu Modulo: Principal procedimiento pintaMenuPrincipal() instrucciones; fin procedimiento funcion suma(a,b) entero resultado = a + b devolver resultado; fin funcion Inicio: pintaMenuPrincipal(); entero valor1 = leer(); entero valor2 = leer();

Unidad didctica 0

31

INICACIN A JAVA

entero resultado = suma(valor1,valor2); Fin

Ntese que este ejemplo no tiene una funcionalidad determinada y solamente es un ejemplo para mostrar como definiramos las funciones y mtodos dentro de nuestro programa. De nuevo volemos a definir variables de tipo entero a la vez que le asignamos un valor de la entrada estndar, veamos la equivalencia de esto:
entero valor1 = leer(); entero valor1; valor1 = leer();

Ambas dos instrucciones son equivalentes, pero en el primer caso lo hacemos en una sola lnea.

4.16. MBITO DE LAS VARIABLES


La parte del programa principal o funcin donde se define una variable y desde donde se puede alterar su contenido se conoce como mbito de la variable. Las variables usadas en programas principales y subrutinas se clasifican en dos tipos:

Variables locales: est definida dentro de una subrutina y es totalmente diferente a cualquier variable definida con el mismo identificador en el programa principal. Esta variable solo es visible o accesible desde la subrutina donde se declar, es decir:
funcion suma(a,b) entero resultado = a+b; devolver resultado; fin funcion

En este ejemplo hemos definido la variable resultado que anteriormente no estaba definida a nivel de la funcin suma, por lo tanto no podremos acceder a ella desde el programa principal. Y tambin podremos definir en el programa principal una variable con el mismo identificador que se almacenar en una posicin de memoria totalmente distinta a esta.

Variables globales: son aquellas variables declaradas en el programa principal. El uso de variables globales es muy potente, pero siempre es recomendable no abusar de ellas, a poder ser toda la comunicacin del programa principal con las subrutinas ha de hacerse a travs de parmetros o valores de retorno.

Ejercicios Al igual que los ejercicios anteriores, estos ejercicios debern realizarse utilizando subrutinas:

32

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

Disear el algoritmo correspondiente (pseudocdigo) a un programa que calcule el rea y el permetro de un tringulo rectngulo dada la base y la altura. Disear el algoritmo correspondiente (pseudocdigo) a un programa que encuentre y escriba por pantalla los nmeros primos entre uno y cien. Un nmero primo es divisible entre el mismo y la unidad. Disear el algoritmo correspondiente (pseudocdigo) a un programa que muestra un men al usuario con las siguientes opciones:

suma (1). resta (2). divisin (3). multiplicacin (4). salir (5).

El usuario podr seleccionar las opciones tecleando el nmero que acompaa a cada opcin, cada opcin le pedir al usuario un par de nmero para operar con ellos y mostrar el resultado de la operacin en cuestin. El programa deber ejecutarse hasta que el usuario pulse la tecla 5. Implementacin del algoritmo Una vez que tenemos el algoritmo diseado, escrito en pseudocdigo y verificado debemos pasar a la fase de traduccin a un lenguaje de programacin. Para completar el proceso deberemos ejecutarlo y comprobarlo en un ordenador. Esta fase de traduccin a un lenguaje de programacin ser sumamente sencilla puesto que el pseudocdigo se asemeja mucho a los lenguajes de programacin. Solo tendremos que investigar cmo escribir las instrucciones aprendidas en pseudocdigo en el lenguaje a usar para la codificacin. En nuestro caso, en el siguiente tema haremos una introduccin a Java y nos pondremos manos a la obra para escribir nuestro primer Hola Mundo en Java.

Unidad didctica 0

33

INTRODUCCN A LA PROGRAMACIN

CONCLUSIONES
Destrezas, conocimiento y actitud son los elementos que te ayudarn a conseguir el triunfo profesional.

Hemos visto los conceptos bsicos relacionados con la programacin y los lenguajes de programacin. Los lenguajes de programacin facilitan la creacin de programas en diferentes computadoras (un telfono tambin es una computadora). Para poder ejecutar un programa de alto nivel es necesario compilar o interpretar este. Ahora nos vamos a centrar en cmo afrontar los problemas para traducirlos a un lenguaje de programacin. Hemos visto que el compilador traduce a lenguaje mquina; ahora bien, el programador ha de ser el encargado de traducir el lenguaje humano a un lenguaje de programacin. Hacer esto correctamente es lo que podr convertirnos en un buen programador. Cuando empezamos a realizar esta traduccin siempre suele ser difcil. Existen varias tcnicas que ahora veremos para realizar esto.

Unidad didctica 0

35

INICACIN A JAVA

RECAPITULACIN
En este tema hemos visto una introduccin a la programacin en general sin centrarnos en un lenguaje de programacin en concreto. Utilizando el pseudocdigo y alguna pequea tcnica hemos visto cmo somos capaces de traducir problemas de la vida diaria a un lenguaje comn para su posterior traduccin a un lenguaje en concreto. En nuestro caso continuaremos con Java.

36

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

AUTOCOMPROBACIN
1. Qu es la programacin? a) Un proceso de disear, escribir, probar, depurar y mantener el cdigo fuente. b) Es el arte de escribir lneas de programacin. c) Es el proceso de escribir cdigo fuente sin un propsito. d) Un proceso electrnico. 2. Que es el lenguaje mquina? a) Es el lenguaje de bajo nivel que entienden los computadores basado en el sistema binario. b) Es un lenguaje que se llam ensamblador y que empez a utilizar palabras en ingls. c) Es un lenguaje que entienden todas las computadoras y que esta basado en el sistema hexadecimal. d) Es un lenguaje en el que esta programado skynet. 3. Qu pasos realiza el compilador para convertir el cdigo fuente en cdigo mquina? a) El compilador no realiza ningn paso. b) Anlisis lexicogrfico, sintctico, semntico y optimizacin. c) Anlisis ortogrfico y conversin a bytecode. d) Convertir a bytecode directamente.

Unidad didctica 0

37

INICACIN A JAVA

4.

Cul de los siguientes es un lenguaje interpretado? a) Flash. b) Java. c) C++. d) HTML.

5.

Qu tipo de lenguaje es Java? a) Ensamblador. b) Bajo nivel. c) Alto nivel y orientado a objetos. d) Lenguaje mquina.

6.

Qu fases debo realizar para resolver un problema mediante un lenguaje de programacin? a) Directamente en cdigo fuente. b) Identificacin del problema e implementacin. c) Identificacin, resolucin e implementacin. d) Resolucin, implementacin y depuracin

7.

Cmo ha de ser un algoritmo? a) Infinito. b) Impreciso e infinito. c) Preciso, definido y finito. d) Resolutivo e infinito.

8.

Cuales son las fases de ejecucin de un algoritmo? a) Entrada, Proceso, Salida. b) Proceso, Salida, Entrada. c) Salida, Proceso, Proceso, Entrada. d) No hay fases.

38

Unidad didctica 0

INTRODUCCN A LA PROGRAMACIN

SOLUCIONARIO
1 6 a c 2 7 a c 3 8 b a 4 d 5 c

Destaca entre la multitud; ser un P8.10 te puede ayudar a llegar muy lejos.

Unidad didctica 0

39

INTRODUCCN A LA PROGRAMACIN

BIBLIOGRAFA

PRIETO ESPINOSA, A., LORRIS RUIZ, A., TORRES CANTERO, J. C. Introduccin a la informtica. Madrid: Mc GrawHill, 2002. Wikipedia: http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo.

Wikipedia: http://es.wikipedia.org/wiki/Resoluci%C3%B3n_de_problemas_de_progr amaci%C3%B3n.

Wikipedia: http://es.wikipedia.org/wiki/Variable_(programaci%C3%B3n).

Universidad Laboral de Albacete: http://mimosa.pntic.mec.es/~flarrosa/.

JOYANES AGUILAR, L. Fundamentos de la programacin. Algoritmos y estructuras de datos. Madrid: ed. McGraw Hill. Cap. 4 y 5.

Unidad didctica 0

41

Das könnte Ihnen auch gefallen