SS_Logo

Usemos Maple para la creación de estructuras matemáticas

Autor: William Alfredo Fajardo Cárdenas / Portafolio: Scientific / Vie. 27 de Ene de 2023

Transcripción de este video

00:00:41:05 Somos un equipo autogestionado, responsable, proactivo y autónomo, con gran compromiso social, aportando el pensamiento científico y el desarrollo latinoamericano, promoviendo el uso de software para investigación en todas las áreas del conocimiento. Generamos contenido de alta calidad teniendo en cuenta las distintas necesidades del mercado. Realizamos actividades gratuitas constantemente. Abordamos temáticas vigentes, aplicaciones especializadas y elementos metodológicos que te permiten interactuar y generar redes para la difusión de tus proyectos.

00:01:07:26 Contamos con servicio de asesoría, consultoría y acompañamiento personalizado. Certifica ciones internacionales, entrenamientos especializados y talleres prácticos. Nuestro principal objetivo es promover el uso de tecnología en el campo investigativo, generando un impacto significativo en la región y de esta forma contribuir a la creación de comunidad para compartir conocimiento.

00:01:39:24 Te invitamos a ser parte de este gran equipo Software Shop. Visita nuestra página web y conoce nuestros servicios Shopper Shop, la empresa líder en la implementación de herramientas analíticas y software especializado en Latinoamérica, les da la bienvenida a esta presentación. El día de hoy contamos con el acompañamiento del instructor William Fajardo, matemático de la Universidad Nacional de Colombia, con maestría y doctorado en esa misma institución.

00:02:10:02 Cuenta con extensa experiencia de docencia en educación superior, en cursos de matemáticas para Ingeniería y Matemática Pura, entre otros, además de una amplia formación e investigación en matemáticas puras y aplicadas. Bienvenidos. Buenos días para ustedes. Un gusto saludarles. Pero bueno, entonces la idea de hoy es como decía mi abuelita, es hablar un poquito acerca de cómo crear estructuras matemáticas con maple.

00:02:37:17 Bien, la charla va a estar seccionada de la siguiente manera. Primero vamos a hacer una introducción. Vamos a ver un poquito esto de las estructuras. Y a groso modo que cuáles son los elementos fundamentales de la charla. Luego vamos a hablar, digamos, de los elementos fundamentales para crear estructuras dentro de Maipú. A continuación daremos entonces algunos ejemplos y presentaré alguna cosita de código.



00:03:09:05 Más bien digamos que los códigos que tengo aquí no son tan extensos, entonces se puede hacer un poco más conciso con las explicación. Y finalmente vamos a darnos unas conclusiones y esperaremos pues las preguntas que que surgen. Bueno, vamos a empezar entonces. Bueno, voy a voy a cerrar un poco el video y nos vamos a concentrar mejor digamos en la parte del de la presentación como tal.

00:03:41:27 Entonces me excusan ahorita y ahorita abrimos el video final cuando preguntes. Bueno, entonces bueno, me impor. Como tal es un conjunto de herramientas con un potencial muy interesante, tiene un motor muy potente, una herramienta muy eficiente en rapidez, eh, la interfaz gráfica y como hecho fundamental aquí dentro de lo que les quiero comentar, la clave que me parece muy chévere es la parte de programar.

00:04:12:21 Entonces resulta que hace un tiempo venía trabajando yo en una librería que que diseñé y eso me hizo conectarlo con la parte de programación y en especial con un concepto dentro de mi iPad, que es el concepto de módulo. Entonces no es el módulo que aparece en álgebra, sino es un concepto propio de Maicol. Entonces la idea es empezar a trabajar un poquito, digamos, e Industriales, ese concepto de módulo.

00:04:44:00 De pronto van a ver muchas cosas que no se me van a decir aquí, pero hay mucha documentación. Entonces la idea es por lo menos que ustedes cómo se introduzcan al concepto y miren, digamos todo el potencial que puede que puede dar ese elemento. Bueno, entonces en esta parte de la introducción, eh, yo quise de una vez como incluir unos elementos básicos de charlas anteriores, hablé de algunos de ellos, pero realmente no, no es posible.

00:05:11:04 Digamos, como no, no tomarlos en cuenta. Bueno, entonces dentro de médicos, cuando uno por ejemplo, abre una hoja de trabajo M y pone eso, es lo primero que aparece. Son un conjunto, un conjunto de elementos listo. Y esos elementos pertenecen a lo que se llama la librería. La librería principal de MIT. Entonces ahí hay un conjunto de elementos, por ejemplo, funciones que están predefinidas y constantes particulares. -----------------------

00:05:41:03 Entonces vamos a leer un poquito acerca de eso. Entonces, miren, aquí tenemos una sección de código listo. Vamos a indicar rápidamente algunos de esos comandos que aparecen allí. Restart, por ejemplo, es un comando que está dentro de la librería principal y lo que hace Restart simplemente es borrar la memoria que de de datos que gané en esa hoja de trabajo colocamos dos punto y coma para simplemente cerrar esa, esa, esa declaración.

00:06:05:08 Ahora por ejemplo, colocamos coseno entre paréntesis y medios. Listo, Aquí se computa cómo entonces lo que estamos es simplemente terminando la declaración hacia otra declaración. Por ejemplo, span es una función que lo que hace es expandir. En este caso es un producto de polinomios. Cerramos con punto y coma. Otra declaración, por ejemplo, aquí viene lo que aparece en esa línea.

00:06:36:01 Aquí tenemos entre llaves es, digamos, estas colecciones de números. Aquí es como colocamos entre llaves lo que tenemos son conjuntos M y por eso son conjuntos. Entonces lo que estamos haciendo aquí es una intersección. Listo. Cerramos la declaración. Y aquí, por ejemplo, otra que parece aquí UP es una función que está dentro de la librería principal de Maipú y entonces OP está aplicándose sobre este elemento que está aquí.

00:06:57:05 Esto es lo que vamos a entender como una lista cuando colocamos entre corchetes esos elementos. Eso es lo que vamos a entender como una lista. Bien, en este caso, la función qué es lo que va a hacer? Simplemente va a escribir esos elementos sin los corchetes. Entonces, bien, vamos a darle entera de toda esa sección que está que está sombreada en azul.

00:07:23:14 Entonces, en efecto, el cero de acá es el resultado del coseno, la expansión del polinomio. Este resultado sería la intersección, el conjunto intersección de las dos que tomamos acá, y estos que aparecen aquí es simplemente lo que les había comentado de aplicar la función pop. Listo. Entonces hay muchos elementos en Maybe que están predefinidos en esa librería principal.

00:07:53:04 Dentro del transcurso de lo que vayamos a contar. Entonces les indicaré algunos de esos elementos con los que nos topemos. Bueno, otro elemento importante es el concepto de paquetes. Entonces mi rol como tal en general, digamos que tiene una colección de librerías que están conformadas por paquetes. Entonces los paquetes que son son un conjunto de funciones que tienen también tienen elementos particulares.

