Skip to main content
Repository - Classic versión
Home
  • Collections
    • Institutional
    • Divulgation
    • Research
    • Teaching
    • Transfer
  • UNESCO Subjects
  • About Azahar
    • What is the repository?
    • Ontology
    • Mission and objectives
    • Content policy
  • Resources
  • Glossary

Search

Sevilla-Campus Sur - Lenguajes De Programación y…

Icono-ficha-sala
https://fcrepo.contenidosdigitales.uned.es/fcrepo/rest/7f/3d/9a/ed/7f3d9aed-f65d-4ecf-9a2a-3f2a2de95a09
Full Name
Sevilla-Campus Sur - Lenguajes De Programación y Procesadores(71022028)
Description

Luis Fernando Maroto Cejudo,Lunes 18:30-19:30

ROOM

Room Code
222293

Occurrences

Sesión nº11: aspectos pragmáticos programación

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
Sesión nº11: aspectos pragmáticos programación

Sesión nº11 del 13 de mayo de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

Hemos visto el último tema del libro Tema 6. Aspectos pragmáticos de los lenguajes de programación en el que se sientan las bases para reconocer aquellas propiedades deseables en un lenguaje de programación. Así mismo se introduce el concepto de interacción e interoperabilidad entre programas, contexto habitual de trabajo.

Visto rápidamente ejercicios de examen de la convocatoria anterior de examenes.

Sesión nº 10: PROGRAMACIÓN CONCURRENTE Y PROGRAMACIÓN…

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
Sesión nº 10: PROGRAMACIÓN CONCURRENTE Y PROGRAMACIÓN…

Sesión nº 10 del 29 de abril de 2018 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

Hemos estado viendo el paradigma de programación concurrente usando para ello Pascal FC. Es este un lenguaje basado en Pascal por lo que comparte su sintaxis y reglas pero donde se introduce el concepto de proceso donde más de un proceso pueden estar en ejecución simultáneamente. Eso puede tener efectos no deseados de que se mezclen la salida de varios procesos por lo que se hace necesaria la sincronización. El mecanismo para conseguir la sincronización se lleva a cabo mediante semáforos, tipo de datos al que el acceso está restringido a un solo proceso y con operaciones sencillas como wait y signal permite la ejecución concurrente pero controlando el orden de la ejecución. Sobre este paradigma de programación, los ejercicios de examen planteados en años anteriores han sido siempre de corte teórico a excepción del ejercicio de septiembre del curso pasado.

Hemos visto el paradigma de programación basada en objetos usando Java. Hemos analizado conceptos que seguro que todo alumno debe conocer de otras asignaturas de programación vistas en el grado tales como clases, objetos, atributos, métodos, estado, métodos de tipo get y set, encapsulación, polimorfismo, clases y métodos abstractos entre otros. Estos conceptos han sido ampliamente aclarados usando los ejemplos del libro usando para su ejecución el entorno de desarrollo Eclipse. En exámenes de años anteriores han aparecido preguntas de corte teórico y algún ejercicio práctico por lo que es importante practicar lo más posible.

Sesión nº9 PROGRAMACIÓN FUNCIONAL Y LÓGICA

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
Sesión nº9 PROGRAMACIÓN FUNCIONAL Y LÓGICA

Sesión nº9 del 22 de abril de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

Se veía el paradigma de programación funcional mediante el lenguaje de programación Haskell. Es un lenguaje que simplemente permite la definición de funciones para el cálculo de tareas más o menos sencillas. Para ejecutar los programas he usado Hugs que es un intérprete bytecode para el lenguaje funcional Haskell. Ofrece compilación rápida y una velocidad de ejecución aceptable por si queréis usarlo para practica con Haskell. A la programación lógica junto a la programación funcional se le denomina conjuntamente programación declarativa. Hemos visto ejemplos suficientes de trabajo con este tipo de programación en el que conceptos como la recursividad final y no final así como el paso de una función a otra función son elementos clave.

