Saltar navegación

240917 Intro1 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 17 de septiembre de 2024 por Stefano C.

55 visualizaciones

Descargar la transcripción

Vale, estoy grabando esta clase, por lo tanto, si hacéis alguna pregunta, comentario, levantar la mano, habláis, me estáis dando implícitamente el consentimiento para grabar. 00:00:00
¿Vale? Si no queréis que vuestras preguntas o comentarios sean grabados, me decís algo para que pare la grabación un momento, me hacéis la pregunta y luego seguimos. 00:00:11
¿Vale? No sé por qué, pero está en vuestro diálogo. 00:00:21
Entonces, vamos a empezar a ver qué es la programación. 00:00:25
programación, tened en cuenta que 00:00:28
aquí hay alguien de vosotros 00:00:29
que ya sabe un poco programar 00:00:32
que ya ha visto programación, otros lo han visto 00:00:33
en la ESO, otros la saben 00:00:35
porque ha aprendido por su cuenta 00:00:37
pues la primera parte 00:00:39
para estas personas será un poco aburrida 00:00:41
¿vale? en el sentido que yo voy a 00:00:44
empezar desde cero porque 00:00:45
habrá otras personas que no han visto 00:00:47
programación en su vida 00:00:49
entonces aprovechad para 00:00:50
dar un repaso 00:00:53
a las bases que tenéis 00:00:55
de conocimientos de programación, sacad dieces en los exámenes primeros que son los fáciles 00:00:57
y luego ya iremos construyendo cosas más complejas, ¿vale? Si también tenéis comentarios 00:01:05
o aportar algo o decir algo sobre algo que sabéis y que yo no estoy diciendo o que para 00:01:10
vosotros se hace de otra forma, pues me lo decís y lo discutimos, ¿vale? Entonces, ¿qué 00:01:15
¿Qué es la programación en general? 00:01:22
Es la creación de un conjunto concreto de instrucciones que un ordenador puede interpretar, denominado programa de ordenador. 00:01:24
¿Qué quiere decir esto? 00:01:32
¿Vosotros habéis oído alguna vez hablar del concepto de algoritmo? 00:01:33
¿Sabéis qué es un algoritmo? 00:01:38
¿Qué es un algoritmo? 00:01:40
Una operación matemática. 00:01:42
Un algoritmo es, dado un objetivo, hacer algo 00:01:46
La secuencia de pasos, la secuencia de instrucciones que tengo que seguir 00:01:57
Para lograr ese objetivo 00:02:02
En informática utilizamos algoritmos mogollón 00:02:04
Pero en realidad los algoritmos también se utilizan fuera de la informática 00:02:09
También en la vida real 00:02:13
Cuando tú haces una tarta, la receta es un algoritmo 00:02:14
Te da los inputs, las entradas, lo que te empieza a pedir, que son los ingredientes 00:02:18
Te da los pasos que tienes que seguir, cómo mezclar y cuándo mezclar los ingredientes 00:02:23
Para hacer un proceso, para hacer un algoritmo, para hacer una serie de instrucciones 00:02:29
Que al final obtendrán la tarta que estabas haciendo 00:02:32
Entonces, la idea es esta, cuando se programa, la idea que estamos haciendo es dialogar, comunicar con el ordenador 00:02:35
Decirle al ordenador, oye mira, estos son los pasos que tienes que hacer para lograr lo que tú quieres 00:02:44
Para poder hablar con el ordenador se necesita un lenguaje que nos permita comunicar con él 00:02:50
No podemos, bueno, no podíamos ahora cada vez más comunicarnos con el ordenador en castellano o con lenguaje natural 00:02:58
Hoy en día, con un chat GPT, inteligencia artificial, o Gemini, o lo que sea, pues ya está yendo la cosa hacia allí. 00:03:08
Tú estás hablando con tu ordenador, diciéndole qué quiere que haga tu programa en lenguaje natural, 00:03:15
él lo interpreta y te saca un código que es capaz luego de ejecutarse en ordenador. 00:03:21
¿Vale? Pero todavía le falta. 00:03:26
¿Vale? Muchas veces el programita sencillo sí que lo hace bien, pero programas más complejos, sistemas más complejos, 00:03:28
Pues eres tú, programador, que tienes que dividir la complejidad del sistema entero en pequeños trocitos más sencillos 00:03:34
Y a ese punto la inteligencia artificial te puede echar una mano 00:03:44
Tú le pides todos los trocitos pequeños, las funciones que quieres que haga, las operaciones que quiere que haga 00:03:47
Y luego tú, como programador, las combinas de tal forma que haga un sistema mucho más cómodo 00:03:52
Entonces, la programación es crear este conjunto de instrucciones 00:03:58
Es transformar el algoritmo que tengo en mi mente 00:04:04
En una serie de instrucciones que el ordenador puede entender 00:04:08
Para que luego él haga la operación en mi lugar 00:04:12
El programa habitualmente se escribe en un lenguaje de programación 00:04:15
También se puede escribir directamente en lenguaje de máquina o en sembrador 00:04:20
Aquí hay varios niveles de abstracción 00:04:24
Yo puedo escribir un programa simplemente dándole ceros y unos 00:04:27
En la antigüedad de la informática, cuando había las tarjetas perforadas 00:04:32
No sé si habéis visto alguna vez alguna película vieja 00:04:38
O habéis visto historias de la informática, cosas por el estilo 00:04:41
Los primeros programas eran hojas con agujeros 00:04:44
Donde un agujero era un cero, no sé si era un cero o un uno 00:04:48
Y no agujero era un uno, o al revés 00:04:52
¿Vale? Da igual 00:04:56
El concepto es que un estado de la hoja era un valor 00:04:57
Y el otro estado era lo otro 00:05:02
Entonces había una figura profesional 00:05:03
Que sustancialmente se hacía de interfaz entre 00:05:07
Programador, que no era un programador, era un matemático probablemente 00:05:11
O alguien por el estilo 00:05:14
Y el ordenador 00:05:15
Y lo que hacía el matemático es que se inventaba una serie de operaciones 00:05:16
Sumas, restas y cosas por el estilo 00:05:20
Se la daba escrita a este operador 00:05:22
Que pillaba una tarjeta 00:05:25
Y empezabas a perforarla en ceros y unos 00:05:27
Para que saliera el programa 00:05:29
Que había pedido el matemático 00:05:31
Y entonces 00:05:32
A ese punto la ponía en un ordenador 00:05:35
El ordenador interpretaba los ceros y unos 00:05:37
Y hacía el programa 00:05:38
Hacia la teoría 00:05:41
Entonces, se puede todavía 00:05:42
Programar en ceros y unos 00:05:44
De hecho, hay ramas de la informática 00:05:46
Muy específicas 00:05:49
Que puede que sigan trabajando en ceros y unos 00:05:50
Para programar los propios 00:05:53
procesador. Vosotros esto no lo haréis. Lo veremos más en detalle más adelante, pero 00:05:55
el lenguaje máquina son estos ceros y unos, cada procesador tiene su lenguaje máquina, 00:06:01
una serie de operaciones que puede ejecutar, que son ceros y unos, con sus datos, y que 00:06:07
un Intel o un AMD tienen, posiblemente, conjuntos distintos de lenguaje máquina. Una primera 00:06:13
La extracción es el ensamblador, ¿vale? 00:06:21
Es un pequeño lenguaje, muy poco potente, entre comillas, 00:06:23
que te permite comunicar con el procesador, no en ceros y unos, 00:06:30
sino con palabras un poquito más humanas. 00:06:35
La suma, en vez de ser una tira de ceros y unos que representa esto es la suma 00:06:40
y luego me dices que sumar, pues se escribe ADD, ADD, añadir. 00:06:46
Aún así, programar ensemblador es un inferno 00:06:51
El ensemblador sigue siendo muy cercano a lo que es el lenguaje máquina 00:06:56
Y por lo tanto a veces dependiente del procesador 00:07:01
Los procesadores a lo mejor no admiten determinadas funciones de ensemblador 00:07:04
Que otra sí admite 00:07:09
Y para hacer programas complejos esto se volvería muy grave 00:07:11
Porque un programita muy sencillo de escríbeme en pantalla hola 00:07:17
Pues en el semblador le sale un programa moral 00:07:21
Si seguimos con 00:07:24
Este nivel de abstracciones 00:07:28
Llegamos a los lenguajes de programaciones 00:07:30
De alto nivel, que son los que vemos nosotros 00:07:32
Como Java, C, C++ 00:07:34
De esta forma 00:07:36
Hablaremos más en detalle con esto 00:07:38
Por ahora, la programación es 00:07:40
Este enzima de instrucciones 00:07:42
¿Cómo le digo las instrucciones? 00:07:44
Pues creando un programa 00:07:45
Y este programa necesita un lenguaje de programación 00:07:47
para poder escribir el programa correctamente. 00:07:49
Programa es un párrafo, es una novela, ¿vale? 00:07:52
Y yo necesito un idioma para poder escribir esta novela. 00:07:55
Este idioma es el lenguaje de programación. 00:07:59
El lenguaje de programación tendrá su sintaxis, 00:08:01
que si yo la escribo mal, pues no se entiende. 00:08:04
Si yo me pongo a hablar en castellano, con palabras castellanas, 00:08:07
pero mezclando frases sin verbos, sin sujeto y cosas así, 00:08:10
pues no nos entendemos. 00:08:14
Cada oración tiene que tener su estructura. 00:08:16
Pues lo mismo cuando hablamos de lenguaje de programación 00:08:18
¿Vale? 00:08:21
¿Un lenguaje de programación qué es? 00:08:22
Es un conjunto de símbolos y palabras 00:08:24
Que el usuario tiene a disposición para elaborar un programa 00:08:26
Cada lenguaje de programación 00:08:28
Tendrá un conjunto de palabras reservadas 00:08:30
Que tú puedes utilizar 00:08:33
Y cuando usas esa palabra allí 00:08:34
Estás diciendo al ordenador 00:08:36
Algo específico 00:08:39
¿Vale? 00:08:41
Para crear un entero, una variable entero 00:08:42
Hasta la palabra reservada int 00:08:44
Cuando yo digo int 00:08:46
A un programa en Java, por ejemplo 00:08:49
Le estoy diciendo algo específico 00:08:51
Le estoy diciendo, mira, aquí estoy creando 00:08:53
Un espacio de memoria donde almacenaré 00:08:55
Un entero 00:08:57
Entonces, los lenguajes 00:08:58
Que tenemos son estos 00:09:04
Ya los he dicho más o menos 00:09:06
El lenguaje máquina es el lenguaje 00:09:07
Que el procesador entiende directamente 00:09:09
Es como comunicar directamente con el lenguaje 00:09:11
Máquina 00:09:13
¿Por qué existe? 00:09:15
Porque técnicamente este lenguaje es el más eficiente posible 00:09:17
Hablar directamente con el procesador 00:09:21
Hace que mi programa sea lo más eficiente posible 00:09:24
Es un infierno 00:09:27
Pero es muy eficiente 00:09:28
No tengo ningún tipo de paso previo 00:09:30
Para que el ordenador funcione 00:09:34
Escribo el programa y luego el programa lo interpreta 00:09:36
¿Vale? 00:09:39
Entonces en términos de eficiencia esto está muy bien 00:09:39
Sí, lo veremos 00:09:41
¿Vale? 00:09:53
Sostancialmente esto sigue existiendo en el sentido de que cuando yo hago alto nivel, 00:09:54
estoy escribiendo palabras que me da la gana, luego tendré que hacer algo, magia, informática, 00:09:59
veremos qué, hay dos opciones, normalmente tres, que me permiten transformar lo que he escrito en alto nivel 00:10:05
a lenguaje mágico, para que el ordenador pueda entender. 00:10:11
El ordenador no puede entender este lenguaje, puede entender solo el lenguaje mágico. 00:10:17
pero yo tengo otros programas 00:10:22
que lo que hacen es traducir 00:10:25
desde el lenguaje que tengo yo 00:10:26
al lenguaje máquina para ese específico 00:10:28
procesador, entonces lo puede ejecutar 00:10:30
el ensemblador 00:10:32
hemos dicho que es un primer paso hacia la extracción 00:10:36
pero sigue siendo muy dependiente 00:10:38
del procesador, lo que usamos 00:10:41
hoy en día para programar siempre todos 00:10:42
son lenguajes de alto nivel 00:10:44
que hay de distintos tipos 00:10:46
hay algunos más alto nivel que otros 00:10:49
Algunos se quedan más cercanos 00:10:51
A lo que es el ensamblador 00:10:53
Y algunos intentan extraer todavía más 00:10:55
Para que sea más fácil para el programador 00:10:57
Al final, escribir 00:10:59
Escribir código 00:11:01
Pero todos son de alto nivel 00:11:02
Tened en cuenta que 00:11:05
Para escribir en pantalla 00:11:08
Hola 00:11:09
Un lenguaje de alto nivel 00:11:10
Hago para hacer un ejemplo 00:11:12
Pone el comando print 00:11:13
Y luego entre paréntesis lo que quieres escribir 00:11:16
Escribes print hola 00:11:19
Ya está, has escrito hola en pantalla 00:11:21
Pero en realidad el procesador esto no lo entiende 00:11:22
En realidad necesitamos de alguien 00:11:25
Que pilla este print hola 00:11:28
Y lo transforma 00:11:29
En lenguaje mágico 00:11:31
¿Sí? De alguna forma 00:11:34
O en ensemblador y que luego haya un intérprete de ensemblador 00:11:35
No lo sé 00:11:37
Pero al fin y al cabo tiene que transformarse en una tira de ceros y unos 00:11:38
Que el procesador pueda entender 00:11:42
Que no será una sola operación 00:11:43
Yo he escrito solo print hola 00:11:45
Pero en realidad serán 00:11:47
20 operaciones 00:11:48
que tiene que hacer el procesador 00:11:50
para pillar los datos que son 00:11:52
H, O, L, A, ponerlos 00:11:54
en una misma zona de memoria 00:11:56
este punto acceder al 00:11:58
monitor, decirle al monitor 00:11:59
oye monitor, quiero que vaya a escribir esta cosa 00:12:02
hablar con el driver del monitor para que 00:12:04
active el monitor para que se escriba esta cosa 00:12:06
y luego se escribirá 00:12:08
hay un mogollón de procesos 00:12:09
detrás, que yo no quiero ver 00:12:12
porque yo soy un programador y por definición 00:12:14
Bueno, soy perezoso y quiero hacer lo menos posible con máximo de, no sé, logro, con máximo de dinero, obtener lo máximo haciendo lo mismo. 00:12:16
¿Vale? ¿Sí? 00:12:27
Pues bueno, programación de alto nivel imperativos, ¿vale? 00:12:29
Entonces, en los lenguajes de alto nivel una instrucción engloba varias instrucciones máquinas. 00:12:34
Lo que es decir, que tengo solo print, pero en realidad por debajo estoy haciendo muchas cosas. 00:12:39
El concepto de abstraer es el concepto de pillar muchas operaciones comunes que se hacen mucho, como por ejemplo escribir en pantalla porque es la forma con que el ordenador comunica el resultado al usuario. 00:12:43
Entonces escribir en pantalla se hace mucho. Pues como esta es una operación que se hace mucho, en vez de tener que escribir cada vez 20 líneas de código ensemblador para decir ahora escribí esto y ahora tengo que escribir otra cosa, otras veces las 20 líneas. 00:13:00
Pues no, voy abstrayendo y me creo una abstracción, una palabra abstracta, una palabra, una función, ¿vale? 00:13:12
Que me dice, cuando uso esta función, él sabrá que tiene que hacer todos los pasos que tiene que hacer, ¿vale? 00:13:20
Y voy abstrayendo, voy haciendo cosas, programas más abstractos, usando palabras más abstractas, 00:13:26
que luego se concretarán en ceros y unos, pero no lo voy a hacer yo, lo va a hacer alguien por mí. 00:13:32
Veremos sobre qué. 00:13:38
¿Se entiende? 00:13:40
Un lenguaje imperativo describe una secuencia de operaciones a realizar para obtener un resultado 00:13:40
Cuando yo estoy con la programación imperativa 00:13:47
Sostancialmente yo le estoy diciendo al ordenador que hace 00:13:51
Hace esto, luego esto, luego esto, luego esto, luego esto 00:13:55
Nosotros trabajaremos con esta principalmente 00:13:59
Luego se cambiará un poquito y veremos algunos matices de estas de aquí 00:14:04
Pero nuestra principal programación es esta de aquí 00:14:08
Luego hay otros tipos de programación 00:14:12
La declarativa y cosas por el estilo 00:14:14
Que en vez enfocan de forma distinta lo que es programar 00:14:15
Aquí yo le estoy diciendo al ordenador 00:14:21
La secuencia de operaciones en la declarativa 00:14:22
Es más bien, filosóficamente hablando 00:14:25
Definir lo que quiero yo al final de mi proceso 00:14:28
y que luego él, en cierto sentido, se busque la vida para encontrar las operaciones para llegar allí. 00:14:35
Hay algunos campos de la informática en los que la programación imperativa funciona relativamente mal 00:14:41
y es mejor otras cosas como la programación lógica, la programación funcional, la programación declarativa, 00:14:50
que hace que los problemas que nos enfrentamos sean más fáciles de resolver con otro tipo de programación. 00:14:57
Lo más común que usamos hoy en día en programación 00:15:03
Es programación imperativa 00:15:07
Voy describiendo las operaciones que tiene que hacer 00:15:10
Dentro de este mundo 00:15:12
Programación alto nivel imperativo 00:15:18
Podemos encontrar varios lenguajes 00:15:20
Que hacen cosas un poquito distintas 00:15:23
Hay los lenguajes no estructurados 00:15:25
Como el BASIC 00:15:28
Aquí estamos en 1995 00:15:29
Que es basado en la línea de código 00:15:32
¿Vale? 00:15:39
O sea, el elemento importante 00:15:40
De los programas escritos en BASIC 00:15:43
Son las líneas de código 00:15:45
De hecho, las líneas de código venían hasta numeradas 00:15:46
Y tienen 00:15:49
El maldito GOTU 00:15:50
¿Vale? 00:15:53
Esto es un comando 00:15:55
Que te permite 00:15:57
Dentro de tu código 00:15:58
de mil líneas 00:16:01
saltar a una línea 00:16:03
concreta que quieres tú 00:16:05
go to línea 7 00:16:07
tú estabas ejecutando 00:16:08
llegas a este comando y saltas 00:16:10
a la línea 7, sea o hace sea 00:16:13
¿vale? 00:16:14
esto es la causa 00:16:16
de por qué muchos de los 00:16:18
proyectos 00:16:21
de primeros años 90 00:16:23
y cosas por el estilo 00:16:25
al crecer se hundieron 00:16:26
porque esta cosa 00:16:28
De poder saltar donde te da la gana 00:16:31
Y con el Goutou 00:16:33
Hacía que el código 00:16:34
Se volviera 00:16:35
Inmantenible 00:16:37
En el sentido que no era fácil 00:16:39
Porque tú tenías un millón de líneas de código 00:16:41
Y de repente tenías salto 00:16:44
A zonas distintas del código 00:16:46
Y cuando tenías que meter las manos allí 00:16:48
Pues o eras el que lo ha escrito todo 00:16:49
Y lo tenías en la cabeza 00:16:52
Y entonces a lo mejor podías salir de allí 00:16:53
Pero si es el que había hecho todo el programa 00:16:55
Se había ido de la empresa 00:16:58
Y ahora otro tenía que meter las manos allí 00:16:59
Era imposible 00:17:01
Lo que causaba que los proyectos se hundieran 00:17:03
Y tuvieran que empezar desde cero 00:17:06
Haciéndolo el mismo proyecto pero desde cero otra vez 00:17:08
¿Vale? 00:17:10
Este problema 00:17:12
¿Vale? 00:17:14
En basarse sobre línea de código 00:17:14
Este malvado 00:17:17
Butú 00:17:20
Llevaron a una evolución 00:17:21
De la informática 00:17:24
Hacia los programas estructurados 00:17:25
¿Vale? 00:17:28
Los programas estructurados en vez de basarse sobre línea de código 00:17:28
Se basan sobre funciones y módulos 00:17:32
O sea, yo empaqueto un conjunto de líneas de código 00:17:35
En un ente, en algo que llamaré función o módulo 00:17:41
Al que luego le doy un nombre 00:17:51
Y cuando quiero ejecutar esas líneas de código 00:17:53
Llamo a esa función ese nombre 00:17:58
en vez de tener que escribir otra vez 00:18:00
esa línea de código 00:18:02
y eso es muy bueno 00:18:03
es muy bueno porque me organiza el código 00:18:05
y es muy bueno porque me permite 00:18:08
reutilizar el código 00:18:10
entonces cuando yo hago 00:18:11
una serie de operaciones 00:18:13
bla bla bla que me escriben en pantalla 00:18:15
el DNI de un usuario 00:18:18
que le he pasado por parámetro 00:18:20
pues todo esto 00:18:22
lo incrusto en la función 00:18:24
lo llamo 00:18:26
imprime usuario 00:18:27
Y ahora cada vez que quiero imprimir un usuario 00:18:30
Tengo la función imprimusuario 00:18:33
Al que le paso un código 00:18:34
Que es el código identificador del usuario 00:18:36
Y él en automático me escribe toda la información de ese usuario 00:18:38
Y si de repente 00:18:40
Esa misma función la quiero usar 00:18:43
En otro proyecto porque los usuarios son los mismos 00:18:44
Pues simplemente me copio 00:18:47
Esa función y ya la tengo 00:18:49
¿Entendéis? 00:18:50
C o Pascal 00:18:57
Son típicos 00:19:00
Ejemplos de programas 00:19:01
que usan 00:19:03
funciones inmóviles 00:19:05
hoy en día 00:19:06
esto no se suele usar 00:19:08
C a veces sale por ahí 00:19:11
o en 00:19:14
proyectos legacy 00:19:15
proyectos que vienen desde 00:19:16
no se sabe cuándo y que nadie se atreve 00:19:18
de destruir porque si no 00:19:21
la empresa se hunde 00:19:23
o si yo estoy buscando 00:19:24
un nivel 00:19:27
de eficiencia 00:19:29
Eficiencia X, un cierto nivel de eficiencia, y quedarme más cercano a la baja, al bajo nivel, ¿vale? 00:19:31
Me da una ventaja con respecto a irme todavía más alto nivel, ¿vale? 00:19:42
Pero es raro, C hoy en día se usa poco, ¿vale? 00:19:48
Lo que se suele utilizar bastante comúnmente hoy en día es la orientación a objetos, que es la evolución de lo estructural. 00:19:52
¿Qué quiere decir eso? 00:19:59
Pues habíamos pillado las funciones 00:20:00
Y habían creado estas funciones 00:20:02
Diciendo, oye, trozos de código 00:20:04
Lo pongo en la función y le doy un nombre 00:20:05
Pues ahora voy a crear objetos 00:20:07
¿Qué son objetos? 00:20:10
Un objeto es la modelización 00:20:12
De un concepto 00:20:14
Dentro de mi programa 00:20:16
Dentro de mi sistema 00:20:18
Yo estoy haciendo una escuela 00:20:19
¿Vale? 00:20:21
Quiero utilizar dentro de la escuela 00:20:23
Los alumnos 00:20:26
Para luego matricularlos en materias 00:20:26
para luego darles notas, para luego mandarle un mensaje, no lo sé, pero tengo el concepto de alumno. 00:20:30
Entonces voy a mirar en mi sistema cuáles son las características principales de este alumno, 00:20:36
su nombre, su apellido, el DNI, el número de identificación de alumno, la dirección donde vive, 00:20:44
las notas que pilla a lo largo del curso, no lo sé. 00:20:50
Lo que a mí me interesa es que sistemas distintos podrían tener una modelización de alumno distinta. 00:20:53
El sistema para secretaría, a lo mejor no le interesan las notas, hago para decir, mientras el sistema para los profesores, las notas sí que le interesan mucho. 00:21:00
Entonces, una vez que yo he creado este objeto y sé sus características, le añado también su comportamiento, lo que puede hacer este objeto. 00:21:12
Por ejemplo, un objeto alumno puede presentarse 00:21:23
Entonces tendrá la función presentarse 00:21:27
Que dirá, hola, me llamo, pilla mi nombre 00:21:30
Mi apellido es, pilla mi apellido 00:21:33
Y tengo de media, pilla todas tus notas, calcula la media y escriba 00:21:36
Y luego tendrá otra función 00:21:40
Como por ejemplo, matricularme asignatura 00:21:44
Que pilla como parámetro una asignatura 00:21:46
Y matricula a este alumno 00:21:49
A esta asignatura 00:21:52
Ahora, todas las características del objeto 00:21:53
Y todas las funciones y comportamientos 00:21:59
De este objeto 00:22:02
Se empaquetan en un objeto 00:22:03
En lo que viene a llamarse un objeto 00:22:06
Antes yo me basaba en las funciones 00:22:07
Entonces si tenía dos funciones 00:22:11
La de matricularse y la de presentarse 00:22:13
Eran dos funciones distintas 00:22:15
Desvincularlas entre ellas 00:22:16
Pues ahora creo una única entidad que engloba las características de esa entidad y lo que puede hacer esa entidad. 00:22:18
Y todo está en un único paquete, en un único objeto. 00:22:28
Pues esto es como se programa hoy en día. 00:22:34
Y es lo que veremos a partir del segundo río. 00:22:38
Antes nosotros trabajaremos 00:22:40
Imperativo estructurado 00:22:45
Que es como la base 00:22:47
Es lo más facilito 00:22:48
No nos meteremos en las cosas avanzadas 00:22:50
De orientación a objetos 00:22:54
Cuando luego sabremos hacer 00:22:55
Pequeñas funciones 00:22:57
Pequeños algoritmos 00:22:59
Pequeños ejercicios 00:23:00
Que hacemos aquí en clase 00:23:02
Dominamos el if, el while, el switch 00:23:03
El for, cosillas por el estilo 00:23:05
A este punto diremos 00:23:08
Ahora hagamos un paso más adelante 00:23:10
Vamos al mundo de los objetos 00:23:12
Y veremos cómo se usan los objetos 00:23:14
Y las potencialidades que tienen 00:23:16
Si os acordáis todos los superpoderes 00:23:18
Del que hablamos ayer 00:23:20
De las cosas avanzadas 00:23:21
Pues todas las cosas avanzadas 00:23:23
Surgen a raíz del concepto de objeto 00:23:24
Cuando yo tengo los objetos 00:23:27
Entonces puedo hacer que un objeto 00:23:29
Herede de otro objeto 00:23:31
Que haya el alumno 00:23:32
Pero un alumno es una persona 00:23:34
Entonces yo puedo crearme 00:23:36
Un objeto persona 00:23:38
Que a lo mejor tiene mucho del alumno 00:23:40
Pero no todo del alumno 00:23:43
Una persona no tiene notas 00:23:45
No tiene materia a la que está matriculado 00:23:46
Pero sí tiene nombre, apellido, DNI 00:23:49
Y a este punto con esta persona 00:23:51
Me puedo crear por un lado el alumno 00:23:53
Añadiéndole que también tiene notas 00:23:55
Y también desde persona me puedo decir 00:23:57
Pero también existe profesor 00:23:59
Que tendrá, será siempre una persona 00:24:01
Pero con características distintas 00:24:04
Y esto se llama herencia 00:24:05
Y un montón de otras cosas así 00:24:07
Que surgen a raíz de esto 00:24:10
¿Qué programas, qué lenguaje de programación 00:24:12
Son orientados a objetos? 00:24:14
Java 00:24:16
C++ 00:24:17
C Sharp 00:24:23
Python 00:24:26
Y muchos otros 00:24:28
Estos son cuatro de los que 00:24:30
Que más son comunes 00:24:33
Y que giran por aquí 00:24:35
por el instituto, ¿vale? 00:24:36
C++ creo que hoy 00:24:38
no lo usa nadie, ¿vale? 00:24:40
En el instituto digo, pero Java, C Sharp 00:24:42
y Python sí que hay asignaturas que se dan 00:24:45
en estas asignaturas. 00:24:47
Aquí creo que principalmente 00:24:49
Java y C Sharp, por ahí. 00:24:50
C Sharp 00:24:53
es el próximo juego. 00:24:54
Y, nota, pues, C Sharp 00:24:56
es C++ 00:24:58
más más, si no lo sabéis. 00:25:01
¿Veis que aquí son cuatro más? 00:25:03
El lenguaje estructurado ya no se usa 00:25:05
Pero se usa 00:25:15
Porque todo lo que hacemos dentro de los objetos 00:25:16
Es lenguaje estructurado 00:25:20
Entonces si no sabes programar estructurado 00:25:21
No sabes programar 00:25:25
No puedes 00:25:26
¿Vale? 00:25:26
Y si sabes programar objetos 00:25:28
Sabes programar estructurado 00:25:30
Entonces hoy en día no se suele trabajar 00:25:31
Teniendo en mente esto 00:25:34
Se suele trabajar teniendo en mente objetos 00:25:36
Lo digo por la practicidad 00:25:39
Incluso a objetos 00:25:48
pero de hecho nosotros programaremos 00:25:50
objetos, nosotros empezamos con Java 00:25:52
no empezó con C, cosa de cuestión 00:25:54
nosotros trabajamos Java, pero 00:25:56
a votar el primer día 00:25:57
todo lo que implica 00:26:00
la orientación a objetos y cosas por el estilo 00:26:01
es muy complejo, entonces nosotros vamos paso por paso 00:26:03
y no es que yo os diré 00:26:06
mira, ahora estáis programando así 00:26:07
estamos programando siempre en Java 00:26:09
y solo que los primeros ejercicios 00:26:11
que tú haces, más que orientados 00:26:14
a objetos, serán 00:26:16
de programación estructurada 00:26:18
Mientras vas aprendiendo 00:26:19
En cuanto sepamos hacer 00:26:21
Una función 00:26:23
En un módulo, porque al fin y al cabo 00:26:24
Un objeto dentro tiene funciones 00:26:27
Los comportamientos 00:26:29
Si no sabes hacer una función, ¿qué haces? 00:26:31
Entonces, en cuanto sepamos hacer 00:26:33
Funciones sin módulos 00:26:35
Pues a este punto diré, vale, ahora los empaquetamos 00:26:36
De esta forma, y de hecho habrá una clase 00:26:39
En que diré, mirad, vosotros estabais ya 00:26:41
Programando en objetos 00:26:43
Desde el principio, porque esto, esto y esto 00:26:44
Y ahora lo vamos a utilizar 00:26:47
De forma más consciente 00:26:49
¿Sí? 00:26:50
¿Más dudas? 00:26:53
Vale 00:26:59
Lenguaje de programación de alto nivel 00:27:00
Declarativos, ¿vale? 00:27:05
Lo que decíamos antes 00:27:06
Entonces existe otro mundo 00:27:07
Que no es el imperativo 00:27:09
Recuerdo que el imperativo es 00:27:13
Haz esto, luego esto, luego esto 00:27:14
Y yo digo al ordenador la secuencia 00:27:16
De programas 00:27:18
De pasos, de instrucciones 00:27:19
Que tiene que hacer 00:27:22
Pues en el mundo declarativo 00:27:23
Se describe el resultado deseado 00:27:25
¿Vale? 00:27:28
No como se logra 00:27:29
Los pasos para llegar a ese resultado 00:27:31
Sino en cierto sentido 00:27:34
Tú das una serie de vínculos 00:27:35
Para decir el programa 00:27:36
Al final me tiene que dar un resultado 00:27:39
Con estas características 00:27:41
De esta forma 00:27:42
Esto es lo que tienes que alcanzar 00:27:43
¿Vale? 00:27:44
Normalmente definido con funciones 00:27:45
Funciones o matemáticas o lógicas 00:27:48
¿Vale? 00:27:51
Entonces 00:27:52
Aquí hay unos cuantos 00:27:53
Lenguajes 00:27:55
Que funcionan más o menos así 00:27:59
Lisp es funcional 00:28:01
Se basa en funciones matemáticas 00:28:03
Prolog 00:28:05
Es lógico 00:28:07
Más bien que funciones matemáticas 00:28:08
Está trabajando con una rama 00:28:12
De la matemática que es la lógica 00:28:13
Entonces hace teoremas 00:28:15
Reglas básicas y a partir de reglas básicas 00:28:17
Va componiendo para crear 00:28:19
cosas más grandes 00:28:21
en vez de programar con 00:28:23
tú le das una serie de axiomas 00:28:25
una serie de reglas básicas 00:28:28
que puede utilizar 00:28:30
y a partir de allí le dices, tienes que llegar aquí 00:28:31
y él intentará 00:28:34
componer estas reglas básicas 00:28:35
para llegar allí 00:28:38
y el que más entenderéis 00:28:39
el que más cercano a vosotros 00:28:42
y lo vais a estudiar, SQL 00:28:43
SQL es 00:28:46
el lenguaje con el que 00:28:48
se hacen las peticiones 00:28:50
a las bases de datos 00:28:52
uno de los dos 00:28:53
entonces si lo pensáis 00:28:55
si alguien ha visto alguna vez 00:28:58
un SQL 00:29:00
cuando vosotros hacéis una query SQL 00:29:01
lo que estáis definiendo es lo que queréis 00:29:04
al final 00:29:06
yo quiero todos los alumnos 00:29:07
que tengan una nota media 00:29:10
mayor que 5 00:29:12
y que vivan en Madrid 00:29:13
la escribes en SQL 00:29:15
lo que estás definiendo no es 00:29:18
Cómo llegar a ese resultado 00:29:19
Tú estás definiendo lo que quieres al final 00:29:21
Un listado de estos alumnos con estas características 00:29:24
Estás definiendo el resultado 00:29:26
Luego, cómo lo saca el programa SU 00:29:28
¿Sí? 00:29:31
En un cierto sentido 00:29:34
De esto no veremos prácticamente nada 00:29:35
¿Vale? 00:29:38
Normalmente en empresas estándar 00:29:40
De toda la vida 00:29:42
Lo que se usa es la inferativa orientada a objeto 00:29:44
Por eso nosotros es lo que vamos a estudiar 00:29:47
En algunos nichos 00:29:49
Más bien de investigación 00:29:52
Que de uso real 00:29:54
Pues salen estos señores de aquí 00:29:55
Yo como anécdota 00:29:58
Cuando estaba en la universidad 00:30:00
En un 00:30:02
En análisis de lenguaje natural 00:30:03
Una cosa de ese estilo 00:30:06
Nos dieron una tarea para hacer 00:30:07
Pues yo me puse a hacerla en Java 00:30:10
Me salió un programa que funcionaba 00:30:11
De, bueno, no sé 00:30:14
Mil líneas de código 00:30:15
Pasaba tres tardes allí trabajando 00:30:16
Y lo hacía junto con otra chica 00:30:19
Que era extranjera 00:30:22
No sé de dónde 00:30:23
Entonces ella miró mi código 00:30:24
Después cuando nos reunimos 00:30:27
Dice, si está bien, funciona 00:30:28
Pero yo creo que en Prologue se hace más fácil 00:30:30
Se puso allí media hora 00:30:32
Sacó un programa de 20 líneas 00:30:34
Y funcionaba igual que el mío 00:30:37
Hacía las mismas cosas 00:30:39
Pero ella había hecho mil líneas de código 00:30:40
Y tardaba tres días 00:30:43
Y ella lo había hecho en 20 minutos 00:30:45
Yo no he aprendido nunca 00:30:46
Prologue Lisp 00:30:49
Pero me ha quedado 00:30:50
A lo mejor debe 00:30:52
Ejemplos 00:30:54
¿Qué es esto? 00:30:57
Esto es 00:30:59
Ensamblador 00:31:08
Lenguaje ensamblador 00:31:09
Todos los programas 00:31:11
Que os voy a enseñar ahora 00:31:14
Hacen exactamente lo mismo 00:31:15
Que es calcular la serie de Fibonacci 00:31:17
¿Sabéis que es la serie de Fibonacci? 00:31:20
Es una serie de números 00:31:22
Donde el siguiente número 00:31:24
Es la suma de los dos anteriores 00:31:27
Y empieza por 1, 1 00:31:29
Entonces 1, 1 00:31:31
El siguiente número es 1 más 1, 2 00:31:33
El siguiente número es 2 más 1, 3 00:31:35
El siguiente número es 3 más 2, 5 00:31:37
El siguiente número es 5 más 3, 8 00:31:39
Etcétera, etcétera 00:31:41
¿Sí? Esa es la serie de Fibonacci 00:31:43
Pues esto es un programa 00:31:45
Escrito de Ensemblador 00:31:47
Que va pillando 00:31:49
los datos que tiene que pillar 00:31:51
los mueve en los registros 00:31:53
porque aquí estamos hablando 00:31:55
al procesador, estamos a un nivel 00:31:56
muy muy bajo, no es 00:31:59
el nivel de ceros y unos 00:32:01
todavía esto ya es una extracción 00:32:02
¿vale? 00:32:05
pero es un nivel muy bajo 00:32:07
tan bajo que vosotros sabéis que 00:32:08
en un ordenador hay distintos tipos de memoria 00:32:11
hay el disco duro 00:32:13
la memoria que cuando apagas y entiendes sigue allí 00:32:14
hay la RAM 00:32:17
mucho más rápida, mucho más cara 00:32:18
pero que no consigue mantener la información 00:32:20
cuando apagáis y encendéis 00:32:23
y luego hay una serie de cachés 00:32:24
cuando compráis un 00:32:27
procesador que viene con cachés 00:32:28
de nivel 3, de 4 00:32:31
megabytes 00:32:33
pues que son 00:32:34
otras memorias siempre más 00:32:37
pequeñas, siempre más rápidas 00:32:39
y siempre más caras 00:32:41
que están cuanto más cerca del procesador 00:32:42
porque en vez 00:32:45
de acceder siempre a la RAM 00:32:47
o al disco duro 00:32:49
Que sería una cosa lenta 00:32:50
Lo que hace el procesador es copiarse un trozo 00:32:51
Grande del programa 00:32:54
Más cerca de él 00:32:56
Y de este trozo otro trocito 00:32:58
Más cerca todavía 00:33:00
Y otro trocito más cerca todavía 00:33:01
Los tres niveles de caché 00:33:03
Y luego las operaciones 00:33:05
Que está haciendo en un momento 00:33:08
Lo hacen memorias muy pequeñitas 00:33:09
Que se llaman registros 00:33:11
Que son lo más rápido 00:33:13
Lo más pequeño porque contienen 00:33:15
32 bits o 64 bits 00:33:17
Y que está 00:33:19
Lo más caros 00:33:22
Son absolutamente lo más caros 00:33:24
Que están dentro del propio chip del procesador 00:33:26
Y por lo tanto se pueden trabajar 00:33:29
Se pueden utilizar muy rápidamente 00:33:30
Si os fijáis 00:33:32
Estos R están por registro 00:33:34
O sea 00:33:36
El ensemblador 00:33:38
Está trabajando con los registros 00:33:41
Del propio procesador 00:33:44
Entonces dependiendo de cuantos registros 00:33:45
que en el procesador, esto puede cambiar 00:33:47
si yo tengo 00:33:49
un procesador con 00:33:51
64 registros y uso 00:33:53
el registro 65, no me va a funcionar 00:33:55
entonces 00:33:57
los programas, estos tipos de programas 00:33:59
dependen del tipo de 00:34:01
procesador que tengáis 00:34:03
y hace todos estos pasos 00:34:04
de aquí, sigue aquí 00:34:07
todo esto es 00:34:08
sustancialmente comentado 00:34:11
para que pueda 00:34:13
calcular el 00:34:15
número n de la 00:34:17
secuencia de Fibonacci 00:34:19
yo digo, calculan el cuarto número 00:34:20
el número 4 de la secuencia de Fibonacci 00:34:23
y calculará que es 00:34:24
1, 1, 2, 3 00:34:26
y me dirás, es el 3 00:34:28
entonces, esto es 00:34:30
semblador 00:34:37
esto es C 00:34:38
aquí ya estamos a alto nivel 00:34:40
¿vale? 00:34:47
hemos dado un salto 00:34:49
no es lenguaje máquina 00:34:50
ceros y unos, no es en semblador 00:34:53
ahora estamos a C 00:34:55
en Java esto no está 00:34:57
esto no está en Java 00:35:04
en Java existe en .auto.println 00:35:06
en .println 00:35:09
lo puedes programar tú 00:35:10
o que alguien lo haya programado 00:35:14
pero en el Java oficial 00:35:15
esto no está 00:35:17
que luego la gente lo programa 00:35:18
pero lo puedes hacer tú 00:35:19
y scanf 00:35:21
se puede 00:35:25
pero por ejemplo hay características de esto 00:35:33
que Java no tiene. 00:35:36
Ahora hablaremos de eso. 00:35:37
No es Java, era Ensemblado. 00:35:40
Son lenguajes distintos. 00:35:48
Es un lenguaje casi 00:35:50
lo más bajo nivel que puede. 00:35:52
Es lo mismo. 00:35:55
Es buscar el elemento 00:35:56
N de la serie Fibonacci. 00:35:58
Ensemblado. 00:36:02
Se llama Ensemblado. 00:36:03
Ensembler. 00:36:07
Lenguaje marca no es un lenguaje 00:36:17
de programación. 00:36:18
¿Es un lenguaje único o hay...? 00:36:19
El ensemblador es que es dependiente del procesador. 00:36:21
Entonces, la idea es común, pero hay funciones en el ensemblador 00:36:27
que algunos procesadores pueden ejecutar y que algunos otros no. 00:36:30
Entonces, si tú quieres programar en eso, deberías irte a ver qué procesador tienes 00:36:37
y qué tipo de ensemblador tienes y cuáles son los comandos admitidos en ese ensemblador. 00:36:42
¿Por qué no se enseña directamente C y luego Java? 00:36:47
Primero porque C no es orientado a objetos 00:36:56
Y nosotros queremos aprender los orientados a objetos 00:36:58
¿Vale? 00:37:01
Y segundo, C tiene un problema muy serio 00:37:01
Que tiene también C++, por ejemplo 00:37:05
Que es que la memoria que utiliza tu programa 00:37:08
La tienes que gestionar tú 00:37:12
¿Vale? 00:37:13
Cuando tú creas una variable, cuando tú creas un array 00:37:15
Cuando tú creas algo que almacene algo 00:37:18
Tú tienes que decirle al programa 00:37:21
Aloca una cierta cantidad de memoria 00:37:23
Para que yo pueda escribir aquí 00:37:26
Y cuando no la usas más 00:37:28
La tienes que deshacer 00:37:31
Y eso es un infierno 00:37:32
Un paso antes 00:37:34
Antes de poder decir que este lado de este cuadrado vale 3 00:37:44
Tengo que decirle 00:37:48
Oye, sistema, reserva un trozo de RAM 00:37:50
4 bytes de RAM 00:37:53
porque aquí dentro 00:37:55
yo voy a escribir el número 3 00:37:57
que luego me representará el lado del triángulo 00:37:59
cada valor que tú creas 00:38:02
entonces esto es una cosa que se hacía 00:38:07
yo he programado en C 00:38:10
en la universidad 00:38:12
y todavía por la noche me despierto 00:38:15
sudando 00:38:17
a la frase 00:38:18
segmentation fault 00:38:21
porque cuando te equivocas 00:38:23
En C lo que te dice es 00:38:25
Segmentation for 00:38:27
No te dice dónde te has equivocado 00:38:28
Te dice segmentation for 00:38:30
Y tú a buscar en las 2000 líneas de código 00:38:33
Dónde no has alocado bien la memoria 00:38:36
Donde habías dicho 00:38:39
Reservo 4 bytes 00:38:40
Pero lo has escrito 5 00:38:41
Al máximo 00:38:43
Si te hubiésemos tocado algo 00:38:52
No en esta asignatura 00:38:55
O C++ 00:38:56
Que es orientada a objetos 00:38:57
O C sharp 00:38:59
Que es la evolución 00:39:00
Y de hecho C Sharp tiene una sintaxis prácticamente idéntica a Java 00:39:01
Hay muchísimas cosas de C Sharp que son iguales a Java 00:39:09
Próximo año, en segundo, veréis otros lenguajes de programación 00:39:13
O de lenguaje de marcas o lenguaje de scripting 00:39:16
Pero más o menos vamos por allí, no son exactamente equivalentes 00:39:19
Pero por allí, como PHP, como JavaScript, lo de este año 00:39:23
No sé si en segundo creo que también 00:39:27
Se sharpa algo 00:39:30
Toda forma, tened en cuenta que 00:39:31
Ya que estamos, os lo digo 00:39:36
El lenguaje que 00:39:37
Que le dais 00:39:40
No cuenta de nada 00:39:41
En el sentido que 00:39:43
El lenguaje que vais a utilizar 00:39:44
Es Turing equivalente 00:39:47
Es decir, todos los lenguajes 00:39:50
Pueden llegar a hacer 00:39:53
Lo mismo 00:39:54
Entonces utilizar Java o utilizar C Sharp 00:39:55
No es que te da una ventaja con respecto al otro 00:39:58
Lo que tenéis que entender 00:39:59
Es la filosofía que está por debajo 00:40:01
Lo que se puede hacer 00:40:03
Y hacer un algoritmo 00:40:05
Y luego plasmarlo en un programa 00:40:07
Esa es la parte 00:40:09
Un poco importante 00:40:11
Luego la sintaxis, el cómo se escriben las cosas 00:40:12
Las palabras que podéis utilizar 00:40:15
Si tenéis que utilizar printf 00:40:17
O println 00:40:19
Si tenéis que utilizar scanf 00:40:21
O readint o nextint 00:40:22
O cosas por el estilo 00:40:25
Esa es una cosa que se aprende en dos semanas de trabajo 00:40:26
Cambiar de un lenguaje a otro 00:40:28
No es tremendo 00:40:31
Lo que es difícil es programar 00:40:32
Si sabes programar en Java 00:40:34
Puedes tardar un mes 00:40:36
Y luego sabrás tardar también en C++ 00:40:37
O en C Sharp 00:40:40
Con algunas pequeñeces 00:40:41
Como esta de la gestión de memoria 00:40:44
En C++ 00:40:47
Si se necesita 00:40:48
T, C++, se necesita gestionar 00:40:49
La memoria uno mismo 00:40:52
Mientras en Java, por ejemplo 00:40:53
Y en C Sharp 00:40:55
Pues la memoria ya 00:40:57
Alguien más la gestiona 00:40:59
Entonces yo simplemente le digo, quiero escribir un entero 00:41:01
Y luego alguien 00:41:04
Mágicamente me reserva el espacio justo para un entero 00:41:05
¿Por qué vemos Java 00:41:08
En vez de C++? 00:41:09
Porque es más fácil 00:41:11
Me centro en la programación 00:41:12
De algoritmo 00:41:15
Sin tener que 00:41:17
pelearme con 00:41:19
la parte de 00:41:21
memoria, etc. ¿Y por qué entonces 00:41:22
sigue existiendo C++? 00:41:25
Porque si yo 00:41:27
tengo control directo sobre la 00:41:29
memoria, puedo hacer 00:41:31
programas más eficientes. 00:41:32
Si yo delego la gestión 00:41:36
de la memoria a alguien más, no sé 00:41:39
qué está haciendo con la memoria. 00:41:41
Y como no sé qué está haciendo con la memoria, puedo asumir 00:41:42
que a veces gaste más memoria 00:41:45
de la que debería. 00:41:47
Sin embargo, si soy yo que gestiono la memoria directamente 00:41:48
Sé que si gestiono más memoria de lo que debería 00:41:52
Es un error mío 00:41:55
Y que lo puedo modificar 00:41:56
Entonces, en programas como por ejemplo juegos 00:41:57
El C++ sigue siendo bastante utilizado 00:42:02
Porque me permite trabajar con la memoria 00:42:09
Me permite hacer más eficiente 00:42:11
Y que funcione el mismo programa, el mismo juego 00:42:13
En ordenadores también con menos capacidades 00:42:16
Y por lo tanto 00:42:19
Puedo venderlo 00:42:20
Como los juegos tienen que ser 00:42:21
Muy optimizados para funcionar muy bien 00:42:24
Pues el tema es más 00:42:26
Puede ser un programa 00:42:28
Un level de programación que se utiliza 00:42:29
¿Sí? 00:42:31
Hacer un juego en Java 00:42:33
Se puede, hacen lo mismo 00:42:35
Pero normalmente es menos eficiente 00:42:38
¿Vale? 00:42:40
Luego depende también, o sea, a nivel que programamos nosotros 00:42:41
Nosotros de eficiente hacemos poco o nada 00:42:44
Nosotros ya tendremos suficientes problemas 00:42:45
Para hacer que funcione el programa 00:42:48
Ahora luego hazlo eficiente 00:42:50
Eficiente dentro de 6 años 00:42:52
Cuando estáis en la empresa 00:42:54
Por pasos 00:42:55
Entonces, esto es C 00:42:59
Fijaos que ahora hay 00:43:02
Funciones, ¿vale? 00:43:04
Esta función de aquí, printf 00:43:06
Que pilla una 00:43:08
Texto 00:43:09
Lo que hace es escribir en pantalla 00:43:12
¿Vale? A lo mejor 00:43:13
Escribir en pantalla 00:43:15
En otros lenguajes 00:43:17
Más de bajo nivel 00:43:19
Requiere varias operaciones 00:43:21
Aquí yo, el C 00:43:23
Me proporciona el mismo 00:43:24
Una función creada por los 00:43:26
Creadores de C, por los desarrolladores de C 00:43:29
Que cuando yo la llamo, lo que hará es 00:43:31
Escribirme esto en pantalla, ya está 00:43:33
A alto nivel, he abstraído 00:43:35
¿Y cómo se hace? ¿Y qué monitor tengo? 00:43:36
¿Y cómo es el driver que escribe esta cosa? 00:43:39
No me interesa 00:43:41
¿Vale? 00:43:42
No me interesa 00:43:47
Lo que me interesa es que el programa lo hará 00:43:48
Pregúntalo a los conserjes 00:43:54
Otra función, scanf 00:44:05
Scanf es una función que pilla dos parámetros 00:44:14
Autor/es:
Stefano Chiesa
Subido por:
Stefano C.
Licencia:
Reconocimiento - No comercial
Visualizaciones:
55
Fecha:
17 de septiembre de 2024 - 11:21
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
44′ 19″
Relación de aspecto:
16:10 El estándar usado por los portátiles de 15,4" y algunos otros, es ancho como el 16:9.
Resolución:
1152x720 píxeles
Tamaño:
101.32 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid