Bueno, a ver, perdonad el retraso. Mi nombre es Alberto Sánchez y soy el encargado de impartir este curso de extensión universitaria al que os habéis matriculado, aprender a programar desde cero. No sé si… Bueno, no se sabe. El curso se podía realizar bien a través de internet, por streaming, que se llama, o bien presencialmente. Como veis aquí hay… No sé si lo veis. Bueno, aquí está el chat con la gente que hay ahora mismo 19 conectados que están realizando el curso vía web. Y la forma de trabajar un poco va a ser que vamos a ir viendo conceptos de… Bueno, voy a ir explicando aquí todos los distintos puntos de lo que se compone el curso. Y de vez en cuando… El volumen. Y de vez en cuando preguntaremos a las personas que están online si tienen algunas dudas o si lo van entendiendo. Por supuesto, vosotros también me podéis preguntar aquí todas las dudas que tengáis. Y, bueno, espero que sea de provecho el curso, ¿no? Para esa es la idea. El objetivo del curso, como el título yo creo que está bastante claro, es aprender a programar desde cero. ¿Por qué? Porque hay veces que cuando uno está interesado en… A ver, los del… Un segundito. Las personas del chat solo veo aquí a unos cuantos. Pero veo que hay muchos. De los diecinueve y están. ¿Me oís todos? Veo que hay uno que tiene un problema. Puede ser problema de navegador. ¿Pero me oís y me veis bien? Sí, sí, sí. Perfectamente. Vale. Bueno, pues… Hay alguno que ya hizo el otro curso de manejo de herramientas web. Guillermo, por ejemplo. Y Ángela creo que estaba también. Si os dije un poco que el funcionamiento… Daniel Corredor también. Eeeeemm… Bueno, pues la mecánica un poco así. poco va a ser parecida, no igual porque esto es volumen porfa. Aquí hay alguien que no me oye, pero creo que es la misma o el mismo, MKSARES 6. Lo demás me oyen todos, entonces vale, un poco bajo. ¿Tú sabes cómo se puede subir el volumen este? Pues que no sé cuál es, supongo que es el del micrófono. A ver si así me oís mejor. Espero que sí me oigáis mejor. Bueno, decía que como tenemos cuatro ponencias, este curso lo voy a…, aunque el director también está trabajando con el curso, Jesús González Boticario, yo soy el coordinador tecnológico del centro. Me dedico a la programación, soy ingeniero informática, entonces las ponencias del curso las voy a dar yo. Y bueno, aquí tenemos un poco las ponencias que se van a dar, introducción a la programación, estructuras básicas 1, estructuras básicas 2 y construcción de los primeros programas en Java. Vale, la idea es que…, la idea es que el curso, va a ser, como pone en el…, en la metodología, es que cualquier persona no iniciada en la…, o bueno, o algo iniciada en la informática, tampoco hace falta que sea, entienda cuáles son las construcciones básicas y pueda aprender un poco a entender lo que es la construcción de un programa y cómo empezar a hacer los primeros programas. Porque muchas veces cuando uno se pone a empezar a programar solo, le asaltan muchas dudas. que a lo mejor son unas dudas muy puntuales y son unas dudas que se resuelven rápidamente, pero que a lo mejor uno se tira ahí mucho tiempo y al final son cosas que se pueden ir resolviendo de forma fácil. Entonces, para eso es la idea de celebrar este curso. No sé si alguno de aquí ha programado ya, no ha programado nunca. No habéis programado ninguno. Tú sí. Tú sí. Bueno, ¿mucho o poco? Trabajo de programador. Hemos pasado Juni, Fidipo, y este año estoy matriculado en Naciones Unidas de Java. Ya, ya, ya, vale, vale. Pero aquí no se va a ver programación orientada a objetos. Claro. Porque, a ver, eso sería un poquito más avanzado. La idea es que ya, claro, la programación orientada a objetos, la idea es que ya se va a ver. La idea es que partas un poco de unas nociones básicas de programación, ¿no?, para poder programar orientado a objetos. De hecho, Emilio, por ejemplo, tú, la asignatura que tienes de introducción a los fundamentos de informática, de programación, el problema que tiene esa asignatura en industrial es que, bueno, en la técnica, es que ha empezado con programación orientada a objetos y a lo mejor eso ya es un poquito más avanzado. Hace falta una base. Entonces, la idea esto es empezar a ver lo que es una base. Prefiero, prefiero que para este curso, pero bueno, no hay, no hay, prefiero que para este curso no se tengan nociones de programación para que partamos un poco todos de lo mismo, como es casi, ya me sale un hombre hablando, casi, casi vayamos todos trabajando a la vez, ¿vale? Porque la idea está pensada para eso, para empezar desde cero, como se nos indica, ¿vale? Entonces, vamos a ver, voy a empezar, no sé si he recibido a alguien más. Pues, ah, se lo acabo yo de mandar ya. Entonces, para seguir el curso, que eso no lo, tenemos una presentación que luego ya al final del curso os pasaré, ¿vale? Para ir un poco viendo que nos sirva de guía de todo lo que vamos viendo, ¿vale? Bueno, a ver, aquí un acercamiento a Java. Se va, se va, a ver, se trabaja con el concepto. Esto de programación es con un, es trabajar con un lenguaje de programación. Ahora, bueno, estoy un poco poniendo en situación. Y aquí se va a intentar introducir un poco al Java, ¿vale? Que es un lenguaje de programación que veréis mucho en los móviles, que es el simbolito del Java y se vende muy bien eso del Java. Y el Java es un lenguaje, como digo, se, se, es un lenguaje muy popular, ¿vale? Entonces, pero... A ver, no vamos a ver Java en profundidad. Vamos a ver un poquito de Java. El primer programa que vamos a construir va a ser el Java, ¿vale? Entonces, la idea, la idea va a ser eso. Por eso ponemos un acercamiento al Java. Cuando yo hablo de un programa, a ver, ¿qué entendéis? Espera un segundito. Vale, cuando yo hablo de un programa, ¿qué entendéis vosotros por un programa? A ver, alguien que me diga qué entiende por un programa. Una aplicación que ejecuta una tarea. A ver, vosotros. Decidme vuestros nombres, a ver si se me va quedando. David. ¿David? Bárbara. Bárbara, a ver. ¿Tenéis contacto con ordenadores, más o menos? No a nivel de programación, pero bueno, tenéis contacto con ordenadores, vale. ¿Qué programas... ¿Conocéis algún programa? ¿Habéis visto alguna vez un programa? Porque, en principio hay que fijar un poco de qué estamos hablando. Decidme algún programa. ¿Habéis visto... O sea, cuando vosotros pensáis un programa, una aplicación que ejecuta algo... ¿Algo? El Word, eso que... Vale. Entonces, cuando hablo del Word, que tenemos un programa que es algo que está esperando que un usuario externo le diga, le introduzca órdenes o comandos, ¿vale? Y a partir de lo que se introduzca, pues el programa va a hacer una cosa o va a hacer otra cosa. ¿Vale? Si tú al Word escribes texto, no va a ser lo mismo que... Cuando lo escribas otro día, texto. Si tú en un Word seleccionas negrita, pues... Seleccionas negrita, pues otro selecciona cursiva, ¿veis? Al final eso lo que hace es que llama a un... Trabaja con un programa y ese programa, que es la aplicación, hace una serie de cosas, ¿vale? Entonces, lo primero que se... El primer concepto que cuando se va a estudiar algo de programación es qué es un algoritmo, ¿vale? Un algoritmo... Olvidaos ahora mismo de informática y de programación. No estamos hablando de informática y de programación. Vamos a hablar en la vida real, ¿vale? Un algoritmo es una secuencia de pasos que resuelven un problema. ¿Vale? Eso se le llama algoritmo. Al final un programa, el código de un programa lo que hace es que resuelve un algoritmo. ¿Vale? Los algoritmos es una cosa que no sé si lo asociáis o no asociáis a algo, pero es algo que se está utilizando, como dice aquí en la presentación, en la vida real. ¿Vale? Solo que a la hora de hacer un programa informático eso se traduce en una serie de instrucciones y una serie de órdenes. ¿Vale? Por ejemplo, aquí tenemos ejemplos de algoritmos utilizados en la vida real. Una receta de cocina. Yo tengo un problema, que es que quiero hacer un huevo frito. Pero no se hace un huevo frito. Pues entonces tengo el cuaderno de mi madre, que me da un programa. Ese programa está escrito en un papel con un boli. Pero eso es un programa. ¿Vale? De hecho, ya está hasta la termomil, que veis que eso es un programa. ¿Vale? Aquí tengo el problema que tengo que hacer un huevo frito. ¿Vale? Pues entonces yo tengo una serie de pasos que me resuelven el problema. ¿Vale? Tengo que ir a la nevera, coger el huevo... Esos sean los pasos del algoritmo. ¿Vale? Abrir el huevo. Poner la sartén. Poner el aceite. Calentar el aceite. Todos esos son pasos. Pues eso es lo que va a hacer un programa de ordenador. El Word por dentro... A ver, muy básicamente he dicho. El Word por dentro no va a ser más que eso. Una serie de pasos. ¿Vale? Si yo quiero poner algo en negrita, pues el programa detecta que has pinchado el botón de negrita. Va aquí, selecciona texto, tal cual, tal cual, tal cual. ¿Vale? Pues un programa no es más que la... La resolución de una serie de pasos para resolver un problema. ¿Vale? Vestirse. Pues cuando yo me he visto, tengo que ir al armario, ver la ropa que se pone, que me pongo, coger el pantalón, coger la camisa... ¿Veis? Esos son pasos. O sea, que en la vida real también utilizamos los algoritmos. Salir a la calle, pues... Cojo las llaves, abro la puerta, cierro, llamo al ascensor, bajo... ¿Veis que todo se puede llevar... Llevar a una serie de pasos que resuelven un problema? ¿Vale? O sea, que es una cosa más utilizada de lo que parece con un... O sea, ya vemos que es algo... Que es algo que se da en la vida real. ¿Vale? Entonces, cuando estamos hablando de un programa informático, cuando estamos hablando de computadoras, pues... Siempre que me voy a tener que poner a hacer un programa, o siempre que me van a pedir que haga un programa, esto os lo voy a dar, ¿eh? No os preocupéis porque esto al final del... ... Lo primero que hago es identificar un problema. Yo no voy a tener un programa si no tengo un problema que resolver. ¿Vale? Si yo no voy a... Si yo no tengo hambre, yo no me voy a hacer un huevo frito. Pues básicamente es eso. Pues... Pues si yo... El que hizo el Word... Bueno, estamos hablando del Word en el genérico. El que hizo el Word me da igual, o la calculadora de Windows, el que hizo cualquier programa, detectó que para poder escribir textos hace falta un programa. Pues dice, coño, voy a hacer un programa para escribir textos. ¿Vale? O sea, identifica el problema. Luego creo el algoritmo. En papel. A ver... Pensad cuando... Cuando... Tu madre te dice, no sabes hacer huevo frito, vas a estar en casa. Toma, tienes un problema. Te voy a hacer un algoritmo que es una receta. ¿Vale? Luego dice... O sea, es eso. Tienes un problema, no sabes hacer huevo frito. Creo algoritmo, voy a escribir la receta. ¿Vale? Y ahora, esto no pasa con el huevo frito. Que estamos hablando de informática, construye el programa al partido del algoritmo. ¿Vale? ¿Lo difícil qué es? Lo difícil es crear el algoritmo. ¿Vale? Lo difícil es pensar un algoritmo que resuelva un problema. Realmente el programa no es más que la escritura en un lenguaje de programación concreto de un algoritmo. ¿Vale? O sea, nosotros vamos a crear un algoritmo y hay infinidad de lenguajes de programación que van a ser los que me van a permitir escribir el programa. ¿Vale? Y una cosa aquí, que ahora ya veremos lo que es, que es compilo y ejecuto el programa. Es decir, una vez que yo escribo el programa, lo paso por otro programa, ¿vale? Que me dice, pues ese programa está bien, pues ese programa está mal. No que esté bien que resuelva el problema, sino que está bien escrito. Imaginaos otra vez con el huevo frito, que no tiene falta esa ortografía, que no tiene sentido lo que pone. ¿Vale? Pero compilar significa eso, no significa... Luego lo vamos a ver. Que la receta que ha puesto hace un huevo frito. Significa que la receta que has escrito es correcta, que no tiene falta de ortografía, tiene sentido... Eso significa compilarlo. Hay un programa que verifica eso y ejecuto el programa. Simplemente, una vez que lo he terminado, que está correcto, digamos, compilado. En el caso de Word, por ejemplo, pues sería hacer doble clic y se ejecutaría. ¿Vale? La idea es esa. Lo complicado es crear el algoritmo del problema. Es decir, yo no sé... Yo tengo el problema pero tengo que pensar cómo se resuelve ese problema. ¿Vale? El huevo frito aquí no es aplicable porque el problema lo tiene el que pensó en cómo hacer un huevo frito. ¿Vale? Entonces, a partir de aquí tenemos la definición del programa. ¿Qué es un programa? Un programa no es más que una serie de sentencias escritas en un lenguaje que resuelven un problema en un ordenador. ¿Vale? Lo que hemos dicho. Una vez que tenemos el algoritmo, escribimos un código. Escribimos un código en un determinado lenguaje de programación que traducen el problema de un papel a un ordenador. ¿Vale? Si yo quiero hacer un programa que sume dos números, teniendo ya nociones de programación, yo veo... Digo, pues para sumar tengo que escribir un papel-algoritmo. Leer el primer número. Leer el segundo número. Sumar los dos números. Y escribir la suma. Ese sería un poco el algoritmo. El algoritmo que se resolvería ese programa. ¿Vale? Pues a la hora de... Para escribir el programa tenía que traducir eso a un lenguaje de programación. ¿Vale? O sea, que un programa es una serie de sentencias escritas en un lenguaje de programación que resuelven un problema en un ordenador. ¿Vale? Aquí lo pone la representación. La representación computacional de un algoritmo. Computacional significa no es más que la representación informática, digamos, de un ordenador, de un algoritmo. Y generalmente el sentido que tiene un programa es que... Generalmente, no siempre. Tienen unos datos de entrada y el programa manipula esos datos de entrada y genera una información de salida. ¿Vale? Por ejemplo, en el caso del Word. Unos datos de entrada. El texto que tú has escrito. Si le doy a la opción de negrita, pues el programa coge el texto de entrada y genera el texto en negrita. Por ejemplo, si yo... Un programa que haga la suma de dos números pues yo introduzco dos números por teclado. Por ejemplo, la calculadora de Windows. Introduzco dos números, le doy al botón más y el programa trabaja para hacer la suma y la escribe en pantalla. ¿Vale? Vale, ejemplos del programa ya lo hemos dicho antes. Hay todos los que se os ocurran. Prácticamente desde que encendéis el ordenador sólo tenéis que programar. Estamos hablando así un poco a grosso modo. ¿Tenéis dudas con lo que llevamos? ¿No tenéis dudas? Parece que está todo bastante claro, ¿no? A ver, por aquí. Por el chat. ¿Tenéis alguna duda en el chat? Hola, ¿estáis ahí? ¿Os habéis quedado dormidos? No, no. Vale, ¿tenéis alguna duda? Vale, sí. Vale. Bueno, pues seguimos. ¿Qué cosas hemos visto sobre todo? Ya hemos visto dos cosas de qué es un programa, ¿vale? Que resuelve un algoritmo y que están escritos en un determinado lenguaje de programación. ¿Vale? El lenguaje de programación no es más que un conjunto de signos y reglas que permiten la comunicación con un ordenador. A ver, traducido a la vida real. Yo soy tutor de informática de todas las asignaturas de programación de aquí, de la UNED y siempre procuro establecer comparaciones con la vida real. Para que veáis que el tema de la informática y de los programas no es nada distinto a lo que como habitualmente piensa una cabeza, no es más que eso. ¿Vale? Entonces, un lenguaje de programación no es más que un idioma. Para poder hablar nosotros necesitamos saber un idioma. Si no supiéramos ningún idioma no sabríamos hablar. ¿Vale? El español, el inglés, el francés, son todos distintos lenguajes de programación. Son todos distintos idiomas. Pues para poder programar necesitamos conocer un lenguaje de programación. Cuanto más sepas mejor. ¿Vale? Un idioma tiene una estructura. Un idioma. Yo hablo ahora de un idioma en la vida real. Un idioma en la vida real tiene una estructura y los idiomas en la vida real tienen distintos orígenes. El español, el italiano, el portugués, el francés, son todos lenguas latinas. Pues al final lo mismo pasa con un lenguaje de programación. Todos tienen la misma estructura. Bueno, todos. Algunos tienen la misma estructura de... Sí, la misma estructura. ¿Qué pasa con un idioma de la vida real que son de la misma familia? Pues que todos tienen un sujeto, todos tienen un predicado, en el predicado tienen un verbo, están los artículos. Ahí con distintas... Con algunas diferencias, pero más o menos son todos iguales. Son todos primos, digamos. El español, el italiano... Pues con los lenguajes de programación pasa lo mismo. Hay unos conceptos que son las variables, otros conceptos que son las constantes, otros conceptos que son las iteraciones, otro concepto que son las selecciones... Y según el tipo de lenguaje de programación que sea, si son del mismo tipo, es decir, programación estructurada, pues básicamente las estructuras de los programas van a ser las mismas. Lo que va a diferenciar va a ser cómo se dice, cómo se declara una variable en un lenguaje de programación. Que no es más que cómo se dice hola en español y cómo se dice en italiano. Ahí lo único que tienes que conocer es el vocabulario, digamos. Pero la estructura es la misma. No sé si me entendéis lo que os quiero decir. ¿Vale? Bueno, simplemente un poco para que sepáis de... Un poquillo de... Hay muchas formas de clasificar los lenguajes de programación. No hay una sola. Igual que... Yo qué sé, los idiomas habrá, supongo, varias formas de clasificar los idiomas en la vida real. Pero hay varias formas de clasificar los lenguajes de programación. Una de ellas, una de las más comunes, son los lenguajes entre lenguaje de bajo nivel y lenguaje de alto nivel. ¿Vale? ¿Sabéis alguno cuál es la diferencia? ¿Habéis oído alguna vez lenguaje de bajo nivel y lenguaje de alto nivel? Sí. Tiene un poco de ventaja, ¿no? Vale. Pues los lenguajes de bajo nivel... Bueno, antes os he dicho, ¿conocéis algún lenguaje de programación que no os iba a haber dicho? Los nombres, no. Me refiero a los nombres. No digo... Visual... Visual Basic, por ejemplo. C... Java, ¿no? Que es uno que vamos a ver aquí. El C y el Java, los visuales, son un poco los más conocidos. El COBOL... Son un poquito los más conocidos. Bueno, luego lo digo. Vale. A ver, los lenguajes de bajo nivel. Los lenguajes de bajo nivel son lenguajes muy dependientes de la máquina. Estos lenguajes de bajo nivel... Esta clasificación es un poco para que lo... De cultura, que lo sepáis. Estamos introduciendo los lenguajes de programación, ¿vale? Son los lenguajes que dependen del ordenador en el que se están ejecutando. Del tipo de ordenador que se están ejecutando. ¿Vale? Y no se pueden ejecutar en otros ordenadores. ¿Qué significa que están muy cerca del lenguaje del ordenador? A ver, nosotros lo que... Lo que vamos a programar el ordenador lo va a entender. Al final eso se... Yo voy a meter una palabra en el ordenador cuando estoy haciendo un programa, voy a escribir una palabra. Eso se va a traducir a algo, a otra palabra, que se va a traducir a ceros y a unos, al final, que se va al lenguaje máquina. Y el ordenador, la máquina, o sea, lo que es el procesador en sí, va a trabajar entre ceros y con unos. Eso significa que es muy próximo al ordenador. Al final esos cero y uno no son más que impulsos eléctricos. ¿Vale? Un uno, una subida de tensión, digamos, para que lo entendáis, y un cero, una bajada de tensión. Al final, lo que nosotros escribimos se va a traducir a impulsos eléctricos. ¿Qué significa bajo nivel? Que están muy cerca de esos impulsos eléctricos, para que lo entendáis. Que están muy cerca a ceros y a unos. Al principio, cuando no sé si habéis oído algo de tarjetas perforadas y estas cosas, se trabajaba casi con ceros y con unos. Con lo cual eso, tú veías un programa que hacía lo que ahora se hace con dos líneas, cuando digo antiguamente, digo hace treinta años. A lo mejor hacían falta diez folios, el equivalente, para escribir lo mismo. ¿Vale? Pues eso es un lenguaje de bajo nivel. Se sigue programando en bajo nivel. Lo que pasa es que cierto tipo de gente, si eso siguiera así, nadie programaría. Son muy rápidos porque tienen que traducirse muy poco, para que lo entendáis. Pero son muy complejos. Si vosotros veis BEGIN y END, entendéis sin saber ni idea de programación, solo sabiendo mínimo inglés qué significa inicio y fin. Pero si vosotros veis cuatro filas de unos y de ceros, pues alguien se ha vuelto loco. ¿Vale? Por eso aquí pone que no son comerciales. No vais a programar en la vida, a no ser que... no vais a programar desde el punto de vista comercial, normal, nunca en un lenguaje de bajo nivel. ¿Vale? Algunos lenguajes de bajo nivel, pues el lenguaje máquina, que es el lenguaje formado por ceros y unos, el lenguaje ensamblador, esos son los más comunes. ¿Vale? Y lenguajes de alto nivel, pues todos los que conocéis, digamos, todos los que habéis dicho son lenguajes de alto nivel. De más nivel o de menos nivel. Me ha dicho el C. El C algunos no saben, otras clasificaciones hacen un nivel intermedio, otros... Pero bueno, todos son de alto nivel. Todo lo contrario que los de bajo nivel. Independientes de la máquina, que se pueden ejecutar en otros ordenadores, necesitan traducirse a un lenguaje entendible como el ordenador, a un lenguaje entendible por el ordenador. El traductor del lenguaje de alto nivel a algo que os he dicho que va traduciéndolo es el compilador. Os voy a ir usando esa palabra porque es una cosa que es necesaria a la hora de programar. ¿Vale? Está muy lejos del lenguaje del ordenador lo que os he dicho, vosotros vais a ver begin y end y el ordenador va a ver un uno y un cero. Son menos rápidos pero son muy lógicos Son comerciales, pues aquí lo pone. Java, lenguaje de visuales... El C lo que pasa es que tiene instrucciones de bajo nivel. Entonces bueno, quedad con que hay esas dos clasificaciones. ¿Vale? Lo siguiente que habla... Bueno, hacemos un descanso sobre las seis y cuarto, seis y media... Sí, seis y media. Hicimos en otro curso. Seis y media a siete y luego seguimos. Vale. ¿Cómo construir un programa en un lenguaje de alto nivel? Como los lenguajes que vamos a intentar introducir aquí son todos lenguajes de alto nivel pues de bajo nivel nos olvidamos. Simplemente sabéis que al final lo que vamos a tener, ya sea un lenguaje de alto nivel o un lenguaje de bajo nivel son unos y ceros. Lo primero que necesitamos a la hora de construir un lenguaje de alto nivel es tener una herramienta de desarrollo. Es decir... Para programar necesitamos un programa. ¿Vale? Necesitamos... Básicamente necesitamos tener en el ordenador dos cosas. Bueno... Normalmente va a venir todo en el mismo paquete, por ejemplo yo quiero aprender a programar en C. Pues me voy a descargar el compilador de C y el C ya tiene una herramienta para poder escribir el programa. Pero bueno, necesitamos tener la herramienta de desarrollo. ¿Qué significa? Escribir el programa. ¿Vale? Nos olvidamos de los visuales ahora porque no tiene mucho sentido. Vamos a ver los lenguajes de programación más básicos. Vale... Un editor de texto, por ejemplo para Java simplemente necesitamos un editor de texto. No necesitamos más. El 2 de notas nos vale. ¿Vale? Y un compilador. El compilador es el programa que va a coger ese programa que he escrito en el 2 de notas. ¿Vale? Lo va a traducir y me lo va a devolver a un formato que ya directamente lo puedo ejecutar. Luego necesito el compilador. Aquí lo vemos. Escribimos el programa... Por ejemplo, para Java. Vamos a hablar de Java. Con un 2 de notas nos vale. Le pasamos el compilador El compilador nos va a decir si el programa tiene fallos o no tiene fallos. Ya os he dicho con lo de huevo frito. No va a decir si esa receta hace huevo frito. Sino que dice que la receta está bien escrita. Eso es muy importante tenerlo claro. ¿Vale? Es decir, si yo construyo un programa para sumar El compilador no me va a decir Ah, pues sí, eso suma. Si está bien, yo lo he hecho. Si yo lo he hecho bien, estará bien. El compilador me va a decir Pues mira, no has metido dos números. Solo has metido uno, por ejemplo. Para que lo entendáis. No exactamente eso, pero bueno. Y aquí lo pone en la salvedad. El compilador traduce el lenguaje escrito al lenguaje máquina y dice, si hay errores de compilación pues tenemos que volver para atrás. Para volver a solucionar esos problemas que nos ha dado el compilador. Y si no hay errores de compilación podemos ejecutar el programa. Puede ser que yo ejecute el programa de sumar dos números y resulta que me los divida. Eso ya es problema mío, no del compilador. ¿Vale? Si yo después de ejecutar la receta en vez de freírme un huevo me lo cuece el problema no es de cómo está escrito el problema es de qué ha pensado la receta. ¿Vale? Como el primer bloque habla un poco de la introducción a la programación y el acercamiento al Java vamos a ver algunas cosillas introductorias del Java. Si tenéis alguna duda podéis interrumpirme. Eso significa dos cosas o que lo estéis enterando de todo o que no lo estéis enterando de nada. Entiendo que lo estéis entendiendo todo. El lenguaje de programación Java es un lenguaje de programación de alto nivel como hemos comentado. Deriva del C y del C++ el C y el C++ para nosotros ahora va a ser lo mismo el C y es un lenguaje ampliamente extendido sobre todo ahora desde la aparición bueno, desde la aparición desde el uso de Internet es un lenguaje súper extendido porque tiene unas ventajas que es el código se ejecuta en el servidor por eso está ampliamente extendido se utiliza para muchísimas cosas y permite una de las cosas básicas del Java es que permite la ejecución del mismo programa en diferentes máquinas en diferentes sistemas operativos sin tener que instalar nada hay programas hay lenguajes de programación que solamente son válidas para una arquitectura digamos, para una plataforma pero al pasar a otra plataforma hay que reescribir el código hay que adaptarlo aquí simplemente lo que hace es generamos un ejecutable que va a valer para todas las máquinas vale hasta aquí la introducción a ver, la hora tampoco fijéis mucho de las horas porque me interesa echar menos tiempo a la introducción y meternos un poquito más con con las estructuras básicas de la programación vale por el chat, ¿qué tal vais? dormidos a ver por el chat, ¿vais bien? todo bien, gracias, bien, bien ninguna duda, ¿no? vale ¿qué editor vamos a usar? el bloc de notas la idea mía es complicar lo menos posible el compilador que utilicemos simplemente para hacer programas en Java al nivel que los vamos a hacer no nos hace falta más que el bloc de notas y un compilador que sea JDK pero no os preocupéis porque no lo vamos a descargar aquí os iba a preguntar a los del chat si tenéis un ordenador a mano os iba a preguntar entonces vosotros tenéis habéis traído ahora no os preocupéis tenéis alguno de vosotros ordenador para este curso especialmente si que viene bien tener un ordenador para ir viendo lo que vamos a hacer aquí que lo podéis ir pensando y que lo podéis ir haciendo vosotros vale no, de momento nada de momento no tenéis que hacer nada si que hacemos preguntas aquí de momento no tenéis que hacer nada un poquito más adelante nos vamos a empezar a hacer algún programa bueno estructura básica de la programación 1 como he dicho antes a la hora de construir un programa cuando son lenguajes de programación de la misma familia todos van a tener la misma estructura igual que cuando he dicho que es un lenguaje que deriva del latín va a tener un sujeto y un predicado vale, pues nosotros vamos a ver aquí un poco las más básicas son las estructuras básicas de un programa no de un lenguaje sino estas estructuras son básicas estas estructuras son las mismas me da igual que el lenguaje sea el pascal me da igual que sea el cobol me da igual que sea el c me da igual que sea el java me da igual que sea el modulador me da igual que sea el visual basic al final es lo mismo me da igual que sea todos van a tener estas estructuras cuando vamos a ver estas estructuras básicas no estamos no estamos viendo un lenguaje de programación concreto luego una vez que veamos estas estructuras vamos a ver la aplicación de estas estructuras en el lenguaje java vale, pero eso no es más que como un libro cuando yo hablo de implementar es una palabra que uso mucho lo que significa implementar no es más que escribir en código escribir en un lenguaje determinado lo que significa que una vez que yo me sé las estructuras las conozco como implementar en java una variable o como implementar un bucle for o como implementar ese es el coche fantástico es que yo tengo la misma vale, como implementar en java un bucle for no es más que coger el libro y verlo es más fácil es como si fuera en idioma una vez que toda la base fuera la misma y pasar de italiano a inglés a francés sea facilísimo no es así exactamente pero en programación sí una vez que tú conoces las estructuras de la programación pasar de un lenguaje a otro es bastante sencillo, no te va a llevar nada de tiempo lo vais a ver en un programa como se hace aquí esto más o menos todos los lenguajes que vayas a utilizar van a utilizar las mismas estructuras vale no vamos a hablar de otro tipo de lenguajes como serían los lenguajes declarativos lenguajes... eh... sí, sobre todo los declarativos que son distintos estos son todos lenguajes estructurados vale esto, ¿qué hace un programa? bueno, esto ya lo hemos visto antes recibe unos datos de entrada, manipula los datos de entrada para generar unos datos de salida y muestra los datos de salida vale ah, bueno digo, esto se me ha colado, no pero sí veis que en esta definición de qué hace un programa habla de recibe unos datos de entrada, manipula esos datos y genera unos datos y muestra los datos de salida veis que está subrayado la palabra datos ¿por qué? porque un programa trabaja con datos recibe unos datos, esos datos los opera con ellos y genera unos datos de salida vale ¿qué es un dato? o sea, me da igual el Java, que el C, que el Pascal que es otro lenguaje que el COBOL, todos trabajan con datos una cosa tan simple como eso un dato no es más que una unidad de información que maneja un programa es decir, un dato puede ser un nombre un dato puede ser el DNI un dato puede ser el teléfono pero un dato es una unidad de información es un concepto un poco abstracto a la hora de verlo, vale pero incluso un algoritmo trabaja con datos ¿qué es un dato? acordaos de los huevos fritos un dato es un huevo un dato es el aceite un dato es la sartén esos son datos, trabajo con datos ¿vale? ¿cómo perdón? ah, que no has estado, no has venido ahora ah, vale, vale perdona, que me parecía que diferencia, que me parecía como no lo veía, digo que diferencia entre un dato no, un algoritmo trabaja con datos igual que un programa trabaja con datos el algoritmo, la equivalencia digamos es el programa un algoritmo no es más que la representación perdón, un programa no es más que la representación de un algoritmo en un determinado lenguaje de programación un algoritmo lo que decíamos aquí un algoritmo secuencia de pasos que resuelve un problema el algoritmo es la receta de cocina el proceso, la descripción del proceso digamos primero voy a la nevera segundo una vez abierta la nevera cojo un huevo saco la sartén rompo el huevo eso es el algoritmo el algoritmo trabaja con datos ¿cuáles son los datos? unidades de información, a ver, estoy haciendo un poco para que veáis la correlación con para que luego entendáis lo que es un programa, vale eh ¿qué son datos en el algoritmo? trabaja con datos hemos dicho un huevo, la nevera la sartén, el aceite, el plato esos son los datos un programa que es la representación del algoritmo en un lenguaje de programación es decir, un programa escrito en un programa escrito en C, un programa escrito en Pascal un programa escrito en Java maneja datos que son unidades de información unidades de información, a ver si ahora a lo mejor no lo sabéis plasmar pero bueno, es un nombre donde tenéis un teléfono, un programa la calculadora de Windows un programa que maneja datos es decir, recibo dos números cada uno de esos dos números es un dato y genero un dato de salida que es un número con el resultado vale eh los datos que maneja un programa son de distinta clase, digamos aquí lo mismo quiero que lo veáis con la vida real a ver, lo del huevo fito se me ha ocurrido aquí, que no lo traía previsto pero bueno igual que un huevo frito puede ser un tu que se, tomarme una caña de un bar eso también es un algoritmo todos son algoritmos lo que pasa es que nuestro cerebro es como si fuera un ordenador que trabaja con con algoritmos lo que se ha hecho en informática es representar esos algoritmos en un ordenador vale eh los datos de un programa pueden ser de distinta clase vale, hemos dicho que un programa maneja datos un algoritmo también maneja datos vale, y van a ser de distinta clase vale un huevo es de la clase alimento una sartén es de la clase herramienta un un plato es de la clase del tipo vajilla, vale pues los datos que maneja el programa también son de distintos tipos aquí tenemos varios, por ejemplo un nombre un nombre no es más que una serie de caracteres un carácter ¿qué es? una letra una letra es un carácter ¿sabíais que una letra es un carácter? si, no bueno, quedas con queso con que un carácter es una letra el teléfono son letras, no, son números aunque luego un carácter también puede ser un número pero bueno, para que lo entendáis un teléfono es un número igual que una sartén y un huevo ¿veis que son de clases distintas? pues un número una edad ¿una edad qué es? un número un teléfono es un número vale una letra es un carácter cuando tenemos varios caracteres seguidos se suele conocer en un programa como una cadena de caracteres o un o un string, se utiliza la palabra que es en inglés, que bueno utilizaremos cadena de caracteres que son los caracteres más sencillos perdón, son los tipos, las clases más simples que hay, es decir las más básicas, las más extendidas el número y la letra pues aquí se habla de otro concepto que son los tipos de datos los tipos de datos no son más que los distintos tipos de información las distintas clases de datos se llaman tipos de datos simplemente lo que hemos dicho lo que decimos aquí en un programa pueden ser distintas clases ¿vale? estas clases que hay son los distintos tipos en informática y en programación se llaman tipos de datos ¿vale? entonces habrá un tipo de dato que sea numérico y un tipo de dato que sea carácter ¿vale? igual que hay un tipo de dato que es el el huevo el tipo ... o el tipo de datos que sea sí, el tipo de datos que es un huevo que es alimento y el tipo de datos que sea batería y el tipo de datos que sea herramienta ¿vale? cuando hablamos de tipo de datos hablamos de eso distintos tipos que puede tener un un dato ¿vale? entonces el por ejemplo el 50 ¿de qué tipo de datos es? numérico de momento conocemos hemos hablado aquí de dos tipos de datos el número y el carácter carácter no carácter carácter es lo que llama a la leche ¿vale? aquí hablamos de carácter vale esto ahora para que os vaya sonando los tipos de datos que puede tener un un dato hemos dicho que un programa yo lo repito porque porque quiero que eso quede a fuego un programa maneja datos que son de tipos de datos ¿vale? hemos visto dos tipos de datos el tipo numérico y el tipo carácter pero hay más tipos de datos y los tipos de datos pueden ser de distintas formas o de distintas clases digamos pueden ser simples o compuestos y esto me da igual que sea ya lo digo no estoy hablando de ningún lenguaje de programación estoy hablando de una familia de lenguajes de programación que son las más comunes desde un programa para hacer un editor de texto hasta cualquier aplicación de móvil está hecho en esto y maneja tipos de datos o sea un programa, una aplicación Android utiliza datos de tipo número o de tipo carácter ¿vale? el Word en su interior utiliza datos que son de tipo entero o de tipo carácter para que veáis que no todo esto es aplicación directa vale entonces hemos dicho que hay dos tipos dentro de los tipos de datos no solo hay numérico y carácter hay varios tipos uno son los tipos simples y otro los tipos compuestos los tipos simples como su nombre indica son simples y los tipos compuestos se componen de varios tipos simples ¿vale? tipos simples pues los numéricos, los tipos carácter y hay otro tipo que también prácticamente casi todos los lenguajes de programación lo tienen que es el tipo booleano el tipo booleano es un tipo que solo puede ser verdadero o falso ¿vale? tipos booleanos en la vida real pues una puerta, abierta o cerrada un interruptor, enchufado o desenchufado ¿vale? pues eso se representa en un lenguaje de programación mediante tipos booleanos, que pueden tomar valor verdadero o falso un tipo numérico puede ser 1, 2, 3, 4, 5 un tipo carácter, A, B, C D, E, F ahí luego están los tipos compuestos los tipos compuestos que no los vamos a ver porque son unas estructuras algo más complejas cuando se haga otro curso un poquito más avanzado pues ya se vería la siguiente los tipos compuestos estarían los tipos vectores por ejemplo, que no es más que una secuencia de números perdón una secuencia de tipos simples o sea varios imaginad una quiniela la columna de una quiniela podría ser un vector es decir, una serie de tipos simples es decir, una serie de letras y números ¿vale? una matriz no es más que un vector de vectores otro tipo complejo y otro tipo que sí que es más común serían las cadenas de caracteres las cadenas de caracteres o string no es más que una secuencia de caracteres pues el nombre de una persona es una cadena de caracteres Alberto es una cadena de caracteres son siete caracteres entonces esto ya lo digo me da igual el lenguaje de programación si yo no sé programar en Java pero conozco los tipos de datos de programación pues voy a ver en Java cómo se dice entero en Java cómo se escribe en Java cómo se define un número en Java para eso están los manuales no hay nadie que conozca todos los lenguajes de programación pero uno conoce varios lenguajes de programación pasar de uno a otro luego es muy sencillo ¿vale? ¿Alguna duda? Sí, vectores en matriz sé que es un poco relacionado con los arrays Es lo mismo Entonces, lo que no entiendo es la diferencia o sea, matriz es el conjunto de vectores Exacto Un vector, digamos es un conjunto de datos simples es decir, de números, de letras de booleanos vamos a quedarnos en eso primero ¿vale? Y una matriz es un conjunto de vectores un conjunto de vectores de tipo simple ¿vale? Quiero ir A ver, ¿cómo se representa? Un vector un tipo simple para que nos entendamos o es así un cuadrado por eso es un 6 para que nos entendamos Esto, cuando se estudia informática y cuando se representa ha sido una forma un poco visual para que veamos a qué nos referimos ¿vale? Un dato simple por ejemplo un 6 un dato simple sería un 8 un dato simple sería una los caracteres los escribimos siempre entre comillas simple bueno, entre comillas doble entre comillas cuando hablamos de un vector hablamos de un conjunto de datos simple es decir tratado a ver esto ya es un poco más en detalle los tipos de datos los elementos que contienen el vector tienen que ser del mismo tipo o sea, si es un vector numérico sólo va a tener números 10, 4 3 y 1 ¿vale? y cuando hablamos de una matriz hablamos de un vector de vectores esto esto es un vector esto es una matriz va a tener pues 6, 8 3 ¿vale? si vosotros veis un libro o un manual o un tutorial esto lo podéis encontrar como vector como array como formación como chorizo o sea, esto voy a echar un tutorial para ya verlo es lo mismo yo siempre uso vector que no tiene nada que ver con los vectores de matemática no sé si os habéis visto alguna vez estas cosas no tiene nada que ver ¿cómo? no, no, no tiene nada que ver un vector es matemático pero que no estamos hablando de las mismas cosas ¿vale? y para que sean todas las posibles formas de llamar a un vector depende de como vaya la cruz la idea no es trabajar con vector pero bueno ¿os queda claro? pues eso sería un tipo de datos compuesto ¿veis por qué es un tipo de datos compuesto? eeeh vale es un tipo de datos compuesto porque se compone de tipos de datos simples veis el vector que se compone de tipo de datos simple o de tipo de datos compuestos veis que la matriz se compone de tipo de datos con de tipo de datos compuestos ¿vale? el tipo de datos simple no hay duda solo se compone de tipo de datos simples ¿vale? y aquí puedo escribir seguimos por el chat vale por el chat me preguntan que si puedo repetir los tipos booleanos son los que son el tipo sí o no verdadero o falso ¿vale? lo que tienen dos opciones he dicho aquí algunos ejemplos pues eeeh un interruptor de la luz o apagado o encendido los que tienen dos posiciones una puerta abierta o cerrada ¿vale? cuando veis eeeh cuando veis en un formulario cuando veis soltero el check este que veis o casado o tal ese check siempre es sí o no no hay más opciones ¿vale? alguna duda más vamos bien o vamos muy rápido o muy despacio yo lo que me digáis bien ¿no? lo vais entendiendo a ver yo parto de un nivel cero como dice el nombre del curso ¿vale? así eeeh bueno los que estáis haciendo el curso online me tenéis que mandar un correo a sánchez arroba plasencia punto uned punto es vale y con el asunto poner eeeh curso programación el nombre y apellido y luego en el correo dentro del correo me ponéis nombre otra vez los nombres los apellidos y el DNI ¿vale? pues eso tenéis que poner más cosas seguimos vamos a ver los tipos de datos simples y el tipo cadena de carácter que es un tipo de dato que se va a tratar igual que un carácter a ver se va a tratar generalmente desde el punto de vista del de los lenguajes de programación se van a tratar igual que un como si fuera un tipo de dato simple ¿vale? y es interesante o sea que vamos a ver los distintos tipos de datos simples y el tipo de cadena de carácter vamos como si estuvieras por el ejemplo de la vida real vamos a ver los distintos tipos de datos que hay para hacer una receta el tipo alimentos para hacer una receta necesito los alimentos las herramientas y la batería por decir ¿vale? entonces los tipos de datos numéricos todos los tipos de datos todos los datos de tipo numérico son de almacenan valores numéricos dentro de los valores numéricos generalmente va a haber de dos tipos los valores los enteros y los reales ¿vale? los enteros que no tienen parte que no tienen parte decimal el 8, el 10, el 25 el menos 8, el menos 10, el menos 15 ¿vale? y los tipos reales o numéricos en coma flotante bueno quedaos con que los tipos reales son los que tienen parte decimal el 1,3, el 1,8 entonces utilizaremos un tipo un dato de un tipo u otro en función de lo que necesitemos por ejemplo si yo quiero almacenar la edad de una persona ¿qué tipo de datos utilizaré? entero o real entero vale y si quiero almacenar el valor pi 3,14,16 real el teléfono entero vale los tipos booleanos ya lo hemos dicho almacenar valores booleanos que son verdaderos o falsos ¿vale? verdadero o falso, sí o no decirme algún tipo pensadme algún tipo booleano que se os ocurra pero también que pensáis no que lo veáis todo en la pantalla iba a pensar un semáforo pero como tiene naranja ya hemos liado soltero casado soltero casado por ejemplo ya tenemos divorciados ya se ha jodido también la cosa sino para yo que sé para cualquier tipo de home off noche y día imaginaos que hay en un en un cine hay dos sesiones una de noche y otra de día una cosa así vale y los tipos carácter hemos dicho que almacenan un único carácter del carácter aquí pongo carácter el código ASCII ¿vale? ¿sabéis lo que es el código ASCII? el código ASCII es una tabla de una tabla de caracteres internacional simplemente los caracteres que tienen en el teclado son el código ASCII ¿vale? si veis por ejemplo si buscáis por ejemplo para los que no lo sepáis cuando habla de de la representación de caracteres el código ASCII podéis ver los caracteres todos tienen una representación numérica digamos por ejemplo la A se corresponde con el 11 la Ñ se corresponde con el 89 me lo estoy inventando no lo sé el los dos puntos se corresponden con el 201 ¿vale? la llave se corresponde entonces si vosotros metéis en google para hablar de códigos de códigos ASCII ¿veis? en cualquier sitio os aparece pues la admiración para abajo se corresponde con el 33 o el 21 en esa decimal pero bueno con el 33 el asterisco estos serían los símbolos ASCII ¿veis? todos estos que están aquí todos estos son valores del tipo carácter distinguiendo también entre minúsculas y mayúsculas el 50 y el 66 es la B mayúscula y el 98 es la B minúscula ¿veis? todos estos son caracteres que podéis representar y asociar a un por ejemplo la A mayúscula tiene un código la A minúscula tiene otro código la A mayúscula acentuada tiene un código la A minúscula acentuada tiene otro código para meter el código ASCII en un en un editor por ejemplo hace falta era con el nos aparece aquí digamos el teclado era control alt creo que era y el código ¿alguno lo sabe? ¿lo ha hecho alguna vez? si es con una combinación de teclas no recuerdo exactamente bueno pero bueno esto no lo vais a ver tampoco lo vais a utilizar alt si alt alt y el código por ejemplo por ejemplo si queremos meter el el arroba es el 64 alt y el 64 si os aburrís un día y en vez de escribir con el teclado queréis escribir con el código también podéis vale pues todos esos códigos entonces lo primero que se me ocurre es una cosa eh veis que veis 0 1 2 3 4 5 6 esos son números no he dicho que son caracteres ahora que son números o caracteres si yo puedo asociar a un tipo carácter carácter como es carácter o carácter yo creo que lo digo de las dos formas carácter eh puede asociar a un a una variable bueno perdón a un tipo de datos carácter le puedo asociar un número si porque es un número perdón porque es un carácter entonces yo voy a representarlo los números de dos formas distintas esto es muy importante porque nos puede dar errores por ejemplo a la hora de compilar nos puede dar muchos errores no es lo mismo poner esto que eso no es lo mismo poner esta letraca es porque estoy con el ratón con los de online no es lo mismo poner eso que eso vale yo no puedo hacer yo no puedo hacer esto hemos dicho que los caracteres se representan entre comillas yo tengo que hacer esto pero yo si que puedo hacer esto pero también puedo hacer esto porque un número es un carácter vale eh vale yo puedo hacer pero yo no puedo hacer eso cuando estamos trabajando con un número osea con un número podemos trabajar de dos formas distintas como un número o como un carácter porque dependiendo de como lo este utilizando puede hacer unas cosas u otras cosas por ejemplo con un carácter tipo una que puede hacer en un programa ponerla en mayúscula ponerla en negrita por ejemplo con un 2 con un número representado como carácter también puedo poner la mayúscula no tiene sentido porque se representa pero con un 2 sin ser carácter yo no puedo poner la mayúscula hay que tener muy claro que cuando que un número puede ser las dos cosas es lo mismo pero no es igual vale cuando trabaje con un número lo tengo que representar sin comillas y cuando trabaje sin un número osea cuando trabaje con un carácter lo tengo que representar con comillas a ver por el chat hay alguna ah ya estoy recibiendo ahí correos vale alguna duda vale seguimos vale y un tipo cadena de caracteres osea hemos visto tipos numéricos que pueden ser enteros o reales los tipos de datos booleanos que almacenan valores uno cero los tipos caracteres que almacenan un carácter de tipo código ASCII y el tipo cadena de caracteres el tipo de cadena de caracteres almacena un conjunto de caracteres vale no tiene más osea si un carácter almacena un código un dato del código ASCII pues una cadena de caracteres almacenara varios caracteres que son del código ASCII vale pues antes de ver mas cosas en estructuras de programación como estructura de programación vamos a ver como se representan estas cosas por ejemplo en java como se representa un tipo numérico en java como se representa un tipo carácter en java y como se representa un tipo booleano en java esto es lo mismo que decir que hay el tipo de datos alimento o comida como se representa el tipo de datos alimento en inglés como se representa el tipo de datos alimento en alemán es una pregunta ni una idea y como se representa el tipo de datos alimento en italiano tampoco ni idea eeeee pues eso vamos a ver como se representa el tipo de datos en java como se representa en C como se representa en pascal como se representa en... la verdad es que sé que existe el tipo numérico ya solo tengo que ir a un libro a ver como se representa vamos a ver un poquito de java estas cosas que vamos viendo vamos haciéndolo de forma progresiva eeeee vamos a seguir viendo cosillas entonces eeeee vamos a ver el java un lenguaje de programación para escribir un programa vamos a ver inglés hemos dicho que un programa es una secuencia de instrucciones o una secuencia de sentencias un algoritmo es una secuencia de instrucciones una secuencia de pasos pues esa serie de pasos se van a escribir en un determinado lenguaje de programación vale entonces el lenguaje de programación tiene una serie de palabras reservadas que significa eso las palabras reservadas son palabras propias del lenguaje que nosotros podemos utilizar a la hora de que nosotros no podemos que nosotros las palabras reservadas son unas palabras propias del lenguaje que nosotros podemos utilizar pero que están ahí nosotros no podemos cambiarlas solo las podemos utilizar o sea nosotros tenemos esas palabras a nuestra disposición a la hora de hacer el programa entonces lo que se trata es de conocer esas palabras reservadas en java ahí tenéis int for if cada una de ellas sirve para una cosa entonces si nosotros las conocemos nosotros tenemos una caja de herramientas y cada una de ellas sirve para una cosa vale nosotros tenemos un destornillador y lo utilizamos nosotros tenemos un martillo y lo utilizamos pues igual nosotros tenemos la palabra int y la utilizamos entonces son palabras cuantas más palabras conozcamos digamos no exactamente así pero bueno cuantos más usos de la palabra conozcamos mejor sabremos programar en teoría los tipos numéricos hemos dicho que eran de dos tipos, enteros o reales entonces como se van a representar esos tipos en java definición de los tipos en java ahí lo veis cuando yo quiera utilizar un tipo numérico entero puedo tener cuatro tipos distintos en función de que en función del rango de valores que vaya a tener porque puedo pensar utilizo siempre el demás rango y ya está cada rango ocupa dos memorias si pensáis no es lo mismo un tipo de datos numéricos que almacena y los dos son enteros la edad de una persona que la de un teléfono para una persona con que tenga del 1 al 100 yo creo que voy sobrado y para un teléfono necesito 9 dígitos pues por eso en función del rango y todos enteros no estamos hablando ahora de decimales pues puede utilizar el byte el sort el in y el long y el menor a mayor bueno, para lo que nosotros vamos a utilizar simplemente que sepáis que son de distintos rangos ¿cuáles son los rangos? en cualquier libro tiene el rango uno es de uno a no sé cuánto mil millones simplemente el tipo de datos más común es decir un porcentaje muy alto de casos se va a utilizar el int que es el tipo entero bueno, todos son enteros pero es el tipo de int de momento vamos a quedarnos con que el más utilizado es el int el tipo de también en función del rango que vaya a utilizar pues por el número de decimales por ejemplo que vaya a necesitar en función de la precisión para representar el número pi sea el 314 si lo queremos representar con 2 decimales sea el 314 si lo quisieramos representar con 16 decimales pues ya sería otro tipo vale, pues en función también del rango serían el float y el double o el doble como queráis como se representa en java cada vez que yo quiera representar o quiera utilizar un tipo booleano tengo la palabra reservada boolean así o no vale el tipo carácter sería char y el tipo cadena de caracteres que sería string simplemente sabéis como se representa un entero pues nos quedamos ahora con int vale un real pues con un float por ejemplo, booleano pues boolean ahora vemos como se definen datos de un tipo determinado como se crean sobre esos datos antes lo he puesto ahí alguna duda tenéis bien, sobre los datos lo lógico será hacer operaciones vale en ese sentido sobre todo si son las operaciones se hacen fundamentalmente entre tipos numéricos y tipos booleanos también a ver con los con los datos hemos dicho que el programa un programa lee una serie de datos de entrada un programa lee unos datos una serie de datos de entrada opera con esos datos el programa y genera una salida estas operaciones van a ser entre datos de tipo entero muchas veces entre el tipo char y el tipo booleano y van a ser de dos tipos vale, de tipo numérico o de tipo lógico por ejemplo de tipo numérico tenemos las expresiones aritméticas y las expresiones lógicas o condicionales vale, las expresiones aritméticas estamos hablando entre las expresiones numéricas son entre números por ejemplo el 2 por 3 el 2 más 3 el 2 dividido entre 3 expresiones que son las expresiones lógicas o las condicionales las expresiones lógicas van a devolver un valor de tipo booleano y las tenemos que conocer y se utilizan igual que los tipos numéricos perdón, igual que las expresiones numéricas estas a lo mejor no son más desconocidas y se utilizan para evaluar condiciones expresiones ¿conocéis alguna expresión igual que hay operadores aritméticos hemos quedado que hay operadores lógicos ¿conocéis algún operador mayor, menor, distinto dot o mole por ejemplo al final una expresión puede ser entre números o entre caracteres o entre operadores lógicos por ejemplo, 2 menor que 3 me va a devolver sí o no 2 es mayor que 8 2 igual a 8 2 distinto a 8 los operadores booleanos estos son operadores booleanos el and y el or lo que hace es que actúa sobre no me quiero meter mucho en el or los operadores booleanos actúan sobre sobre operandos booleanos sobre operandos que son verdadero o falso es decir, si yo tengo 2 mayor que 3 esto es una expresión lógica o booleano vamos a quedarnos ahora en que lógico y booleano es lo mismo esto es una operación booleano que devuelve verdadero o falso en este caso falso y otro operador booleano otro operando booleano puede ser 8 mayor que 7 en este caso devuelve 2 pues yo aquí puedo colocar un operador booleano es igual que si cuando yo tenía un operador numérico 8 más 3 por 5 más 4 esto es lo mismo con operadores numéricos pues esto es como operadores booleanos el and y el or y eso devuelve un resultado que es falso y esto devuelve un resultado que es falso si queréis copiar como por ahí esto va a venir bien porque a la hora de hacer un programa hay veces que necesitamos evaluar condiciones nosotros tenemos el and que se representa en java yo tengo true and true vale true true and false vale false false y con el or tendríamos que true se representa así true true true false false simplemente quedaos que en el and ya veremos luego su uso vale en el and cuando hay un false siempre es false y en el or cuando hay un true siempre es true luego hay otros estos son los más comunes no lo vamos a decir el and entonces vamos en un lenguaje de programación vamos a evaluar dos tipos de expresiones las expresiones numéricas que lo he pasado rápido porque yo creo que todos sabemos lo que son y las expresiones condicionales las expresiones condicionales que se caracteriza porque tiene operadores condicionales los operadores condicionales son los que trabajan con operandos condicionales vale si en java en en cobol es or en pascal es or en c son dos barras digo yo sé que esta estructura or que quiero hacer un programa en pascal pues me cojo un libro de pascal y a ver como se pone el or y lo pongo vale alguna duda por el bueno no os preocupéis ahora por el tema del float y el doble y el que se de coma flotante quedaros con que unos son reales y otros son enteros no quiero yo vale simplemente quedaros con que la diferencia a la hora de usar uno u otro es que unos unos abarcan mas rango que otros y cuanto mas rango abarcan mas memoria ocupan al ordenador estamos hablando ahora de hacer un programa de cosas ínfimas pero bueno quedaros con que esa es la cosa vale veis entonces aquí tenemos algunos de los operadores aritméticos pues el bueno el más más ya veremos lo que es el incremento quedaros el más el menos el por la división esto es el resto no es el tanto por ciento esto es el resto de la división y los operadores relacionales pues esto es el igual en java porque en pascal por ejemplo el resto es módulo en fin cada uno tiene su en java el igual en una expresión condicional el distinto es así el menor mayor not el and el or vale si vamos a presentar un tipo de datos pues ahora perdón a la hora de presentar una expresión o aritmética utilizaremos estos símbolos vale bueno pues ahora desde el punto de vista de presentaciones tampoco quiero yo aquí soltar un chorro de aquí de teoría vamos a empezar ahí haciendo cosillas relacionales es lo mismo que lógicos booleanos si operadores relacionales es verdad que en la presentación pongo relacionales si es que hay varias formas de hablar de lo mismo si relacionales son operadores lógicos si perdón no booleanos eh no booleanos relacionales y lógicos si es lo mismo booleanos no booleanos es algo que va a dar verdadero o falso no miento también o sea relacionales lógicos y booleanos es lo mismo vale pues una expresión relacional va a devolver verdadero o falso vale bueno pues vamos a empezar con lo que sabemos ya sabemos suficiente para escribir un programa vale eh si queréis ahora cinco minutillos para ir encendiendo aquí los ordenadores los que tenéis Carlos el otro día María nos puso ahí un par de regletas para que la gente se pudiera conectar porque es que aquí hay no hay enchufes nada más que uno o dos y para y ahí puso y sacó varios a ver si los puede sacar vale los del chat esperar cinco minutillos si me queréis preguntar algo porque los que están aquí presenciales van a conectar los ordenadores porque vamos a empezar a ir viendo cosas con el ordenador para que no todo sea powerpoint y teoría vale si esperaros hay que descargarse algo pero vamos a esperar a que nos lo descarguemos todos a la vez vale ahora vamos a traer ahí el enchufe hay alguien que no tenga ordenador bueno por poneros con alguno que esté ahí con ordenador y lo vais viendo alguien de los que están online ha programado alguna vez un segundito ya a ver si viene Carlos vale ponlo ahí al momento lo ponemos que haga así como tipo de alargadera ok gracias no no no una pregunta tonta no hombre no hay preguntas tontas me dicen porque java y no C y no C++ el C++ aunque lo estudiéis en fundamentos de programación como tal ese lenguaje no existe vosotros no vais a un sitio diciendo que sabéis programar C++ el C++ no es más que el C++ con alguna funcionalidad menos el C++ no es más que el C pero orientado a objetos vale eh la gente que da C dice que es chunguillo el java y el C son primos hermanos pero muy hermanos vale eh el java es porque C si queréis lo damos en C el java entiendo yo que es un poquito más comercial digamos más utilizado tiene más tiene más utilidades que el que el C aprender C si queréis aprender java os va a llevar el mismo tiempo me refiero desde cero o sea aprender a programar en C o sea aprender a programar utilizando C y aprender a programar utilizando java es lo mismo vale son igual de es igual de complicado eh en la universidad antes ahora ya cada vez menos el paso de algoritmo el paso de bueno el paso de algoritmo al paso de un lenguaje de programación eh es hacer un lenguaje lo más de lo más alto nivel ya sabéis lo que es alto nivel de lo más alto nivel posible y uno de ellos es el por encima del C y del java está el pascal y el modulado que son unos lenguajes que son muy más sencillitos que el C pero tienen poca poca utilidad por no decir ninguna en la vida real entonces por eso ya en la universidad y en los cursos y tal se enseña a programar en C y en java que cuesta casi el mismo esfuerzo y son lenguajes que se utilizan en la vida real pero no es más chungo aprender C que aprender java eh y al revés vale entonces es que no sé porque quiero instalar el compilador de java digamos pero no sé si desinstalar el que tengo porque para desinstalar el que tengo me tengo que cerrar la venga lo voy a hacer a los del chat voy a desaparecer un segundo ahora vuelvo este no lo tenía lo puse ayer bueno no no he desaparecido eh ya estoy aquí no que no he desaparecido venga hemos dicho que para empezar a escribir un programa necesitamos un editor de texto vamos a hablar del caso ya del java vale necesitamos un editor de texto es decir algo en que poder escribir el programa y una herramienta que es el compilador el compilador lo que me va a traducir es a traducir primero nos va a decir si el programa está bien escrito o si no está bien escrito y segundo nos lo va a traducir a algo ejecutable o sea a un a un fichero ejecutable entonces necesitamos esas dos cosas para poder escribir un programa en java vale eh el blog de notas nos vale como editor de texto todos tenemos el blog de notas entiendo entonces nos falta descargarnos al compilador de java vamos a utilizar una cosa que se llama jdk vale jdk de java dddb el opmen es decir desarrollo y kdkit vale esto es un compilador es más que un compilador pero bueno vamos a quedarnos con que es un compilador esto no es más que el kit de herramientas de desarrollo de java que nos da sham una empresa es gratuito para poder desarrollar programas en java vale entonces carlos por si que no te pierdas ah vale si que hace falta la si es verdad necesitáis conexión a internet claro la contraseña se os será puesto fácil para que la recordéis eh si con la contraseña no tenéis todos papel no porque en memoria me falla el número la contraseña para hacer aquí a la wiki sería 1 w 22 6 n l6 el C no es más complicado que el Java que estáis ahí debatiéndolo complicado es que depende de que se llame complicado si si te equivocas en un puntero por eso lo pueden decir efectivamente una cosa que apunta por aquí es verdad que el C tiene punteros que no lo vamos a ver aquí y la gestión de memoria efectivamente y en C no, pero bueno para las funcionalidades que se quieren hacer no es más complicado yo no al final si uno probaba mucho en C y se atascaba más en C pero en principio no debe ser más complicado manejar C que Java estáis todos ya dentro no, dentro en internet digo Carlos lo que decíamos era que si os acordáis bueno la estoy borrando ya si si os acordáis lo que habíamos hablado era que para hacer un programa necesitábamos un editor de texto que en principio con el blog de notas nos vale y un compilador para Java vamos a utilizar un compilador que nos da San que es gratis que se llama JDK Java Development Kit vale entonces vamos a bajarnos ese kit de Java simplemente si ponéis aquí nos vamos al a Google y ponemos JDK y lo primero que nos sale es que yo lo instalé ayer la versión 6 para Emilio ¿no? antes de ayer para una tutoría si, vamos a bajar la 6 porque es la que tengo yo aquí porque la 7 da problemas con otro entorno que hay de programación que se llama BlueJ para Java que está instalado aquí para algunas tutorías entonces pinchamos aquí no, no, si tú tienes BlueJ si alguien tiene BlueJ por ejemplo no me falta bajarla por ejemplo veniros aquí veis Java SE 6 UPDATE 43 y vais a Download ahí lo bajáis y lo instaláis os va guiando yo creo que lo tengo instalado le voy a quitar para volver a instalar pero es que no quiero quitar todos los navegadores las rutas que os da hacerlas todas por defecto JDK donde pone JDK Download la 6, 43 tampoco pasa nada si es la 7 si es que está en el 6 no tengo aquí la 6 porque la 7 no iba bien con el BlueJ bueno, tampoco pasa nada que tenga la 7 porque aquí no vamos a ver BlueJ si tenéis la 7 usad la 7 y no te da problemas no, ah vale pues a lo mejor es eso pues a lo mejor es por eso nosotros es que no te da problemas y con la 6 no da ninguno y por no estar ahí dos horas esperando a ver, bueno es verdad que esto ya lo tenéis los del online lo mismo habéis seguido lo que estoy haciendo ¿no? bajaros la la herramienta de desarrollo de Java la 6 o la 7 las que os dé la gana la verdad porque me dicen que BlueJ ya no da problema yo como tengo aquí la 6 pues la 6 pero bueno estamos en ello ¿vale? pues vamos a ir todos a la vez si luego con opción bajo según el Windows que tenga todos tendréis que bajaros bueno, depende del Windows que tengáis cada uno por ejemplo para Windows XP bajaros la que pone 80, 86 creo que es ¿habéis llegado ahí y sabéis de lo que estoy hablando? para Windows 7 creo que es la de abajo la de... no, bájate la, bájate la JDK Guillermo depende de Windows 7 claro, es que depende si, bueno venga, si pues hacemos eso bajaros todos, si bajaros todos la 86 da igual si os da problemas una, bajaros la 86 son booleanos ¿en qué booleano? ¿eh? bajaros la que pone 86 y ya está si pues es que podéis tener el Vista del 64B 32B ¿os da problemas? bueno tardar un poquillo tampoco nada pero tampoco tanto dime ah bueno, no, este dale si vale, tenéis que aceptar la licencia Aceptar la licencia, a bajar, el de 32, que es este que digo, el 86, ¿vale? La 640, vale. Y vamos a ejecutar. Sí, lo malo es que luego lo borro, no lo he instalado otra vez, porque tiene un programa ahí, ese programa, ¿sabes cuál es? Que cuando yo lo apago, se borra todo lo que, no sé, que lo metan en el disco del otro, en el que tiene otro, ¿sabes? Ya, otro disco 2. La que tiene una partición. Una partición, entonces ya, como lo pongas ahí, vamos a ver, cuando ya lo reinicie, se borra todo, ¿sabes? Que tarda un poco entonces ahora. Ya, sí, tarda un poco. Ya me he hecho, ¿no? Lo habéis dicho alguna vez, es el primer paso. Vamos a hacer un programa sencillito, digamos, primero. En la vida real, digamos, no se va a programar. En herramientas que... Bueno, espero que... ¿Tienes el kit? Claro, para el kit, que ya es un paquete para... Yo lo quiero aprender a manejar con el. Quiero perder tiempo, digamos, en... El Lujota es una... Sí, un entorno de desarrollo de Java, ¿vale? Mira, en vez de lo de notas... Sí, estamos esperando esto, es Lujota. También es gratuito. Está pensado para el programa C, perdón, para el programa Java en universidad. ¿Esto te suena, Emilio? Esto es Lujota, ¿vale? Simplemente... Esto es lo que escribiríamos por los de notas. Un programa. Esto está muy bien separadito por colores, esto está separadito... Este no tiene ID, lo que decía, este no tiene reconocimiento. Esto está muy inteligente de palabras y tal. ¿Veis? ¿Os suena esto? ¿Vale? ¿Os suena esto? Son cosas que hemos visto en lo que he dado. ¿Vale? Esto es un programa de Java. ¿Veis? Esto es una cosa, un entorno preparado para escribir programas en Java. El Lujota es un programa para escribir documentos de texto. Es lo mismo una carta a la abuela que una fórmula. Y entre ellos podemos escribir un programa en Java. Como no quiero... La idea mía no es dedicar tiempo a manejar esto, simplemente con el blog de notas, que es más sencillo que nada, o sea, que no tiene nada que aprender, pues prefiero aprender a hacer programas en Java con un blog de notas, ¿vale? ¿Cómo vais? Los que estabais bajando... Joder, esto está por una prisa. Y por allí, por Cadena Campus, ir dándole a ejecutar y a instalar y todo. Bueno, pues lo que estoy pensando es que mientras... Diez minutillos o así, mientras se está bajando, podemos seguir viendo cosas, ¿vale? Vale. Estructura de un programa. Vamos a ver. Mi idea es tomar café cuando lo tenga. A ver si... La idea... De un programa es que pueda interactuar con el usuario, ¿vale? El Word va a interactuar con nosotros. Nosotros vamos a meter comandos. El programa, ya lo he dicho también muchas veces, el programa va a hacer cosillas y nos va a devolver información, ¿vale? Una de las operaciones básicas a la hora de construir un programa es la operación de escritura simple, ¿vale? Eh... Es decir, que la información desde el programa a la pantalla, ¿vale? A la pantalla. Sí. A la pantalla. Eh... Pues puede ser también un fichero, ¿no? Pero aquí vamos a quedarnos con la... Como que es como el... Con la pantalla, ¿vale? En Java, ¿cómo sería? Si yo quiero escribir desde el programa un texto, ¿vale? Que pondría System.out.println texto... Y aquí el texto a escribir. Así el programa escribiría en pantalla cuando veis, por ejemplo, eso que pone ahí. Eh... Cuando vosotros estáis descargando... Cuando vosotros estáis descargando un... Algo. El JDK que os estáis descargando pone, espere unos segundos. Espere tantos... Eso no es más que System.out.println. ¿Vale? Así dicho a lo bruto. O... Para que lo entendáis. Mirad ya que... Ya que lo he abierto... Y creo que no lo he cerrado. En el programa este de ejemplo que teníamos de BlueJ... ¿Veis? Que... Os había dicho que ya os suena esto de int. Esto de string. Esto de boolean. Pero este no tiene... Este no tiene System. Voy a poner un ejemplo. Bueno, ya da igual. Ya luego lo veremos. Entonces. La estructura de un programa en Java. Igual que la estructura de una oración en español lleva el sujeto predicado. En el predicado un verbo. El sujeto un nombre y tal. Eso que se estudiaba. Pues... Va a llevar... Lo siguiente. Una cabecera del programa. ¿Vale? A ver... En Java tiene... Está orientado a objeto. Entonces... Eso de la orientación a objeto es un estilo de programación que ahora a nosotros nos da igual. Vamos a quedarnos con que tiene una cabecera de un programa, con un nombre que es el nombre del programa. La cabecera de la función principal y el bloque de instrucciones. ¿Vale? ¿Qué hemos dicho que era un programa? Una sentencia de instrucciones. Un algoritmo también era... Era una secuencia de... De sentencia. O instrucciones. Cuando hablo de sentencias e instrucciones me refiero a lo mismo. ¿Vale? Y un programa es una sentencia o un bloque de instrucciones. Pues este bloque de instrucciones... Los bloques de instrucciones van a ir entre llaves. O sea, la llave de comienzo, la llave de final y dentro las instrucciones del programa. Cada instrucción nueva va a ir separado por un punto y coma. ¿Vale? Hemos dicho. Cabecera del programa. Cabecera de la función principal. Y bloque de instrucciones. El bloque de instrucciones va a ir separado por punto y coma empezando con una llave y terminando con otra llave. O sea, entre la llave de inicio y la llave de fin van a ir todas nuestras instrucciones del programa. Entonces, tres cosas. Cabecera del programa. Cabecera de la función principal dentro del programa. Porque el programa puede tener varias funciones. Ya sabemos lo que es. Y dentro la función principal. Y dentro de la función principal, entre llaves todas las instrucciones. ¿Vale? ¿Veis? Esto es un ejemplo de un primer programa. ¿Vale? Esto es un programa escrito en Java. El típico programa hola mundo. Veréis en los libros el programa hola mundo. El programa hola mundo ya es una convención cuando se va a empezar a programar. El primer programa más básico que hay que es escribir un mensaje en pantalla es el programa hola mundo. ¿Vale? Pues simplemente este programa es el que saca por pantalla hola mundo. Un mensaje. O sea, igual que hola mundo, podéis poner hola Pepe o bienvenido al curso. ¿Vale? Vamos a ver qué es lo que tiene. La cabecera del programa con el nombre del programa. El programa se va a llamar primer programa. El fichero, porque esto lo estoy haciendo en el blog de notas. Luego, ahora lo vais a hacer. Lo estoy haciendo en el blog de notas. Entonces, el nombre del fichero. Se tiene que llamar como el nombre del programa. ¿Vale? Siempre, después de cada cabecera, digamos, siempre una llave de inicio y una llave de cierre. Esto no lo ponía antes. Significa que dentro del programa va a contener todo esto. Dentro de la cabecera del programa. Es decir, dentro del programa va a estar la cabecera de la función principal. ¿Vale? Esta va a ser una cabecera de función principal. Siempre va a ser esto. Public static void main string args. Tampoco me interesa ahora que sepamos qué significa esto. Simplemente es el nombre, la cabecera. Esto significa, bueno, que es público, estático, no devuelve nada. Main es un nombre que es en inglés principal. Y entre paréntesis los argumentos con lo que se van a llamar desde la línea de comando. Es decir, desde el programa que, o sea, desde fuera que se van a pasar al programa. Ahora, siempre, siempre, siempre vamos a utilizar esta cabecera de función principal. Con lo cual, con saberla y ponerla. Aquí siempre, perdón, en la cabecera del programa vamos a poner public class. Y el nombre que nosotros queramos. Una sola palabra. Me refiero que... Estos son dos palabras pero unidad... O sea, no puede haber espacios. ¿Vale? Y luego entre llaves lo que va a ir dentro de la función principal. Vamos a escribir por pantalla hola mundo. Pues ponemos la estructura. La instrucción que hemos visto de escritura en pantalla. System.out.println y entre comillas lo que queramos escribir. ¿Vale? Y separados por punto y coma. Cada vez que haya... Este es el bloque de instrucciones. Como aquí solo hay una instrucción, hemos dicho que iba separado por punto y coma. ¿Vale? ¿Veis? Lo que es variable ahí es el texto a escribir en la salida. Las llaves marcan el comienzo y el fin del bloque de instrucciones. A ver, dentro de cada... Lo que pasa es que... Después de la cabecera del programa, todo lo que va a ir dentro del programa también va a ir entre llaves. ¿Vale? O sea, esto es el bloque de instrucciones y esto es lo que va a ir dentro del programa principal. ¿Vale? Ya hemos escrito el primer programa en Java. ¿Vale? Esto sería un programa en Java. Y vemos que lo que hace es que escribe por pantalla un texto. Una vez escrito compilamos el programa. Vamos a ver si es correcto o no es correcto. No si escribe por pantalla lo que queremos, sino si es correcto o si no es correcto. Es decir... Si aquí, por ejemplo, en vez de System.out ponemos... Se nos olvida la Y, ya no nos compilaría bien. Nos dice... Palabra no reconocida. ¿Vale? Si aquí se nos olvida una llave, tampoco nos compilaría bien. O sea, esto es lo que tenemos que poner siempre. public class, el nombre del programa. Una llave de inicio y llave de fin. Programa principal, llave de inicio y llave de fin. ¿Vale? Y la instrucción de escritura en pantalla. Si está todo correcto, ya podemos ejecutar el programa. ¿Vale? Y si nosotros ejecutamos el programa... Vale, ahí sabes que se han colado estas dos. Si la computación es correcta, ejecutamos el programa. Se ha desordenado esto todo. Entonces, una vez ejecutamos el programa, esto nos aparecería en pantalla. Hola mundo, ¿qué es lo que hemos puesto nosotros? Esto es lo que nos aparecería en pantalla. ¿Vale? Que hemos visto... Joder. ¿Qué es lo que pone aquí? El mensaje que queremos sacar en pantalla. ¿Vale? Ah, bueno, sí. Saldría con mayúsculas. El texto que pone aquí. Si aquí lo hemos puesto con minúsculas, saldría con minúscula y. ¿Vale? O sea, es exactamente el texto como lo pongamos aquí es como va a salir allí. Si aquí ponemos hola mndo, se nos olvida la u, pues saldría igual allí. ¿Vale? Hay que tener cuidado con las mayúsculas y con las minúsculas, que en Java son distintas. Hay lenguajes de programación que da igual que pongan mayúsculas que minúsculas. Te da igual pp en mayúsculas que pp en minúsculas. ¿Vale? Esto nos lo denota, hay que guardarlo con la extensión .java. Entonces, si queréis, todavía no tenemos la... ¿Os ha bajado ya el JDK? ¿Lo tenéis todos instalados? Bueno, podemos esperar un poquito más. Entonces, mientras sigue bajando, vamos a escribir este primer programa para vosotros también en el chat. Vamos a escribir este programa en Java. O sea, sí, vamos a escribir este programa. Vamos a abrir un blog de notas y vamos a escribirlo. ¿Vale? Sí, sí. En hola mndo podéis poner los espacios que os dé la gana. Podéis hacerlo como queráis. ¿Vale? Entonces, vamos a hacer... Vamos a crearnos aquí en C, por ejemplo. Vamos a crearnos en C una carpeta, por ejemplo, que sea curso, por ejemplo. Y nos creamos aquí un nuevo documento. Que sea primer... Vamos a poner la convención en Java, más o menos. O sea, bueno, más o menos no. La convención en Java es que cuando son dos palabras, aunque no puede haber espacios, pero cuando son dos palabras, la primera va en minúsculas y las demás en mayúsculas. Entonces, por ejemplo, llamarlo así. Primer programa .java. Y aquí ya empecéis a escribir así. ¿Vale? Evidentemente, public class. Entonces, ir ejecutando. O sea, perdón. Ir escribiéndolo. No hace falta que dejéis... Bueno. Escribirlo un poco como viene en el... Como lo veis. Bueno... .java. Ah, bueno. Es que no tenéis... Claro. Que no tenéis el... Mira, os dejo ahí para que lo vayáis viendo. Sí, sí. El .java. .java. Vale. Lo pongo ahí. Para el programa, la convención que estamos utilizando en las asignaturas de la... ¿Vale? Aquí son con la primera palabra en minúscula y las demás como ahí. Ahí lo tenéis. Tomáis... Ir firmando aquí esta hoja. Buscáosme aquí, en el 8 de marzo. ¿Cómo vais? ¿Lo habéis escrito todos? No. ¿Hay alguien que no? A ver cómo vais. A ver cómo vais por ahí, por el chat. Sí. Después de stream vienen corchetes. ¿Por aquí lo tenéis todos escritos? No. Lo podéis poner detrás. Ah, sí. Lo tenéis que hacer. Sí. ¿Sabéis a alguien cómo ver la directamente esta diapositiva, si no al principio? Si está en minúscula, poned lo que esté en minúscula ahí, en minúscula y en mayúscula las mayúsculas. Si asisten, por ejemplo, no lo pongáis en minúscula. Sí, no. Es decir... Que no. No hace falta. Es decir, que luego o que nunca o que cerrad la ventana directamente. Vale. Pues si queréis hacemos un descansito. Descansillo. Sí. Siete y dos cuartos hasta las siete y diez o siete y cuarto. Vale. Ej. Más o menos. Y... Supongo que los que no lo tengan descargado ya habrá descargado. Luego instalarlo es rápido. Vale. ¿Habéis oído en el chat? Que hacemos un descanso y los que no les haya descargado todavía el java, que ya supongo que habrá terminado y luego ya instalarlo es rápido. Vale. Pues venga. Vamos a... Hasta las siete y cuarto, por ejemplo. Siete y cuatro. Siete y veinte. Ej. A ver, que no me quita el coche. Ah, vale, vale, perdona. Que creía que habías acabado. No, a ver, por temas de claridad yo recomiendo que cada bloque distinto lo tabuleis en una fila. Es decir, que si veis que todo... ¿Esto por qué? Porque para que no se os... Imaginaos que aquí en vez de una línea hay cuatro. Hay cuarenta. Y cada bloque... O sea, dentro de... Dentro del bloque principal puede haber estructuras que mañana vamos a ver, como el FOR y el IF, que llevan sus propias llaves. Y dentro puede haber otras que llevan sus propias llaves. Para saber a qué llave se refiere esta, fijaos que fácil es así. Y si fuera, por ejemplo... Mirad. Un segundo, Carlos. Es por cuestiones de claridad. Imaginaos que en vez de... De así. Y estos son para cuatro filas, ¿eh? Así... ¿Sabéis así a primera vista a qué llave se refiere? No. Es mucho mejor de la otra forma. Eh... Ah, bueno, y un consejo. Siempre, cuando abráis una llave, cerradla. Así no se os olvida, ¿vale? Si vosotros estáis escribiendo un programa, imaginaos que ponéis... Public... Abrís una llave y siempre que la abráis, la cerráis. Y dejáis espacio y aquí es donde tenéis que escribir. ¿Vale? Así no se os olvida. Porque si vosotros empezáis a escribir la sentencia... Luego se os puede ir fácil... Es fácil que se os vaya la cabeza y decir... Y luego ya esto es un follón encontrar a qué llave se refiere. Por experiencia propia, siempre, cada vez que abráis una llave, la cerráis. Y en medio... O sea, siempre las llaves van a delimitar, digamos, el cuerpo de las instrucciones. Pues siempre que la tenéis que abrir, hay que cerrarla. Entonces, la forma más fácil de que no se os olvide es... Las abrís y las cerráis a la vez y en medio ya dejáis hueco para escribir lo que queráis. ¿Vale? Pues eso. Vámonos ya, si queréis. Sí, sí, sí, vámonos.