Finalmente hemos visto el paradigma de programación lógico mediante el lenguaje de programación Prolog. Es un lenguaje basado en una base de conocimiento (definida a través de hechos) que simplemente hacen una serie de afirmaciones, por defecto verdaderas. A partir de esta base se pueden definir reglas que tendrá un resultado lógico en función de las expresiones que dentro de ella se evalúen. A destacar que este lenguaje usa la coma para el “y lógico”, el punto y coma para el “o lógico”, not para la negación y el final de las sentencias de hace con un punto. A la programación lógica junto a la programación funcional se le denomina conjuntamente programación declarativa. Hemos visto ejemplos suficientes de trabajo con este tipo de programación en el que conceptos como la recursividad se introduce también. En años anteriores se han pedido ejercicios hechos con prolog por lo que interesa que hagáis y ejecutéis el mayor número de programas posibles.

Sesión nº8: Lenguajes de script

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
Sesión nº8: Lenguajes de script

Sesión nº8 del 8 de abril de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

En dicha tutoría hemos hecho una introducción a los lenguajes script como lenguajes de programación que permiten interactuar de manera muy simple con otras aplicaciones y programas. Vimos que los dominios de aplicación de los lenguajes script son muchos y que debéis de conocerlos como mínimo a nivel teórico pues es algo que han solido preguntar en exámenes de años anteriores.

Hemos visto los scripts de Linux que permiten automatizar tareas dentro del sistema operativo (algo parecido a los ficheros por lotes de ms-dos, es decir, los famosos archivos .bat) Para poder ejercitarse con estos scripts es muy recomendable tener un sistema operativo linux y como ya aconsejara no es necesario instalarlo pues podemos

Usar un dvd-live/ usb-live para arrancar nuestro ordenador con él y tener el sistema operativo en modo live en nuestro ordenador.

Crear una máquina virtual con herramientas de virtualización como VirtualBox o VMWare e instalar una distribución linux. Para ambas situaciones recomiendo la distribución Ubuntu.

Aunque no lo he utilizado, me consta que existe una aplicación para windows llamada Cygwin, que al parecer permite también la ejecución de scripts de linux en windows.

Hemos estado viendo el lenguaje script Perl, que siendo este un lenguaje de script multidisciplinar tiene un uso muy interesante para procesar textos. Dentro de los ejemplos del material proporcionado en clase, un uso muy habitual es el uso de las expresiones regulares que permiten la búsqueda/sustitución de texto dentro de archivos o simplemente dentro de la información pasada a través del terminal.

Otro uso de interés de Perl es usar perl como lenguaje script dentro de las páginas web utilizando los cgi. Los cgi son un mecanismo que surgió para intentar dotar de un mecanismo para incorporar en las páginas web el resultado de la ejecución de algún programa de tipo script (perl, scripts de Linux) o no (C, Pascal, Java…)

También mencionamos como dentro del tema 3, Paradigma de los lenguajes de programación se estudia otro lenguaje script como Ruby, lenguaje dinámico.

Sesión nº7 Análisis Sintáctico Descendente

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
Sesión nº7 Análisis Sintáctico Descendente

Sesión nº7 del 1 de abril de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

Hemos realizado ejercicios de examen del curso pasado relativos al análisis sintáctico descendente para trabajar sobre la ambigüedad en las gramáticas, las gramáticas LL(1) como ejemplo de gramáticas no ambiguas, el cálculo de los conjuntos de PRIMEROS, SIGUIENTES así como los CONJUNTOS DE PREDICCIÓN que permite garantizar si una gramática es LL(1). Insisto en que debéis controlar lo más posible este tema pues es muy habitual que pongan ejercicios en todas las convocatorias de examen sobre este apartado.

SESIÓN Nº6: ANÁLISIS SINTÁCTICO

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
SESIÓN Nº6: ANÁLISIS SINTÁCTICO

Sesión nº6 del 25 de marzo de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

En dicha tutoría se trató el tema 2 Procesadores del Lenguaje.

