|
Un'espressione come la seguente Z <-- (a+b)*(c-d) utilizzando le espressioni con gli operatori propri del linguaggio (+, -, * …) diventa in modo quasi automatico Z:=(a+b)*(c-d); Se le operazioni da svolgere non sono previste dal linguaggio (UNO, DUE, TRE...) Z <-- (a UNO b) TRE (c DUE d) possiamo utilizzare le procedure per ottenere UNO(a, b, X); 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 Z:=TRE(UNO(a, b), SUB(c, d)); ci sarebbe un notevole miglioramento... 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. |
|