Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Funzioni: esempi

Precedente
SUPERIORE
Successiva

Realizzare la funzione QUADRATO(x)

function QUADRATO(X: Real): Real;
begin
  QUADRATO:=X*X;
end;

Adesso, per calcolare lo spostamento in un moto uniformemente accelerato, possiamo scrivere

s:=1/2*a*t*t;

oppure

s:=1/2*a*Sqr(t);

oppure

s:=1/2*a*QUADRATO(t);

Realizzare una funzione che restituisce la media aritmetica tra due real

function MEDIA2(X, Y: Real): Real;
begin
  Media2:=(X+Y)/2;
end;

Realizzare la funzione TANGENTE(x)

function TANGENTE(X: Real): Real;
Var
  C: Real;
begin
  C:=cos(X);
  if(C = 0) then Halt(1);
  TANGENTE:=sin(X)/C;
end;

Compare la "trappola"

if(C = 0) then Halt(1);

per l’operazione di divisione per zero.

Realizzare una funzione che decide se un ANNO è bisestile

function IS_BISESTILE(ANNO: Integer): Boolean;
begin
  IS_BISESTILE:=(ANNO Mod 4 = 0) And (ANNO Mod 100 <> 0) Or
                (ANNO Mod 400 = 0);
end;

Quando una funzione è di tipo logico si può utilizzare l’espressione risolutiva direttamente nell’assegnamento della risposta...

Realizzare una funzione che restituisce un intero casuale con una sola cifra

function RAND_CIFRA: Integer;
begin
  Randomize;
  RAND_CIFRA:=Random(10);
end;

Possiamo definire funzioni senza argomenti (operazioni senza operandi...).

Realizzare una funzione che restituisce una lettera alfabetica casuale

function RAND_ALFA: Char;
Var
  RAND_DIST: Integer;
begin
  Randomize;
  RAND_DIST:=Random(26);
  case Random(2) of
    0: RAND_ALFA:=Char(Ord(‘A’)+RAND_DIST);
    1: RAND_ALFA:=Char(Ord(‘a’)+RAND_DIST);
  end;
end;

Se utilizziamo delle funzioni analoghe per le coordinate sullo schermo, per sporcare lo schermo con lettere casuali possiamo scrivere

GotoXY(RAND_X, RAND_Y);
write(RAND_ALFA);

Realizzare una funzione che restituisce la misura dell’ipotenusa, date quelle dei cateti, di un triangolo rettangolo

function IPOTENUSA(X, Y: Real): Real;
begin
  IPOTENUSA:=Sqrt(Sqr(X)+Sqr(Y));
end;

Finalmente abbiamo realizzato un’operazione binaria anche se in notazione funzionale. Il perimetro di un triangolo rettangolo, dati i cateti, diventa

P:=X+Y+IPOTENUSA(X,Y);

Realizzare una funzione che restituisce il massimo tra due real.

function MAX2(X, Y: Real): Real;
begin
  if(X >= Y) then
    Max2:=X
  else
    Max2:=Y;
end;

Realizzare una funzione che restituisce il massimo tra tre real

function MAX3(X, Y, Z: Real): Real;
begin
  Max3:=Max2(Max2(X, Y), Z);
end;

Le funzioni possono essere riutilizzate!

Funzioni: esempi - ApPuNtIdIuNiNfOrMaTiCo

Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Precedente
SUPERIORE
Successiva