Ir ao conteúdo
  • Cadastre-se

Programa para calcular postes


Posts recomendados

Agradeço dez de já a quem ajudar........

segue anexo o programa meu até agora.

 

 

Program Pzim ;
var
tamanho_rua,numero_imovel:real;
quantidade_industria,numero_localizacao_industria,menu,i,poste,distacia_imovel_transformador,distancia_imovel_poste:integer;
Begin
  i:=0;
  poste:=1;
distacia_imovel_transformador:=0;                                                                                                                       // os contadores sendo zerados
distancia_imovel_poste:=0;
writeln ('1) Inventario de material');
writeln ('2) Distância do ponto de alimentação');                                                                                                      // indica as opções do menu
read(menu);
clrscr;
//------------------------------------------------------------
case (menu) of
  
  1:
  begin
    writeln    ('                    Inventario de material');                                                                                                      // primeira opção de menu
    writeln    ('Tamanho de rua em metros');
    read(tamanho_rua);
    clrscr;
    
    //----------------------------------------------------------
    writeln('Digite 1) se tiver industrias');
    read(quantidade_industria);                                                                                                                               // indica a se tera industrias
    clrscr;
    
    //----------------------------------------------------------
    if(quantidade_industria>0) then
    begin
      writeln('Digite o numero de sua localização');                                                                                                 // indica onde esta localizado se tiver industria
      read(numero_localizacao_industria);
    end;
    
    //--------------------------------------------------------
    
    repeat                                                                                                                                   // repetição para imprimir os resultados de onde tera os potes e transformadores
                                                                                                                                             // quando a industria for menor que o contador
      if(i mod 75=0) and (i mod 225=0) and (numero_localizacao_industria<i) then
      begin
        writeln('Poste ',poste,' (',i,' Metros) - Transformador Normal');
        poste:=poste+1;
      end;
      
      //-----------------------------------------------------------
      
      if(i mod 75=0) and (i mod 225=0) and (numero_localizacao_industria>i) then
      begin                                                                                                                                // repetição para imprimir os resultados de onde tera os potes e transformadores
        writeln('Poste ',poste,' (',i,' Metros) - Transformador Normal');                                                                  // quando a industria for maior que o contador
        poste:=poste+1;
      end; 
                
      
      //----------------------------------------------------------
      
      if (i mod 75=0) and (i mod 225<>0) then                                                                          // valida quando o poste não tem transformador
      begin
        writeln ('Poste ',poste,' (',i,' Metros) - Sem Transformador');
        poste:=poste+1;
      end;
      
      //----------------------------------------------------------
      
      if (i mod 75=0)and (i mod 225<>0) and (numero_localizacao_industria=i) then
      begin                                                                                                                                                      // valida quando o poste tiver transformador industrial
        writeln ('Poste ',poste,' ( ',i,' Metros) -Transformador Industrial');
        poste:=poste+1;
      end;
      
      //-----------------------------------------------------------
      i:=i+1;
    until(i=tamanho_rua+1);                                                                                                                 // aqui valida quando o contador (i) for = ao tamanho da rua para sair da repetição
  end;
  
  
  //--------------------------------------------------------------
  
  2:
  begin
    writeln    ('                    Inventario de material');                                                                           // indica a opção 2
    writeln    ('Tamanho de rua em metros');                                                                                             // e o tamanho da rua em  metros
    read(tamanho_rua);
    clrscr;
    
    //---------------------------------------------------------------
    
    writeln('Digite 1) se tiver industrias');
    read(quantidade_industria);
    clrscr;
    
    //---------------------------------------------------------------
    
    if(quantidade_industria>0) then
    begin
      writeln('Digite o numero de sua localização');
      read(numero_localizacao_industria);
      clrscr;
      
      //---------------------------------------------------------------
      
      writeln('Digite o numero do imovel');
      read(numero_imovel);
      clrscr;
      
      //---------------------------------------------------------------
      
      repeat                                                                                                                                   // repetição para imprimir os resultados de onde tera os potes e transformadores
        
        if(i mod 75=0) and (i mod 225=0) and (numero_localizacao_industria<>i) then
        begin
          poste:=poste+1;
          if (numero_imovel<=i) then
          distacia_imovel_transformador:=distacia_imovel_transformador+1;
        end;
        
        //----------------------------------------------------------
        
        if (i mod 75=0) and (i mod 225<>0) and (numero_localizacao_industria<>i) then                                                                          // valida quando o poste não tem transformador
        begin
          poste:=poste+1;
          if (numero_imovel<=i) then
          distancia_imovel_poste:=distancia_imovel_poste+1;
        end;
        
        //----------------------------------------------------------
        
        if (i mod 75=0)and (i mod 225<>0) and (numero_localizacao_industria=i) then
        begin                                                                                                                                                      // valida quando o poste tiver transformador industrial
          poste:=poste+1;
        end;
        
        //-----------------------------------------------------------
        i:=i+1;
      until(i=tamanho_rua+1);                                                                                                                                                // aqui valida quando o contador (i) for = ao tamanho da rua para sair da repetição
    end;
    writeln ('A distancia entre o imovel e o poste onde sera ligad a rede eletrica é ',distancia_imovel_poste);
    writeln ('A distancia entre o imovel e o transformador mas proximo ao imovel é ',distacia_imovel_transformador);
  end;
end;

End.

Prova-Distribuição de energia-sssmickey.pas

IMG_20160519_215618766.jpg

IMG_20160519_215628141.jpg

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...