Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28

    [PASCAL] errore con " end; "

    Salve a tutti ecco il mio problema:
    tutte le volte che scrivo un programma (in Turbo Pascal 7) che abbia nel codice end con il punto e virgola il compilatore mi dice: error 94 = "." expected come mai?????? qualcuno mi sa aiutare??? se volete posso scrivervi anche il codice del programmino!
    grazie in anticipo!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    E' chiaro che devi postare il codice per avere maggiori informazioni.

    Ad ogni modo, in Pascal, il programma termina con End. (con il punto!).

    End; si usa alla fine delle procedure e delle funzioni.


    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 di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28

    OK !

    ok giusto..!
    il codice è questo:

    codice:
    PROGRAM potenza;
    USES crt;
    VAR a, b, c, i : INTEGER;
       begin
       writeln(' Inserisci un numero ');
       readln(a);
       writeln(' Inserisci esponente ');
       readln(b);
       FOR i := 1 TO b DO
       c:=a*a;   {qui ho bisogno di un altro aiuto: come faccio a elevare a potenza? quale è il tasto?}
       end;  { eccco qui il problema! }
       writeln(' il risultato è' ,c);
       readln;
       end.
    chiedo scusa ma non ho capito come settare il codice affinche nella mia risposta venga la finestrella bianca con il codice dentro!

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Re: OK !

    Originariamente inviato da Ricky_13
    chiedo scusa ma non ho capito come settare il codice affinche nella mia risposta venga la finestrella bianca con il codice dentro!
    Basta postarlo all'interno dei tag [code] e [/code]

    (puoi anche cliccare sul pulsante # che trovi fra i tasti IMG e PHP, quando componi il messaggio)


    Ho modificato io il tuo post così da aggiungere i tag...


    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

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28

    OK !

    ok grazie mille ho capito perfettamente!

    codice:
    begin
    writeln(' GRAZIE MILLE!!! ');
    readln;
    end

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Ad ogni modo l'errore ti viene sollevato perchè dopo l'elevamento a potenza hai un'istruzione end; di troppo: non hai aperto il blocco con un begin (all'interno del FOR), quindi non puoi chiudere con l'end;.

    O apri un begin dopo l'istruzione FOR oppure togli l'istruzione end; (lo puoi fare perchè hai una sola istruzione all'interno del ciclo FOR, se ne avessi più d'una dovresti aprire un blocco con begin).

    Codice:
    codice:
    FOR i := 1 TO b DO
       c:=a*a;   {qui ho bisogno di un altro aiuto: come faccio a elevare a potenza? quale è il tasto?}
       end;  { <-- togli questa istruzione }
    oppure

    codice:
    FOR i := 1 TO b DO
       begin  { <-- aggiungi questa istruzione }
          c:=a*a;   {qui ho bisogno di un altro aiuto: come faccio a elevare a potenza? quale è il tasto?}
       end;
    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28

    OK !

    AH.. grazie mille stasera quando torno provo e ti faccio sapere!

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    28
    ciao.. sono tornato
    ora il programma parte ma non fa ciò che desideravo ovvero non ripete l'istruzione
    codice:
     c:=a*a;
    cioè parte, calcola, ma poi tutto ciò che posso fare non è nient'altro che premere invio e così facendo si chiude la finestra..
    quindi ho ancora due domande: come faccio a fargli ripetere l'istruzione che gli ho detto?
    e come faccio a fargli elevare a potenza un numero.. ovvero (detto meglio) quale è il tasto per elevare a potenza? (io ho provato con a^b ma me lo da errore...error 121 := invalid qualifier)

  10. #10
    Puoi elevare a poternza utilizzando tranquillamente il FOR.

    codice:
    FOR i := 1 TO b DO
    begin
    c:=a*a;
     end;
    Questo codice qualsiasi sia il valore di b restituirà sempre e comunque il risultato di A*A.

    Per ottenere l'elevamento a potenza devi utilizzare il codice in questo modo:
    [code]
    c:=1;
    FOR i := 1 TO b DO
    begin
    c:=c*a;
    end;
    [code]

    Esemplificando
    dato a=2 e dato b=3

    i=1 --> c=c*A (prima dell'istruzione c vale 1, dopo vale 1*2 quindi 2)
    i=2 --> c=c*A (prima dell'istruzione c vale 1*2, dopo vale 2*2 quindi 4)
    i=3 --> c=c*A (prima dell'istruzione c vale c vale 4 , dopo vale 4*2 quindi 8)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.