SlideShare uma empresa Scribd logo
1 de 23
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.

Mais conteúdo relacionado

Mais procurados

Paradigmas de la ingeniería de software
Paradigmas de la ingeniería de softwareParadigmas de la ingeniería de software
Paradigmas de la ingeniería de softwareAndhy H Palma
 
Servicios De Nombres Y El Sistema De Nombres
Servicios De Nombres Y El Sistema De NombresServicios De Nombres Y El Sistema De Nombres
Servicios De Nombres Y El Sistema De Nombrespablonelson
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql serverVicente Alberca
 
Tipo de variables de PowerDesigner
Tipo de variables de PowerDesignerTipo de variables de PowerDesigner
Tipo de variables de PowerDesignerKlucio
 
PRIMER EXAMEN PARCIAL DE INTELIGENCIA DE NEGOCIOS
PRIMER EXAMEN PARCIAL DE INTELIGENCIA DE NEGOCIOSPRIMER EXAMEN PARCIAL DE INTELIGENCIA DE NEGOCIOS
PRIMER EXAMEN PARCIAL DE INTELIGENCIA DE NEGOCIOSRis Fernandez
 
Cuadro comparativo base de datos
Cuadro comparativo base de datosCuadro comparativo base de datos
Cuadro comparativo base de datosAna1Alvarado
 

Mais procurados (8)

Paradigmas de la ingeniería de software
Paradigmas de la ingeniería de softwareParadigmas de la ingeniería de software
Paradigmas de la ingeniería de software
 
Servicios De Nombres Y El Sistema De Nombres
Servicios De Nombres Y El Sistema De NombresServicios De Nombres Y El Sistema De Nombres
Servicios De Nombres Y El Sistema De Nombres
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql server
 
Mcvs re-03 requerimientos técnicos
Mcvs re-03 requerimientos técnicosMcvs re-03 requerimientos técnicos
Mcvs re-03 requerimientos técnicos
 
Tipo de variables de PowerDesigner
Tipo de variables de PowerDesignerTipo de variables de PowerDesigner
Tipo de variables de PowerDesigner
 
Dis02
Dis02Dis02
Dis02
 
PRIMER EXAMEN PARCIAL DE INTELIGENCIA DE NEGOCIOS
PRIMER EXAMEN PARCIAL DE INTELIGENCIA DE NEGOCIOSPRIMER EXAMEN PARCIAL DE INTELIGENCIA DE NEGOCIOS
PRIMER EXAMEN PARCIAL DE INTELIGENCIA DE NEGOCIOS
 
Cuadro comparativo base de datos
Cuadro comparativo base de datosCuadro comparativo base de datos
Cuadro comparativo base de datos
 

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

Introducción a Programa-me - Concurso español de programacion
Introducción a Programa-me - Concurso español de programacionIntroducción a Programa-me - Concurso español de programacion
Introducción a Programa-me - Concurso español de programacionJosé Ráez Rodríguez
 
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 estructuradaFranklin Parrales Bravo
 
Clase 1 Itinerario
Clase 1 ItinerarioClase 1 Itinerario
Clase 1 Itinerariovbalda
 
Open class 1_PE.pdf
Open class 1_PE.pdfOpen class 1_PE.pdf
Open class 1_PE.pdfRicardo89199
 
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 equipo5mendozaperla
 
El arte de programar prev
El arte de programar prevEl arte de programar prev
El arte de programar prevjtk1
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programarCelestino Duran
 
variables, constantes, intro flujograma
variables, constantes, intro flujogramavariables, constantes, intro flujograma
variables, constantes, intro flujogramaKarla 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 periodogabrielaalban8
 
Lo básico para programar
Lo básico para programarLo básico para programar
Lo básico para programarCelestino Duran
 
Trabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodoTrabajo de tecnologia 3 er periodo
Trabajo de tecnologia 3 er periodogabrielaalban8
 
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).pptxJulianSimonetta
 
Diana010
Diana010Diana010
Diana010dani t
 
Charla Tdd Uji 032010
Charla Tdd Uji 032010Charla Tdd Uji 032010
Charla Tdd Uji 032010Carlos Ble
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoJohanCaro5
 

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

Introducción a Programa-me - Concurso español de programacion
Introducción a Programa-me - Concurso español de programacionIntroducción a Programa-me - Concurso español de programacion
Introducción a Programa-me - Concurso español de programacion
 
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
 
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

lean manufacturing and its definition for industries
lean manufacturing and its definition for industrieslean manufacturing and its definition for industries
lean manufacturing and its definition for industriesbarom
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptxluiscisnerosayala23
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesjohannyrmnatejeda
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdfLIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdfManuelVillarreal44
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptxEfrain Yungan
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 

Último (20)

lean manufacturing and its definition for industries
lean manufacturing and its definition for industrieslean manufacturing and its definition for industries
lean manufacturing and its definition for industries
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
presentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafilpresentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafil
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajes
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdfLIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx
 
Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdfMATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 

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.