13 research outputs found

    Informática aplicada. Prácticas para aprender a programar en lenguaje C

    Get PDF
    El libro es un manual de guía para el alumno que se enfrenta, sólo, al aprendizaje del lenguaje de programación C. En 32 capítulos (7 de ellos de resolución de ejercicios) divididos en 3 apartados, se ofrece una presentación guiada de la programación en C. En la primera parte (5 capítulos entre los que se cuenta con una práctica de ejercitación) se ofrece una guía sencilla para aprender a manejarse en un entorno de programación, se presentan las funciones de entrada y salida de información por consola, y se desarrollan los conceptos de literal, valor, tipo de dato y variable. La segunda parte (12 capítulos entre los que se cuenta con 3 prácticas de ejercitación) se dedica a presentar el paradigma de la programación estructurada y también a explicar las estructuras de control en C: secuencialidad, bifurcación e iteración. También se explica cómo crear funciones en llamadas por valor. La tercera parte (15 capítulos entre los que se cuenta con 3 prácticas de ejercitación) se dedica a las estructuras de control. Después de un capítulo introductorio sobre punteros en C, se describe el uso de arrays unidimensionales, arrays bidimensionales y cadenas de texto. También se explica cómo crear funcionas en llamadas por referencia

    Informática aplicada: programación en lenguaje C

    Get PDF
    Manual para los alumnos que estudian la asignatura de Fundamentos de Informática, en la Titulación de Ingenieros Industriales. Que el alumno adquiera terminología y tecnología informática. Conocer los fundamentos de los hardware y software más conocidos y adquiriera nociones básicas de programación y ofimática.Fundamentos de InformáticaIngeniería Industria

    Diseño, implementación y optimización de algoritmos criptográficos de generación de aleatorios y factorización de enteros

    Get PDF
    Estudio de la aritmética modular; de las propiedades de los enteros; de la distribución de los números primos y de los modos de qué disponemos para su identificación; de los sistemas criptográficos más extendidos: especialmente del criptosistema de clave pública RSA; de los generadores de secuencias de bits aleatorios y de los generadores de las secuencias de bits pseudoaleatorios; de los diferentes algoritmos de factorización, especialmente de los algoritmos basados en la estrategia de FERMAT de buscar dos cuadrados congruentes con el módulo el número a factorizar; y de las características de la arquitectura de los computadores, especialmente de aquellas que más directamente influyen en la velocidad de ejecución de instrucciones. Análisis de diferentes implementaciones disponibles para el uso y manejo de enteros de gran longitud; de los diferentes tests de primalidad, y selección del de MILLER–RABIN, que hemos considerado el mejor; de los diferentes generadores de secuencias de bits pseudoaleatorios, y selección del que hemos considerado criptográficamente más seguro: BBS; de las diferentes implementaciones y mejoras que paulatinamente han ido surgiendo para el algoritmo de factorización basado en la técnica de las fracciones continuas, de los valores de sus parámetros óptimos para su mejor rendimiento, y de las principales semejanzas entre ese algoritmo y los posteriores de Carl POMERANCE (QS) y Arjen K. LENSTRA (NFS); de las diferentes condiciones que se debe exigir al criptosistema RSA para lograr su uso alejado de ataques y trampas; y un largo proceso de análisis de la interacción entre nuestro código y nuestra máquina, buscando siempre el modo de reducir tiempos. Diseño de un nuevo modelo de entero largo, con su definición de dominio o rango de valores posibles codificables y de sus operadores; de algoritmos varios matemáticos, criptográficos; de un generador de secuencias de bits aleatorios por entrada de teclado; de un protocolo de actuación para desarrollar con orden y sistema una tarea de optimización de código. Implementación de todas las herramientas necesarias para que nuestro modelo de entero largo resulta operativo en todas las necesidades de cálculo (operadores a nivel de bit, relacionales, aritméticos, funciones matemáticas), del generador de secuencias de bits de aleatorios diseñado y del generador de secuencias de bits pseudoaleatorios BBS; de los algoritmos para los test de primalidad; de todos los procesos necesarios para lograr factorizar enteros largos producto de dos primos: bibliotecas de funciones que son requeridas por el algoritmo CFRAC y programas para factorizar innumerables enteros (varios millones hemos factorizado en diferentes máquinas); replica de todas las implementaciones en forma de macro para lograr programas más largos pero, sobre todo, más veloces; y también de todas las herramientas necesarias para lograr analizar la interacción entre software y hardware. Y optimización del código estudiado, analizado, diseñado e implementado para factorizar enteros compuestos producto de dos primos grandes. Buscar con un protocolo diseñado, las formas de reducir tiempos de ejecución, analizando los tiempos, número de instrucciones, fallos de caché, instrucciones de salto. Buscar la manera de lograr obtener los factores de un entero, no sólo procurando algoritmos de menor complejidad computacional, sino también procurando implementaciones que renten al máximo las posibilidades de nuestros ordenadores actuales. Y siempre, deslumbrados ante la esférica perfección de los números. El motor principal de nuestro estudio ha sido la contemplación de la belleza.Universidad de MurciaPrograma de doctorado en Minería de Datos, Gestión del Conocimiento y Computación Distribuid

    Informática aplicada: prácticas para aprender a programar en lenguaje C

    Get PDF
    Aprender el primer lenguaje de programación es una labor engorrosa y con frecuencia antipática. Requiere bastante estudio; pero especialmente exige, de quien emprende esta tarea de aprendizaje, muchas horas de trabajo delante de un ordenador. Y es que, aunque pueda parecer una obviedad, en realidad no hay otro camino: para aprender a programar, hay que programar. Ésta es una recomendación clásica que se repite en el primer día de clase de cualquier asignatura relacionada con la programación y el desarrollo software. Ni mucho menos es suficiente con copiar y entender el código que el profesor explica en clase, el alumno debe llegar a ser capaz de crear su propio código. A algunos alumnos les ocurre que con relativa facilidad comienzan a comprender el código propuesto por otros; pero eso no implica ni de lejos que ya hayan aprendido a programar. Hay que empezar desarrollando programas muy cortos y sencillos: nunca olvidará su primer programa llamado “Hola Mundo”. Para implementar esos primeros programas únicamente deberá copiar literalmente el código y compilar. Aunque eso pueda parecer una tarea fácil, en sus primeros pasos cometerá una gran cantidad de errores sintácticos y surgen las típicas preguntas del tipo ¿por sólo un punto y coma ya no se puede compilar este código? Es el principio de nuestro camino en el mundo de la programación… Para aprender a programar hay que picar código. Tras muchas horas de trabajo intentando desarrollar los programas que se plantean, donde incluso dan ganas de destrozar el ordenador, se comienza a ver la luz al final de túnel: el alumno consigue entender perfectamente esos programas de unas pocas líneas de código que parecían indescifrables hace unos días, e incluso puede proponer mejoras a dicho código. A partir de ese momento quizá comience ya a disfrutar programando. Este ciclo de aprendizaje lo hemos ‘sufrido’ todos y, de hecho, seguimos aprendiendo cada vez que creamos un nuevo código. El objetivo principal que nos planteamos los autores al preparar este manual ha sido ofrecer al alumno novel una guía para el aprendizaje de los fundamentos de la programación en lenguaje C a través de prácticas. Al contrario que los clásicos boletines de prácticas formados por una simple colección de ejercicios, hemos querido desarrollar los diez capítulos que componen este libro desde un punto de vista muy didáctico: explicando detalladamente los conceptos teóricos a través de ejemplos prácticos resueltos, siguiendo cada uno de los pasos que el alumno da en su camino de iniciación en la programación. Este manual es el resultado del trabajo conjunto que hemos realizado ambos profesores en el Centro Universitario para la Defensa (CUD) ubicado en la Academia General del Aire (AGA), centro adscrito a la Universidad Politécnica de Cartagena (UPCT), desde Septiembre de 2010. En particular,es el primer libro docente publicado en el CUD de San Javier y complementa al libro “Informática Aplicada. Programación en Lenguaje C”. Agradecemos recibir todas las sugerencias que puedan ayudar a mejorar las futuras ediciones de este manual. Nuestras direcciones de correo electrónico son [email protected] y [email protected]. Por último, agradecemos poder trabajar al servicio de todos nuestros alumnos. A todos ellos va dedicado especialmente este libro.Fundamentos de informáticaIngeniería Industria

    A novel 1D-FDTD Scheme to Solve the Nonlinear Second-order Thermoviscous Hydrodynamic Model

    Get PDF
    In this paper, we present a novel and simple Yee Finite-Difference Time-Domain (FDTD) scheme to solve numerically the nonlinear second-order thermoviscous Navier–Stokes and the Continuity equations. In their original form, these equations cannot be discretized by using the Yee’s mesh, at least, easily. As it is known, the use of the Yee’s mesh is recommended because it is optimized in order to obtain higher computational performance and remains at the core of many current acoustic FDTD softwares. In order to use the Yee’s mesh, we propose to rewrite the aforementioned equations in a novel form. To achieve this, we will use the substitution corollary. This procedure is novel in the literature. Although the scheme can be extended to more than one dimension, in this paper, we will focus only on the one-dimensional solution because it can be validated with two analytical solutions to the Burgers equation: the Mendousse mono-frequency solution and the Lardner bi-frequency solution. Numerical solutions are excellently consistent with the analytical solution, which demonstrates the effectiveness of our formulation.This work was partially supported by the “Research Programme for Groups of Scientific Excellence at Region of Murcia” of the Seneca Foundation (Agency for Science and Technology of the Region of Murcia, Spain - 19895/GERM/15). María Campo-Valera is grateful for postdoctoral program Margarita Salas - Spanish Ministry of Universities (financed by European Union - NextGenerationEU)

    Experiencia m-learning en el aprendizaje de un lenguaje de programación

    Get PDF
    [SPA] El proceso de la enseñanza aprendizaje de los lenguajes de programación presenta ciertas dificultades relacionadas con la falta de formación previa. Además, no es sencillo lograr un avance armónico entre los conocimientos teóricos y el trabajo práctico. Parece conveniente disponer de herramientas complementarias de aprendizaje como el m-learning. Los autores han querido desarrollar una herramienta sencilla, aplicada al aprendizaje de un lenguaje de programación, con objeto de conocer la utilidad de este tipo de herramientas y poder recoger la opinión de los alumnos sobre la ayuda que ésta supone en su proceso de aprendizaje. En este artículo se presenta la experiencia educativa llevada a cabo con alumnos de primer curso de ingeniería, en la asignatura de Informática Aplicada, para reforzar los conocimientos en el aprendizaje de los lenguajes de programación C. Se describen los objetivos iniciales, el diseño de la herramienta; su uso. Se justifica la selección de ejercicios propuestos y, finalmente, se describe el uso de la herramienta y las opiniones de los alumnos y las conclusiones de los autores. [ENG] The process of learning programming languages has certain difficulties related to the lack of prior training. Furthermore, it is not easy to achieve a harmonious progress between theoretical knowledge and practical work. It seems appropriate to have additional learning tools such as m-learning tools. The paper describes a simple tool, applied to learning a programming language developed in order to determine the usefulness of these e-learning tools and being able to obtain the views of students on the help offered by the tool for learning process. The tool has been used by first year students of engineering, in the subject of Applied Computer Science, to enhance knowledge in learning programming languages. The paper describes the initial objectives and the design of the tool, as well as the selection of the exercises offered to the students by means of the tool. Finally, the use of the tool and the opinions of students and conclusions of the authors are described

    Diseño, implementación y optimización de algoritmos criptográficos de generación de aleatorios y factorización de enteros / Pedro María Alcover Garau ; dirigida por José Manuel García Carrasco.

    No full text
    Tesis-Universidad de Murcia.Consulte la tesis en: BCA. GENERAL. ARCHIVO UNIVERSITARIO. T.M. 2603

    Prácticas

    No full text
    Prácticas basadas en juegos. Contiene 4 prácticas: 1.-Práctica final optativa de la asignatura Informática Aplicada para la titulación de Grado en Ingeniería Mecánica, curso 2013-214: Implementación del juego de la vida. 2.- Práctica final obligatoria de la asignatura Informática Aplicada para la titulación de Grado en Ingeniería Mecánica, curso 2012-2013: Implementación del juego del buscaminas. 3.-Práctica final obligatoria y prática final optativa de la asignatura Informática para las titulaciones de Grado en Ingeniería Mecánica (UPCT), Ingeniería de la Organización Industrial (CUD-AGA), curso 2011-2012. Resolución del cuadro Sudoku 4.-Prática final para la asignatura Fundamentos de informática, curso 2004-2005. En las titulaciones de Ingeniería Industial, Ingeniería Técnica Industrial. Juego de los cuatro gatos y el ratón.InformáticaFundamentos de InformáticaGrado en Ingeniería Mecánic

    Moiré interferences in the map of orbits of the Mandelbrot Set

    No full text
    This article shows the presence of Moiré Interference patterns in the map of periods of the Mandelbrot Set. It describes the requirements for their appearance and shows that such interferences are highly sensitive to the original conditions that define their calculation. The specific case herein studied shows that the Moiré interference patterns appearing in a picture of a section of the map of orbits are unpredictable, even if we obtain different maps from very similar original conditions. It begins with a brief description of the Mandelbrot Set and some of the characteristics of its orbits, the Moiré Patterns, as well as a concise introduction to a description of the Discrete Wavelet Transform. In order to develop the proposed specific case, a Multi-resolution Analysis method based on the Discrete Wavelet Transform has been used. It is significant that Moiré Interference Patterns always appear when the order of magnitudes reaches a certain limit where, what is considered as hypothetically continuous, behaves as a discrete pattern. The patterns as shown by the Wavelet analysis change drastically at the slightest modification in the original calculation conditions and it does not seem possible to predict their shape beforehand. This article ends with some conclusions and suggestions.Counting on the publisher’s kindness, I would dedicate this piece of work to our greatly missed professor and researcher Mr. Pedro José García Laencina, who passed away unexpectedly on the evening of August 28th, 2015 at the age of 34. This article is the result of the activity carried out under the “Research Programme for Groups of Scientific Excellence at Region of Murcia” of the Seneca Foundation (Agency for Science and Technology of the Region of Murcia - 19895/GERM/15). The work has been partially supported and funded by the Spanish Ministerio de Economíıa y Competitividad (MINECO) under the Project ViSelTR (TIN2012-39279)

    Desarrollo de juegos: una metodología eficaz para aprender un lenguaje de programación

    Get PDF
    [SPA] Aprender un lenguaje de programación es una difícil tarea para el alumno ya que es necesario un estudio continuado y muchas horas de trabajo. Así mismo, desde el punto de vista del profesor, constituye un desafío exigente y creativo ya que requiere el diseño de actividades y materiales que orienten y motiven al alumno durante su proceso de aprendizaje. Una manera eficaz de conseguirlo es mediante la programación de juegos. Este artículo presenta y analiza distintas experiencias basadas en el diseño y desarrollo de juegos de ordenador como trabajo final de asignaturas de introducción a la programación informática. [ENG] Learning a programming language is a hard task for students because a continued study and a lot of working hours are required. Also, from the point of view of the teacher, it is a demanding and creative challenge as it requires the design of activities and materials to guide and motivate students during their learning process. An effective way to do this is by developing games. This paper presents and analyzes different experiences based on the design and development of games as the final assignment task of first courses in software programming
    corecore