Spelling suggestions: "subject:"lenguaje dde programación"" "subject:"lenguaje dee programación""
21 |
Diseño causal de sistema piramidal para aprendizaje colaborativo de los lenguajes de programaciónRosa de Rivera, Verónica Idalia 21 July 2021 (has links)
Esta tesis doctoral ha provocado un cambio de actitud y mentalidad; porque la forma de realizar investigación hasta el momento había sido basada en resultados, es decir, primero se piensa cual será el resultado que se obtendrá o hacia donde se debe llegar, que es lo que se va a producir, utilizando en este caso el método de abajo hacia arriba (bottom up). Sin embargo, este informe se ha realizado bajo una metodología causal, es decir, interesa conocer primeramente cual será el modelo para luego contestar preguntas ¿qué es? y ¿para qué es?, debido a que así se decide un modelo que servirá de marco a la solución y se concretan los objetivos, ya sin ambigüedad, que se persigue alcanzar. Posteriormente se irán contestando las preguntas de ¿cómo?, ¿cuándo? y ¿quién lo hará? Porque así se establece la estructura de la solución, la tecnología que la soportará, y el contexto. Por esa razón, este trabajo aborda aspectos diferentes a las formas tradicionales de resolver un problema en particular, sobre el cual ya se conocen otras soluciones. El método bottom-up puede utilizarse cuando se conoce de antemano la solución por otros casos parecidos; y el top-down es el método general cuando no se tiene mayor conocimiento previo sobre cuál puede ser la solución. De allí que para esta investigación se ha hecho uso del método top-down. Por lo tanto, el grado de Doctora permitirá, resolver problemas haciendo uso de método científico, procurando evitar incorporar arbitrariedad o reduciendo esta a su mínima expresión y, con ello, garantizando la calidad de la solución. Se persigue producir un avance en el estado del conocimiento, en el caso particular de la educación piramidal en el que se ha trabajado bajo un enfoque colaborativo jerarquizado, para la enseñanza de los lenguajes de programación, a través de una plataforma didáctica virtual, en la cual personas con un nivel de educación superior pueden tutorar a otros de nivel educativo inferior para, de esa manera, poder mejorar el proceso de enseñanza-aprendizaje en la Universidad Tecnológica de El Salvador, aunque cabe mencionar que este proyecto podrá ser aplicado a cualquier institución educativa ya sea formal o informal. El objetivo principal es que mediante la educación piramidal y por medio del uso de una plataforma virtual, se pueda dar apoyo en el aprendizaje de cualquier área del conocimiento, que en el caso particular se abordarán los lenguajes de programación, por ser parte fundamental de las carreras de Informática y del área de competencia docente de la autora.
|
22 |
Desarrollo del software de un sistema SCADA para la distribución de agua potable en la quebrada de ManchayFlorencio Inga, Pedro Pablo 20 September 2012 (has links)
En la actualidad los sistemas de distribución de agua potable implementados son
monitoreados, controlados y supervisados desde un Centro de Control, para lo cual
se emplean los sistemas SCADA.
El objetivo del presente trabajo es desarrollar la aplicación en el software del
sistema SCADA, para el proyecto de distribución de agua potable en la quebrada
de Manchay. La distribución de agua se realiza a través de 23 estaciones de
bombeo distribuidas a lo largo de todo el pueblo.
El sistema de distribución de agua potable en Manchay consiste de 4 partes
fundamentales: telecomunicaciones, instrumentación, sistema eléctrico y el sistema
de control y automatización, esta última parte se relaciona directamente con el
presente trabajo, el cual incluye el desarrollo de la programación para realizar el
monitorio, control y supervisión de las estaciones de bombeo.
Como parte de la implementación del sistema, se hizo configuración de
instrumentos para que puedan transmitir la información a los controladores para
tener lecturas del proceso como presión, flujo y nivel. Se procedió con el desarrollo
de aplicaciones para los Paneles de Operador o Interfaces Hombre Maquina (HMI)
con el propósito de realizar un control y monitoreo local de los equipos instalados
en cada estación. Se realizaron pruebas en el Centro de Control para verificar el
enlace de las señales de campo, así como pruebas con los equipos en las
estaciones de bombeo que realizan el control automático y remoto (comandos
desde el Centro de Control) del proceso de distribución de agua.
|
23 |
Intérprete y entorno de desarrollo para el aprendizaje de lenguajes de programación estructuradaHirsh Martínez, Layla 30 November 2011 (has links)
Este proyecto tiene como objetivo principal el diseño, desarrollo e implementación de un
intérprete de un lenguaje de programación que pueda ser usado en los primeros cursos de
introducción a la computación. El trabajo muestra cómo se pueden crear intérpretes, lo que
en nuestro país tiene escasa tradición, a diferencia de lo que ocurre en los países más
desarrollados. Además, presenta un entorno de desarrollo integrado para facilitar la
introducción a la programación, ofreciendo un ambiente amigable y un lenguaje de
programación totalmente basado en el idioma español. En opinión de la autora esta
segunda característica favorecerá a que el alumno entienda mejor el lenguaje y los
procesos de computación.
En el capítulo 1 del presente documento se presenta la descripción del problema de escoger
un lenguaje adecuado para la enseñanza de los primeros cursos de programación, las
opciones que tenemos en nuestra actualidad y una posible solución a este problema.
En el capítulo 2 se formula una propuesta que resuelve el problema planteado en el capítulo
1 que permite definir el lenguaje, su funcionamiento y el entorno en el que se ha de ejecutar.
El capítulo 3 presenta la implementación del intérprete y la del entorno, propuestos
anteriormente.
En el capítulo 4 se exponen las observaciones, conclusiones, recomendaciones y trabajos
futuros, tanto del intérprete como del entorno.
|
24 |
Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de códigoGómez Díaz, Renzo Gonzalo, Salamanca Guillén, Juan Jesús 06 September 2012 (has links)
Este trabajo trata sobre la implementación de un intérprete para un lenguaje
propio, que incluye algunas características que no son abordadas en cursos
básicos de Desarrollo de Compiladores. Estas características son: lenguaje
de programación orientado a objetos, modificación dinámica de código y
optimización de código intermedio.
El objetivo de este proyecto es presentar estas características, proponer una
forma de implementación de las mismas y finalmente proceder a
implementarlas. De tal manera que este trabajo contribuya al aprendizaje de
construcción de intérpretes o compiladores, sirviendo como un caso de
estudio para aquellas personas que tengan como objetivo profundizar en el
tema, y por consiguiente un posible punto de partida para futuros trabajos.
Por otro lado, es necesario validar los resultados obtenidos por el optimizador,
así como la eficiencia de la forma implementación escogida, por lo que se
incluye también una experimentación numérica que permite comprobar las
hipótesis planteadas al inicio.
En la primera parte, se define el problema identificado, luego se describe un
breve marco teórico con los principales conceptos involucrados en el
desarrollo del proyecto, seguidamente se muestra el estado del arte con
relación a compiladores e intérpretes y se describe la solución al problema
planteado al inicio. En la segunda parte, principalmente, se describen los
objetivos del proyecto, los aportes específicos, los resultados esperados y las
hipótesis.
Como se mencionó anteriormente, uno de los objetivos que se persigue es
que la tesis pueda servir como un caso de estudio para las personas
interesadas y una posible base para trabajos futuros; por lo tanto, es
necesario explicar la implementación con un nivel de detalle adecuado. En
ese sentido, se describe las distintas partes de la implementación escogida:
se comienza con la descripción de la gramática del lenguaje, después se
describen las estructuras utilizadas, algunas operaciones primitivas, el código
intermedio generado, las principales acciones semánticas, la
interpretación, la administración de memoria, los algoritmos de
optimización, el diseño del IDE y el ambiente de desarrollo.
|
25 |
Entorno de desarrollo para la ejecución y traducción de pseudocódigoJara Loayza, Juan Carlos 23 June 2014 (has links)
El presente proyecto de fin de carrera corresponde a la construcción de un entorno de
desarrollo que permita la ejecución y ejecución de pseudocódigo como herramienta de
apoyo a las etapas de diseño, ejecución y validación de un algoritmo. Se permitirá la
traducción a VBA, Java, Ruby, Python y c++.
El documento presenta siete capítulos, en el primer capítulo se describen
generalidades del proyecto como la problemática, objetivo general, objetivos
específicos, resultados esperados, alcance, justificación, viabilidad y plan de
actividades del proyecto.
En el segundo capítulo se presenta el marco conceptual donde se describen los
conceptos necesarios para entender el problema que se desea solucionar con el
presente proyecto.
En el tercer capítulo se presenta el estado del arte. En lo referente al estado del arte
se realizó una búsqueda entre productos comerciales y no comerciales que intentan
solucionar algunos aspectos del problema a resolver.
En el cuarto capítulo, se describe cómo se realizó la definición y la validación de la
gramática del pseudocódigo mediante el uso de la notación BNF.
En el quinto capítulo se presenta el desarrollo del intérprete que permite la ejecución
del pseudocódigo y del traductor que permitirá transformar el pseudocódigo a código
en VBA, Java, Ruby, Python y C++.
En el sexto capítulo se realiza la descripción del entorno de desarrollo que permitirá la
integración del intérprete y traductor para que puedan ser utilizados por el usuario
final.
En el séptimo capítulo se exponen las conclusiones.
|
26 |
Implementación de una herramienta de traducción y verificación de programas diseñados en diagrama de flujo utilizando como paso intermedio pseudocódigoPalomino Masco, Jairo Abner 13 November 2014 (has links)
Este proyecto de fin de carrera parte de la ausencia de herramientas que sirvan de
ayuda para aquellos alumnos que quieran aprender a programar. Si bien existen
programas que permiten generar diagramas de flujo y luego exportarlos a un
lenguaje de programación, estos no poseen un compilador que permita detectar
errores de sintaxis, que pueda poseer la solución. Por ello se plantea implementar
un proceso de traducción y verificación de programas diseñados en diagrama de
flujo utilizando como paso intermedio pseudocódigo, para que el alumno pueda
preocuparse más en la lógica de su solución, que en la sintaxis o estructura del
lenguaje de programación, a codificar.
Para realizar este proyecto se definió una serie de objetivos específicos. En primer
lugar se desarrolló un entorno para dibujar diagramas de flujo, para ello se
adaptaron las librerías de Microsoft office que ofrecen las herramientas necesarias
para la creación del entorno de trabajo.
Luego, se definió la gramática que almacena la sintaxis del pseudocódigo
utilizando la notación Backus-Naur Form (BNF). Después se implementó el método
de conversión del formato XML de Microsoft office, representación del diagrama de
flujo, a pseudocódigo utilizando la sintaxis definida anteriormente y un editor de
texto en el cual se muestre el resultado de la conversión al usuario.
Finalmente se implementó el intérprete que utiliza la gramática para verificar que el
código se encuentre léxicamente, sintácticamente y semánticamente correcto. De
esta manera los alumnos podrán obtener a partir de un diagrama, el cual al ser
gráfico es de fácil entendimiento, el código de su programa sin necesidad de
conocer la sintaxis del mismo y validado.
|
27 |
Estudio del lenguaje de programación Haskell, ventajas y desventajas con respecto a otros lenguajes de programaciónInca Chiroque, Julita 08 April 2013 (has links)
El trabajo de tesis presenta al lenguaje de programación Haskell y realiza un estudio comparativo con respecto a lenguajes de programación que son promovidos con gran impacto en la actualidad en los ambientes: académico, industrial y científico.
Los lenguajes de programación que servirán como puntos de referencia de comparación para el presente estudio son: C/C++, Java y GOlang.
Los criterios de comparación tomados en cuenta en el estudio son: fácil escritura, fácil lectura, confiabilidad, soporte de genéricos y reflexión.
Se elige comparar los lenguajes mencionados con el lenguaje de programación Haskell, porque es un lenguaje que ha significado un reto para los estudiosos en Ciencias de la Computación de las universidades más prestigiosas del mundo, quienes diseñaron un lenguaje de programación que mejora y supera errores de diseño de lenguajes de programación convencionales.
En el primer capítulo se referencia estudios realizados acerca de los lenguajes de programación en las últimas décadas, la popularidad e impacto que tienen en el ámbito académico, industrial y científico, los lenguajes de programación C/C++, Java y GOlang. En el segundo capítulo se referencia estudios realizados acerca de la categorización de los lenguajes de programación a lo largo de la historia de los lenguajes de programación. En el tercer capítulo se detalla cada uno de los lenguajes de programación en mención, su origen, evolución, aplicaciones y tecnologías desarrolladas en las últimas décadas. En el cuarto capítulo se describen los criterios de evaluación de un lenguaje de programación, según autores de prestigio en el campo de las ciencias de la computación. En el quinto capítulo se realiza un estudio y desarrollo de programas en los lenguajes de programación elegidos para poder evaluar las ventajas y desventajas, con respecto a los criterios de evaluación elegidos: fácil escritura, fácil lectura, confiabilidad, soporte de genéricos y reflexión. / Tesis
|
28 |
Discovering memory optimization opportunities by analyzing shareable objectsInfante Rica, Alejandro José January 2017 (has links)
Magíster en Ciencias, Mención Computación.
Ingeniero Civil en Computación / Los lenguajes modernos de programación orientada a objetos han aliviado de manera impor- tante a los programadores la tarea de administrar memoria. A pesar de la eficiencia de los recolectores de basura y herramientas de análisis de programas en tiempo real, aún existe una porción importante de memoria siendo desaprovechada.
El desaprovechamiento de memoria en software posee graves consecuencias, incluyendo frecuentes interrupciones en la ejecución debido a la presión ejercida sobre el recolector de basura y el uso ineficiente de dependencias entre objetos.
Hemos descubierto que supervisar los lugares de producción de objetos y la equivalencia de los objetos producidos es clave para identificar ineficiencias causadas por objetos redundantes. Hemos implementado optimizaciones para reducir el consumo de memoria de seis aplicaciones industriales, obteniendo una reducción superior al 40% en el uso de memoria en la mitad de las aplicaciones sin poseer conocimiento previo de las mismas.
Nuestros resultados replican parcialmente los resultados obtenidos por Marinov y O Callahan y exploran nuevas formas de identificar objetos redundantes. / Este trabajo ha sido parcialmente financiado por CONICYT-PCHA/Magíster-Nacional/2015-22150809
|
29 |
Evaluación de motores de videojuegos: caso Andengine y LibGDXCumpa Torres, José Moisés January 2014 (has links)
Publicación a texto completo no autorizada por el autor / Propone una guía que permita a desarrolladores interesados elegir un motor de videojuegos adecuado y en tiempo óptimo. En el desarrollo de videojuegos los cambios a nuevas tecnologías son frecuentes. Actualmente está en auge los juegos móviles y eso implica que existan también varios motores de videojuegos para estas plataformas móviles. Ante la existencia de varios motores de videojuegos tanto open source como propietarios es un reto decidir qué motor se va a utilizar por eso es que en este trabajo se propone una guía que permita resolver esa duda. En esta investigación se incide en la lectura de varios papers que contienen temas de investigación acerca de los motores de videojuegos. Se usan como ejemplo dos motores para plataforma Android y con ellos se presenta un caso práctico que pone en ejecución la propuesta de la guía. / Trabajo de suficiencia profesional
|
30 |
Diseño e Implementación de PHANtom, un Lenguaje de Aspectos para Pharo SmalltalkGaldames Grünberg, Daniel Andrés January 2011 (has links)
La programación orientada a aspectos es un paradigma de programación que intenta solucionar el problema de las funcionalidades transversales, esto es, funcionalidades de la aplicación que están dispersas por muchas áreas del código, y no pueden separarse en forma eficiente usando el paradigma de programación orientada a objetos.
Un aspecto representa una funcionalidad transversal de la aplicación. Éste incluye en su definición un pointcut, que representa un conjunto de puntos en la ejecución de la aplicación que van a ser capturados por el aspecto, y un advice, que representa la funcionalidad del aspecto, esto es, el código que va a ser ejecutado en los puntos capturados.
En este trabajo se diseñó e implementó un lenguaje de aspectos para el lenguaje de programación Pharo Smalltalk, donde se incluyeron características destacadas de otros lenguajes de aspectos, junto a nuevas funcionalidades que le otorgan un mayor control y flexibilidad al lenguaje desarrollado.
El lenguaje desarrollado incluye un sistema de definición de patrones para la definición de los pointcuts, reglas de precedencia globales y a nivel de pointcut. También contiene modificadores de clases similares a las inter-type declarationsde AspectJ, y un sistema de control dinámico en el orden de ejecución de los advice.
Para el lenguaje desarrollado se implementó el concepto de membranas computacionales.
Éstas son una forma de controlar el alcance que tienen los aspectos en el sistema, permitiendo controlar problemas como la reentrancia en los aspectos, esto es, cuando un aspecto captura un evento desencadenado por sí mismo. Junto a esto, las membranas computacionales son capaces de controlar la visibilidad que los aspectos tienen sobre el sistema donde son instalados.
Se creó una suite de test usando el framework para test unitarios de Pharo Smalltalk, para comprobar el correcto funcionamiento del lenguaje desarrollado, además, se comprobó el grado de cobertura de la suite de test usando el software Hapao.
Finalmente, se comprobó el funcionamiento del lenguaje de aspectos desarrollado, usándolo para refactorizar algunas partes del software de análisis dinámico de código Spy. Se realizaron algunos benchmark para comprobar el sobrecosto generado por la infraestructura de aspectos desarrollada, donde se pudo apreciar un sobrecosto variable, siendo elevado en algunos casos.
|
Page generated in 0.1005 seconds