Introduzione alla programmazione visuale con Blockly
Diamo un senso alle funzioni già scritte con un obiettivo ambizioso: progettiamo e realizziamo una calcolatrice razione capace di eseguire le operazioni fondamentali su due frazioni.
Contenuti
Blocco Create text with …, help online per il blocco Create text with …
Questa volta l’obiettivo è un programma davvero complesso ma lo realizzeremo per passi successivi.
La somma di due frazioni
Realizzare una funzione che:
- richieda due frazioni (numeratore e denominatore di ognuna);
- restituisca la somma delle due frazioni semplificata (usando la funzione MCD sviluppata in precedenza).
Può essere di aiuto il video allegato che sviluppa un possibile algoritmo. La procedura mostrata è elementare, lo scopo vero di questo esercizio e utilizzare un algoritmo (una procedura, una funzione) già affrontato e realizzato all’interno della risoluzione di un problema diverso. L’algoritmo suggerito, infatti, fa uso della procedura già vista per calcolare il Massimo Comun Divisore (MCD) di due numeri naturali allo scopo di semplificare la frazione ottenuta.
A questo punto del corso/laboratorio, una volta compreso l’algoritmo, sarebbe utile provare a implementare la funzione Somma(…) con Blockly in modo autonomo. Eventualmente usare il video che segue come supporto.
Differenza di due frazioni
Realizzare una funzione che:
- richieda due frazioni (numeratore e denominatore di ognuna);
- restituisca la differenza delle due frazioni semplificata (usando la funzione MCD sviluppata in precedenza).
Si può utilizzare (utilizzare, non modificare) la funzione già scritta per la somma? Ricordate: uno dei principi guida deve essere quello di ri-utillizzare il lavoro già fatto! Anche questa volta non v’è un video che spiega come fare, passo passo, per implementare quanto richiesto con Blockly: dovete cercare di cavarvela da soli!
Una calcolatrice razionale
Ora è tempo di mettere a frutto tutto il lavoro fatto. Realizzate una calcolatrice razionale: chiede all’utente un’operazione da eseguire su due frazioni, che l’utente deve poter scrivere in modo naturale, per esempio 1/2+3/3, esegue l’operazione e mostra il risultato.
In pratica, la funzione riceve in input una stringa di testo contenente due frazioni e un’operazione, analizza la stringa comprendendo quale operazione eseguire e su quali operandi.
Si può organizzare il programma come si vuole, ma è importante, se possibile, riutilizzare funzioni già realizzate. Il cuore del programma deve essere una funzione che analizzi il testo trasformandolo in dati separati (in termine tecnico, una funzione del genere si chiama parser).
Il video che segue mostra una possibile strategia per realizzare il parser di espressioni che serve per la calcolatrice razionale.