Ir ao conteúdo
  • Cadastre-se
sssmickey

Programa para calcular postes

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×