Foros del Web » Programación para mayores de 30 ;) » Programación General »

Funcionamiento concursos de programacion.

Estas en el tema de Funcionamiento concursos de programacion. en el foro de Programación General en Foros del Web. Hola a todos, tengo varias dudas sobre los concursos de programacion. Por ejemplo, hace poco Tuenti organizo uno y no se como funciona. La informacion ...
  #1 (permalink)  
Antiguo 09/09/2011, 19:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 10 años
Puntos: 34
Funcionamiento concursos de programacion.

Hola a todos, tengo varias dudas sobre los concursos de programacion.
Por ejemplo, hace poco Tuenti organizo uno y no se como funciona.

La informacion que ellos te dan es esta:
Cita:
Challenge 1: Super hard sum

Your amazing program should calculate the sum if the numbers given in each line, and output on line for each question with the response. Numbers can be negative, really big and lines contain extra spaces, so make your program resistant to input.

Your program will need to read from standard input, line by line till the end of the input. Consider each line a different question. For each line you read, output the sum of all the given numbers.

Sample input
2 3
4 5 -1

Sample output
5
8
Que es eso de input/output?

En la pagina http://www.ricardclau.com/2011/06/tu...oblemas-1-a-4/ publicaron la solucion que ellos dieron (en php).

Esta es la solucion:
Código PHP:
Ver original
  1. #!/usr/bin/php
  2. <?php
  3. $lines = ;
  4. foreach($lines as $line) {
  5.     echo array_reduce(preg_split('/\s/', trim($line)), 'bcadd') .  PHP_EOL;
  6. }
  7. ?>

No entiendo lo de file('php://stdin'),supongo que es la entrada o como funciona esto?

Un saludo y gracias por la informacion.
  #2 (permalink)  
Antiguo 09/09/2011, 21:56
 
Fecha de Ingreso: septiembre-2010
Mensajes: 525
Antigüedad: 9 años, 2 meses
Puntos: 59
· file
· php://

__________________
01011111 01000001 01100100 01110010 01101001 01100001 01101110 01011111
  #3 (permalink)  
Antiguo 10/09/2011, 13:29
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 10 años
Puntos: 34
Respuesta: Funcionamiento concursos de programacion.

Esta es la solucion:
Código PHP:
Ver original
  1. #!/usr/bin/php
  2. <?php
  3. $lines = file('php://stdin');
  4. foreach($lines as $line) {
  5.     echo array_reduce(preg_split('/\s/', trim($line)), 'bcadd') .  PHP_EOL;
  6. }
  7. ?>

Me confundi poniendo la solucion. Ahi esta.


Gracias por responder :)
  #4 (permalink)  
Antiguo 10/09/2011, 13:42
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 10 años
Puntos: 34
Respuesta: Funcionamiento concursos de programacion.

Cita:
Iniciado por _Adrian_ Ver Mensaje
· file
· php://

No entiendo el funcionamiento de php://. Quiero decir, y como se introduce la entrada al programa?
  #5 (permalink)  
Antiguo 12/09/2011, 10:47
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 8 años, 7 meses
Puntos: 344
Respuesta: Funcionamiento concursos de programacion.

Como se puede leer en la documentación oficial php://stdin se refiere al flujo de entrada estándar (por consola, para entendernos).

Tienes que entender un flujo como un canal entre el programa y un archivo (considerando la entrada estándar como un archivo).

Mediante la función file se abre un flujo hacia un archivo y se lee completo (en este caso, lee de la entrada estándar hasta que se escribe el símbolo de final de fichero EOF).

En el concurso de Tuenti (en el que medio participe), el programa que utilizaban ellos para hacer las pruebas simulaba una escritura en la entrada estándar (como si fuese el propio usuario el que escribiese, pero era un programa realmente).

Espero que haya quedado algo más claro y si no pregunta.
  #6 (permalink)  
Antiguo 12/09/2011, 20:55
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 10 años
Puntos: 34
Respuesta: Funcionamiento concursos de programacion.

Y en la consola, cómo habría que llamar al script metiéndole el dato de entrada para que lo recoja con stdin?

Gracias, un saludo

Etiquetas: concursos, funcionamiento, php, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:14.