logo aula logo upc logo oie OIE - Olimpiada Informática Española
Universidad Politécnica de Cataluña - Fundación Aula
 
Opciones
Idioma
 »  Castellano
 »  Catalán

(Se buscan traductores a Euskera o Galego)
Identificación
Contacto

Problemas, dudas o comentarios relacionados con la web o la Olimpiada:

omer.gimenez @ upc.edu

Preguntas Frecuentes

Preguntas Frecuentes

Web y Olimpiada Informática

No puedo acceder a la documentación y a los problemas, el link me sale de color gris. ¿Cómo puedo saber si la Olimpiada Informática me interesa?

Para acceder a la documentación y a los problemas es necesario inscribirse en la página web. Una vez inscrito recibirás un correo con tu nombre de usuario y password, y podrás acceder a todas las páginas de la web. Inscribirse en la web no supone ningún compromiso, en particular, no compromete a participar en el concurso.

¿Es necesario ser alumno para inscribirse en la web?

Es necesario ser alumno para participar en el concurso, pero no es necesario ser alumno para inscribirse en la web. Cualquiera interesado en la programación, y muy especialmente los educadores de los alumnos, están invitados a inscribirse.

¿Quién puede concursar en la Olimpiada Informática Española?

Sólo pueden participar los alumnos que el curso correspondiente estén matriculados en secundaria (ESO y Bachillerato) o ciclos formativos de grado medio, y que no tengan más de 20 años.

¿Hay otras páginas web que sirvan para entrenarse para las olimpiadas? ¿Existen otros concursos de programación parecidos?

En el apartado "Enlaces de interés" encontrarás varios links relevantes, con el único inconveniente de que todo está en inglés.

La ACM (Association for Computing Machinery, la sociedad de informáticos más prestigiosa del mundo) organiza anualmente un concurso de programación para universitarios. En el apartado "Enlaces de interés" encontrarás los links a el Problem Set Archive del Miguel Revilla en la universidad de Valladolid y el Live Archive del ACM-ICPC, páginas web que contienen miles de problemas que se han utilizado en estos concursos de programación, y un juez on-line para corregir las soluciones que se quieran enviar. Un pequeño inconveniente de estas dos páginas es que los problemas no están ordenados por dificultad.

Por otra banda, la empresa americana Topcoder organiza concursos de programación mundiales a distintos niveles (escuelas de secundaria, universitarios, abiertos a todo el mundo) y bajo encargo de distintas empresas (por ejemplo, organizan el conocido Google Code Jam) con el objetivo de reclutar programadores. La inscripción a Topcoder es gratuita y no conlleva ningún compromiso; una vez registrado, se puede acceder al repositorio de problemas de Topcoder (más de un millar) y a su juez online, mediante un applet de Java llamado "the Arena". Topcoder es una muy buena herramiennta de autoaprendizaje, ya que los problemas están ordenados por dificultat, se puede ver los programas enviados por otras personas, y se ofrecen análisis de los problemas para entender cuál es la mejor solución.

Juez On-line

¿Qué nombres de fichero debe utilizar los programas que se envien al juez online para leer la entrada y escribir la salida?

No es necesario utilizar ningún fichero: la entrada se lee desde "teclado", es decir, des de la entrada estándard (cin o scanf en C++, readln y parecidos en Pascal, System.in en Java, etc.) y se escriben en la "pantalla", es decir, en la salida estándard (cout o printf en C++, writeln y parecidos en Pascal, System.out en Java, etc.)

De hecho, intentar abrir o cerrar ficheros conlleva un riesgo de seguridad para nuestra máquina, de modo que los programas que se envien al juez NO deben abrir o cerrar ficheros de ningún tipo, ni hacer cualquier otra cosa mínimamente sospechosa. En particular, si se programa en C/C++ bajo Dev-C++, hay que abstenerse de usar la instrucción system("pause") en los programas que se envíen, ya que el juez interpretará dicha instrucción como un intento de bloquear el sistema de corrección.

El juez online me ha puesto en cuarentena porque considera que he atacado la integridad de la máquina con mi programa, pero yo sólo intentaba resolver el problema. ¿Qué hago?

El juez online usa diversas medidas de seguridad para evitar que los programas que corrige puedan "atacarle". En lo relativo a la seguridad preferimos pecar por exceso que no por defecto, por lo que puede ocurrir, y ocurre, que instrucciones inocuas comporten ser puesto en cuarentena, simplemente porque el juez desconoce que no es peligrosa.

Si has sido puesto en cuarentena, deberías enviar un e-mail a (web @ olimpiada-informatica.org) solicitando que se te reactive la cuenta. Aprovecha el e-mail para preguntar por qué motivo habías sido puesto en cuarentena (si es que no lo conoces) para evitar que vuelva ocurrir en un futuro.

¿Qué lenguajes de programación puedo usar para escribir mis programas?

El juez online acepta programas escritos en C++ (GNU g++), C (GNU gcc), Java (Sun JDK 1.6) y Pascal (GNU Pascal gpc o Free Pascal). Sin embargo, el lenguaje de programación más usado en el concurso, y el que recomendamos utilizar a todos los participantes, es el C++.

Programo en Java. Exactamente, ¿qué fichero o clase debo enviar al Juez?

Envía tu código dentro de la función pública y estatica "main" que pertenezca a la clase "Main", como en el ejemplo que sigue:

class Main {
    public static void main(String args[]) {
        //aqui el programa, que lee la entrada estandard (System.in)
	//y escribe por la salida estandard (System.out)
    }
}