Hemos visto en que consiste el análisis sintáctico, como reconocedor de la sintaxis usada para escribir los programas. La forma de proceder en el análisis parte de intentar encontrar las reglas de producción de la gramática y bien mediante cadenas de operación o con árboles de análisis sintáctico poder ver si una frase puede ser expresada por la gramática. Es habitual que pregunten en los exámenes sobre gramáticas BNF y EBNF así como sobre la ambigüedad de las gramáticas así como la derivación sintáctica de las frases como hemos visto con algunos ejemplos, en concreto el ejercicio 1 de la convocatoria de septiembre del curso pasado. Podéis ver este tipo de ejercicios aparecidos en exámenes de años anteriores en mi página web http://tinyurl.com/luismarotounedsevilla. En análisis sintáctico está dentro del análisis del compilador iniciado la sesión anterior en busca de la transformación de los lenguajes de alto nivel a código ejecutable, donde el análisis sintáctico es el paso siguiente tras el análisis léxico.

El análisis sintáctico trabaja con los tokens pasados por el analizador léxico y trata de ver si dichos tokens se ajustan a un lenguaje libre de contexto reconocible por una gramática libre de contexto, escrita de manera general o en BNF o EBNF.

Es habitual que pregunten en los exámenes sobre la ambigüedad de las gramáticas así como la derivación sintáctica de las frases. Podéis ver este tipo de ejercicios aparecidos en exámenes de años anteriores en mi página web.

Hemos comenzado a ver el análisis sintáctico descendente, que consiste en encontrar las reglas usadas para obtener una frase partiendo del axioma. Para poder automatizar el proceso y que el compilador lo tenga más fácil, es conveniente usar analizadores LL(1) que permiten decidir que regla usar dado un no terminal y un terminal de la frase que está siendo procesada. Es fundamental encontrar el conjunto de PRIMEROS Y SIGUIENTES para poder encontrar los CONJUNTOS DE PREDICCIÓN. El cálculo de estos conjuntos también aparece habitualmente en los exámenes. Será estos y su cálculo lo que veamos la próxima tutoría.

SESIÓN Nº5: COMPILADOR, ANÁLISIS LÉXICO, PED 1 (JFLEX)

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
SESIÓN Nº5: COMPILADOR, ANÁLISIS LÉXICO, PED 1 (JFLEX)

Sesión nº5 del 18 de marzo de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

Tratando el tema 2 Procesadores del Lenguaje.

El compilador es el elemento principal que nos va a llevar de lenguajes en alto nivel a código ejecutable. Se han analizado las partes del compilador, centrándonos en las que dependen del lenguaje de programación que no de la arquitectura del hardware a saber: análisis léxico, sintáctico y semántico.

Hemos visto en que consiste el análisis léxico, como reconocedor del vocabulario o tokens con los que se ha escrito un programa. Debe quedar muy claro la diferencia entre token, patrón léxico y lexema, pues lo han preguntado en exámenes de otros años. Vimos que para describir los tokens y que el analizador los pueda reconocer se usan bien gramáticas lineales o expresiones regulares.

Hemos analizado como la primera parte de la PED consiste en crear un analizador léxico usando jflex. La opción más recomendables es una vez descargado el programa utilizar alguno de los ejemplos, por ejemplo, el de java, y sobre este empezar a hacer pruebas para dar forma a lo pedido en la ped.

Sesión nº4: dom, simple xmp, arrays asociativos, php,…

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
Sesión nº4: dom, simple xmp, arrays asociativos, php,…

Sesión nº4 del 11 de marzo de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

Hemos visto la forma de crear documentos xml mediante DOM. Se han visto ejemplos en PHP (podéis compararlos con los códigos escritos en Java disponibles en mi página web. Estos códigos y los de PHP son muy similares entre sí en cuanto a instrucciones y metodología). Los códigos fuente usados los tenéis disponibles en mi página web http://tinyurl.com/luismarotounedsevilla que podéis ejecutar instalando el paquete xampp y usando eclipse para editar el código php.

A la hora de trabajar mediante DOM en PHP es muy interesante el uso de Simple XML, que simplifica la notación de trabajo con el árbol DOM generado a partir de un XML.

Se ha visto la solución a un ejercicio sobre php aparecido el curso pasado.

