funzioni stringa - contiriccardo.it

annuncio pubblicitario
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 numerici 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 parametri, 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 matematici), 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:
La parte intera di b viene posta in a.
a := INT(b)
FRAZIONATURA
FRAC(variabile numerica)
Elimina la parte intera di una certa variabile numerica. Il risultato è una variabile reale.
Esempio:
La parte frazionaria di b viene posta in a.
26
a := FRAC(b)
Modulo on line • Uno strumento per programmare: cenni al linguaggio Pascal
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 ecceda 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:
Il quadrato di b viene posto in a.
a := SQR(b)
RADICE QUADRATA
SQRT(variabile numerica)
Restituisce la radice quadrata di una certa variabile numerica.
Esempio:
La radice quadrata di b viene posta in a.
a := SQRT(b)
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:
Il seno di b viene posto in a.
a := SIN(b)
COSENO TRIGONIOMETRICO
COS(variabile numerica)
Restituisce il coseno di una certa variabile numerica che esprime i radianti di un certo angolo.
UD4 • Le funzioni del Pascal
26
27
Esempio:
Il coseno di b viene posto in a.
a := COS(b)
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
Restituisce un reale compreso tra 0 e 1.
RANDOM
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 caratteri 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 «ICRISTA».
CONCATENAZIONE
CONCAT(variabile stringa , variabile stringa, … , variabile stringa)
Restituisce una variabile stringa formata dalla concatenazione, ovvero dall’unione sequenziale accodata,
delle stringhe indicate.
Esempio:
28
a := CONCAT(b, c, d)
Modulo on line • Uno strumento per programmare: cenni al linguaggio Pascal
Nella stringa a verrà posta l’unione delle stringhe b, c e d. Ad esempio se b contenesse «ROSSI», c «VERDI» 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 funzione.
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 arresta 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 codice 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».
UD4 • Le funzioni del Pascal
28
29
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:
Nella variabile a viene posto «H».
a := UPCASE(‘h’)
a := UPCASE(‘?’)
Nella variabile a viene posto il carattere «?» dato che non esiste maiuscolo del carattere indicato.
30
Modulo on line • Uno strumento per programmare: cenni al linguaggio Pascal
Scarica