00:08:24:17 Los paquetes, por ejemplo, como constantes que se utilizan en esos paquetes. Los paquetes están diseñados para trabajar en disciplinas muy particulares álgebra lineal, cálculo, optimización, ecuaciones diferenciales, geometría, física, estadística. Bien, entonces ellos tienen nombres bien particulares. Entonces uno lo que hace es cargar un paquete. Por ejemplo, el paquete Phillips es un paquete que parecen maple. Entonces, lo que uno le da la instrucción width dentro de paréntesis, coloca el nombre del paquete. (IMPORTANTE

00:08:52:10 Le damos enter allí y entonces nos aparece esto así una lista con los elementos que se cargaron del paquete, aparecen funciones, aparecen por ejemplo operaciones aquí particulares que se pueden utilizar dentro del paquete físico. Listo. Entonces así uno puede hacer para los demás paquetes. Bueno, otro elemento fundamental aquí en Maipú es lo que vamos a entender como tipos de expresiones.

00:09:22:00 Entonces los tipos de expresiones como su nombre lo dice, son tipos de elementos que aparecen en Maipú. Maipú contiene muchos tipos y esto más de 200. Aquí simplemente coloco estos por decir algunos Integer float match set leads entre comillas. Colocamos el producto para indicar producto boolean constante procedimiento Módulo listo. Bien, entonces hay muchos tipos de elementos de Maipú.

00:09:47:19 Bien, aquí voy a nombrar dos. Dos funciones es bien importantes con ese tipo de situación de de los de los tipos Watt tipo listo es una función que está en la may librería y entonces se la ejecutamos a una lista de 50. Entonces va a decir vamos a ejecutarla YYY Entonces va a decir qué tipo de elemento es el que yo estoy evaluando aquí.

00:10:19:23 Entonces nos dice que es una lista, por ejemplo, para el otro elemento que tenemos acá va tipo de 2.3555. Eso es un número de punto flotante. Bueno, nos está indicando qué tipo de elemento es tipo este. Esta función type lo que está haciendo es lo siguiente estoy haciendo estas. Por ejemplo, cuando la hablamos aquí en cuatro, simplemente me está indicando si cuatro es de tipo entero, pues colocamos el nombre tipo entre comillas para indicar un nombre listo.

00:10:41:08 En este caso nos está diciendo que es true, que es verdad. Para que esté acá nos está indicando si lo que está en entre comillas dobles, eso es lo que va a referenciar un string, o sea, una cadena de caracteres. Si es en efecto un string. Aquí por ejemplo, si es un conjunto o aquí por ejemplo, si cuatro es un no aquí, fíjese que aquí sí nos aparece que es falso.

00:11:14:03 Listo. Bueno, entonces esos dos métodos o no interesantes dentro de esa noción de lo que se entiende como tipos de expresiones en macro. Bueno, otro elemento fundamental es lo que entendemos como procedimiento o función. Listo. En el anterior ya había hablado algo de esto con un poquito más de desglose. Aquí simplemente lo voy a tocar y porque sí lo necesitamos en todo caso, entonces en mi por uno puede funciones, pues como es natural.

00:11:40:08 Entonces por ejemplo, vamos a colocar aquí Font uno va a simplemente ser un nombre. Cuando colocamos dos puntos igual esto es una asignación, entonces a fin uno le estamos asignando lo que está a la derecha de lo que está a la derecha. Es una forma de definir una función, una función bien sencilla. La función que a una variable x le hace corresponder el seno de X al cuadrado listo.

00:12:06:19 Entonces vamos a ejecutar allí. Y dicen que aquí ya está ejecutada la función. Sea fun uno. Estamos asignando la función y aquí simplemente lo que vamos es a evaluar, como para chequear, en efecto, que lo que está haciendo es lo que está en la definición de ella misma. Listo? Bien, así no puede venir. Funciones sencillas. Resulta que es interesante poder definir funciones más más complejas.

00:12:34:13 Bien, pues para ello utilizamos los parámetros proc. Listo es esta declaración que aparece acá. Es la semántica, la sintaxis para, para ese, para ese tipo de expresión de funciones más complejas. Entonces, qué es lo que uno hace? Uno coloca proc entre paréntesis, coloca una lista de parámetros en lista, No sin una secuencia de parámetros. Colocamos aquí dos puntos.

00:13:04:11 Esto no es opcional. Colocamos a veces dos puntos. Aquí colocamos un tipo. Ese tipo es el tipo de lo que va a retornar la función. Listo. Descripción. Descripción Entonces no es propia descripción en donde dice short description Qué es lo que ocurre? Simplemente colocamos un string, entonces entre comillas dobles colocamos un la frase corta que me escriba que es lo que hace la función.

00:13:27:07 Bueno en option aquí aparecen algunos tipos de restricciones que podemos colocar sobre la función y lo que vamos a hacer. De aquí no vamos a utilizar ciertos tipos de opciones, simplemente vamos a trabajar con funciones normales, lo mismo para lo que vamos a hacer más adelante con módulos. Entonces digamos aquí no voy a tocar un poco la parte de este de este parámetro.

00:14:06:01 En local y en global aparece simplemente lo que se entiende como variables locales, variables globales de la locales son las que son in implícitas dentro de dentro de la función, dentro del procedimiento y global, pues son las variables globales que a veces es bueno. Cómo hacer una diferenciación, digamos, entre sí con las locales? Y finalmente aquí colocamos una secuencia de varias declaraciones que son las que van a, digamos, a completar el y digamos, el caparazón completo de lo que se entiende como el procedimiento es esta es la sintaxis de un procedimiento.

00:14:33:16 Veamos algunos ejemplos que utiliza entonces en ese tipo de estructura. Pues mire, vamos a poner, estaremos aquí. Bien, entonces aquí en esta línea, estamos a LST, le estamos asignando una lista. Bien, bien, aquí se la asignamos y aquí estamos definiendo. Entonces una función a groso modo. Miremos qué es lo que está haciendo esta función. A Fun dos le estamos asignando un procedimiento.

00:15:08:29 El procedimiento que tiene tiene un parámetro. Acá ese parámetro se llama X. Cuando colocamos dos puntos significa que es de tipo lista, listo. Bueno, aquí tenemos variables locales, una variable B y una variable y a la variable b. En la siguiente declaración le estamos asignando x entre corchetes. Uno. Eso hace referencia al primer elemento de la lista y esta última declaración que aparece aquí es precisamente lo que retorna la función.

00:15:42:18 Entonces la función va a retornar. En este caso se usa entre corchetes. Eso le tenemos entonces como una lista. Bien, entonces desen cuenta que aquí parece ser, por ejemplo, este comando set lo que va a crear es una secuencia, o sea, un nos elementos que están separados por cosas. Cuales elementos? Precisamente esos que aparecen aquí x si dividido entre B, entonces escoge a cada uno de los x y y lo Y entre el x1, que es precisamente el valor que hay.

00:16:14:22 Listo, eso es lo que está haciendo y entonces varía. Es de uno, se coloca a dos puntos hasta este que aparece acá. Es una función también del mailing, que precisamente calcula el número de elementos que tiene la lista X. Listo. Bueno, entonces vamos a ejecutar la función ya sea ejecutada cuando se coloca dos puntos. Entonces digamos que ahí no, no escribir, que lo que hace la función cuando se define se pierde.

00:16:39:21 Aquí le colocamos útil como para que se den cuenta es aquí se escribe como se imprime, que es lo que hace la función cuando colocamos dos puntos, entonces uno simplemente como que a veces se evita. Digamos que escriba esas partes un poco como para que no haya tanta distracción, digamos en la hoja. Bueno, vamos a ejecutar la función en la lista.

00:17:01:01 Entonces la lista ya la hemos definido que era la 248 16 y la ejecutamos la función. Desen cuenta que aquí lo que hacemos es a cada uno de los elementos de la lista los dividimos por el primero que haya, que es el dos. Bueno, ese es el resultado de la lista de la función malévolo, no en la lista.

00:17:31:23 Bueno, bueno, a región de código. Entonces esto simplemente es para velar por porque vamos a utilizar aquí dentro de lo dentro de los códigos que van a aparecer entonces uno, por ejemplo, códigos como este, esto es un código realmente, entonces lo podemos como y visualizar mejor en ciertas regiones de código. Listo, voy a borrar esto por acá como para que podamos darnos cuenta un poquito mejor.

00:18:00:05 Esto. Situación nueve. Vamos a diez en 40.000 voy ya, voy a coger el ratón, me voy a ubicar aquí donde dice Insertar región de código edición. Bueno, entonces aquí dice que se abre este cuadro donde puedo entonces e ingresar caigo bien, uno le da con el segundo botón del mouse y entonces aquí abrimos en propiedades. Me gusta que esto esté un poco más de quitamos.

00:18:32:00 Esta es esta condición, aquí el contenedor que se fije y entonces lo podemos achicar. Bueno, ahí se abre. Es lo que se llama una región de Cairo. Y entonces en esa región de Cairo uno puede pegar ese tipo de declaraciones o definiciones. Aquí por ejemplo, en este caso para como esa función función dos, entonces resulta que vamos a hacer lo siguiente vamos a utilizar aquí una nueva función que allá en Maybe.

00:19:01:23 Listo esta función. La función map me funciona también de la mail. Fíjense esta función que lo que hace. Vamos a coger aquí una función que tiene dos parámetros F y LST. El FT es la misma que hemos definido, o sea es la list, es lo que hace esta marca y es coge F y la evalúa en cada uno de los elementos de la list y nos retorna esa lista.

00:19:32:10 Bien, pues eso es lo que hace esa función map ya predefinida map y la vamos a utilizar para definir la misma función que teníamos antes, pero ahora en este caso, entonces tenemos lo mismo una función que llamamos función tres mismo parámetro variable local. En este caso va a haber una sola que es la V Abel. Le asignamos la primer componente de la lista y vamos a utilizar la función map.

00:20:01:21 Entonces tiene dos. Para el primero va a ser una función la función cuál es? La que coge un elemento y lo envía en ese elemento dividido entre la primera componente de la lista listo como segunda componente. Entonces vamos a colocar entonces la lista. Listo para que nos haga precisamente lo que apareció aquí. Vamos a ejecutarla.

00:20:28:07 Listo? Ya está. Ejecuta bien y vamos entonces a evaluarla en la lista y nos da aviso. Resulta listo, pues hay muchas funciones que están dentro de la manera que nos permiten trabajar un poco más eficientemente en la parte de la escritura de código. Digamos que es como una de las cositas que quería, como. Como indicar a quienes apartar.

00:21:29:02 Bueno, pues es respecto a funciones y procedimientos o procedimientos, pues realmente como tal, en Maybe se utiliza más la noción de procedimiento listo. Bueno, entonces esto es 1/1 de la introducción. Bueno, ahora sí vamos a introducirnos en la parte de las estructuras matemáticas. Bien, entonces aquí por estructura, vamos a tener en cuenta el concepto de objeto. Entonces vamos a pensar que una estructura es una colección de objetos que tienen como relaciones similares y que además tienen como dos elementos fundamentales que tienen algo en que que digamos en programación se puede conocer de alguna forma como lo que son estados y comportamientos, visto estados y comportamientos.

00:22:04:21 Entonces la idea es tratar de crear estructuras en Maybe, por ejemplo, como estructuras, por ejemplo, como un sistema numérico sí, o un sistema algebraico y particular, pues allí que hay ahí elementos, digamos, pueden ser elementos numéricos que hay dentro de ellos. Ellos, por ejemplo, pueden tener ciertas propiedades particulares. Por ejemplo, podríamos pensar en vectores. Los vectores tienen magnitud y no se pueden tener ciertos estos tipos de normas y.

00:22:32:07 Y podríamos hacer operaciones en tres o armar o sea funciones un alias o binarias o terciarias y ni arias entre esos elementos de ese conjunto. A eso es lo que le vamos a entender como una estructura. Listo. Realmente se puede abstraer mucho más la noción de estructura. Entonces vamos a hacer lo siguiente Vamos a introducir aquí el concepto.

00:23:03:00 De modo que lo que les estaba diciendo que es el elemento de programación que de los que más me interesa hoy dentro de la conexión con con la programación directamente con el software. Bueno, entonces los módulos en Mapear son otro tipo de expresión de los que había comentado antes. Si son ordi poo expresión al estilo de lo que son los no a, los integer, las matrices, las listas, etcétera.

00:23:35:14 Bien, entonces la clave de ellos es que permiten crear objetos con ciertas tracción listo. También permiten crear paquetes listo pronto para otra sesión. Vamos a enfocarnos un poquito más por ese lado. Y también también se puede crear la parte de lo que se entiende como registro. Bien, entonces los módulos son importantes dentro de la visión de la programación en Maple, porque cumplen estos cuatro conceptos como lo hice aquí.

00:24:11:26 Encapsulación la noción de paquete, modelamiento de objetos y programación genéricos. Entonces encapsula se refiere a que los datos de un objeto se pueden cambiar solamente sobre las acciones que se definen sobre los mismos. Más adelante, con los ejemplos que vamos a ver, lo que vamos a puntualizar, digamos, es la situación aquí los paquetes, entonces los paquetes son una forma, digamos, de armar como un conjunto de procedimientos que se relacionan sobre una disciplina y en particular.

00:24:47:24 Bien, entonces al estilo de los paquetes que hay en ahí, entonces uno puede crear paquetes utilizando móviles. Digamos que lo nombro, pero aquí no vamos a enfocarnos en eso. Modelación de objetos. Y es como si estos procesos para ejercer acciones sobre estos objetos que poseen. Pues lo que les había comentado estados y ciertos comportamientos. Más adelante enfocamos un poquito en cómo se podría entender un Estado y un comportamiento y la parte genérica de la programación.

00:25:22:26 Entonces se pueden resolver problemas armando algoritmos generales? Sí, sobre esos tipos de objetos que se han diseñado a partir de moras. Entonces, estos cuatro elementos son fundamentales, digamos, dentro de la importancia del concepto de módulo. Vamos a ver como se puede definir un módulo que hace un módulo y miramos que implica. Bueno, entonces es un módulo, es una, es presión.

00:25:56:17 Como les decía en Maybe, que tiene un cuerpo del estilo de lo que aparece aquí dentro. Está dentro de esta caja. Entonces la sintaxis es la siguiente lo colocamos entre paréntesis vacío. Ahí se coloca siempre. No va a tener parámetros explícitos, allí es si tiene unos parámetros implícitos. Aquí vamos a utilizar esos parámetros como tan bien, entonces tiene variables locales a que aparecen unas variables locales exportadas.

00:26:19:05 Se llaman así, pero digamos que si se utiliza dentro de la notación simplemente sport por las variables que se exportan ahorita más adelante hablamos de eso, lo mismo variables globales o acciones al análogo de lo que pasaba con los procedimientos. Aquí vamos a trabajar simplemente sin opciones para programación avanzada. Uno puede hacer cositas con opciones y bien particulares.

00:26:42:26 Hay puesto tipos de opciones, pero aquí no hay necesidad de nombrarlas. Descripción Al estilo de lo que pasaba en los procedimientos, podemos colocar un string aquí con una frase corta que escriba que lo que hace el módulo y en esta parte aquí que se inicia como ve, se colocó una secuencia de declaraciones que pues terminan digamos ese es el contenido del módulo.

00:27:09:26 Bueno, puede pasar que un módulo no tenga ninguna declaración, pero pues no es interesante. Listo, vamos a ver ejemplos. Estos ejemplos sencillos acá esto está de una vez ya la mayoría de lo que tengo aquí, por lo general lo tengo en en estas regiones de código, porque me parece que se ve un poquito más, es como más, es como una la presentación.

00:27:35:00 Bueno, veremos que es una forma de definir humor y qué es lo que está haciendo ese móvil. Entonces aquí estamos definiendo ahora y le estamos asignando módulo, módulo, paréntesis, vacío. Y termina el mouse. Entonces acá aparece una variable export, que es la variable que llamamos decir si le llamamos esa variable.

00:28:17:14 Bien, entonces aquí aparece Description. Entonces entre comillas dobles, colocamos mi primer módulo. Es como simplemente una descripción así muy concreta de lo que hace el módulo. Bueno, bien, entonces decir vamos a decir qué es lo que pasa con esa variable, es decir, en este caso decir vamos a tomarlo como procedimiento listo, entonces el procedimiento no tiene parámetros y lo que hace es lo que se ejecuta acá en esta declaración print y colocamos acá este string, es decir, ahí lo que está haciendo es imprimiendo el string.

00:28:52:18 Hola mundo listo. Eso es lo que está haciendo la función de si bien, bueno, entonces resulta que uno coge el nombre del módulo que es Hola, coloca dos putos y ese guión y ahí aparece y colocamos decir que es la variable exportada. Colocamos esos dos paréntesis acá. Sí, sin argumentos, porque así se definió. Entonces vamos a ejecutar, digamos primero él, el módulo acá y le dicen ay, ya lo ejecute luego y entra allí.

00:29:22:05 Ahora vamos a ejecutar esta parte de acá, a ver qué hace y simplemente lo que hizo fue escribir Hola mundo! Pues que en efecto es como traerme la función decir sí, sí, traerme la función, decir Entonces, de alguna forma lo que podemos pensar que se hizo aquí fue crear un objeto. Sí, que se llama hola y el tiene un comportamiento, una acción y la acción cuales es precisamente la que estamos ejecutando en la función decir.

00:29:54:24 Entonces ahora le estamos diciendo y Hidalgo precisamente lo que hace la función es escribir. Hola mundo. Así es, es como el análogo de lo que uno podría pensar, como en programación orientada a objetos. Sí, como algo como lo que se entiende como método. Sí, o más, más, más o menos. Es, o más bien tiene alguna relación como es con Java, pues no tiene y clases o objetos y lo que tiene como método, si algo es estilo.

00:30:20:19 Bueno, más adelante miramos un poquito más esto cómo se puede utilizar? Miremos a ver entonces acá un ejemplo dos para utilizar humor. Bueno, entonces restart sí se simplemente es como parar y va hacia la memoria de lo que de los datos que tenemos en la hoja. Entonces a generador temp le vamos a asignar un módulo. Aquí está su descripción.

00:30:46:01 Va a ser un generador de símbolos temporales, aquí va a tener una variable que vas portar, que va a se va a llamar gente. He aquí tenemos dos variables locales como y te he visto como le asignamos cero y esta es la variable que vamos a exportar. Entonces al análogo de aquí también va a ser un procedimiento listo.

00:31:26:07 Entonces le estamos haciendo un procedimiento que hace lo siguiente entonces account le está incrementando en una unidad y finalmente está imprimiendo esa expresión de aquí lo que está haciendo es lo siguiente simplemente está imprimiendo. Te y le está pegando el contador allí está pegando un contador con si bien, entonces ejecutemos está esta región de código. Bien, entonces utilizamos el nombre del módulo dos puntos guión y utilizamos aquí entonces la variable exportada que en este caso tiene que tener paréntesis dobles sin argumentos.

00:32:18:08 La ejecutamos una vez que así se nos escribe el T uno. Si la volvemos a ejecutar, pues aparece este dos y así sucesivamente. Cada vez que la que la ejecutemos, entonces el contador va incrementando. Listo, pues eso es lo que uno entendería como esa función, ese modulo que genera símbolos temporales. Bueno, pues aquí simplemente es un detallito particular de otra función que está en la main libre y simplemente es un comando para acceder al a los al variables es que exporta un mod, entonces simplemente como instancia así podemos utilizarla y la utilizamos Just colocamos el nombre, el módulo que estamos utilizando y entonces aquí qué hacemos?

00:32:59:06 Cogemos los elementos que exporta. Ya no tenemos que colocar innecesaria esta parte de acá. Si esta parte del módulo dos puntos ya simplemente utilizamos los elementos que exporta y los podemos utilizar allí en en esa parte entre el ius mor in y el en ius. Entonces ahí lo que estas ejecutando, las variables que exporta, donde se encuentra, que en este caso está entonces adiciona tres veces esa función que exporta, entonces el contador lo sigue incrementando como estaba en tres, pues lo incremento hasta seis.

00:33:32:19 Si vuelvo a cargar el módulo es así, vuelvo a llegar. Utilizar la región de la define y utiliza la parte de aquí. Entonces aquí el que al contador estaba en cero, pues aquí ya volvió, es de un hasta tres. Entonces de alguna forma lo que se creó fue un objeto sí que me genera. Si, como una especie de enumeración de parámetros, digamos que están enumerando, sí, pues incrementa entonces una unidad.

00:34:03:08 Eso es lo que se está haciendo allí. Bueno, otro elemento importante, que es un tipo particular de módulo, es uno que se llama Los records. Visto lo ricos tienen ahora ya como su análogo, digamos, en las estructuras que se trabajan. Sí, más, más listo. Entonces los ricos son módulos, en pocas palabras, donde las variables que exportan toman valores fijos.

00:34:34:00 Si toman valores fijos, esas pueden ser cosas concretas o funciones. Listo, pero ya. Digamos que ya no hay condiciones para colocar opciones y entonces son un poco más restringidos, pero tienen un comportamiento y en especial ahorita vamos a hablar de ello más adelante. Entonces, cómo uno define un rico? Pues la idea es simplemente bueno, vamos aquí de sabemos y a REC le vamos a asignar.

00:35:05:16 Entonces colocamos RICO de entre mayúsculas, así en mayúscula y colocamos entre paréntesis y esta secuencia de acá A, B, C listo. Esas van a ser las variables que exporta que tienen nombres A, B y C Listo y RICO en mayúsculas. Se llama constructor de records. Eso simplemente es un módulo. Hoy ya se definió el módulo que se le asignó a Red.

00:35:31:23 Listo. Bien. Cuando se coloca así pues entonces A, B y C no tienen valores inicialmente. Pero entonces uno mire, hacemos red dos puntos, yo A, por ejemplo, y le vamos a asignar un número o dos al red junto a la par, digamos A de la Al, a, la exportación de B, le asignamos cuatro a la exportación, en C le asignamos cero.

00:36:12:26 Listo, pues se pueden hacer valores desde afuera de la de la definición del del módulo. Pues hoy ya le asignamos los valores a las exportaciones A, B y C respectivamente. Esos, esos valores. Listo, pues miren que aquí estamos evaluando las exportaciones ya como crear. También se pueden definir esos records de la siguiente manera. Entonces definimos R record otra vez con el constructor, pero entonces ya se le da valores directamente a los nombres.

00:36:36:07 Si de esos, de esas variables que se exporta, a veces también se les llama a campos o también se les llama celdas a esos elementos que aparecen aquí en el record. Listo, pero realmente son las variables que se exportan. Entonces hay uno, le estamos asignando saber, estamos asignando la raíz de tres sqrt, pues es la raíz, que es otra función que en Mailer.

00:37:10:24 Bien, entonces aquí ya estamos definiendo y pues entonces simplemente pues y R Cuando le hacemos la asignación directa. Bueno, estamos chequeando que es lo que hay en el valor del del parámetro y de la variable exportada V, pues toma el valor real de tres list. Bueno, vamos a chequear entonces aquí otro ejemplito interesante de rigor. Bueno, vamos a mirar esta parte de código de R.

00:37:41:06 Restauramos aquí la la memoria, aquí hacemos la parte. Vamos a definir un complejo. Me voy a llamar mi complejo. Esto va a ser una función. Entonces cogemos una función que tiene dos parámetros R y y le asigna un rigor. En rigor. Cuál es entonces? El va a tener tres variables que exporta. Se van a llamar de in y a vez listo.

00:38:09:07 Entonces la primera le asigna R, que es el primer elemento de este primer argumento, el primer parámetro que aparece aquí. Ahí le asignamos el el segundo parámetro y a veces le asignamos una función. Entonces la función así se escribe. La función no tiene argumentos, pero me manda algo, me retorna. Que cosa? La raíz de quién? De esta suma.

00:38:34:21 Entonces cuando aparece aquí self hace referencia a rico mismo. Y entonces aquí estamos haciendo referencia a la variable que exporta es re la le damos al cuadrado y le sumamos ahora, entonces la variable que exporta y al cuadrado. En otras palabras, esto es la raíz de la parte real cuadrado, más la parte imaginaria al cuadrado. Listo. Bien, entonces vamos a definirlo.

00:38:59:13 Ahí se definió. Ya le damos enter allí, ahora le damos enter acá y miremos qué es lo que está haciendo aquí. Así le asignamos el complejo 23C Aquí estamos mirando cuál es la parte real de C, Estamos diciendo que en este caso dos, la parte imaginaria tres y en este caso que se está calculando de una vez cuál sería, digamos, la magnitud o la norma de ese complejo?

00:39:46:05 Esto. Este es otro hecho interesante con la cuestión, digamos acá, el de los de los tipos. Bueno, títulos, títulos es un módulo que también está en la mailing. Les hacemos dos puntos guión y él tiene una función Cita. Esta es una función que exporta. Qué hace? Lo siguiente añade un tipo nuevo Listo. Entonces tiene dos parámetros. El primer parámetro es un nombre, ese que aparece aquí, decirle vamos a colocar el nombre de un tipo, vamos a llamarlo complejo, lo colocamos entre comillas y el segundo también se va a colocar entre comillas.

00:40:12:11 El segundo parámetro va a ser un módulo entre comillas. En este caso el módulo va a ser el licor. Entonces es un rigor que tiene esas tres celdas o esas tres variable bles que exporta de in y a veces el estilo de cómo se define o muy complejo. Entonces ahí está la declaración de acá, lo que esta es definiendo el tipo complejo.

00:40:55:05 Y la segunda declaración que aparece aquí. Recuerden lo que hacía más atrás en los ejemplos que mostramos al comienzo. La función tipo esta está chequeando si se es de tipo complejo. Entonces, si ejecutamos esto, en efecto, nos está diciendo que el cheque de inyección, que es un rico de ese estilo, si es de tipo complejo, entonces esta es una forma de definir tipos en vapor y dentro de la programación es muy importante cuando se quiere hacer, digamos, una programación bien estructurada, bien clara y que no oigan, digamos errores en que estemos trabajando con ciertos tipos de elementos, de objetos realmente.

00:41:20:13 Bueno, este otro detalle importante con los ricos y es el concepto de herencia, vamos a chequear ese código cortico. Entonces a P en la primer línea le vamos a asignar rico que se define aquí y esto antes le asignamos a una variable, A2A la variable de tres. Esto es lo que se va a llamar un prototipo en esta.

00:41:58:02 En esta declaración simplemente lo que estamos es exigiendo cuál es el valor que toma la variable exportada a y la variable respectivamente. En la parte tres, la variable exportada y en la línea cuatro estamos haciendo lo siguiente Pues mire, a R le estamos asignando un rigor. Qué hacemos? Bien, aquí colocamos entre paréntesis un prototipo y entre corchetes el prototipo y entre paréntesis vamos a colocar una nueva variable por ejemplo, vamos a llamarla C y le vamos a asignar un valor cuatro.

00:42:30:20 Entonces, qué va a generar esto? Vamos a correr una vez todo este código, entonces en esta línea está generándose el rigor que es la parte uno y en la línea uno en la línea dos y la línea tres simplemente evalúa A y B, pero en la línea tres y la línea cuatro A. Y qué ocurre hoy? Si genero el record que tenía los parámetros de A y de B que eran los mismo de P, pero se le añadió el último que era el C igual a cuatro, Eso es lo que se llama heredar.

00:43:01:23 Heredó entonces el rico R heredo si las celdas por decirlo así, que tenía P Que tenía el prototipo. Sí, eso es importante también, digamos dentro de los conceptos de de programación utilizando algo de, digamos, algo llamado interfaz. Sí, que como hacen con interfaces. Bueno, esos son algunos detalles, digamos de la programación con módulos a groso modo. Vamos a ver, así pasaríamos a la parte de implementación.

00:43:34:23 Ejemplos prácticos Pues aquí tenemos estos cinco ejemplos. No son ejemplos tan tan complicados, pero por lo menos la idea es como ilustrar la noción básica y qué es lo que queremos hacer? Cosas como más interesantes que los ejemplos que mostramos antes, que eran como como elementales. Entonces vamos a construir un elemento que nos permita generar y esos temporizadores de símbolos.

00:44:03:15 Bien, entonces vamos a hacer lo siguiente Vamos a Bueno, restauramos a una variable constructor de la ley tres temp. Le vamos a asignar un procedimiento, el procedimiento que va a tener un parámetro que en este caso va a ser 1T2 puntos. Recuerden dos puntos aquí significa que es de tipo símbolo y listo. Otro de los tipos que aparecen Maipú bien y que va a retornar, va a retornar en este caso un módulo.

00:44:42:14 Si recuerdan este código ya lo habíamos utilizado por ahí atrás. Si no voy a nombrar otra vez qué es lo que hacía, pero recuerden que lo que cogía era este T y lo empezaba y por hecho, y esto generaba un objeto, sea un objeto que lo que hacía era numerar el té que se iba incrementando digamos, en una unidad, entonces vamos a ejecutar, entonces en esta declaración de acá a consuno le estamos asignando la función constructor generator temp evaluada digamos en este símbolo.

00:45:14:20 R Listo el nombre de la variable R y en este caso particular ahí lo ejecute y vamos a mirar con uno. En este caso quiénes es un módulo es el módulo y él como tal tiene una variable que exporta que es fem temp. Listo, entre paréntesis, sin argumentos. Pues entonces vamos a ejecutar ahora esa parte de allí. Y entonces ahí nos dio precisamente el el parámetro que aparecía acá, ya digamos ahí enumerado.

00:45:43:24 Y si lo seguimos ejecutando, entonces va cambiando, sí va aumentar. 20 Ya pudimos hacer variar el elemento simplemente utilizando un procedimiento sí que que evalúa, digamos, el módulo que manda el módulo como como valor, pero para emitir usamos entonces el elemento T, Entonces uno puede empezar a utilizar módulos y procedimientos para hacer cosas más interesantes que digamos, solamente utilizar objetos.

00:46:21:15 Si ahí ya estamos empezando como a modelar objetos, bueno, miremos el siguiente. Entonces aquí por ejemplo, en esta región de código que tenemos, vamos a llamar AC9 el módulo que hace lo siguiente entonces tiene dos variables exporta que exporta, una que suma Sun y otra que va a ser multiplicación. Le llamamos motor. Entonces estas son dos variables que en este caso son procedimientos, entonces cada una de ellas tiene dos parámetros.

00:46:54:29 Y qué hace? Envía la suma módulo nueve o el producto módulo nueve, respectivamente. Listo, Ejecutemos eso entonces aquí hace ta nueve de colocamos dos puntos Guión Llamamos la variable que exporta. Como tiene dos parámetros, entonces los utilizamos, ejecutamos eso y bueno, hacela en este caso la suma módulo nueve de cuatro y de tres respectivamente. Aquí en este caso para este hecho y aquí utilizando el producto y el producto listo de alguna forma.

00:47:28:20 Aquí lo que hicimos fue como crear un objeto, sí que precisamente se puede asemejar a los enteros. MÓDULO nueve Sí, donde está su suma y su multiplicación respectivamente definidas allí. Listo, pues es como una forma, digamos que de representar como tal la estructura de los enteros. MÓDULO nueve. Entonces más general no podría, por ejemplo, utiliza lo siguiente Vamos a llamar a general aquí generar Zn Listo.

00:47:58:19 Va a ser un procedimiento. Tiene como parámetro un número entero positivo. Va a retornar. Que cosa? Un módulo. Este código de acá es el mismo de antes, solamente que el N, el nueve que aparece allá ahora lo tomamos como un n arbitrario. Es precisamente y aquí, tomamos aquí como argumento Listo, Ejecutemos esto entonces, Por ejemplo, vamos a llamar a Z 20, generar z n con parámetro 20.

00:48:28:27 Ahí se generó precisamente como respuesta un módulo con N igual a 20. Y entonces pues en efecto, a ello ya puedo hacer lo mismo que estaba haciendo acá en la versión anterior, como caso particular. Entonces como que parametrizar de alguna forma si este n que es de aquí, entonces generamos esas estructuras que se pueden asemejar a los enteros módulo para cualquier entero, digamos positivo.

00:49:00:17 Veremos algo de de aplicación? Sí, ya por acá con con números complejos. Listo. Entonces es con una construcción de un objeto complejo. Listo. Entonces hablemos rápidamente. A groso modo restauramos la memoria. Esto no es necesario hacerlo siempre, pero digamos que por si es casi igual, me he acostumbrado mucho a restaurar la memoria, sobre todo cuando hago presentaciones para para mostrar ejemplos.

00:49:27:18 Pero digamos que no hay esas cosas sobre el lenguaje. No es necesario. Bueno, entonces aquí. TRUCTOR Bueno, me quedo mal. Pobrecillo, ese debería ser constructor. Bueno, constructor complete. Le asignamos un procedimiento. Procedimiento tiene dos parámetros real imaginario en esta línea que estamos haciendo n args. Entonces Eneas, que es simplemente es el número de argumentos que tiene la función.

00:49:53:19 Si eso ya este acá es es un es un elemento que ya está definido, digamos en la mente la mala. Si cuando uno define un procedimiento y eso es lo que se entiende como un argumento implícito, si de un procedimiento, en este caso de este que estamos definiendo, entonces si el número de argumentos es este, este es menor y mayor es lo que significa distinto.

00:50:15:22 Si es distinto de dos, entonces iba a escribir un error y pues escribe que la parte real, la parte imaginaria, sin requerir de software, pues esta línea digamos que es más como un condicionante como para que la función quede mejor escrita. Bueno, esta parte de acá lo que va a retornar la función. Listo, pues la función que retorna, que hay una descripción que lo que va a crear es un número complejo.

00:50:47:24 Hay variable local que es real, parte real, parte imaginaria, exporta real y a veces y acá en la parte real y la parte imaginaria, van a tomar respectivamente los valores. El primer argumento y el segundo argumento listo real se aplica. Este imaginar es aplica es entonces una forma de escribir, digamos aquí en Maipú? Sí, y no estoy seguro si no me acuerdo como era que se trabajaba en ese relato.

00:51:15:13 No trabajo con ese, pero digamos que es una forma de escribir simplemente asignar directamente 1 a 1. Bueno, pues aquí RE y aves y ARC son funciones. Si te cuento aquí estos son Excel, son variables exportables, se exportan, son funciones, no tiene parámetros y respectivamente pues en la parte real, la parte imaginaria, en este caso la norma de las promesas.

00:51:49:06 Listo? Pues digamos calculando tal cual. Bien, entonces corramos esto. Entonces aquí hace. Le damos a asignar el que vamos a construir con el constructor complejo, le aplicamos con real parte uno imaginario, parte -1. Entonces aquí vamos a utilizar entonces las variables que exporta entonces aquí la parte real, la parte imaginaria, el anormal argumento listo y las calcula directamente.

00:52:24:28 Entonces eso como forma, digamos, de representar, digamos, el complejo, pues en Z se construyo y aquí estamos simplemente mirando cuáles son los comportamientos de ese complejo. Miremos un ejemplo cuatro con cuadernillos. Bueno, miremos en este ejemplo que hacemos aquí. Entonces restauramos, Vamos a definir un cuadernillo utilizando la noción de rigor. Entonces, atención, está basado en cuatro elementos, cierto?

00:53:06:09 Bueno, sí, los que lo conocen parecido a los héroes complejos, pues es un procedimiento que tiene cuatro argumentos. Entonces, qué hacemos? Vamos aquí con rigor, que tiene como cuatro celdas. Si en ese caso de las cuatro y variables exportables Re y J y K, le asignamos precisamente esos cuatro argumentos respectivamente. Bien, y aquí Q1 es simplemente una función, como prosiguió a hacer un procedimiento bien como parámetro el que va a tener como parámetro el va a tener el cuaderno con un cuatro ni un acá listo.

00:53:32:10 Sí, definiremos el cuaderno como un tipo se podría colocar dos puntos o teniente, digamos que aquí no se ha colocado. Entonces pues por ahora se puede suponer que el de entrada debe ser es cuadernillo. Entonces uno puede hacer programación donde ya puede trabajar uno con objetos vistos dentro de la programación como módulos. Entonces, qué es lo que hace esto?

00:54:05:19 Entonces usa la parte bueno, Qué es lo que estamos haciendo? Estamos cogiendo las variables que exporta. Qu cierto? Sí, las variables que exporta. Entonces aqu q lista? Digamos aquí calculando la variable parte real, la imaginaria, la J y la K. Listo. Y entonces se las está asignado a R ahí, a J y acá. Si este re es distinto de este de acá.

00:54:30:29 Sí, esto es importante tenerlo en cuenta porque esta re es local al módulo de CU. Bien, entonces esto es como un nombre. Esta re viene siendo se podría haber colocado ahí y es ese elemento y no habría problema. Entonces eso se puede hacer para cada uno de estos. Y finalmente, qué es lo que retorna? Pues entonces simplemente la raíz de cada una de sus elementos al cuadrado.

00:55:02:28 Y eso es lo que uno va a llamar la norma de un cuadernillo. Así que lo que vamos a hacer en esta, en esta última parte, vamos a definir una nueva estructura, un nuevo cuadernillo. Entonces él tiene eso es un proceso new cuatro años. Le asignamos un procedimiento, él tiene cuatro parámetros listo. Entonces una variable local va a ser Q y le vamos a definir de entrada que el es un cuatro new A, b, C del que definimos arriba.

00:55:34:22 Recordemos y el que va a devolver el procedimiento, lo que retorna es es. Entonces recuerden que lo que hayamos hecho por allá con la noción de herencia, entonces al cu le pegamos entonces esta última, esta última variable exportadas, que precisamente es la que me calcula la norma. Listo y entonces ahora, si borramos todo esto, entonces aquí estamos definiendo un cuatro new normal.

00:56:02:26 Aquí le estamos calculando la norma de listo y aquí vamos a definir un cuatro nuevo cuadernillo. Bien, pues aquí se define un nuevo cuaternidad con los mismos parámetros porque de cuatro, aunque quiera desde aquí a BC y vamos a correr este listo pues ya have es ya aparece como una nueva variable que export de en este caso es la última hora.

00:56:43:01 Listo, ese es un ejemplo y yo utilizando cuatro uniones utilizando records y en particular nació en la noción de herencia. Bien, para finalizar esa parte de ejemplos, simplemente como una ilustración básica. Entonces, por ejemplo, trabajar con elementos un poco más distintos a esas estructuras algebraicas. Por ejemplo definiendo puntos, segmento, círculo, elementos que son formas geométricas. Entonces, por ejemplo, un punto se puede entender como un procedimiento bien que me envía un objeto, el objeto.

00:57:12:25 Cuál es en este caso la referencia de humor. Entonces vamos a definirlo así un punto vamos a volver, lo que vamos a verlo como un procedimiento que coge dos números. Listo. Y retornamos desde el módulo. Qué es? Es un objeto que tiene en este caso uno dos. Esos cuatro elementos aquí que son variables exportables. Área circunferencia, coordenada x y coordenada allí de la coordenada x, pues es el x, la coordenada y es el y.

00:57:41:23 Si el área en este caso se va a definir como cero, la circunferencia se va a tomar como ser visto. Los vamos a tomar como funciones, como funciones que que no tienen argumento, sí, pero envían respectivamente en esos valores fijos X00 respectivamente. Bien, más adelante miramos como se evalúa esto el segmento. Entonces el segmento se va a entender cómo podríamos asignar un procedimiento que tiene dos parámetros.

00:58:09:05 En este caso van a ser dos puntos. Estos puntos son de los de aquí arriba y los que se definieron aquí arriba que va a retornar esto, va a retornar un módulo, o sea, un objeto. Si el objeto en este caso, pues es el segmento y el segmento va a tener en este caso e estos elementos que van a ser las variables que exporta el área, la circunferencia de longitud, punto medio, punto inicial, punto final.

00:58:32:13 Bien, entonces muy parecido. Entonces el punto final es una función que no tiene argumentos y lo envía en PT uno, que es el punto inicial de T1. Análogamente para el punto final lo envía envían el PT dos. El área se toma como cero, las conferencias como cero. La longitud, pues simplemente es calculando la longitud tal cual y en de la como un procedimiento que no tiene argumentos.

00:58:54:15 Entonces aquí tiene variar el local X. Entonces a x e le asigna la diferencia digamos de las coordenadas x, Halle la diferencia de las coordenada g y saca la raíz de esas de la suma de los cuadrados de x y de hecho y esto y eso calcula pues la longitud. Análogamente con la fórmula del punto medio entre puntos se hace algo de ese estilo.

00:59:21:06 Bien, pues son simplemente como y atributos. Tienen métodos que uno puede digamos y o tener sobre un segmento visto como a partir de la noción de dos puntos, que son los que definen el segmento y bien, análogamente lo puede decir por ejemplo, sobre un círculo. Entonces el círculo se puede ver como un procedimiento que devuelve módulos a un objeto.

01:00:11:14 Pues el procedimiento va a tener dos parámetros centro y radio. El centro va a ser un punto, entonces el objeto que devuelve que va a ser, va a ser un objeto que tiene en este caso, por ejemplo área, circunferencia, diámetro, centro y center uno. Aquí esto, de aquí lo que es y aquí estaba en el centro, miren que aquí hay una diferencia, aquí Center Si es una función que lo envía, digamos en el centro y centre, que simplemente el número como tal, si centro es el número, entonces diámetro simplemente es es otra función, circunferencia es otra función, área es, digamos, la función qué bien, cada una respectivamente, fuesen los radios, los centros, el diámetro de

01:00:42:01 la circunferencia y el área de una circunferencia que está centrada setter y tiene radio radio. Bien, voy a ejecutar entonces estas tres cosillas de acá. Escuchemos este primero, digamos este primer texto, sino te damos este acá y ejecutemos este acá. Miremos entonces aquí a groso modo, digamos algunos cálculos básicos. Entonces miren aquí define un punto. Área cero circunferencia.

01:01:11:04 Me está diciendo cero coordenada en x coordenada. Aquí define otro punto. Bien, aquí voy a definir un segmento que tiene como parámetro los dos puntos antes el área de del punto PQ del segmento de la circunferencia. La longitud aquí a p qm le vamos a asignar el punto medio entre pq sí y aquí simplemente voy a colocar una lista que va a tener dos componentes.

01:01:43:20 La primera componente va a ser la primera coordenada del punto medio y respectivamente la segunda componente voy a tener la segunda coordenada del punto medio y la la escribe textualmente Listo. Y es lo mismo. Para trabajar con el círculo definimos un círculo que está centrado en P, que es el P que había definido antes como punto. Si te que es el módulo se exige que va a ser simplemente el centro de X.X, ya que en este caso es un punto y ya que entonces qué pasa?

01:02:18:07 Calculamos en una lista respectivamente la coordenada x y coordenada G del centro. El área y de la circunferencia y el diámetro. El diámetro y el rayo se colocan aquí los pues así los paréntesis con, digamos en vacío. Pues. Por lo que se está definiendo como como funciones digamos de ese estilo. Entonces esta es una fórmula, una forma cómoda de observar, digamos, quién es el elemento y cuál es su comportamiento dentro de la programación.

01:02:47:14 Este tipo de estructura es muy fácil de comprender y la notación es muy buena. Listo, entonces ese es un ejemplo, digamos un poquito más, eh? Ya no tan de estilo algebraico si, y pues uno podría ilustrar, digamos, con spots más avanzados, armar funciones entre elementos que son objetos un poco más complicados y generar un poco de más ilustraciones.

01:03:15:08 Pues a groso modo son como los que Explicit quería mostrarles de degeneración de estructuras. Es mucho lo que se puede hacer si las utilidades son muy altas, si toca practicar bastante, digamos cuando uno está iniciando concatenación de modulo, pero la ganancia que se tiene es muy muy alta. Si para crear estructuras sobre todo más abstractos que las que estamos usando aquí.

01:03:57:05 Bueno, voy a comentar entonces digamos algunas conclusiones así a groso modo, eh? Pues digamos que y la noción de módulo es muy interesante porque precisamente ahí aparecen todas estas características, hace que se comprenda bastante y la buena parte de la programación la hace más eficiente. El uso del módulo en sí es mucho mejor que a veces crear métodos que se repiten y más bien hacer esa encapsulación genera eficiencia y hace que los códigos como que sean mucho más fuertes.

01:04:45:22 Hay autonomía para, para, digamos, para el autor que esté trabajando porque puede crear sus propias estructuras. Obviamente esto es interesante para para crear, digamos, de investigación, que se enfoquen en conjuntos de objetos que tengan cosas similares. Sí, que no sean tan fáciles de plasmar en, digamos, como en la práctica. Si lo que les estaba diciendo al comienzo y objetos tan abstractos que a veces hacer cuentas con ellos es muy complicado porque sus operaciones son y son demasiado un y su forma de diseño no son tan sencillas.

01:05:17:17 Es posible hacer un mapeo utilizando módulos? Sí, y pues de otro modo. La última característica que aparece aquí que la librería en si y toda la posibilidad de utilizar también herramientas que gan en Internet código a Internet. Eso pues le da mucha, mucha mayor fuerza, digamos, a los trabajos que se pueden hacer con el software. A groso modo es esto es como lo más importante.

01:05:55:26 Digamos que les quería presentar, es simplemente una muestra muy pequeña de todo lo que se puede hacer con motores sin por ahí sería entonces más o menos y alguno que quería presentarles al pues yo creo que ahora si, si tienen preguntas. Muchas gracias profesor William, muy muy amable. Entonces si exactamente. Vamos a darle la posibilidad a nuestros participantes si ustedes quieren expresar sus preguntas.

01:06:31:07 De igual forma también tenemos tres preguntas acá para el profe que han realizado a nuestros participantes a través de un chat. Entonces vamos a permitir si de pronto alguno de ustedes quiere generar la pregunta y si no pasamos a estas preguntas? Chat y preguntas se puede programar? A ver que por que no preguntas? Trate de no decir la primera.

01:07:14:18 Bueno, David pregunta nos dice bueno si es la primera vez, pero se puede programar la frecuencia de sonido en Maipú? Frecuencia de sonido en Maipú? A ver, no soy experto en física conociendo aparte digamos acerca de la frecuencia de sonido, pero estoy seguro que se puede hacer muchas cosas con eso. Estoy seguro de que se puede hacer. O sea, como que lo que uno no cree, que lo que hay elementos tan abstractos que uno pensaría que que, y lo digo por experiencia propia, hay una estructura con la que trabajé que era una cosa de tipo algebraico y no conmutativa.

01:07:45:04 Hacer cuentas con eso era demasiado complicado. La noción de modulo fue la que a mi me pegó, digamos a mi como tal, y esa fue la que me dio como la idea de cómo construir la estructura y ya después hacer operaciones y eso ya salía mucho más sencillo, pero la noción de módulo me permitió hacer eso. Ahora bien, hay utilidades, seguir series de física, por ejemplo, que pueden hacer que la creación sea mucho más sencilla, sea mucho más sencilla.

01:08:14:19 Entonces, a groso modo, no te podía responder con solidez porque no conozco mucho acerca de lo que me estás diciendo, porque me hablas de frecuencia de sonido, pero estoy seguro de que se podrías hacer alguna cosa muy buena trabajando con algún contexto físico en ese sentido. Entonces, si no te voy a responde la parte de como se podría hacer, porque tendrías que de pronto no sé ser más concreto, digamos, sino que se querría mirar.

01:08:51:06 No sé si hay otra pregunta. Claro que sí, profe William Bueno, entonces aquí una de las preguntas de nuestros panelistas es qué diferencia hay entre las variables locales y globales en una programación dentro de Maipú? Si no, pues las variables locales son variables, por decir algo. A ver, miremos a ver si yo tengo por acá un código PHP de saber por acá arriba de las del comienzo.

01:09:26:03 A ver por ejemplo aquí. A ver, no es que miremos con un procedimiento, más bien el comienzo por acá arriba es por ejemplo acá esta función que era de la del comer. Si por ejemplo aquí aparece la área local B listo, entonces esa variable local, esa variable local es el valor que toma aquí X1. Bien, yo por ejemplo, vamos a utilizar, por ejemplo, restar, le asignamos la lista, voy a hacer lo siguiente traigan unos para acá.

01:09:55:26 Si coloquemos aquí a B, con lo que le abre un bucle, un valor cuatro. Bien, entonces a la lista se les asignando, pues el valor a veces es asignado. Cuatro. Si esta B es una variable que está por fuera de la función, si ésta sería como valor global, está tomando bien, pero es distinta a la que está acá que esta casa tomando precisamente.

01:10:25:16 Es el valor de la primera componente de la lista, el valor de la primera componente de la lista Esto, pero cuál es el P Aquí después de ejecutar la

Usemos Maple para la creación de estructuras matemáticas


Se presentará a través de ejemplos prácticos el uso de algunos elementos de Maple que permiten crear estructuras matemáticas y de esta forma ilustrar una pequeña parte del inmenso potencial del software en el desarrollo de herramientas para la solución de problemas abstractos y aplicados.

Etiquetas relacionadas

  • Computación simbólica
  • Enseñanza matemática
  • Matemáticas

¡Comparte este video con tus colegas!

Compartir

Ver más

Cotizar
Próximos
Eventos

X

Mis cotizaciones:

Comentarios a tu solicitud:

Cotizar