1 00:00:00,000 --> 00:00:29,900 Vale, pues que se ponía ahí, ahí se ponía el tipo del dato que devolvíamos como retorno, en este caso como va a devolver 1, 2, 3, que son números, pues va a devolver un número, pues pongo int, y ahora aquí me hago ya mi código, ¿qué código es el que tengo que hacer?, pues todo este, cambiando j por n, claro, todo ese, lo que pasa es que ahora no es sí el dato, sino es él, ¿verdad?, este código es el que dado un numerito en, 2 00:00:30,000 --> 00:00:54,900 te hace toda la suma, 0 más 1 más 2 hasta n, y esa suma le falta devolverla luego, pues ala, fuera, return suma, ala, ya tenemos una función que recibe un número entero, te hace toda la suma de 0 más 1 más 2, así hasta n, y luego te la devuelve, 3 00:00:54,900 --> 00:01:14,900 y esa función ya se llama desde donde uno quiera, cada vez que necesite hacer eso, por ejemplo, vamos a hacerlo anterior llamando a la función, 4 00:01:25,900 --> 00:01:44,900 lo anterior llamando a la función, pues bueno, el número ya lo damos por leído, vamos a cambiar todo esto, todo este mismo código que hemos hecho antes, todo este mismo código, salvo leer el número que ya está leído, todo este mismo código lo vamos a volver a hacer, 5 00:01:44,900 --> 00:02:07,900 todo este mismo pero llevando la función, vale, es triangular, lo volvemos a poner a falso, no lo declaro de nuevo porque ya está declarado aquí arriba, entonces no puedo volverlo a declarar, vale, se queda falso, y ahora para cada i tenemos que hacer, para cada i tenemos que hacer la suma 1 más 2 más 3 más i, y tenemos una función que lo hace, esa función se llama suma inferiores, 6 00:02:08,900 --> 00:02:34,900 vale, pues como esa función se llama suma inferiores, yo la llamo, que dato es con el que quiero que trabaje, con el i, porque yo quiero que haga la suma de 1 más 2 más 3 más i, con el i quiero que trabaje, pues planto ahí el i, quiero que trabaje con ese, y ahora lo que me devuelve, que es la suma, tendré que guardarla en algún sitio, si no se va a la basura, vale, y ahora ya, 7 00:02:34,900 --> 00:03:01,900 vale, pues esto de arriba es lo mismo que esto, pero haciéndolo llamando una función, llama a esta función, que coge un numerito entero, lo coge, y tal y como está programada abajo, ese numerito, pues te hace ya esta suma, y te la devuelve como valor de retorno, tu la guardas en suma, ahí se queda guardada, y ahora ya, si esa suma es igual a 1, pues es triangular, 8 00:03:05,900 --> 00:03:06,900 vale, 9 00:03:06,900 --> 00:03:35,900 la función debería ser, donde, aquí, no, tu aquí le das el nombre que te de la gana, porque esto es independiente de como la llamas luego, esta es una función que va por libre, que te dice, tu dame un entero, el que te de la gana, y yo con ese entero, al que yo le voy a dar de nombre n, hago todo esto de aquí, vale, la función aquí pone lo que quiera, porque con eso se refiere, lo que tu me des, yo lo voy a llamar, 10 00:03:36,900 --> 00:04:05,900 n, y voy a hacer con eso esto de aquí, y luego tu ya le des el número entero que quieras, como si llamáramos a suma inferiores de 9, también vale, porque yo le estoy dando el número entero, que es 9, entonces 9 de repente, empieza a cobrar el papel de n, entonces lo que tu le des aquí, lo que tu le des aquí, sustituye a este n de aquí, 9, 7, i, lo que tu quieras, vale, entonces primero se hace la función, que la función es independiente del código que la llama, 11 00:04:06,900 --> 00:04:35,900 que es independiente, que puede hacer un programador, lo tiene que ver, y te dice, oye, a mi dame estos datos, a los que yo llamo así, porque me da la gana, llame estos datos, yo hago todo esto y te voy a devolver esto, y luego ya cada uno llama esa función como quiera y donde quiera, pasándole ya los datos que quiera, yo en particular aquí me ha interesado llamar a esta función pasándole i, vale, pero que yo quiera hacer la suma de los inferiores a mil, pues le paso mil, le paso lo que yo quiera, 12 00:04:35,900 --> 00:05:01,900 y eso que yo le paso hace el papel de n a la hora de ejecutar este código, ese es un n genérico, cualquier dato que tu le pases, cualquier dato que tu le pases, significa soy el dato genérico, 13 00:05:01,900 --> 00:05:25,900 vale, entonces luego te miro a ti el código, prefiero no ponerlo ahí porque vamos a liar las cosas, luego te lo miro a ti, vale, pues vamos a, en lugar de seguir con esto de aquí, que esto no me interesará especialmente, os voy a ir poniendo enunciados que vais haciendo ahora sobre la marcha y vamos corrigiendo, 14 00:05:25,900 --> 00:05:45,900 por ejemplo, vamos a hacer ahora un ejercicio, lo voy a poner aquí en mi proyecto como ejercicio adicional 1, vale, bueno pues este ejercicio, vamos a ver, enunciado un poco raro, vale, pero a ver, 15 00:05:55,900 --> 00:06:21,900 de forma repetida, 1 cadena o número, 1 cadena o número, un número, un número, entonces esta todo el rato, introduzca cadena, introduzca número, otra vez, introduzca cadena, introduzca número, otra vez, produzca cadena, produzca número, vale, 16 00:06:21,900 --> 00:06:37,900 así hasta cuando, así la condición de finalización va a ser, cuando la longitud de la cadena coincida con el número que se ha introducido en ese momento, es decir, si se introduce hola y 4, ya no se hacen más solicitudes, vale, 17 00:06:37,900 --> 00:07:06,900 entonces lo pongo aquí, se terminará de pedir datos cuando la cadena tenga como longitud, recordad que la longitud de una cadena se saca con el len, el número introducido junto con la cadena, 18 00:07:07,900 --> 00:07:33,900 recordad que cada iteración se pide cadena, número, cadena, número, cadena, número en cada iteración, vale, entonces el programa hace eso, introduzca cadena, número, cuando has introducido una cadena cuyo tamaño es igual al número que te han dado, ya no te lo pide más, vale y que va hacer a continuación el programa, pues que va hacer a continuación, pues a continuación va a mostrar, 19 00:07:33,900 --> 00:07:47,900 mostrará, 20 00:08:04,900 --> 00:08:27,900 bueno vamos por, mostrará concatenación de las cadenas y la suma de los números, vale, entonces cuando el programa termine de pedir mostrará la suma de los números introducidos es tal, 21 00:08:27,900 --> 00:08:54,900 y la concatenación de las cadenas es tal, vale, que quiero que veáis con esto de la concatenación, vale, lo pongo aquí para que ahora lo programéis, 22 00:08:54,900 --> 00:09:14,900 a continuación mostrará dos resultados, uno, la suma de los números, eso es fácil, y dos, la concatenación de las cadenas, que es lo que vamos a aclarar aquí, para que no os perdáis programando. 23 00:09:24,900 --> 00:09:49,900 Vale, a ver, que es esto de concatenar cadenas, todos sabemos lo que es concatenar cadenas, si tenemos una cadena S1, imaginaos que S1 tiene esto, y tenemos una cadena S2, 24 00:09:49,900 --> 00:10:13,900 vale, un string S2, que tiene esto, por ejemplo, todos recordáis, verdad, que el operador más, el operador más, cuando trabaja con alguno de los operadores como cadena, cuando alguno de los dos operadores del operador más es una cadena, 25 00:10:13,900 --> 00:10:31,900 automáticamente lo que hace es concatenar, vale, entonces si uno hace S1 más S2, el resultado es la concatenación de hola y adiós, y es una cadena también, lo podríamos guardar en otro string, verdad, vale, 26 00:10:31,900 --> 00:11:00,900 luego acordaos, el operador más es la suma aritmética cuando trabaja con números, decimales o enteros, pero cuando trabaja con operadores que son cadenas, entonces es concatenación, y el resultado es otra cadena, vale, luego la concatenación de cadenas es otra cadena y va a otra cadena, vale, pues igual que hay una suma acumulativa de números, también nos podemos plantear una concatenación acumulativa, 27 00:11:00,900 --> 00:11:29,900 por ejemplo, vamos a imaginarnos que S1 tiene ahora mismo, pues yo qué sé, la cadena H, entonces si ahora yo me hago un bucle y me hago otra cadena, me hago otra cadena, la vamos a llamar concat, por ejemplo, que empieza siendo el vacío, empieza siendo esto, el vacío, nada, una cadena que no tiene nada, una cadena sin caracteres, 28 00:11:29,900 --> 00:11:58,900 una cadena con led 0, esta sería una cadena con led 0, porque son dos comillas juntitas, es un objeto que existe, es una variable, existe perfectamente, un string concat existe, pero lo que contiene es una cadena sin caracteres, vacía, vale, pues imaginaos que ahora hago yo este bucle de aquí, un bucle, por ejemplo, que se ejecuta 7 veces, verdad, este bucle se ejecuta 7 veces, 29 00:11:59,900 --> 00:12:24,900 para igual a 0, 1, 2, 3, hasta 6, este es un bucle for que se ejecuta 7 veces, vale, y ahora yo hago concat más igual S1, esta es la suma acumulativa de toda la vida, sobre la variable concat voy sumándole, a lo mejor se ve más claro si en lugar de ponerlo con este operador lo pongo así, 30 00:12:25,900 --> 00:12:46,900 concat más S1, vale, esto es como una suma acumulativa, es exactamente igual, que va acumulando, sumando a una variable inicial, los va acumulando, lo que tenía de antes le meto uno más, ya, lo que tenía de antes le meto uno más, es la suma acumulativa de siempre, 31 00:12:47,900 --> 00:13:07,900 pero lo que le estoy metiendo a esa suma acumulativa no es un número, sino que es una cadena, vale, no pasa nada, que es lo que hace la suma de cadenas, concatena, pone detrás, pone detrás, pone detrás, conclusión, cuando este bucle for termine, que va a haber en esta cadena conca, que va a haber, que me lo dice alguien, 32 00:13:07,900 --> 00:13:36,900 esto está concatenando, parte del vacío, y cada vez concatena S1, que va a tener, sí, decirlo sin miedo, cuántas haches, vale, vale, es decir, es igual que una suma acumulativa, pero en vez de ir sumando los números, 33 00:13:37,900 --> 00:14:06,900 vamos concatenando lo que le pasemos aquí, lo vamos concatenando, entonces, concatenar cadenas, unas sobre otras, unas detrás de otras, se hace igual que una suma acumulativa, es igual, lo que pasa es que esta suma, en lugar de sumar, lo que hace es, a lo que había de antes, le meto esta cadena otra vez, entonces, la primera, a lo que había de antes que era nada, le concatena esto, ahora, en la siguiente iteración del bucle, a lo que había de antes que era esto, le concateno con H otra vez, 34 00:14:06,900 --> 00:14:35,900 ya tengo dos, la siguiente iteración del bucle, a lo que había de antes que era esto, le concateno con otro, ya tengo tres, siguiente iteración del bucle, a lo que había de antes que era esto, le concateno otra vez S1, ya tengo cuatro, y así hasta las siete, vale, entonces, muchas operaciones de las que hay que hacer a veces, implican concatenar cadenas, pues la concatenación se hace con el operador más, 35 00:14:35,900 --> 00:15:04,900 y si se hace de forma acumulativa, es como una suma acumulativa, igual, yo voy concatenando detrás, detrás, detrás, hasta que el bucle termine, y voy concatenando las cadenas que yo quiera, S1 podría ir cambiando, a lo mejor S1, aquí le voy dando un valor que voy leyendo del teclado, a lo mejor, imaginaos que aquí yo hago scan.nextline, si yo aquí hago un scan.nextline, lo que voy concatenando en concat, no es H esta vez, sino es las cadenas que yo voy metiendo, 36 00:15:05,900 --> 00:15:25,900 entonces, si aquí en este bucle se va metiendo, hola, adiós, pepito, pues lo que va concatenando será, hola, adiós, pepito, una tras otra, concatenando, vale, bueno, pues entonces, con esto, ahora ya sí, hacéis ese ejercicio. 37 00:15:35,900 --> 00:16:04,900 Vale, que no has entendido, perdona, como, como, pues aquí, esas cadenas tú las irás cambiando, es lo que hemos agregado aquí, 38 00:16:05,900 --> 00:16:29,900 este S1, tú le vas dando el valor que te vaya interesando según tu programa, aquí, por ejemplo, aquí, por ejemplo, he hecho esta modificación, claro, S1 va tomando el valor que tú quieras, vale, vale, pues venga, hace de este.