INFOPedia : PRGsol2

HomePage :: Categorie :: Indice :: Ultime modifiche :: Ultimi commenti :: Login/Registrazione

Soluzioni esercizi proposti il 26/10/2006


Esercizio 1
program esercizio1;
var
i: integer; {Variabile utilizzata per il contatore}
n: integer; {intero inserito dall'utente}
m: char;    {Operazione scelta}
t: integer; {variabile per i risultati}
q: integer; {variabile per il numero perfetto}

begin
i:= 0;
n:= 0;
t:= 0;
write('Inserire un numero intero: ');
readln(n);
writeln;
writeln('*****************************');
writeln('*   Scegli un operazione:   *');
writeln('*****************************');
writeln;
writeln('p = Esegue la somma dei numeri pari da 1 a n');
writeln('d = Esegue la somma dei numeri dispari da 1 a n');
writeln('a = Esegue la somma dei primi n numeri pari');
writeln('b = Esegue la somma dei primi n numeri dispari');
writeln('f = Calcola il fattoriale');
writeln('x = verifica se e'' un numero perfetto');
readln(m);

case m of

'p':begin
    {istruzioni per la somma dei numeri pari da 1 a n}
    for i:=1 todo
      if not odd(i) then t:= t+i;
    writeln('La somma dei numeri pari da 1 a ', n, ' e'': ',t);
    end;

'd': begin
    {Istruzioni per la somma dei numeri dispari da 1 a n}
    for i:=1 todo
       if  odd(i) then t:= t+i;
    writeln('La somma dei numeri dispari da 1 a ',n,' e'': ',t);
    end;

'a':begin
    {istruzioni per la somma dei primi n numeri pari}
    for i:=1 todo
       t:= t + 2*i;
    writeln('La somma dei primi ',n,' numeri pari e'': ',t);
    end;

'b': begin
    {Istruzioni per la somma dei primi n numeri dispari}
    for i:=1 todo
        t := t + (2 * i - 1);
    writeln('La somma dei primi ',n,' numeri dispari e'': ',t);
    end;

'f': begin
    {istruzioi per il calcolo del fattoriale}
    t:=1;
    for i:=n downto 1 do
    t:= t*i;
    Writeln(n,' Fattoriale = ',t);
    end;

'x': begin
    {Istruzioni per la verifica del numero perfetto}
    for i:= 1 to n do
         begin
           t:=0;
           for q:= 1 to i-1   do
               begin
                 if i mod q = 0 then t:=t+q;
               end;
           if t = i then Writeln('Trovato il numero: ',i)
          end;

    end;

else begin
    write('Hai inserito un parametro sbagliato')
    end;
end;



readln
end.   



Esercizio 2 - Primo metodo

program esercizio2;
var
x,y,z: integer;
i: Integer; {variabile contatore}


begin

writeln('Programma per la verifica dei cubi da 150 a 450');
writeln;

for i:= 150 to 450 do
begin
  x:=i div 100;
  y:= (i-x*100) div 10;
  z:= ((i-x*100)-y*10);
  if ((sqr(x)*x)+(sqr(y)*y)+(sqr(z)*z)) = i then writeln('Hai trovato il numero: ',x,y,z);
end;
readln
end.



Esercizio 2 - secondo metodo

program esercizio2;
var
x,y,z: integer;
i: Integer; {variabile contatore}


begin

writeln('Programma per la verifica dei cubi da 100 a 999');
writeln;
for x:=1 to 9 do
  for y:= 0 to 9 do
    for z:= 0 to 9 do
    if (sqr(x)*x)+ (sqr(y)*y)+(sqr(z)*z) = (x*100)+(y*10)+z then writeln('Hai trovato il numero: ',x,y,z);
 
readln
end.



Torna a Programmazione e Lab.

Non ci sono commenti in questa pagina. [Scrivi commento]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
La pagina è stata generata in 0.1595 secondi