1.2.3 Entrada e Saída Padrão
Autor: Joseph S. Alcântara | Publicado: 2009-02-13T13:19:00-08:00

Programadores UNIX estão familiarizados com noções de filtros e os tubos-programas, que têm um fluxo de entrada e produzir um fluxo de saída. A produção de tais programas é adequada para a alimentação de outros programas como entrada. O paradigma é um dos poucos programas de stringing lotes juntos em vez de produzir grandes e complicados sistemas de software que tentam fazer tudo.Esta filosofia de software tem tido um pouco de uma surra nos últimos anos, devido à popularidade de interfaces gráficas do utilizador. Muitos programadores instintivamente colocou uma interface ponto-e-clique  de cada programa. Mas essas interfaces podem tornar muito difícil a transferência de dados a partir de um programa para outro. É fácil manipular a saída texto em outro programa, mas o que pode fazer com uma imagem diferente do olhar para ela?Figura 1.2. Exemplos de Entrada e Saída Padrão em C (à esquerda), C++ (centro), e Pascal (direita).As normas de E/S do juiz refletem as regras da ACM. Cada programa deve ler os dados de ensaio do padrão de entrada e imprimir os resultados para a saída padrão. Os programas não estão autorizados a abrir arquivos ou a executar determinadas chamadas de sistema.  Padrão de entrada / saída é bastante simples em C, C + + e Pascal. A Figura 1.2 fornece um exemplo simples em cada linguagem que se lê em dois números por linha e relatórios o valor absoluto da sua diferença. Observe como a sua linguagem favorita testes para o fim-de-arquivo encerra condição. A maioria dos problemas tornar ainda mais fácil de entrada de transformação, indicando uma contagem do número de exemplos ou descrever uma linha especial terminação.  A maioria das linguagens fornecem poderosas funções como forma E / S. Quando usado corretamente, única linha de comandos podem tornar desnecessários determinados doloroso parsing e formatação rotinas escritas por aqueles que não leram o manual.No entanto, entrada / saída padrão em Java não é fácil . Um modelo eletrônico de E / S para Java (35 linhas) está disponível a partir http://www.programming-challenges.com. Configurá-lo uma vez e utilizá-lo para todas as suas entradas.  Programas Java apresentados ao juiz deve ser constituído por um único arquivo código-fonte . Eles são actualmente compilados e executados como aplicações nativas usando o gcj compilador, mas isto pode mudar no futuro. Note-se que o uso de java::io é restrito, o que implica que algumas funcionalidades não estão disponíveis. Funções e os fios de rede também são indisponíveis. No entanto, os métodos úteis de matemática e outros pacotes comuns estão autorizadas. Todos os programas devem começar em um método principal estático  em uma classe principal. Não utilize classes públicas: mesmo principal deve ser não-públicas para evitar a compilar erros. No entanto, você pode adicionar e exemplo, como muitas classes, conforme necessário.  Se você está usando um sistema operacional / compilador, o que torna difícil a utilização padrão de entrada / saída, nota que o juiz sempre define o ONLINE JUDGE símbolo ao compilar o seu programa. Assim, você pode testá-lo e para redirecionar a entrada / saída para um arquivo quando executado no seu próprio sistema.