SlideShare una empresa de Scribd logo
Introduciendo a
Programa-me
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.
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?
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.
¿Dónde empezar?
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
https://www.aceptaelreto.com/problem/statement.php?id=116
● 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.
Afrontando los problemas
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.
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.
Ejemplos: C++
C
Java
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.
Además, los problemas irán introduciendo los datos generalmente de una de estas 3 formas:
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.
¿Cómo funciona el concurso?
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.
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!
¿Te has quedado con más ganas?
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
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).
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
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.

Más contenido relacionado

Similar a Introducción a Programa-me - Concurso español de programacion (actualizado)

ALP Unidad 1: Introducción a los fundamentos de la programación estructurada
ALP Unidad 1: Introducción a los fundamentos de la programación estructuradaALP Unidad 1: Introducción a los fundamentos de la programación estructurada
ALP Unidad 1: Introducción a los fundamentos de la programación estructurada
Franklin Parrales Bravo
 
Clase 1 Itinerario
Clase 1 ItinerarioClase 1 Itinerario
Clase 1 Itinerario
vbalda
 
Open class 1_PE.pdf
Open class 1_PE.pdfOpen class 1_PE.pdf
Open class 1_PE.pdf
Ricardo89199
 
Informática - Algoritmos Taller
Informática - Algoritmos Taller Informática - Algoritmos Taller
Informática - Algoritmos Taller
MaritzaPinedaGualgua
 
Metodología de la solución de problemas po equipo5
Metodología de la solución de problemas po equipo5Metodología de la solución de problemas po equipo5
Metodología de la solución de problemas po equipo5
mendozaperla
 
Proyecto grupo 5
Proyecto grupo 5Proyecto grupo 5
Proyecto grupo 5
MaritzaPinedaGualgua
 
El arte de programar prev
El arte de programar prevEl arte de programar prev
El arte de programar prev
jtk1
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
Celestino Duran
 
Trabajo de tecnologia grupal
Trabajo de tecnologia grupalTrabajo de tecnologia grupal
Trabajo de tecnologia grupal
StevanSalazarPieros
 
Trabajo de tecnologia grupal
Trabajo de tecnologia grupalTrabajo de tecnologia grupal
Trabajo de tecnologia grupal
StevanSalazarPieros
 
Algoritmos
AlgoritmosAlgoritmos
variables, constantes, intro flujograma
variables, constantes, intro flujogramavariables, constantes, intro flujograma
variables, constantes, intro flujograma
Karla Pabón Vallejo
 
Trabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodoTrabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodo
gabrielaalban8
 
La Programación: Contexto y herramientas
La Programación: Contexto y herramientasLa Programación: Contexto y herramientas
La Programación: Contexto y herramientas
ManuelArnguiz1
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
Celestino Duran
 
Trabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodoTrabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodo
gabrielaalban8
 
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxclase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
JulianSimonetta
 
Diana010
Diana010Diana010
Diana010
dani t
 
Charla Tdd Uji 032010
Charla Tdd Uji 032010Charla Tdd Uji 032010
Charla Tdd Uji 032010
Carlos Ble
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
JohanCaro5
 

Similar a Introducción a Programa-me - Concurso español de programacion (actualizado) (20)

ALP Unidad 1: Introducción a los fundamentos de la programación estructurada
ALP Unidad 1: Introducción a los fundamentos de la programación estructuradaALP Unidad 1: Introducción a los fundamentos de la programación estructurada
ALP Unidad 1: Introducción a los fundamentos de la programación estructurada
 
Clase 1 Itinerario
Clase 1 ItinerarioClase 1 Itinerario
Clase 1 Itinerario
 
Open class 1_PE.pdf
Open class 1_PE.pdfOpen class 1_PE.pdf
Open class 1_PE.pdf
 
Informática - Algoritmos Taller
Informática - Algoritmos Taller Informática - Algoritmos Taller
Informática - Algoritmos Taller
 
Metodología de la solución de problemas po equipo5
Metodología de la solución de problemas po equipo5Metodología de la solución de problemas po equipo5
Metodología de la solución de problemas po equipo5
 
Proyecto grupo 5
Proyecto grupo 5Proyecto grupo 5
Proyecto grupo 5
 
El arte de programar prev
El arte de programar prevEl arte de programar prev
El arte de programar prev
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Trabajo de tecnologia grupal
Trabajo de tecnologia grupalTrabajo de tecnologia grupal
Trabajo de tecnologia grupal
 
Trabajo de tecnologia grupal
Trabajo de tecnologia grupalTrabajo de tecnologia grupal
Trabajo de tecnologia grupal
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
variables, constantes, intro flujograma
variables, constantes, intro flujogramavariables, constantes, intro flujograma
variables, constantes, intro flujograma
 
Trabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodoTrabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodo
 
La Programación: Contexto y herramientas
La Programación: Contexto y herramientasLa Programación: Contexto y herramientas
La Programación: Contexto y herramientas
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programar
 
Trabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodoTrabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodo
 
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxclase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
 
Diana010
Diana010Diana010
Diana010
 
Charla Tdd Uji 032010
Charla Tdd Uji 032010Charla Tdd Uji 032010
Charla Tdd Uji 032010
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 

Último

tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
munozvanessa878
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
Augusto César Dávila Callupe
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
OmarPadillaGarcia
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
carmenquintana18
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
Carlos Pulido
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptxPRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
ANGELJOELSILVAPINZN
 
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docxINFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
LuzdeFatimaCarranzaG
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
yamilbailonw
 
Informe Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de TacnaInforme Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de Tacna
BrusCiriloPintoApaza
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
DiegoAlexanderChecaG
 
PPT suelos ensayo Proctor - laboratorio 4.pdf
PPT suelos ensayo Proctor - laboratorio 4.pdfPPT suelos ensayo Proctor - laboratorio 4.pdf
PPT suelos ensayo Proctor - laboratorio 4.pdf
EgorRamos1
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
raul958375
 
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdfFocos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
PatoLokooGuevara
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
raulnilton2018
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
brandonsinael
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
GERARDO GONZALEZ
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
AlejandroArturoGutie1
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
FantasticVideo1
 

Último (20)

tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptxPRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
PRACTICA 2 EDAFOLOGÍA TEXTURA DEL SUELO.pptx
 
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docxINFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
 
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptxS09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
S09 PBM-HEMORRAGIAS 2021-I Grabada 1.pptx
 
Informe Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de TacnaInforme Municipal provincial de la ciudad de Tacna
Informe Municipal provincial de la ciudad de Tacna
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
 
PPT suelos ensayo Proctor - laboratorio 4.pdf
PPT suelos ensayo Proctor - laboratorio 4.pdfPPT suelos ensayo Proctor - laboratorio 4.pdf
PPT suelos ensayo Proctor - laboratorio 4.pdf
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
 
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdfFocos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
 

Introducción a Programa-me - Concurso español de programacion (actualizado)

  • 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.
  • 16. ¿Cómo funciona el concurso?
  • 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!
  • 19. ¿Te has quedado con más ganas?
  • 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.