sudio pascal da wiki books, ho cercato degli esercizi su internet ( http://www.pacioli.net/ftp/personali/dipartimenti/dipinfoemate/esercizi/info/pascalterza/esercizi_semplici.htm ) e provando a risolvere il 57 ho buttato giù queste righe di codice:
Codice: Seleziona tutto
{Dichiarazione del nome del programma}
program moltiplicazione_divisione;
{Inclusione delle librerie}
uses crt;
{Dichiarazione dei tipi di variabile}
var
a,b,c,d:integer;
operazione:string[1];
{Inizio programma}
begin
clrscr;
{Assegnazione valore alla variabile c}
c := 0;
{Acquisizione valore variabili}
write('Passami A : '); readln(a);
write('Passami B : '); readln(b);
writeln('');
writeln('');
write('Passami l''operatore '); readln(operazione);
clrscr;
{Ciclo dedicato alla moltiplicazione}
if operazione = '*' then
d := a;
repeat
begin
c := c +1;
a := a + d;
if c = b then
writeln('Il prodotto di a*b e'' : ',a-d); {Non ci dovrebbe essere alcun motivo di per cui si deve sottrarre d ad a...}
end;
until c = b;
{Ciclo dedicato alla divisione}
if operazione = '/' then
repeat
begin
c := c +1;
a := a - b;
if a = 0 then
write('Il quoziente della divisione è pari a ',c);
end;
until a = 0;
end.{Non ci dovrebbe essere alcun motivo di per cui si deve sottrarre d ad a...} ??? perchè???
Se provate a compilare vi accorgerete che dando come operatore / restituisce comunque "'Il prodotto di a*b e'' : ',a-d"
Infine non capisco perchè diamine il ciclo della divisione non funziona...
scusate la forma e la scarsa chiarezza
