Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente bannato
    Registrato dal
    Jul 2001
    Messaggi
    559

    cercasi betatester. per..... PROGRAMMA IN PASCAL

    non è uno scherzo..... devo consegniarlo dopo domani al prof di info.... è un programma che risolve equazioni di secondo grado...

    ditemi se per qualche valore non va o se si può migliorare

    codice:
    Program equaazioni; 
    uses crt;
    var a,b,c,x1,x2:real;
        r:char;
    begin
     clrscr;
       Repeat
         writeln(' inserire se si vuole risolvere una equazione di secondo grado ');
         writeln(' Pura (ax^2 + c ), Spuria (ax^2 + bx), Monomia (ax^2) o a ');
         writeln(' Coefficienti maggiori di zero (ax^2 bx c). Il programma risolvere l''equazione ');
         writeln(' inserire "P" per pura, "S" per spuria, "M" per monomia e "C" ');
         writeln(' per equazioni con tutti  e tre i coefficienti maggiori di zero ');
         writeln(' scrivere minuscolo ');
         readln(r);
       until (r='p') or (r='s') or (r='m') or (r='c');
       repeat
        writeln(' inserire il valore di a ');
        readln(a);
       until a<>0;
         if r='p'
           then
             begin
             writeln(' inserire il valore di c ');
             readln(c);
               if -(c/a)<0
                 then writeln(' equazione pura impossibile ')
                 else
                   begin
                     x1:= sqrt(-(c/a));
                     x2:= -(sqrt(-(c/a)));
                     writeln(' x1=',x1:0:2,' e x2=',x2:0:2,' ');
                  end;
             end
             else
         if r='s'
            then
              begin
              writeln(' inserire il valore di b');
              readln(b);
               x2:=-(b/a);
               writeln(' x1=0 e x2=',x2:0:2,' ');
              end
            else
         if r='m'
            then
             writeln(' x1=0 e x2=0 ')
            else
         if r='c'
            then
            begin
            writeln(' inserire il valore di b e c ');
            readln(b,c);
             if sqr(b)-(4*a*c)<0
              then writeln(' equazione impossibile ')
               else
                if sqr(b)-(4*a*c)=0
                 then
                  begin
                   x1:=-b/(2*a);
                   writeln(' x1=',x1:0:2,' ');
                  end
                   else
                    begin
                     x1:=(-b - sqrt( sqr(b) + 4*a*c))/(2*a);
                     x2:=(-b + sqrt( sqr(b) + 4*a*c))/(2*a);
                     writeln(' x1=',x1:0:2,' e x2=',x2:0:2,' ');
                    end;
                end;
          readln;
    end.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non l'ho guardato e provato tutto ma ho già trovato un errore di segno!

    Fai attenzione... la formula di risoluzione di un equazione di 2° grado completa è la seguente:
    codice:
    x1:=(-b - sqrt( sqr(b) - 4*a*c))/(2*a);
    x2:=(-b + sqrt( sqr(b) - 4*a*c))/(2*a);
    Tu hai erroneamente messo un + al posto del - nel calcolo del discriminante!!


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente bannato
    Registrato dal
    Jul 2001
    Messaggi
    559
    Originariamente inviato da LeleFT
    Non l'ho guardato e provato tutto ma ho già trovato un errore di segno!

    Fai attenzione... la formula di risoluzione di un equazione di 2° grado completa è la seguente:
    codice:
    x1:=(-b - sqrt( sqr(b) - 4*a*c))/(2*a);
    x2:=(-b + sqrt( sqr(b) - 4*a*c))/(2*a);
    Tu hai erroneamente messo un + al posto del - nel calcolo del discriminante!!


    Ciao.
    ??

    non ti seguo.....

    cioè, la formula è: (-b +o- delta)/2a
    pio, il fatto del più o meno viene diviso nelle due soluzioni: x1 quella col più e x2 quella col meno(o viceversa).

    ....

  4. #4
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Mi intrometto

    Prima soluzione:
    codice:
    x1 = (-b + sqr(b^2 - 4*a*c)) / 2a
    Seconda soluzione:
    codice:
    x2 = (-b - sqr(b^2 - 4*a*c)) / 2a

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.