• Non ci sono risultati.

unità didattica 4 Le funzioni del Pascal

N/A
N/A
Protected

Academic year: 2021

Condividi "unità didattica 4 Le funzioni del Pascal"

Copied!
5
0
0

Testo completo

(1)

unità didattica 4

Le funzioni del Pascal

1. Le funzioni predefinite

Il Pascal contiene una ricca biblioteca di funzioni predefinite, ovvero di calcoli effettuati su dati numeri- ci o alfanumerici idonei a determinare un certo valore in uscita.

Si tratta di funzioni predefinite in quanto il programmatore non deve scrivere alcuna linea di programma per dichiarare o descrivere la funzione: deve semplicemente chiedere l’esecuzione della funzione stessa tramite un’istruzione detta «richiamo di funzione».

seguimi

Per chiamare una funzione, in generale si deve citare il nome della funzione, citando tra parentesi la lista di pa- rametri, cioè i valori di ingresso o, eventualmente, i valori in uscita.

Le funzioni si dividono in matematiche (operanti cioè su valori numerici e consistenti in calcoli matema- tici), funzioni di manipolazione di stringhe alfanumeriche ed altre funzioni che definiremo “diverse”in quanto non appartengono propriamente né alla prima né alla seconda classe.

2. Le funzioni matematiche

Tra le funzioni matematiche più importanti, segnaliamo:

VALORE ASSOLUTO

ABS(variabile numerica) Restituisce il valore assoluto di una certa variabile numerica Esempio:

a := ABS(b) Il valore assoluto di b viene posto in a.

INTERO

INT(variabile numerica)

Restituisce la parte intera di una certa variabile numerica. Il risultato è una variabile reale.

Esempio:

a := INT(b) La parte intera di b viene posta in a.

FRAZIONATURA

FRAC(variabile numerica)

Elimina la parte intera di una certa variabile numerica. Il risultato è una variabile reale.

Esempio:

a := FRAC(b) La parte frazionaria di b viene posta in a.

(2)

UD4 • Le funzioni del Pascal

26

UD4 • Le funzioni del Pascal

27

TRONCATURA

TRUNC(variabile numerica)

Elimina la parte decimale di una certa variabile numerica. Il risultato è una variabile intera.

Esempio:

a := TRUNC(b) La parte decimale di b viene posta in a.

ARROTONDAMENTO

ROUND(variabile numerica)

Restituisce il numero intero più vicino (per eccesso o per difetto a seconda che la parte frazionaria ecce- da o meno 0,5) alla variabile numerica indicata.

Esempio:

a := ROUND(b)

Se b = 1,6 allora a = 2; Se b = 1,4 allora a = 1; Se b = 1,5 allora a = 2 QUADRATO

SQR(variabile numerica) Restituisce il quadrato di una certa variabile numerica.

Esempio:

a := SQR(b) Il quadrato di b viene posto in a.

RADICE QUADRATA

SQRT(variabile numerica) Restituisce la radice quadrata di una certa variabile numerica.

Esempio:

a := SQRT(b) La radice quadrata di b viene posta in a.

ESPONENZIALE

EXP(variabile numerica) Restituisce l’esponenziale di una certa variabile numerica.

Esempio:

a := EXP(b) L’esponenziale di b (ovvero eb) viene posto in a.

LOGARITMO NEPERIANO

LN(variabile numerica)

Restituisce il logaritmo neperiano (lne) di una certa variabile numerica.

Esempio:

a := LN(b) Il logaritmo neperiano di b (lne b)viene posto in a.

SENO TRIGONOMETRICO

SIN(variabile numerica)

Restituisce il seno di una certa variabile numerica che esprime i radianti di un certo angolo.

Esempio:

a := SIN(b) Il seno di b viene posto in a.

COSENO TRIGONIOMETRICO

COS(variabile numerica)

Restituisce il coseno di una certa variabile numerica che esprime i radianti di un certo angolo.

(3)

Esempio:

a := COS(b) Il coseno di b viene posto in a.

DISPARITÀ

ODD(variabile numerica)

Restituisce il valore booleano TRUE (VERO) o FALSE (FALSO), a seconda che la variabile numerica sia rispettivamente dispari o pari

Esempio:

a := ODD(b) Se b è dispari, a = TRUE, altrimenti a = FALSE.

NUMERO CASUALE INTERO

RANDOM(variabile numerica) Restituisce un intero compreso tra 0 e la variabile numerica indicata.

Esempio:

a := RANDOM(b)

In a viene posto un numero intero estratto dalla tabella dei numeri casuali, compreso tra 0 e b.

NUMERO CASUALE REALE

RANDOM Restituisce un reale compreso tra 0 e 1.

Esempio:

a := RANDOM

In a viene posto un numero reale estratto dalla tabella dei numeri casuali, compreso tra 0 e 1.

3. Le funzioni su stringhe

Tra le funzioni più importanti operanti su stringhe alfanumeriche, ricordiamo:

LUNGHEZZA

LENGTH(variabile stringa)

Restituisce il valore intero relativo alla lunghezza della variabile stringa indicata, cioè il numero di carat- teri che la costituiscono.

Esempio:

a := LENGTH(b) La lunghezza della stringa b viene posta in a.

