Notazioni
Prefissa | -x |
Infissa | x+y |
Postfissa | x! xy+ |
Funzionale | Succ(x) |
Altre… | x2 xy logab |
Notazione funzionale
Un’espressione come la seguente
utilizzando le espressioni con gli operatori propri del linguaggio (+, -, * …) diventa in modo quasi automatico
Se le operazioni da svolgere non sono previste dal linguaggio (UNO, DUE, TRE...)
possiamo utilizzare le procedure per ottenere
DUE(c, d, Y);
TRE(X, Y, Z);
dove X e Y sono delle variabili di appoggio per i risultati intermedi.
Se fosse almeno possibile utilizzare la notazione funzionale della matematica
ci sarebbe un notevole miglioramento...
Funzioni
Dovendo svolgere delle azioni e dare infine una risposta si usa una notazione simile a quella delle procedure
Function NOME(lista argomenti...): TIPO;
nella quale compare il TIPO della risposta che la funzione restituisce nel punto dove è stata chiamata.
Per realizzare questo, è obbligatoria almeno un’istruzione del tipo
NOME:="Espressione";
nel blocco delle istruzioni della funzione stessa.
Gli operatori binari infissi non sono definibili da programma per realizzare i nostri algoritmi (invece con l’overloading del C++...) e quindi dobbiamo accontentarci della notazione funzionale.
Esercizi
Funzioni con e senza parametri da realizzare, anche imitando le versioni originali.
- Funzioni SENZA parametri: RandRIGA, RandCOL, RandCIFRA, RandALFA
- Funzioni CON parametri: Media(X, Y), Minimo(X, Y), Massimo(X, Y), ByteAlto(), ByteBasso(), BytesSwap(), Tangente(x), Potenza(X, Y), Log10(), Pari(), MediaGeometrica(X, Y), InteroSuperiore(), Maiuscolo(), Minuscolo()