Spelling suggestions: "subject:"computadoras electrónica"" "subject:"computadoras electrónicos""
11 |
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.
|
12 |
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.
|
13 |
Diseño e implementación del filtro mediano de dos dimensiones para arquitecturas SIMDSánchez Loayza, Ricardo Miguel 04 October 2011 (has links)
El filtro mediano es una de las operaciones básicas en el procesamiento de imágenes
digitales, su función es la de eliminar el ruido impulsivo sin alterar la información de
la imagen. A pesar de estas características, su uso se ve restringido debido al alto costo
computacional del filtro. Las propuestas tradicionales de solución, consisten en disminuir la
complejidad del algoritmo del filtro mediano, y en vectorizar los algoritmos existentes. Esta
vectorización se realiza al utilizar las unidades SIMD (Single Instruction Multiple Data -
Instrucción Única Múltiples Datos) de los procesadores modernos. Ésta les permite realizar
una misma operación a un conjunto, o vector, de datos de manera simultánea, con lo que se
obtiene un mejor desempeño computacional.
En el presente trabajo se implementa el filtro mediano con el algoritmo vectorial propuesto
por Kolte [1], el cual aprovecha las ventajas de las unidades SIMD. La eficiencia
computacional de la implementación realizada se compara con el algoritmo Filtro Mediano
en Tiempo Constante, propuesto recientemente por Perreault [2], el cual presenta una complejidad
de O(1). La implementación realizada es 75 y 18.5 veces mas rápida que la implementación de referencia, para áreas de análisis de 3 x 3 y 5 x 5 respectivamente. Se concluye
además que la vectorización de un algoritmo no necesariamente obtiene los mismos
resultados que un algoritmo diseñado específicamente para ser implementado en unidades
vectoriales [3].
|
14 |
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
|
15 |
Optimal vicinity 2D median filter for fixed-point or floating-point valuesChang Fu, Javier 19 June 2024 (has links)
Los filtros medianos son una técnica digital no lineal normalmente usada para remover
ruido blanco, ’sal y pimienta’ de imágenes digitales. Consiste en reemplazar el valor de
cada pixel por la mediana de los valores circundantes.
Las implementaciones en punto flotante usan ordenamientos con técnicas de comparación
para encontrar la mediana. Un método trivial de ordenar n elementos tiene una
complejidad de O(n2), y los ordenamientos más rápidos tienen complejidad de O(n log n)
al calcular la mediana de n elementos. Sin embargo, éstos algoritmos suelen tener fuerte
divergencia en su ejecución.
Otras implementaciones usan algoritmos basados en histogramas, y obtienen sus mejores
desempeños cuando operan con filtros de ventanas grandes. Estos algoritmos pueden
alcanzar tiempo constante al evaluar filtros medianos, es decir, presenta una complejidad
de O(1).
El presente trabajo propone un algoritmo de filtro mediano rápido y altamente paralelizable.
Se basa en ordenamientos sin divergencia con ejecución O(n log2 n) y mezclas O(n)
con los cuales se puede calcular grupos de pixeles en paralelo. Este método se beneficia de
la redundancia de valores en pixeles próximos y encuentra la vecindad de procesamiento
óptima que minimiza el número de operaciones promedio por pixel. El presente trabajo
(i) puede procesar indiferentemente imágenes en punto fijo o flotante, (ii) aprovecha al
máximo el paralelismo de múltiples arquitecturas, (iii) ha sido implementado en CPU y
GPU, (iv) se logra una aceleración respecto al estado del arte. / Median filter is a non-linear digital technique often used to remove additive white, salt
and pepper noise from images. It replaces each pixel value by the median of the surrounding
pixels.
Floating point implementations use sorting and comparing techniques to find median.
A common method for sorting n elements has complexity O(n2), and the fastest sorting
ones have complexity O(n log n) when computing the median of n elements. However,
such fastest algorithms have strong divergence in their execution.
Other implementations use histogram based algorithms and have their best performance
for large size windows. These histogram based achieve constant time median
filtering, exhibiting O(1) complexity.
A fast and highly parallelizable median filter algorithm is proposed. It is based on
sorting without divergence execution O(n log2 n) and merge O(n) that computes groups
of pixels in parallel. The method benefits from redundancy values in neighboring pixels
and finds the optimal vicinity that minimize the average operations per pixel. The
present work (i) can process either fixed or floating point images, (ii) take full advantage
of parallelism of multiple architectures, (iii) have been implemented on CPU and GPU,
(iv) the results speed up state of the art implementations.
|
16 |
Revisión sistemática sobre generadores de código fuente y patrones de arquitecturaHuari Casas, María Rosario 18 June 2020 (has links)
Los proyectos de desarrollo de software, están sujetos a situaciones que, pueden ocasionar demora en la entrega del producto o generar aplicaciones de mala calidad, debido a deficiencias en la organización estructural del código y a la falta de integración de los componentes de software.
Para reducir el riesgo de demoras en la parte de la codificación de los programas, se puede hacer uso de herramientas informáticas que mejoren la productividad, entre estas herramientas se puede encontrar a los Generadores de Código Fuente (GCF), aplicaciones que generan código automáticamente, los cuales se utilizan en situaciones donde la lógica para armar un sistema es repetitiva; es decir las interfaces para el ingreso de datos, la conexión a las bases de datos, los reportes o salida de datos cumplen la misma lógica teniendo como única variante la estructura de datos.
Así mismo, para mejorar la calidad de los productos, antes de empezar a codificar los programas, es muy importante planificar y diseñar el patrón de arquitectura del aplicativo; tener un esquema de organización para agrupar, acoplar y encapsular los programas.
Mediante la revisión sistemática de la literatura se logra identificar patrones de arquitectura utilizados en la generación de código fuente de aplicaciones web; así como los principales frameworks y herramientas.
Las etapas de la revisión sistemática realizadas son: planeamiento, ejecución, reporte y divulgación. Así mismo, en las preguntas de investigación, se aplicaron los criterios del método PICOC, se realizaron estrategias de búsqueda y selección de fuentes haciendo uso de las principales bases de datos científicas o académicas. Los resultados de la revisión sistemática de la literatura, estuvieron orientadas a analizar los GCF, para comprender su importancia en el desarrollo de sistemas informáticos, así como analizar su relación con los patrones de arquitectura de software. Finalmente, en base a la información obtenida, se llega a la conclusión de que los patrones de arquitectura tienen un papel importante en la generación de código fuente, ya que estandariza y organiza la aplicación en bloques o capas, de esta manera los desarrolladores tienen la opción de elegir herramientas estructuradas, reutilizables y eficientes. / Tesis
|
17 |
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
|
18 |
La gamificación como motivación para el aprendizaje del curso de programación en estudiantes de un instituto de educación superior de la región ArequipaSantillana Valdivia, Mario César 10 November 2020 (has links)
El presente documento consiste en una propuesta de innovación para atender el problema de baja motivación en el aprendizaje del curso de programación, que presentan los alumnos del V ciclo de la carrera de computación de un instituto de la región Arequipa. Los contenidos de los cursos de programación no son sencillos y se caracterizan por requerir habilidades de abstracción, resolución lógica de problemas, e identificación y resolución de errores para poder asimilarlos, por lo que se requiere mantener la motivación del alumno para lograr el aprendizaje. La propuesta tiene como objetivo mejorar la motivación hacia el aprendizaje del curso de programación teniendo como recurso la gamificación para incorporar la resolución de problemas en su metodología y para generar la auto-reflexión de los alumnos sobre la evaluación de su desempeño y rendimiento en el curso. Las estrategias y actividades utilizadas para lograr este objetivo se organizaron en fases del ciclo de vida de una propuesta. En la fase de planificación se analizó el sílabo del curso y se diseñó la experiencia gamificada identificando los elementos que mejor se adecuen a los contenidos y características del curso, en la fase de implementación se configuró el LMS Moodle para dar soporte al curso gamificado, en la fase de ejecución se utilizaron instrumentos en la recolección de datos para realizar informes parciales, y en la fase de evaluación se analizaron los informes parciales y se elaboró el informe final. Los resultados de la experiencia piloto arrojaron que la aplicación de gamificación en el curso sí mejoró la motivación hacia el aprendizaje del curso de programación, aunque ésta no haya sido suficiente para mejorar el rendimiento de la mayoría de los alumnos. / Tesis
|
19 |
Análisis del posicionamiento sectorial de compañías en temas de dirección de proyectos usando la plataforma Linkedin y técnicas de procesado de lenguaje naturalRivas Huapalla, Juan José Antonio 18 September 2019 (has links)
En un mundo íntegramente inmerso en la era digital, las personas han adoptado una nueva forma de adquirir conocimientos, datos y referencias sobre sus gustos e intereses. Sin embargo, esta nueva era ha generado una gran cantidad de información que, muchas veces, es completamente abrumadora para el ser humano. En lo que respecta al área laboral, esto no cambia en absoluto. La gran mayoría de empresas, en la actualidad, cuentan con una página web y, si son empresas multinacionales, tendrán una en cada país donde operan. Asimismo, las redes sociales se han convertido en un medio altamente eficaz para comunicarse, no solamente con los consumidores finales sino, además, con futuros colaboradores en busca de nuevas oportunidades. La red laboral LinkedIn es un claro ejemplo de este fenómeno. En esta red se puede encontrar a empresas de todo el mundo, de distintos sectores y tamaños, ofreciendo puestos de trabajo y, no menos importante, información sobre lo que se encuentran realizando en su sector, noticias sobre sus nuevas implementaciones y publicaciones de sus colaboradores.
La presente tesis nace de la necesidad de identificar cómo se presentan las empresas hacia las personas y el entorno con intereses afines en esta red laboral. Al ser esta red sumamente amplia, se acotó la data a empresas de ingeniería presentes en el mercado español, tomando como referencia el listado de empresas por la Clasificación Nacional de Actividades Económicas (CNAE), específicamente las empresas que brindan servicios técnicos de ingeniería y otras actividades relacionadas con el asesoramiento técnico. Se ha hecho uso de distintas técnicas de minería de datos y lenguaje de programación natural mediante el lenguaje de programación R, tomando en cuenta las noticias del último año (10 de agosto de 2018) de 168 empresas con actividad regular en LinkedIn y con perfiles en idioma español o inglés. De esta forma, se podrán encontrar relaciones reales entre las acciones que promueven dentro de esta red, así como los clústeres que pueden existir en las empresas de ingeniería con respecto a su promoción en la era digital. Para realizar este análisis, se ha dividido la data recogida de las empresas estudiadas en tres (3) periodos temporales denominados: “2018 S2”, “2018 S1” y “2017 S2”, esto se entiende como los semestres de los años mencionados. Asimismo, se agruparon en cinco (5) grandes sectores: Telecomunicaciones, Industria Energética, Industria Automotriz y Aeroespacial, Industria Civil e Infraestructuras y Gestión y Control de la Calidad. La finalidad de estas segmentaciones es interpretar el comportamiento de las empresas en general por periodos temporales y contrastarla con un análisis sectorial.
Finalmente, se expondrán las interpretaciones y conclusiones de los resultados obtenidos al sintetizar los datos obtenidos. De esta manera, se podrá saber qué es lo que realmente están transmitiendo las empresas a través de esta red laboral.
|
Page generated in 0.0926 seconds