ESTRAZIONE DI UNA PARTE DI STRINGA

COPY(variabile stringa , posizione , numero)

Restituisce i caratteri pari a numero, a partire da posizione presenti in una certa variabile stringa.

Esempio:

a := COPY(b, 5, 7)

Dalla stringa b viene estratto l’insieme dei 7 caratteri a partire dal quinto carattere presente nella stringa e posto in a. Se ad esempio b contenesse «TERGICRISTALLI» in a verrebbe memorizzata la parola «ICRI- STA».

CONCATENAZIONE

CONCAT(variabile stringa , variabile stringa, … , variabile stringa)

Restituisce una variabile stringa formata dalla concatenazione, ovvero dall’unione sequenziale accodata, delle stringhe indicate.

Esempio:

a := CONCAT(b, c, d)

(4)

UD4 • Le funzioni del Pascal

28

UD4 • Le funzioni del Pascal

29

Nella stringa a verrà posta l’unione delle stringhe b, c e d. Ad esempio se b contenesse «ROSSI», c «VER- DI» e d «BIANCHI», in a verrebbe memorizzata la stringa «VERDIROSSIBIANCHI».

POSIZIONE

POS(variabile stringa1 , variabile stringa2)

Restituisce la posizione a partire dalla quale variabile stringa1 si trova in variabile stringa2 . Il risultato è 0 se la stringa non è stata trovata.

Esempio:

a := POS(‘ROSSI’, b)

Nella variabile stringa b viene eseguita la ricerca della stringa «ROSSI»: se la ricerca ha successo, in a sarà memorizzata la posizione a partire dalla quale «ROSSI» si trova in b, altrimenti in a viene restituito il valore 0.

Se b contiene «BIANCOROSSI» in a sarà memorizzato 7.

4. Le altre funzioni

Tra le altre funzioni segnaliamo:

CARATTERE CODICE ASCII

CHR(variabile numerica)

Restituisce il carattere corrispondente nel codice ASCII al numero indicato come argomento della fun- zione.

Ricordiamo che tutti i 256 caratteri corrispondenti al codice ASCII sono codificati ciascuno mediante una sequenza di 8 bit.

Esempio:

a := CHR(60)

Nella variabile di tipo carattere a viene posto «<» corrispondente al decimale 60.

KEYPRESSED

Restituisce il valore booleano TRUE (VERO) se è stato battuto un tasto sulla tastiera, altrimenti il valore FALSE (FALSO). Risulta molto utile nel costrutto REPEAT UNTIL.

Esempio:

REPEAT UNTIL KEYPRESSED

Dato che KEYPRESSED è falso sino a che l’utente non digita qualcosa sulla tastiera, il programma si arre- sta sino a che non si batte un qualsiasi tasto.

OCCUPAZIONE IN BYTE

SIZEOF(variabile)

Restituisce il numero di byte occupati in memoria centrale dalla variabile indicata.

Esempio:

a := SIZEOF(b)

Nella variabile a viene posto un valore intero pari al numero di byte di memoria centrale occupati da b.

PRECEDENTE NUMERO O CARATTERE CODICE ASCII PRED(valore)

Restituisce il numero intero precedente (se valore è un numero intero) o il carattere precedente nel codi- ce ASCII (se valore è di tipo char).

Esempio:

a := PRED(50) Nella variabile a viene posto 49 che precede l’intero 50 indicato.

a := PRED(‘F’)

Nella variabile a viene posto il carattere «E» che precede nel codice ASCII «F».

(5)

SUCCESSIVO NUMERO O CARATTERE CODICE ASCII SUCC(valore)

Restituisce il numero intero successivo (se valore è un numero intero) o il carattere successivo nel codice ASCII (se valore è di tipo char).

Esempio:

a := SUCC(50)

Nella variabile a viene posto 51 che segue immediatamente l’intero 50 indicato.

a := SUCC(‘F’)

Nella variabile a viene posto il carattere «G» che segue nel codice ASCII il carattere «F».

MAIUSCOLA DI UN CARATTERE

UPCASE(carattere) Restituisce la lettera maiuscola corrispondente al carattere indicato.

Esempio:

a := UPCASE(‘h’) Nella variabile a viene posto «H».

a := UPCASE(‘?’)

Nella variabile a viene posto il carattere «?» dato che non esiste maiuscolo del carattere indicato.

Riferimenti

Documenti correlati

Si considera un array monodimensionale di nome count[] di cardinalità 26, pari al numero delle lettere minuscole: ciascun elemento dell’array corrisponde ad una lettera secondo

cost = 20; // estero ancora più

cost = 10; // Hawaii più costoso else // NON FUNZIONA. cost = 20; // estero ancora

cost = 20; // estero ancora più

Estrae una sottostringa da una stringa che inizia alla posizione inizio e prosegue per la lunghezza specificata (o fino a fine stringa se la lunghezza viene omessa). trim(stringa)

aS aaS aaaS aaaCbC aaacCbC aaaccbC aaaccbS aaaccbaS aaaccbaaS aaaccbaa.

APPENDICE B : Ricerca della funzione di trasferimento della

È proprio a questo livello che si inserisce ed acquista interesse l’elaborato di tesi: si studierà la dinamica di una stringa elementare in maniera consistente con la