Aiuto Pascal
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 13 di 13

Discussione: Aiuto Pascal

Cambio titolo
  1. #1
    Programmatore capo L'avatar di thebigdax
    Registrato il
    10-04
    Località
    IBM
    Messaggi
    781

    Aiuto Pascal

    forse non è possibile con il turbo pascal, però lo chiedo lo stesso.
    A partire da una disequazione di secondo grado è possibili disegnare una parabola??

    Può sempre servire
    Nel 1969, 2 commodore 64 sono riusciti a far andare l'uomo sulla Luna... ...oggi, nel 2005, un Athlon 3500+ fa fatica a far girare Windows Xp!!!!

  2. #2
    Shadows and Dust L'avatar di Vurdalak
    Registrato il
    04-05
    Località
    Bergamo
    Messaggi
    1.975
    Citazione thebigdax
    forse non è possibile con il turbo pascal, però lo chiedo lo stesso.
    A partire da una disequazione di secondo grado è possibili disegnare una parabola??
    si... sostituisci i vari valori partendo da 0 metti e alle coordinate che ti torna fisegni un punto...io ce l'avevo fatta ma non mi ricordo bene... prova così...




  3. #3
    Programmatore capo L'avatar di thebigdax
    Registrato il
    10-04
    Località
    IBM
    Messaggi
    781
    qualcosa di più preciso??? cmq è già un passo in avanti sapere che è possibile

    Può sempre servire
    Nel 1969, 2 commodore 64 sono riusciti a far andare l'uomo sulla Luna... ...oggi, nel 2005, un Athlon 3500+ fa fatica a far girare Windows Xp!!!!

  4. #4
    Shadows and Dust L'avatar di Vurdalak
    Registrato il
    04-05
    Località
    Bergamo
    Messaggi
    1.975
    Citazione thebigdax
    qualcosa di più preciso??? cmq è già un passo in avanti sapere che è possibile
    non mi ricordo gran che di matematica... ma tu hai una funzione a due incognite giusto! se tu sostituisci una variabile dovresti essere in grado di calcolarti anche l'altra...metti tutto in un for che ne so x 100 punti e vedi cosa disegna...
    Altro non mi ricordo...




  5. #5
    Programmatore capo L'avatar di thebigdax
    Registrato il
    10-04
    Località
    IBM
    Messaggi
    781
    io ho una disequazione di secondo grado completa: quindi 7x^2-20x-8 minore o maggiore 0, voglio disegnare il grafico di questa disequazione: che è sicuramente una parabola

    Può sempre servire
    Nel 1969, 2 commodore 64 sono riusciti a far andare l'uomo sulla Luna... ...oggi, nel 2005, un Athlon 3500+ fa fatica a far girare Windows Xp!!!!

  6. #6
    Shadows and Dust L'avatar di Vurdalak
    Registrato il
    04-05
    Località
    Bergamo
    Messaggi
    1.975
    Citazione thebigdax
    io ho una disequazione di secondo grado completa: quindi 7x^2-20x-8 minore o maggiore 0, voglio disegnare il grafico di questa disequazione: che è sicuramente una parabola
    Scusa ma se tu sostituisci dei valori ad x e gli fai risolvere il tutto (se x= 0 7x^2-20x-8 = -8 , se x=1 7x^2-20x-8 = -21 ecc...) fai così e riesci a disegnarla...




  7. #7
    Programmatore capo L'avatar di thebigdax
    Registrato il
    10-04
    Località
    IBM
    Messaggi
    781
    ok, quindi essendo che sto creando un programma che mi risolva le disequazioni di secondo grado non devo fare altro che prendere i due risultati che ottengo ed inserirli nel grafico come faccio poi sulla carta grazie ho capito tutto

    Può sempre servire
    Nel 1969, 2 commodore 64 sono riusciti a far andare l'uomo sulla Luna... ...oggi, nel 2005, un Athlon 3500+ fa fatica a far girare Windows Xp!!!!

  8. #8
    Programmatore capo L'avatar di thebigdax
    Registrato il
    10-04
    Località
    IBM
    Messaggi
    781
    devo usare sia draw e plot o solo uno dei due???

    Può sempre servire
    Nel 1969, 2 commodore 64 sono riusciti a far andare l'uomo sulla Luna... ...oggi, nel 2005, un Athlon 3500+ fa fatica a far girare Windows Xp!!!!

  9. #9
    Shadows and Dust L'avatar di Vurdalak
    Registrato il
    04-05
    Località
    Bergamo
    Messaggi
    1.975
    Citazione thebigdax
    devo usare sia draw e plot o solo uno dei due???
    Non mi ricordo cosa siano... riesci a rinfrescarmi la memoria?




  10. #10
    Programmatore capo L'avatar di thebigdax
    Registrato il
    10-04
    Località
    IBM
    Messaggi
    781
    plot: disegna il punto
    draw: unisce due punti disegnado il segmento

    Può sempre servire
    Nel 1969, 2 commodore 64 sono riusciti a far andare l'uomo sulla Luna... ...oggi, nel 2005, un Athlon 3500+ fa fatica a far girare Windows Xp!!!!

  11. #11
    Shadows and Dust L'avatar di Vurdalak
    Registrato il
    04-05
    Località
    Bergamo
    Messaggi
    1.975
    Citazione thebigdax
    plot: disegna il punto
    draw: unisce due punti disegnado il segmento
    Se usi il punto secondo me esce una cosa migliore...più punti metti meglio esce..
    per il segmento devi calcolarti due punti ed unire le coordinate quindi metti 2 calcoli in un for...
    col punto ne metti 1... fai questo ed è migliore...al massimo vedi come esce se in cento punti non otteni una parabola piccolissima allora aumenta il range del for e uniscili...sta a te la scelta...




  12. #12
    L'avvelenato L'avatar di netstorm
    Registrato il
    07-03
    Località
    Aachen
    Messaggi
    6.344
    Figo! non è che poi potresti postare l'algoritmo o il sorgente...anche io uso pascal a scuola, ma siamo agli inizi!!!

  13. #13
    Programmatore capo L'avatar di thebigdax
    Registrato il
    10-04
    Località
    IBM
    Messaggi
    781
    nel sorgente però non c'è la parte del grafico perchè non l'ho ancora fatta cmq:
    Codice:
    // programma creato da thebigdax
    
    program disequazioni;					  // nome programma
    uses crt,sysutils,math;			  // unit… utilizzate
    var a1,b1,b2,c1,delta1,scelta:integer;	 //
    	x1,x2:real;							//  dichiarazione variabili
    	ripeti,grafok:char;					//
    	dis1,dis2,dis3,dismag,dismin:string;   //
    
    
    // inizio dichiarazione procedure
    
    procedure inserimento_valori;
    
     begin
       writeln;
       delay(2000);
       write('Inserisci il valore della a ');
       readln(a1);
       delay(750);
       write('Inserisci il valore della b ');
       readln(b1);
       delay(750);
       write('Inserisci il valore della c ');
       readln(c1);
       writeln;
     end;
    
    
    procedure calcolo_delta;
    
     begin
       b2:=sqr(b1);
       delta1:=b2+(-4*a1*c1);
       if delta1<0 then
    	begin
    	 writeln('Non ci sono risultati possibili, il delta Š negativo');
    	 writeln('Il delta Š ',delta1);
    	end;
       if delta1>=0 then
    	begin
    	 writeln('Il delta Š maggiore o uguale 0');
    	 writeln('Il delta Š ',delta1);
    	end;
       writeln
     end;
    
    
    procedure calcola_dis;
    
     begin
       x1:=(-b1-(sqrt(delta1)))/(2*a1);
       x2:=(-b1+(sqrt(delta1)))/(2*a1);
       writeln('I due risultati possibili sono: ',x1:3:2,' e ',x2:3:2);
     end;
    
    
    procedure risultatimag;
    
     begin
       if (scelta=1) and (a1>0) then
    	begin
    	  writeln('Le parti che soddisfano la disequazione sono x<',x1:3:2,' e x>',x2:3:2);
    	  writeln('Il risultato Š stato visualizzato');
    	  delay(2000);
    	end;
       if (scelta=1) and (a1<0) then
    	begin
    	  writeln('La parte che soddifa la disequazione Š ',x1:3:2,'<x<',x2:3:2);
    	  writeln('Il risultato Š stato visualizzato');
    	  delay(2000);
    	end;
     end;
    
    
    procedure risultatimin;
    
     begin
       if (scelta=2) and (a1<0) then
    	begin
    	  writeln('Le parti che soddisfano la disequazione sono x<',x1:3:2,' e x>',x2:3:2);
    	  writeln('Il risultato Š stato visualizzato');
    	  delay(2000);
    	end;
       if (scelta=2) and (a1>0) then
    	begin
    	  writeln('La parte che soddifa la disequazione Š ',x1:3:2,'<x<',x2:3:2);
    	  writeln('Il risultato Š stato visualizzato');
    	  delay(2000);
    	end;
     end;
    
    
    procedure creazione_dis;
    
     var sa,sb,sc,dis:string;   // variabili locali
    
     begin
       sa:=INTtoSTR(a1);
       sb:=INTtoSTR(b1);
       sc:=INTtoSTR(c1);
       dis:='La disequazione completa Š ' + sa;
       if (b1<0) and (c1<0) then
    	begin
    	  dis1:=dis + 'x^2' + sb + 'x' + sc;
    	  dismag:=dis1 + '>0';
    	  dismin:=dis1 + '<0';
    	  if scelta=1 then writeln(dismag);
    	  if scelta=2 then writeln(dismin);
    	end;
       if (b1>0) and (c1<0) then
    	begin
    	  dis2:=dis + 'x^2+' + sb + 'x' + sc;
    	  dismag:=dis2 + '>0';
    	  dismin:=dis2 + '<0';
    	  if scelta=1 then writeln(dismag);
    	  if scelta=2 then writeln(dismin);
    	end;
       if (b1>0) and (c1>0) then
    	begin
    	  dis3:=dis + 'x^2+' + sb + 'x+' + sc;
    	  dismag:=dis3 + '>0';
    	  dismin:=dis3 + '<0';
    	  if scelta=1 then writeln(dismag);
    	  if scelta=2 then writeln(dismin);
    	end;
     end;
    
    
    // fine dichiarazioni delle procedure
    
    
    // inizio programma principale
    
    begin
    
     repeat
      textcolor(10);
      clrscr;
      gotoxy(16,3);
      writeln('   == PROGRAMMA CHE RISOLVE ==');
      gotoxy(15,4);
      writeln(' le disequazioni di secondo grado');
      delay(2000);
      textcolor(15);
      writeln;
      writeln('Attendere prego...');
      delay(4000);
      writeln;
      writeln('Che disequazione vuoi risolvere?');
      writeln('Seleziona il numero per:');
      writeln;
      writeln('1. Maggiore');
      writeln('2. Minore');
      readln(scelta);
      if (scelta=1) or (scelta=2) then
       begin
    	inserimento_valori;
    	writeln;
    	delay(1500);
    	writeln;
    	delay(1500);
    	writeln('Attendi mentre creo la disequazione');
    	delay(2000);
    	creazione_dis;
    	writeln;
    	delay(500);
    	calcolo_delta;
    	writeln;
    	writeln('Attendere mentre risolvo la disequazione');
    	writeln;
    	delay(4000);
    	if delta1>=0 then calcola_dis;
    	if (scelta=1) and (delta1>=0) then risultatimag;
    	if (scelta=2) and (delta1>=0) then risultatimin;
       end
      else
       begin
    	 writeln;
    	 writeln('Non hai inserito un numero valido');
       end;
      writeln;
      delay(1000);
      writeln('Vuoi ripetere il programma? s/n');
      readln(ripeti);
     until ripeti<>'s';
    end.

    Può sempre servire
    Nel 1969, 2 commodore 64 sono riusciti a far andare l'uomo sulla Luna... ...oggi, nel 2005, un Athlon 3500+ fa fatica a far girare Windows Xp!!!!

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •