Ir ao conteúdo
  • Cadastre-se

Jefferson Gomes Confessor

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

posts postados por Jefferson Gomes Confessor

  1. olá
    tenho um script referente a uma formula que calcula a energia cinética de uma gota de chuva simulada. tentei criar uma interface para rodar de background desta forma. só que não consegui juntar as duas. alguém pode me dizer se isso é possivel?

    program enerchuva;
    uses crt;
    const
      g = 9.81;
    var
      //txtarq: text;
      i, j, n: integer;
      //ch, fixatela: char;
      ch : char;
      c2, k1, k2, k3, k4, ecn, ecs, 
      tempoprec, t, dt, v, tfim, alt, 
      l, hb, deltad, ca, vou, ps, d, ip: real;
    
    procedure entra_dados;
    begin
    	
      clrscr; gotoxy(8,8);
      writeln('   forneca os seguintes dados: ');
      write  ('- intensidade de precipitacão, mm h-1.......  i  = '); readln(ip);
      write  ('- diâmetro medio das gotas; mm............  d  = ' ); readln(d);
      write  ('- pressão nos bicos,  psi, ........................  p  = '); readln(ps);
      write  ('- altura  do  bico, m, .............................. h  = '); readln(hb);
      write  ('- duração da precipitação, h,......... t  ='); readln(tempoprec);
    end;
    
    function f (a, b: real): real;
    begin
      f := g - c2 * sqr(v) 
    end;
    
    procedure calcula_velocidade;
    begin
      t := 0;
      dt := 0.001;
      tfim := 2;
      alt := hb - 0.30;
      c2 := exp(ln(0.4671)-0.9859 * ln(d));
      vou := 0;
      vou := 0.95 * sqrt((2 * 9.81) * (ps * (10/14.2)));
      v := vou;
      deltad := 0;
      while (t = 0) do
      begin
        k1 := dt * f(t,v);
        k2 := dt * f(t + dt/2, v + k1/2);
        k3 := dt * f(t + dt/2, v + k2/2);
        k4 := dt * f(t + dt  , v + k3);
        t := t + dt;
        v := v + (1/6) * (k1 + 2 * k2 + 2 * k3 + k4);
        deltad := v * dt;
        alt := alt - deltad;
      end;
    end;
    
    procedure calcula_energias_cinetica;
    begin
      l := ip * tempoprec;
      ecs := ((sqr(v)*l)/2);
      ecn := ((2.27093 * (ln(ip)) + 17.124)) * l;
    end; 
    
    procedure mostra_resultados;
    begin
      clrscr;
      gotoxy(14,2);
      writeln('-------------------------------------------------------------------');
      writeln('  dados de entrada:');
      writeln('- intensidade de precipitação...............i = ', ip:3:1,' mm h-1');
      writeln('- diâmetro metro medio das gotas .....d50 =  ', d:3:2,' mm');
      writeln('- pressão nos bicos............................. ps =  ', ps:3:1,' psi.');
      writeln('- altura  do bico ............................... hb =  ', hb:3:1,' m');
      write  ('- duração da precipitação, h,.................t='); readln(tempoprec);
      writeln('-------------------------------------------------------------------');
      gotoxy(14,12);
      writeln('-------------------------------------------------------------------');
      writeln('  dados de saida:');
      writeln;
      writeln('- velocidade inicial da gota ..........  vou  = ', vou:3:2, ' m s-1');
      writeln('- velocidade final da gota ..............vf  =  ', v:3:2, ' m s-1');
      writeln('- energia cinética simulada......... ecs = ', ecs :3:2, ' j m-2');
      writeln('- energia cinética da chuva......... ecn = ', ecn :3:2, ' j m-2');
      writeln('- relação ecs / ecn ............re = ', (ecs/ecn)*100:3:0, ' %');
      writeln('-------------------------------------------------------------------');
    end;
    
    begin
      clrscr;
      entra_dados;
      calcula_velocidade;
      calcula_energias_cinetica;
      mostra_resultados;
      readkey;
    end.
       program enerchuva;
    
    	var coluna,linha:integer;
    			letra:char;
    			dica:string;
    			
    begin
    
      		textbackground(cyan);  //escolhe a cor do fundo azul
    			clrscr;
    			coluna:=1;linha:=30;
    			gotoxy(coluna,linha);textcolor(lightgreen);  
    	
    			for coluna:=1 to 100 do //desenha o grmado
    			write (#219);
    			
    	
    			coluna:=1;linha:=31;textcolor(brown); //desenha o solo
    			for coluna:=1 to 80 do begin
    			write (#219);
    			for linha:=1 to 15 do
    		  write(#219);
    			end;
    			
    			
    			coluna:=3;linha:=10;textcolor(8); //desenha o simulador
    			gotoxy(coluna,linha);
    			for linha:=10 to 29 do begin
    			gotoxy(coluna,linha);write(#219,#219);
    			end;
    			
    			coluna:=3;linha:=10;
    			for coluna:=3 to 20 do begin	
    			gotoxy(coluna,linha);write(#219);       //desenha o simulador
    			end;
    			
    			coluna:=20;linha:=12;textcolor(blue);   //desenha gotas de chuva
    		  gotoxy(coluna,linha);write(#219);      
    		  
    		  coluna:=20;linha:=18;textcolor(blue);   //desenha gotas de chuva
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=20;linha:=24;textcolor(blue);   //desenha gotas de chuva
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=15;linha:=18;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		                                           //desenha gotas de chuva
    		  coluna:=25;linha:=18;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=25;linha:=24;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		                                            //desenha gotas de chuva
    		  coluna:=25;linha:=24;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=15;linha:=24;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		                                           //desenha gotas de chuva            
    		  coluna:=10;linha:=24;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=30;linha:=24;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=30;linha:=29;textcolor(blue);     //desenha gotas de chuva
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=10;linha:=29;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=5;linha:=29;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=15;linha:=29;textcolor(blue);       //desenha gotas de chuva
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=20;linha:=29;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		                                              //desenha gotas de chuva
    		  coluna:=25;linha:=29;textcolor(blue);
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=35;linha:=29;textcolor(blue);       //desenha gotas de chuva
    		  gotoxy(coluna,linha);write(#219);
    		  
    		  coluna:=3; linha:=41;
    		  gotoxy(coluna, linha); textcolor(white);textbackground(brown);  //escreve o nome do programa
    		  write('programa enerchuva');
    		  
    		  
    		  
    		  
    		  
    		  
    		  
    			end.
    			
    			
    			

     

    ener.png

    interface.png

    • Curtir 1
  2.  

    Olá pessoal

    Sou bem leigo na programação e estou precisando da ajuda de alguém que tenha disponibilidade.

    Tenho um script de um programa que me auxilia a realizar o cálculo da energia cinética de uma gota de chuva. Só que está em Pascal e gostaria de colocá-lo em python para rodar sem precisar de nenhum programa 

     

    Se alguém puder ajudar converter me ajudaria muito, vou utilizar em aulas, então mais pessoas serão beneficiadas. Se eu tiver o script em python depois posso tentar fazer um layout bonitinho para disponibilizar para eles 

    Desde já agradeço. Segue o script em pascal

     

    USES CRT;
    
    Const
    	g = 9.81;
    Var
    	TxTArq                               		: text;
    	i, j, n                                 			: integer;
    	ch, fixatela                          			: char;
    	K1, K2, K3, K4, EcN, EcS, 
    	tempoPrec, t, dt, V, tfim, alt, 
    	L, hb, deltaD, Ca, vou, PS, D, Ip		: real;
    
    Procedure Entra_Dados;
    begin
    	clrscr; 	gotoxy(8,8);
    	writeln('   FORNECA OS SEGUINTES DADOS: ');
    	write('- Intensidade de Precipitacão, mm h-1.......  I  = ');readln(Ip);
    	write('- Diâmetro medio das gotas; mm............  D  = ' );readln(D);
    	write('- Pressão nos bicos,  PSI, ........................  P  = ');readln(PS);
    	write('- Altura  do  Bico, m, .............................. H  = ');readln(hb);
    	write('- Duração da precipitação, h,......... T  =); readln(tempoPrec);
    end;
    
    Function f ( a, b: real): real;
    begin
    	f :=  g - C2 * sqr(v) 
    end;
    
    Procedure Calcula_Velocidade;
    begin
    	t:= 0;
    	dt:= 0.001;
    	tfim:= 2;
    	alt:= hb - 0.30;
    	C2 := EXP(ln(0.4671)-0.9859 * ln(D));
    	vou:= 0;
    	vou:= 0.95 * sqrt((2 * 9.81) * (PS * (10/14.2)));
    	v:= vou;
    	deltaD:= 0;
    	WHILE (t <= tfim) and (alt >= 0) do
    	begin
    		K1 := dt * f(t,v);
    		K2 := dt * f(t + dt/2, v + K1/2);
    		K3 := dt * f(t + dt/2, v + K2/2);
    		K4 := dt * f(t + dt  , v + K3);
    		t := t + dt;
    		v := v + (1/6) * (K1 + 2 * K2 + 2 * K3 + K4);
    		deltaD := v * dt;
    		alt := alt - deltaD;
    	end;
    end;
    
    
    Procedure Calcula_Energias_Cinetica;
    	begin
    		L:= Ip * tempoPrec;
    		EcS:= ((sqr(v)*L)/2);
    		EcN :=((2.27093 * (Ln(Ip)) + 17.124)) * L;
    	end; 
    
    
    Procedure Mostra_Resultados;
    begin
    	clrscr;
    	gotoxy(14,2);
    	writeln('-------------------------------------------------------------------');
    	writeln('  DADOS DE ENTRADA:');
    	writeln('- Intensidade de Precipitação...............I = ', Ip:3:1,' mm h-1');
    	writeln('- Diâmetro metro medio das gotas .....D50 =  ', D:3:2,' mm');
    	writeln('- Pressão nos bicos............................. PS =  ',PS:3:1,' PSI.');
    	writeln('- Altura  do Bico ............................... Hb =  ',Hb:3:1,' m');
    	write('- Duração da precipitação, h,.................T=);
             readln(tempoPrec);
    	writeln('-------------------------------------------------------------------');
    	gotoxy(14,12);
    	writeln('-------------------------------------------------------------------');
    	writeln('  DADOS DE SAIDA:');
    	writeln;
    	writeln('- Velocidade Inicial da gota ..........  vou  = ', vou:3:2,' m s-1');
    	writeln('- Velocidade Final da gota ..............Vf  =  ', V :3:2,' m s-1');
    	writeln('- Energia Cinética Simulada......... EcS = ', Ecs :3:2,' J m-2');
    	writeln('- Energia Cinética da Chuva......... EcN = ',Ecn :3:2,' J m-2');
    	writeln('- Relação EcS / EcN ............RE = ',(Ecs/Ecn)*100:3:0,' %');
    	writeln('-------------------------------------------------------------------');
    end;
    
    
    
    BEGIN
    	clrscr;
    	Entra_Dados;
    	Calcula_velocidade;
    	Calcula_Energias_Cineticas;
    	Mostra_Resultados;
    	Fixatela := readkey;
    END.

     

    • Curtir 1

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!