Programma per calcolare le potenze [PASCAL]
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 2 12 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 27

Discussione: Programma per calcolare le potenze [PASCAL]

Cambio titolo
  1. #1
    :D L'avatar di Xboxman
    Registrato il
    09-03
    Località
    Napoli
    Messaggi
    7.867

    Programma per calcolare le potenze [PASCAL]

    Ragazzi mi dite cos'è che ho sbagliato??

    (NON E' UN COMPITO PER LA SCUOLA! )

    program potenze;
    uses crt;
    var a,b,c,i,somma:integer;
    begin
    clrscr;
    writeln('Inserisci un numero');
    readln(a);
    writeln('Inserisci l''esponente');
    readln(b);
    for i:=1 to b do
    begin
    c:=a*a;
    somma:=somma+c;
    end;
    writeln('Il risultato è ',somma);
    readln;
    end.


    Se faccio 2 elevato a 5 mi esce 20!
    Ultima modifica di Xboxman; 8-12-2006 alle 18:11:39

  2. #2
    :D L'avatar di Xboxman
    Registrato il
    09-03
    Località
    Napoli
    Messaggi
    7.867
    ALEEEEEEEEEE!!!! Ci sono riuscito, ecco il programma giusto:

    program potenze;
    uses crt;
    var a,b,c,i:integer;
    begin
    clrscr;
    writeln('Inserisci numero');
    readln(a);
    writeln('Inserisci esponente');
    readln(b);
    c:=1;
    for i:=1 to b do
    begin
    c:=c*a;
    end;
    writeln('Il risultato è ',c);
    readln;
    end.

  3. #3
    Utente L'avatar di cava
    Registrato il
    07-04
    Località
    Ravenna
    Messaggi
    1.070
    e se b è 0 ? ehehhehe e se è negativo ? ehhehhe

    Codice:
    Program potenze;
    uses crt;
    var 
      a,b:integer;
    
    function pow(base:real; esp:integer):real;
    Begin
       if esp=0 then pow:=1
                   else pow:=base*pow(base,esp-1);
    end;
    
    Begin
    clrscr;
    writeln('Inserisci un numero');
    readln(a);
    writeln('Inserisci l''esponente');
    readln(b);
    writeln('risultato: ',pow(x,y));
    readln
    
    http://whatmine.com - Crypto Currency Mining Profitability

  4. #4
    facciamo i fighi con la ricorsione?
    cmq questo è il metodo migliore direi.... molto stiloso :P

  5. #5
    StorieDallaSalaMacchine L'avatar di miniBill '90
    Registrato il
    08-05
    Località
    Bergerac
    Messaggi
    4.204
    e se l'esp è negativo?

    ESISTE UN UNICO AMMINISTRATORE
    Quoto-thisisgorman-
    (La mi ex-firma sta qua)

  6. #6
    effettivamente serve un controllo che se l'esponente è negativo fa il reciproco di quanto ha calcolato...

  7. #7
    StorieDallaSalaMacchine L'avatar di miniBill '90
    Registrato il
    08-05
    Località
    Bergerac
    Messaggi
    4.204
    dopo aver calcolato la potenza con epsonente opposto

    ESISTE UN UNICO AMMINISTRATORE
    Quoto-thisisgorman-
    (La mi ex-firma sta qua)

  8. #8
    :D L'avatar di Xboxman
    Registrato il
    09-03
    Località
    Napoli
    Messaggi
    7.867
    Citazione cava
    e se b è 0 ? ehehhehe e se è negativo ? ehhehhe

    Codice:
    Program potenze;
    uses crt;
    var 
      a,b:integer;
    
    function pow(base:real; esp:integer):real;
    Begin
       if esp=0 then pow:=1
                   else pow:=base*pow(base,esp-1);
    end;
    
    Begin
    clrscr;
    writeln('Inserisci un numero');
    readln(a);
    writeln('Inserisci l''esponente');
    readln(b);
    writeln('risultato: ',pow(x,y));
    readln
    
    Non so che caspita di comando hai usato, comunque nessuno avrebbe il bisogno di scrivere un numero elevato alla 0.

    La cosa più importante e che non so fare, e se l'esponente è negativo!

    Ma 2 elevato a -4 viene -16? Scusate l'ignoranza!

  9. #9
    :D L'avatar di Xboxman
    Registrato il
    09-03
    Località
    Napoli
    Messaggi
    7.867
    Citazione Xboxman
    Non so che caspita di comando hai usato, comunque nessuno avrebbe il bisogno di scrivere un numero elevato alla 0.

    La cosa più importante e che non so fare, e se l'esponente è negativo!

    Ma 2 elevato a -4 viene -16? Scusate l'ignoranza!
    Dimenticavo, col mio prog è anche possibile elevare un numero a 0, il risultato viene 1, quindi l'unico problema da risolvere è se l'esponente è negativo!

  10. #10
    SeeYouInSpaceCowboy... L'avatar di balmung91
    Registrato il
    10-04
    Località
    Nei miei Trip
    Messaggi
    879
    qui c'è scritto http://it.wikipedia.org/wiki/Notazione_scientifica

    cmq in pratica n elevato a un numero è uguale a 1\n*potenza


    www.webapocalypse.org
    In ottimo stile web 2.0 ho anchio un ombra sotto di me. Sono uscito dalla fabbrica così ben 17 anni fa.[cit.]


  11. #11
    io direi che modificato dovrebbe venrie una cosa del genere

    Codice:
    Program potenze;
    uses crt;
    var 
      a,b:integer;
      ris:real; 
    
    function pow(base:integer; esp:integer):real;
    Begin
       if esp=0 then pow:=1
                   else pow:=base*pow(base,esp-1);
    end;
    
    Begin
    clrscr;
    writeln('Inserisci un numero');
    readln(a);
    writeln('Inserisci l''esponente');
    readln(b);
    
    ris=pow(a,b); 
    if(b<0) and (a!=0) then
            ris=1/ris;
    
    writeln('risultato: ',ris);
    readln;
    end.
    

  12. #12
    :D L'avatar di Xboxman
    Registrato il
    09-03
    Località
    Napoli
    Messaggi
    7.867
    Il mio programma è sicuramente più bello:

    program potenze;
    uses crt;
    var a,c:real;
    i,b:integer;
    begin
    clrscr;
    textcolor(green);
    writeln('---CALCOLATORE DI POTENZE---');
    writeln;
    textcolor(3);
    write('Inserisci un numero ---> ');
    readln(a);
    write('Inserisci l''esponente ---> ');
    readln(b);
    c:=1;
    if b<0 then
    begin
    b:=-b;
    for i:=1 to b do
    begin
    c:=c*a;
    end;
    c:=1/c;
    textcolor(9);
    writeln('--------------------------------');
    textcolor(green);
    writeln('Il risultato Š ',c:5:12);
    writeln;
    writeln('Premi Invio per chiudere');
    end
    else
    begin
    for i:=1 to b do
    begin
    c:=c*a;
    end;
    textcolor(9);
    writeln('--------------------------------');
    textcolor(green);
    writeln('Il risultato Š: ',c:5:0);
    writeln;
    writeln('Premi Invio per chiudere');
    end;
    readln;
    end.

  13. #13
    si forse per l'output con l'utente perch&#232; metti il colore verde ma per il resto algoritmicamente lascia un po' (tanto) a desiderare.

  14. #14
    :D L'avatar di Xboxman
    Registrato il
    09-03
    Località
    Napoli
    Messaggi
    7.867
    Citazione Ricky`
    si forse per l'output con l'utente perchè metti il colore verde ma per il resto algoritmicamente lascia un po' (tanto) a desiderare.

    I risultati mi escono esatti, non vedo dove ci sia il problema... magari ho allungato un pò, ma i risultati sono esatti.

  15. #15
    SeeYouInSpaceCowboy... L'avatar di balmung91
    Registrato il
    10-04
    Località
    Nei miei Trip
    Messaggi
    879
    si ma facendo programmi piu grossi (molto piu grossi) e piu pesanti, poi dovrai anche stare attento aocme scirvi il codice, primo per risparmiare tempo e secondo per risparmiare risorse.

    perch&#232; se tra due programmi che funzionano uno ci mette 2s e l'altro ce ne mette 1 usando meno risorse &#232; molto meglio il secondo


    www.webapocalypse.org
    In ottimo stile web 2.0 ho anchio un ombra sotto di me. Sono uscito dalla fabbrica così ben 17 anni fa.[cit.]


Pag 1 di 2 12 UltimoUltimo

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
  •