Guía introductoria a Programa-me, concurso de programación para alumnos de FP en España. Consejos y pistas para practicar y afrontar el concurso para estudiantes y profesores
This document discusses digital communication systems and line coding. It covers topics such as multiplexing techniques, line coders for baseband transmission, regenerative repeaters, examples of line coding schemes including NRZ, RZ, Manchester, AMI, and mBnL codes. It also discusses related topics like data rate vs signal rate, self-synchronization, bandwidth requirements, and clock recovery.
Corso di Statistica del Prof. Garau.
Slide a cura di Giorgio Garau e Lucia Schirru.
Una caratteristica importante di una distribuzione statistica è la sua variabilità. La variabilità è, infatti, la quantità di dispersione presente nei dati.
Come gli indici di posizione, anche gli indici di dispersione o variabilità servono per descrivere sinteticamente (o caratterizzare) le distribuzioni statistiche quantitative (per le variabili qualitative si usano gli indici di diversità).
Fundamentos de Telecomunicaciones Unidad 1 (1).pdfAlexis Cuevas
Este documento presenta la asignatura de Fundamentos de Telecomunicaciones que forma parte de la carrera de Ingeniería en Sistemas Computacionales. El objetivo de la asignatura es analizar los componentes y funcionalidad de sistemas de comunicación para evaluar las tecnologías utilizadas actualmente. El temario cubre temas como sistemas de comunicación, medios de transmisión, modulación, técnicas de conmutación, multiplexación y dispositivos de comunicación. Incluye también información sobre laboratorios para implementar circuitos de radiofrecuencia,
La arquitectura MISD (Multiple Instruction stream, Single Data stream) es un tipo de arquitectura paralela donde múltiples unidades ejecutan diferentes operaciones en el mismo flujo de datos. Las arquitecturas de tubería pertenecen a este tipo, como los controladores de vuelo del transbordador espacial que ejecutan algoritmos diferentes en los mismos datos para controlar el vuelo.
El documento propone una topología de red en estrella extendida con un enrutador central conectado a múltiples enrutadores locales, cada uno conectado a un switch y dispositivos en una sede diferente. Esta topología proporciona redundancia, confiabilidad y control de tráfico, además de permitir una fácil expansión y solución de problemas localizados.
Este resumen cubre los siguientes puntos clave del capítulo 1:
1. Introduce los usos comunes de las redes de computadoras, incluyendo aplicaciones de negocios, domésticas, móviles y temas sociales.
2. Explica conceptos básicos como el modelo cliente-servidor, hardware de redes, software de redes y los modelos de referencia OSI y TCP/IP.
3. Presenta ejemplos de redes como ARPANET y diferentes tipos de redes como LAN, MAN y WAN.
El documento explica el algoritmo de codificación de Huffman, el cual asigna códigos binarios de longitud variable a símbolos basado en su frecuencia de aparición. Primero se construye un árbol de Huffman ordenando los símbolos de menor a mayor frecuencia y uniendo los nodos. Luego, los códigos binarios de cada símbolo se obtienen recorriendo el árbol de raíz a hoja. Esto permite codificar cadenas de texto de manera más compacta.
Introducción a Programa-me - Concurso español de programacionJosé Ráez Rodríguez
Por favor, mirad la version actualizada: https://es.slideshare.net/JosRezRodrguez/introduccin-a-programame-concurso-espaol-de-programacion-actualizado-82662173
Guía introductoria a Programa-me, concurso de programación para alumnos de FP en España. Consejos y pistas para practicar y afrontar el concurso para estudiantes y profesores
This document discusses digital communication systems and line coding. It covers topics such as multiplexing techniques, line coders for baseband transmission, regenerative repeaters, examples of line coding schemes including NRZ, RZ, Manchester, AMI, and mBnL codes. It also discusses related topics like data rate vs signal rate, self-synchronization, bandwidth requirements, and clock recovery.
Corso di Statistica del Prof. Garau.
Slide a cura di Giorgio Garau e Lucia Schirru.
Una caratteristica importante di una distribuzione statistica è la sua variabilità. La variabilità è, infatti, la quantità di dispersione presente nei dati.
Come gli indici di posizione, anche gli indici di dispersione o variabilità servono per descrivere sinteticamente (o caratterizzare) le distribuzioni statistiche quantitative (per le variabili qualitative si usano gli indici di diversità).
Fundamentos de Telecomunicaciones Unidad 1 (1).pdfAlexis Cuevas
Este documento presenta la asignatura de Fundamentos de Telecomunicaciones que forma parte de la carrera de Ingeniería en Sistemas Computacionales. El objetivo de la asignatura es analizar los componentes y funcionalidad de sistemas de comunicación para evaluar las tecnologías utilizadas actualmente. El temario cubre temas como sistemas de comunicación, medios de transmisión, modulación, técnicas de conmutación, multiplexación y dispositivos de comunicación. Incluye también información sobre laboratorios para implementar circuitos de radiofrecuencia,
La arquitectura MISD (Multiple Instruction stream, Single Data stream) es un tipo de arquitectura paralela donde múltiples unidades ejecutan diferentes operaciones en el mismo flujo de datos. Las arquitecturas de tubería pertenecen a este tipo, como los controladores de vuelo del transbordador espacial que ejecutan algoritmos diferentes en los mismos datos para controlar el vuelo.
El documento propone una topología de red en estrella extendida con un enrutador central conectado a múltiples enrutadores locales, cada uno conectado a un switch y dispositivos en una sede diferente. Esta topología proporciona redundancia, confiabilidad y control de tráfico, además de permitir una fácil expansión y solución de problemas localizados.
Este resumen cubre los siguientes puntos clave del capítulo 1:
1. Introduce los usos comunes de las redes de computadoras, incluyendo aplicaciones de negocios, domésticas, móviles y temas sociales.
2. Explica conceptos básicos como el modelo cliente-servidor, hardware de redes, software de redes y los modelos de referencia OSI y TCP/IP.
3. Presenta ejemplos de redes como ARPANET y diferentes tipos de redes como LAN, MAN y WAN.
El documento explica el algoritmo de codificación de Huffman, el cual asigna códigos binarios de longitud variable a símbolos basado en su frecuencia de aparición. Primero se construye un árbol de Huffman ordenando los símbolos de menor a mayor frecuencia y uniendo los nodos. Luego, los códigos binarios de cada símbolo se obtienen recorriendo el árbol de raíz a hoja. Esto permite codificar cadenas de texto de manera más compacta.
Introducción a Programa-me - Concurso español de programacionJosé Ráez Rodríguez
Por favor, mirad la version actualizada: https://es.slideshare.net/JosRezRodrguez/introduccin-a-programame-concurso-espaol-de-programacion-actualizado-82662173
Guía introductoria a Programa-me, concurso de programación para alumnos de FP en España. Consejos y pistas para practicar y afrontar el concurso para estudiantes y profesores
ALP Unidad 1: Introducción a los fundamentos de la programación estructuradaFranklin Parrales Bravo
El documento presenta la introducción a la unidad 1 de un curso de Algoritmos y Lógica de Programación. La unidad busca aplicar los fundamentos de la programación estructurada mediante pseudocódigo y diagramas de flujo para resolver problemas de la vida real. El contenido incluye introducción a la lógica de programación, análisis de problemas, y diseño de algoritmos usando estructuras de control de flujo.
El documento presenta información sobre algoritmos y estructuras de datos. Explica conceptos como algoritmo, lenguajes de programación, pasos para resolver problemas y ejemplos de algoritmos simples. También describe los componentes de hardware y software de una computadora.
Este documento presenta una introducción a la programación estructurada. Explica conceptos clave como algoritmos, lenguajes de programación, y el proceso metodológico para resolver problemas que incluye análisis del problema, definición de algoritmos, diseño del programa, y pruebas. También describe herramientas como pseudocódigo, diagramas de flujo y PSeInt que ayudan a desarrollar soluciones de programación de manera ordenada y lógica.
Este documento presenta un resumen de las actividades realizadas por un grupo de estudiantes en la asignatura de Tecnología e Informática. En primer lugar, el grupo aprendió sobre algoritmos, diagramas de flujo y lenguajes de programación. Luego, resolvieron ejercicios prácticos y reconocieron los componentes de la plataforma micro:bit. Finalmente, desarrollaron proyectos utilizando sensores y compartieron los resultados en sus blogs personales.
Metodología de la solución de problemas po equipo5mendozaperla
Este documento describe el método de las 6D para la solución de problemas en computadoras. El método consta de 6 etapas: 1) descripción del problema, 2) definición de la solución, 3) diseño de la solución, 4) desarrollo de la solución, 5) depuración y prueba, y 6) documentación. El objetivo del método es guiar de manera sistemática el proceso de resolución de problemas desde la identificación del problema hasta la documentación de la solución.
Este documento contiene información sobre un proyecto de tecnología e informática realizado por un grupo de estudiantes. Incluye la lista de nombres de los estudiantes y su docente, así como enlaces a los blogs individuales que cada estudiante creó como parte del proyecto. También presenta fichas con orientaciones, definiciones de conceptos clave y evidencias de las actividades realizadas por los estudiantes usando micro:bits y MakeCode.
El documento presenta una introducción a la programación, comenzando con una definición de programación y algoritmos. Explica conceptos básicos como variables, tipos de datos, estructuras de control como condicionales y repetitivas. Finalmente, detalla ejemplos de algoritmos sencillos y lenguajes de programación.
Este documento introduce los conceptos básicos de la programación y la solución de problemas aplicables a las computadoras. Explica que un problema requiere darle una solución a través de etapas como la entrada de datos, proceso de datos y salida de datos. También describe técnicas como algoritmos, diagramas de flujo y pseudocódigos que pueden usarse para dar solución a problemas. Finalmente, detalla elementos clave para la realización de algoritmos como variables, constantes, tipos de datos y operadores.
Este documento presenta la actividad grupal número 2 realizada por el grado 9-5 en la asignatura de Tecnología e Informática. Los estudiantes trabajaron en roles definidos y crearon blogs personales para compartir lo aprendido sobre conceptos básicos de informática y programación con Microbit. El documento incluye normas de trabajo grupal y etapas para el desarrollo de algoritmos y códigos de manera efectiva.
Este documento presenta la actividad grupal número 2 realizada por el grado 9-5 en la asignatura de Tecnología e Informática. Los estudiantes trabajaron en roles asignados y crearon blogs personales para compartir lo que aprendieron sobre conceptos básicos de informática y programación con Microbit. El documento incluye normas para el trabajo grupal, instrucciones para la actividad y enlaces a los blogs creados.
El documento presenta información sobre algoritmos y programación. Explica que un algoritmo es una secuencia de pasos para resolver un problema y proporciona ejemplos de algoritmos para tareas cotidianas. También introduce conceptos clave como datos, instrucciones, estructuras de control y herramientas algorítmicas como diagramas de flujo y pseudocódigo.
Este documento presenta información sobre variables, expresiones, algoritmos y tipos de datos en programación. Explica la diferencia entre variables y constantes, e ilustra su uso con ejemplos. También describe los pasos para resolver un problema y detectar errores comunes en la programación. Finalmente, revisa conceptos como tipos de datos numéricos, variables dependientes e independientes y reglas para nombrar variables.
Este documento presenta un resumen de conceptos tecnológicos como algoritmos, diagramas de flujo, lenguajes de programación, bucles y componentes de la micro:bit. Incluye ejemplos de algoritmos, explicaciones de símbolos en diagramas de flujo y las diferencias entre lenguajes compilados e interpretados. También contiene evidencias del trabajo realizado y conclusiones de las estudiantes sobre la comprensión de estos conceptos.
Este documento introduce los conceptos básicos de la programación y la solución de problemas aplicables a las computadoras. Explica que un problema requiere darle una solución a través de etapas como entrada de datos, proceso de datos y salida de datos. Luego describe técnicas como algoritmos, diagramas de flujo y pseudocódigos para dar solución a problemas computacionales. Finalmente, detalla elementos clave para la realización de algoritmos como variables, constantes, tipos de datos y operadores.
Este documento presenta información sobre conceptos tecnológicos como algoritmos, diagramas de flujo, lenguajes de programación, bucles y componentes de la microbit. Explica qué es un algoritmo, sus clases y ejemplos. También define diagramas de flujo, sus símbolos y reglas. Describe lenguajes de programación compilados e interpretados. Finalmente, resume las conclusiones de cada estudiante sobre los aprendizajes obtenidos.
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxJulianSimonetta
Este documento presenta la materia Programación de Computadoras de la carrera de Licenciatura en Sistemas de la UNLA. Incluye la presentación del equipo docente, enlaces de contacto, redes sociales y plataformas virtuales. Además, brinda detalles sobre las unidades que componen la materia y los temas a abordar, y contiene ejemplos de código en C para mostrar funciones básicas como printf y scanf.
Este documento presenta los conceptos de algoritmo y resolución de problemas. Explica las cuatro etapas para resolver problemas propuestas por Polya: 1) entender el problema, 2) trazar un plan, 3) ejecutar el plan, y 4) revisar. También describe las fases para elaborar un algoritmo: análisis del problema, diseño del algoritmo, traducción a un lenguaje de programación, y depuración. Finalmente, incluye ejemplos de algoritmos para calcular el área de un triángulo rectángulo y determinar el número
El documento describe el desarrollo dirigido por ejemplos (ATDD) y pruebas unitarias (TDD) como una forma ágil de desarrollar software que minimiza defectos y mejora la productividad. Se propone escuchar al cliente para entender sus necesidades a través de ejemplos concretos, luego escribir pruebas unitarias y código para satisfacer esos ejemplos de manera iterativa. Esto garantiza que se implementan sólo las funcionalidades necesarias y que el código está preparado para cambios.
Este documento describe conceptos relacionados con algoritmos y pseudocódigo. Explica que un algoritmo es una secuencia de instrucciones para resolver un problema y que no depende de un lenguaje de programación en particular. Luego describe las partes de un algoritmo, tipos de algoritmos, características, y provee ejemplos como un algoritmo para elegir una película. También define pseudocódigo y cómo se escribe, usando palabras como "escribir" y "leer". Finalmente, cubre diagramas de flujo y los símbolos utilizados, así como los
La energía radiante es una forma de energía que
se transmite en forma de ondas
electromagnéticas esta energía se propaga a
través del vacío y de ciertos medios materiales y
es fundamental en una variedad naturales y
tecnológicos
ALP Unidad 1: Introducción a los fundamentos de la programación estructuradaFranklin Parrales Bravo
El documento presenta la introducción a la unidad 1 de un curso de Algoritmos y Lógica de Programación. La unidad busca aplicar los fundamentos de la programación estructurada mediante pseudocódigo y diagramas de flujo para resolver problemas de la vida real. El contenido incluye introducción a la lógica de programación, análisis de problemas, y diseño de algoritmos usando estructuras de control de flujo.
El documento presenta información sobre algoritmos y estructuras de datos. Explica conceptos como algoritmo, lenguajes de programación, pasos para resolver problemas y ejemplos de algoritmos simples. También describe los componentes de hardware y software de una computadora.
Este documento presenta una introducción a la programación estructurada. Explica conceptos clave como algoritmos, lenguajes de programación, y el proceso metodológico para resolver problemas que incluye análisis del problema, definición de algoritmos, diseño del programa, y pruebas. También describe herramientas como pseudocódigo, diagramas de flujo y PSeInt que ayudan a desarrollar soluciones de programación de manera ordenada y lógica.
Este documento presenta un resumen de las actividades realizadas por un grupo de estudiantes en la asignatura de Tecnología e Informática. En primer lugar, el grupo aprendió sobre algoritmos, diagramas de flujo y lenguajes de programación. Luego, resolvieron ejercicios prácticos y reconocieron los componentes de la plataforma micro:bit. Finalmente, desarrollaron proyectos utilizando sensores y compartieron los resultados en sus blogs personales.
Metodología de la solución de problemas po equipo5mendozaperla
Este documento describe el método de las 6D para la solución de problemas en computadoras. El método consta de 6 etapas: 1) descripción del problema, 2) definición de la solución, 3) diseño de la solución, 4) desarrollo de la solución, 5) depuración y prueba, y 6) documentación. El objetivo del método es guiar de manera sistemática el proceso de resolución de problemas desde la identificación del problema hasta la documentación de la solución.
Este documento contiene información sobre un proyecto de tecnología e informática realizado por un grupo de estudiantes. Incluye la lista de nombres de los estudiantes y su docente, así como enlaces a los blogs individuales que cada estudiante creó como parte del proyecto. También presenta fichas con orientaciones, definiciones de conceptos clave y evidencias de las actividades realizadas por los estudiantes usando micro:bits y MakeCode.
El documento presenta una introducción a la programación, comenzando con una definición de programación y algoritmos. Explica conceptos básicos como variables, tipos de datos, estructuras de control como condicionales y repetitivas. Finalmente, detalla ejemplos de algoritmos sencillos y lenguajes de programación.
Este documento introduce los conceptos básicos de la programación y la solución de problemas aplicables a las computadoras. Explica que un problema requiere darle una solución a través de etapas como la entrada de datos, proceso de datos y salida de datos. También describe técnicas como algoritmos, diagramas de flujo y pseudocódigos que pueden usarse para dar solución a problemas. Finalmente, detalla elementos clave para la realización de algoritmos como variables, constantes, tipos de datos y operadores.
Este documento presenta la actividad grupal número 2 realizada por el grado 9-5 en la asignatura de Tecnología e Informática. Los estudiantes trabajaron en roles definidos y crearon blogs personales para compartir lo aprendido sobre conceptos básicos de informática y programación con Microbit. El documento incluye normas de trabajo grupal y etapas para el desarrollo de algoritmos y códigos de manera efectiva.
Este documento presenta la actividad grupal número 2 realizada por el grado 9-5 en la asignatura de Tecnología e Informática. Los estudiantes trabajaron en roles asignados y crearon blogs personales para compartir lo que aprendieron sobre conceptos básicos de informática y programación con Microbit. El documento incluye normas para el trabajo grupal, instrucciones para la actividad y enlaces a los blogs creados.
El documento presenta información sobre algoritmos y programación. Explica que un algoritmo es una secuencia de pasos para resolver un problema y proporciona ejemplos de algoritmos para tareas cotidianas. También introduce conceptos clave como datos, instrucciones, estructuras de control y herramientas algorítmicas como diagramas de flujo y pseudocódigo.
Este documento presenta información sobre variables, expresiones, algoritmos y tipos de datos en programación. Explica la diferencia entre variables y constantes, e ilustra su uso con ejemplos. También describe los pasos para resolver un problema y detectar errores comunes en la programación. Finalmente, revisa conceptos como tipos de datos numéricos, variables dependientes e independientes y reglas para nombrar variables.
Este documento presenta un resumen de conceptos tecnológicos como algoritmos, diagramas de flujo, lenguajes de programación, bucles y componentes de la micro:bit. Incluye ejemplos de algoritmos, explicaciones de símbolos en diagramas de flujo y las diferencias entre lenguajes compilados e interpretados. También contiene evidencias del trabajo realizado y conclusiones de las estudiantes sobre la comprensión de estos conceptos.
Este documento introduce los conceptos básicos de la programación y la solución de problemas aplicables a las computadoras. Explica que un problema requiere darle una solución a través de etapas como entrada de datos, proceso de datos y salida de datos. Luego describe técnicas como algoritmos, diagramas de flujo y pseudocódigos para dar solución a problemas computacionales. Finalmente, detalla elementos clave para la realización de algoritmos como variables, constantes, tipos de datos y operadores.
Este documento presenta información sobre conceptos tecnológicos como algoritmos, diagramas de flujo, lenguajes de programación, bucles y componentes de la microbit. Explica qué es un algoritmo, sus clases y ejemplos. También define diagramas de flujo, sus símbolos y reglas. Describe lenguajes de programación compilados e interpretados. Finalmente, resume las conclusiones de cada estudiante sobre los aprendizajes obtenidos.
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxJulianSimonetta
Este documento presenta la materia Programación de Computadoras de la carrera de Licenciatura en Sistemas de la UNLA. Incluye la presentación del equipo docente, enlaces de contacto, redes sociales y plataformas virtuales. Además, brinda detalles sobre las unidades que componen la materia y los temas a abordar, y contiene ejemplos de código en C para mostrar funciones básicas como printf y scanf.
Este documento presenta los conceptos de algoritmo y resolución de problemas. Explica las cuatro etapas para resolver problemas propuestas por Polya: 1) entender el problema, 2) trazar un plan, 3) ejecutar el plan, y 4) revisar. También describe las fases para elaborar un algoritmo: análisis del problema, diseño del algoritmo, traducción a un lenguaje de programación, y depuración. Finalmente, incluye ejemplos de algoritmos para calcular el área de un triángulo rectángulo y determinar el número
El documento describe el desarrollo dirigido por ejemplos (ATDD) y pruebas unitarias (TDD) como una forma ágil de desarrollar software que minimiza defectos y mejora la productividad. Se propone escuchar al cliente para entender sus necesidades a través de ejemplos concretos, luego escribir pruebas unitarias y código para satisfacer esos ejemplos de manera iterativa. Esto garantiza que se implementan sólo las funcionalidades necesarias y que el código está preparado para cambios.
Este documento describe conceptos relacionados con algoritmos y pseudocódigo. Explica que un algoritmo es una secuencia de instrucciones para resolver un problema y que no depende de un lenguaje de programación en particular. Luego describe las partes de un algoritmo, tipos de algoritmos, características, y provee ejemplos como un algoritmo para elegir una película. También define pseudocódigo y cómo se escribe, usando palabras como "escribir" y "leer". Finalmente, cubre diagramas de flujo y los símbolos utilizados, así como los
Similar a Introducción a Programa-me - Concurso español de programacion (actualizado) (20)
La energía radiante es una forma de energía que
se transmite en forma de ondas
electromagnéticas esta energía se propaga a
través del vacío y de ciertos medios materiales y
es fundamental en una variedad naturales y
tecnológicos
1. Introduccion a las excavaciones subterraneas (1).pdfraulnilton2018
Cuando las excavaciones subterráneas son desarrolladas de manera artesanal, se conceptúa a la excavación como el “ que es una labor efectuada con la mínima sección posible de excavación, para permitir el tránsito del hombre o de
cémilas para realizar la extracción del material desde el
frontón hasta la superficie
Cuando las excavaciones se ejecutan controlando la sección de excavación, de manera que se disturbe lo menos posible la
roca circundante considerando la vida útil que se debe dar a la roca, es cuando aparece el
concepto de “ que abarca,
globalmente, al proceso de excavación, control de la periferia, sostenimiento, revestimiento y consolidación de la excavación
ESPERAMOS QUE ESTA INFOGRAFÍA SEA UNA HERRAMIENTA ÚTIL Y EDUCATIVA QUE INSPIRE A MÁS PERSONAS A ADENTRARSE EN EL APASIONANTE CAMPO DE LA INGENIERÍA CIVIŁ. ¡ACOMPAÑANOS EN ESTE VIAJE DE APRENDIZAJE Y DESCUBRIMIENTO
2. Mi nombre es José Ráez. He hecho esta
presentación para ayudar y animar a otros
estudiantes y centros a participar.
Nuestro equipo, RuralHome The Nightmare,
formado junto a Raúl Ortiz y Rubén Fernández,
fue campeón de la fase regional y final nacional
de 2017.
Actualmente soy programador Back-End en C#
y Java.
3. Es un concurso de programación español para
alumnos de Formación Profesional de 1º y 2º. Los
alumnos participan en grupos de 3.
Se divide en dos fases: una fase regional dividida
en varias competiciones por regiones, y una fase
nacional donde van los primeros puestos de las
fases regionales.
Participar es gratis o con una pequeña cuota de
inscripción para material del concurso.
Puedes visitar la página principal del concurso en
http://www.programa-me.com o en twitter
@programame
¿Qué es Programa-me?
4. Además, participar tiene ventajas
● El formato del concurso es similar a las entrevistas
técnicas que hacen las compañías.
○ Conocer cómo afrontarlas os dará una gran ventaja
durante la entrevista.
○ Es incluso recomendable echar un ojo a los problemas
como práctica para afrontar una próxima entrevista.
● Es una gran incorporación a vuestro currículum.
○ Solamente por participar ya os diferenciais de otros
alumnos.
○ Lograr buenas posiciones os servirá para entrar en la mira
de empresas.
● Viviréis una experiencia de trabajo en equipo real.
○ Tendréis que aprender a repartir, priorizar y resolver en
entornos de tiempo limitado.
6. Acepta el reto www.aceptaelreto.com
En el encontrarás todo tipo de problemas divididos por
materia y dificultad, así como los problemas de otras
ediciones. Aquí podrás prepararte para el concurso.
Concursos de calentamiento www.programa-me.com
Así mismo, suelen hacerse ediciones de calentamiento alrededor de navidad. Contacta con los
organizadores para conocer que se está organizando ese año.
Calentamiento Navidad: http://programa-me.com/2018/reg/navidad/
También podéis probar en Las 12 Uvas: http://www.las12uvas.es/2017/#/quees
8. ● Para buscar nuevos problemas, recomiendo buscar
por Categorías > Programación
● No hace falta seguir el orden propuesto, los
problemas no están por orden de dificultad.
● Al principio céntrate en pensar cómo resolverías los
problemas con tus compañeros.
○ Según se acerque el concurso, intenta programarlos
y subirlos a la web para coger soltura y
acostumbrarte a posibles fallos.
10. En esta sección hablaremos sobre el funcionamiento de los problemas de Acepta el reto y
Programa-me, para evitar tener dudas con cómo entran los datos y poder centrarnos en buscar la
solución.
11. Entrada y salida de datos
● La entrada siempre va por el flujo estándar y la salida siempre va por la salida estándar. La entrada
y la salida además tienen que ir ser una linea (C y C++: carácter 'n', Java: println o carácter 'n')
● ¡La salida no tiene que salir después de toda la entrada! De hecho, debéis escribir la solución
después de cada línea/problema.
● Alumnos de 1º: Aunque no se pueden incluir librerías, se les puede proveer un fichero con métodos
leerLinea y escribir para que no tengan que enfrentarse a I/O o flujos.
13. Consejos:
● Java: Usad split para separar los datos.
C y C++: Cread una función que simule split con strtok
(necesitareis memoria dinámica).
○ Es SUPER ÚTIL para poder luego iterar sobre los
datos rápidamente.
○ No convirtáis los datos a sus tipos reales hasta que
los uséis para operar.
○ C y C++: También podéis usar scanf()
● Si tenéis una frase o dibujo formado por varias líneas,
recordad que podéis iterar por un string como si de un
array se tratase. (También en números para ir cifra por
cifra)
● Así mismo, recordad que cuando busquéis un valor en
concreto, basta con poner la cadena que lo generaría (por
ejemplo, si la fecha 25/11 entra como "25 11" podéis mirar
directamente si es igual, no hace falta que saquéis los dos
números).
● Por último: ¡no hace falta que verifiqueis que los datos son
válidos! Siempre obedecerán el formato presentado.
14. Además, los problemas irán introduciendo los datos generalmente de una de estas 3 formas:
15. Estructuras de datos
● Conocimientos de manejos de arrays y strings es más que suficiente para afrontar las pruebas con
garantías. Conocimiento de listas y diccionarios puede dar ventaja pero no es necesario.
● Matrices: practicar el patrón de "pintado".
Recursiva que recorre todas las celdas
disponibles.
● ¡Cuidado al ordenar números como strings!
● Problemas de ordenamiento pueden ser
bastante fáciles o difíciles. Ante la duda,
dejadlos para el final.
17. Puntuación
● Tu puntuación es tus problemas resueltos. Para desempatar, el tiempo hasta la resolución con penalizaciones.
● Al tiempo se suma el minuto en que has resuelto el problema y minutos extra de penalización por intento para
resolverlo (los fallos en problemas sin resolver no cuentan). Siempre aparece Intentos/Tiempo total.
● Esta es una razón por la que es super importante localizar y resolver los problemas fáciles rápido.
○ Equipo 1 y 2: 3 problemas resueltos en el minuto 30 sin fallos.
○ Equipo 1: 3 | 40 -- Primero P1: minuto 2, P2: minuto 8, P3: minuto 30. 2 + 8 + 30 = 40.
○ Equipo 2: 3 | 70 -- Resolvió primero el P3 en el minuto 22. Luego resolvió el P1 en el minuto 23 y luego el
P2 en el minuto 25. Pese a tardar solo 1 y 3 minutos en P1 y P2, al resolverlos más tarde tienen peor
puntuación.
18. Unas notas finales:
● Durante el concurso es mucho más importante ser
corto a la hora de escribir que claro, y poder reusar
todo el código que sea posible.
○ Códigos de lectura/escritura, iteración,
transformación... contra más generales mejor,
para poder copiarlos de problema en problema.
● C y C++ disponen de un código más escueto y
tiempos de ejecución más rápidos
Java en el JDK tiene muchísimas utilidades.
¡Conoce bien las ventajas de tu lenguaje!
● Duerme bien la noche antes del concurso.
● Os podéis llevar hojas al concurso con código o notas
que os puedan servir de utilidad. También tenéis
disponible las APIs de C++ y Java.
● ¡Pasadlo bien!
20. Otros concursos:
Para seguir poniéndote a prueba.
Las 12 Uvas (Diciembre)
http://www.las12uvas.es
Google Hash Code (Marzo)
https://hashcode.withgoogle.com
Tuenti Challenge (Abril)
https://contest.tuenti.net
Everis Codefest (Noviembre)
http://codefest.everis.com
21. Webs internacionales:
Profundiza en algoritmia. Recruiting internacional.
LeetCode - https://leetcode.com/
Ideal para practicar y aprender algoritmia. Sus
problemas y foros vienen con guías para su
resolución o con soluciones alternativas.
HackerRank- https://hackerrank.com
Sitio con competiciones y reclutamiento
internacional. Ideal para probar competiciones
avanzadas y destacar a nivel técnico (tiene su
propia clasificación).
22. Despedida y contacto
Muchas gracias por llegar hasta aquí, y espero que
os haya animado a participar y/u os haya ayudado.
Si tenéis alguna duda o queréis dejarme un saludo,
podéis encontrarme en:
-Twitter: @joshiraez
-E-mail: contacto@joseraez.com
-LinkedIn: http://joseraez.com
También he creado un repositorio para que
podamos compartir recursos para el concurso:
https://github.com/joshiraez/RecursosProgramame
23. Agradecimientos
Quería aprovechar para dar mis agradecimientos a:
Nuria Fuentes, nuestra entrenadora y profesora de programación.
Por introducirnos al concurso y apoyarnos durante todo el camino,
además de ser una magnífica profesora y persona.
A Manuel, Jesús, Raúl y Rubén, mis compañeros de equipo
Por todo el esfuerzo y los buenos momentos en el camino a la fase
nacional de las ediciones 2016 y 2017 de Programa-me.