program Meu_Primeiro_Procedimento;
      {    Os procedimentos ou subprogramas que nao retornam
        valor sao declarados e implementados na area de
        declaracoes do programa principal. Um procedimento
        possui todas as caracteristicas de um programa sendo
        este o motivo pelo qual sao tambem chamados de
        subprogramas.
           Assim como os programas, os procedimentos possuem
        sua propria area de declaracao e sua propria area de
        implementacao. Tambem como os programas, os
        subprogramas podem conter outros subprogramas.
                  NOTA: na area de declaracoes e' tambem permitido
                        declarar labels; porem, um programa pascal
                        bem escrito nao deve incluir labels e gotos.
                        DESVIOS INCONDICIONAIS SAO SEMPRE FONTES
                        DE PROBLEMAS DIFICEIS DE RESOLVER! }
      
      
      { para entender como o presente porgrama e' executado
        sugiro sua execucao com pressionamentos da tecla F7 }
      
        procedure Procedimento1;
        { este procedimento pertence ao programa principal }
        begin { of procedure }
        Writeln('Bom dia.');
        end;  { of procedure }
      
      begin
      Writeln('Oi');
      Procedimento1; { chama o Procedimento1}
      Writeln('Aqui');
      Procedimento1; { chama o Procedimento1}
      Writeln('Fim');
      
      end.