Oppure

Loading
27/10/06 17:27
attiliof
Saluto tutti e mi presento, sono un vecchio di 51 anni ma vorrei avvicinarmi a questo mondo della programmazione ho letto molto, grazie a voi ed a questo sito in particolare...
Vengo al problema non riesco a schiodarmi da questo errore del compilatore"Errore 122"
incollo qui la procedura sperando in una vostra gentilezza saluto e ringrazio
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;
END;
WRITELN('Il risultao della potenza è ' ,c);
READLN;
END.
aaa
28/10/06 12:54
Anonymous
Ciao "vecchio di 51 anni".. innanzi tutto ti dico che non si è mai troppo vecchi per iniziare a programmare..:D e poi che nel codice che hai inserito ti da l'errore perchè ci sono due "end" con un solo "begin"... quindi ti dice che ce n'è uno di troppo... prova a levare quello dopo il ciclo for to do e dopo vedrai che funziona ciao ciao
aaa
28/10/06 17:23
attiliof
Grazie, ho eseguito le modifiche suggerite ed ora non ci sono errori ma non mi fornisce il risultato finale della potenza...ho fatto tanti tentativi ma se non arriva un altro suggerimento non mi schiodo... ora la procedura è questa:
PROGRAM potenza2;
USES crt;
VAR a,b,c,i:INTEGER;
BEGIN
clrscr;
WRITELN ('Inserisci un numero');
READLN;
WRITELN ('Inserisci esponente');
READLN;
for I := 1 to b do
c:=a*a;
WRITELN('Il risultao della potenza è ');
READLN;
END.

Grazie per l'incoraggiamento
aaa
28/10/06 17:38
Anonymous
Certo perchè dal primo al secondo codice che hai scritto non hai tolto solo l'end.. hai tolto (forse per sbaglio) anche la variabile 'c' nella scritta:
WRITELN('Il risultao della potenza è '); 


e poi hai tolto anche l'assegnazione della variabile 'b' e 'a' dopo i readln

quindi rimettila... cosi:
PROGRAM potenza2;
USES crt;
VAR a,b,c,i:INTEGER;
BEGIN
clrscr;
WRITELN ('Inserisci un numero');
READLN(a);
WRITELN ('Inserisci esponente');
READLN(b);
for I := 1 to b do
c:=a*a;
WRITELN('Il risultao della potenza è ',c);
READLN;
END.
  

e vedrai che funziona....

Dal primo codice che hai postato dovevi solo eliminare l'end di mezzo.. invece hai tolto anche altra roba che invece serviva per la funzionalità!!!
Bye:k:
aaa
28/10/06 18:03
attiliof
Grazie per l'abnegazione che mi dedichi, è vero che avevo tolto troppo...che scemo che sono!
Ora sembra funzionare ma non completa il ciclo "for" mi fa solo una moltiplicazione, infatti se inserisci un numero alla seconda, funzia ma se fai un numero elevato alla tre mi rende come risultato sempre alla seconda...boooh...
Ciao e grazie infinite
Ultima modifica effettuata da attiliof 28/10/06 18:53
aaa
28/10/06 19:03
Anonymous
Quello perchè è sbagliata l'istruzione nel ciclo for to do... infatti con quell'isgtruzione gli si dice che deve fare tante volte quanto il numero dell'esponente la moltiplicazione a*a ad esempio se deve fare 4^4, il computer ti esegue ripetutamente per quattro volte il prodotto 4*4 che verrà sempre 16!.. se vuoi che invece la prima volta ti faccia 4*4, la seconda 16*4 e così via ci devi mettere for i:=1 to b do C=C*a;

Però prima devi inizializare la variabile C impostandola al valore 1:
dopo clrscrn metti quindi c:=1
fammi sapere... ora dovrebbe essere tutto ok!!!

Scusa, ma prima non avevo fatto caso se c'erano errori di calcolo, avevo solo controllato la sintassi e quindi non me ne ero accorto.. cmq ora non dovrebbero esserci problemi!! ciao
Ultima modifica effettuata da Anonymous 28/10/06 19:04
aaa
28/10/06 20:38
attiliof
Sei un GRANDE!!!
Grazie infinite davvero,
ti potrà sembrare esagerato ma non lo è per niente, cominciavo a disperare ed a farmi prendere dalla certezza di non poter proseguire ma invece mi hai ridato la carica giusta per continuare ad applicarmi in questo mio nuovo interesse.
Grazie ancora ed auguroni sinceri
Attilio
aaa
28/10/06 21:02
Anonymous
Postato originariamente da attiliof:
Grazie infinite davvero,
ti potrà sembrare esagerato ma non lo è per niente

si, lo capisco lo capisco..
cmq noi siamo tutti qui apposta per aiutare (e ovviamente per essere aiutati) e ci fa piacere che i suggerimenti dati riescono a risolvere i problemi di altri... l'importante è che si capisca dove si sbaglia e si capiscano i suggerimenti dati evitando di copiare e incollare solo la parte di codice senza capire il perchè deve essere in quel modo piuttosto che in un altro... Se si riesce a capire il perchè allora è un passo in più ogni volta nel mondo della programmazione

Ciao!!
8-)
Ultima modifica effettuata da Anonymous 28/10/06 21:05
aaa