Se han tratado someramente los arrays asociativos, cuestión que ha sido preguntada en alguna convocatoria de años anteriores.

Mecanismos de vinculación de documentos mediante XPATH, XPOINTER Y XLINK.

Sesión nº3: PED 2ª PARTE, DTD, ESPACIOS DE NOMBRES,…

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
Sesión nº3: PED 2ª PARTE, DTD, ESPACIOS DE NOMBRES,…

Sesión nº3 del 4 de marzo de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

Hemos visto el enunciado de la 2ª parte de la práctica. Dentro de esta segunda parte, en el apartado b, se pide también diseñar un fichero PHP que permita la creación a partir de un fichero XML válido una página web. Para ello se hace imprescindible que aquellos alumnos que no tengan experiencia en la creación de páginas web estudien HTML para poder afrontar con garantías esta parte de la práctica.

Se comentó que la fecha recomendada para la entrega opcional de la segunda parte de la práctica será el 27 de MARZO. Así puedo echarle un vistazo y comentaros y ayudaros en los fallos producidos. La fecha para la entrega final de toda la PED será el 3 DE JUNIO a las 23:55 ya que la fecha máxima de la que dispongo para subir dar las notas al equipo docente es el 10 de junio.

Hemos realizado el ejercicio 4 a de la convocatoria de septiembre del 2018 en la que se pedía generar el xml esquema de un xml. Muy parecido en cierto modo a lo que se pide en la 2ª parte de la ped en el apartado a.

Hemos estado viendo cual es el software necesario para poder desarrollar el apartado B de la 2ª parte de la PED. Se ha comentado la necesidad de usar un servidor Apache que incorpore la ejecución de php. Se ha considerado la instalación del paquete xampp como la opción más cómoda para tener todos estos elementos instalados de una sola vez. Así mismo es necesario un IDE para escribir el código fuente. Eclipse o Dev PHP pueden ser algunos de los entornos para ello. Además sería interesante que instalarais un debugger de php para ser capaces de depurar los programas, ya que al ser el servidor web el que ejecuta los códigos, eclipse no permite directamente la depuración.

Hemos repasado el Analizador por Eventos XML Parser de PHP que permite el procesamiento de ficheros xml tal como pide la el apartado b de la 2ª parte de la PED. Hemos visto algunos ejemplos que han sido tomados en parte de la página php.net

Sesión nº2: xml, xml schema

Video clase privado Creative Commons: Reconocimiento - No comercial - Compartir igual
Sesión nº2: xml, xml schema

Sesión nº2 del 18 de febrero de 2019 de la asignatura LENGUAJES DE PROGRAMACIÓN Y PROCESADORES (71022028), asignatura perteneciente al 2º curso del GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN . En dicha tutoría:

Comentamos que ya está disponible el enunciado de la práctica en alf. Estuvimos comentando el apartado a de la segunda parte de la práctica que consiste en crear un XML-Schema que valide los documentos XML que contienen un repositorio con perfiles de linkedin. Esta parte con lo visto en la tutoría de ayer se puede resolver. Dentro de esta segunda parte, en el apartado b, se pide también diseñar un fichero PHP que permita la creación a partir de un fichero XML válido una página web. Para ello se hace imprescindible que aquellos alumnos que no tengan experiencia en la creación de páginas web estudien HTML para poder afrontar con garantías esta parte de la práctica.

Estuvimos viendo la estructura de la información hecha en xml y como validar la forma en la que está escrita mediante esquemas XML Schema.

Pagination

  • Page 1
  • Next page ››
Subscribe to Sevilla-Campus Sur - Lenguajes De Programación y…
footer-logo

Repository of digital content driven and promoted by the Vicerrectorado for Educational Innovation of the UNED.

Legal

  • Legal notice
  • Privacy policy
  • Cookies policy

Contact

  • Support
  • Suggestions mailbox

Repositories

  • CANAL UNED
  • CADENA CAMPUS
  • GICCU

Help

  • Mission and objectives
  • Reuse policy
  • Content preservation policy
  • Content policy
  • FAQ

© 2024 INTECCA - Digital content repository