Diagrammi di Flusso
Un diagramma di flusso è composto da
• Blocchi elementari che descrivono azioni e decisioni
• Archi orientati che collegano i vari blocchi e descrivono la sequenza di svolgimento delle azioni
Inizio Fine Azione generica Azione di I/O Blocco di decisione binaria ?
Blocco di inizio Blocco di fine Blocco di
connessione
Blocco di azione generica
Blocco di azione di input/output
AlgoBuild
AlgoBuild consente in maniera semplice ed efficace di: ◦ Disegnare diagrammi di flusso
◦ Generare automaticamente pseudocodice a partire dal diagramma di flusso
◦ Eseguire l’algoritmo Operatore Descrizione < Minore <= Minore o uguale > Maggiore >= Maggiore o uguale == Uguale Operatore Descrizione + Addizione - Sottrazione * Moltiplicazione / Divisione
% Resto della divisione
• Operatori Aritmetici • Operatori Relazionali
Operatore Descrizione
&& AND
|| OR
! NOT • Operatori Logici
Esercizio 1: AlgoBuild
Scrivere un algoritmo che legga da input finché non viene inserito un numero divisibile per 3 e mostri in output quanti numeri sono stati inseriti fino a quel momento.
Esercizio 2: AlgoBuild
Scrivere un algoritmo che legga da input 5 numeri e per ciascun numero n verificare se pari o dispari:
• se è pari allora mostrare il numero dispari più vicino tale che sia >n; • se è dispari allora mostrare il numero pari più vicino tale che sia <n. N.B. Se viene inserito un numero <=0 oppure >=100 viene ignorato.
Esempio:
◦ n=3 → output: 2 ◦ n=10 → output: 11
Esercizio 3: AlgoBuild
Definire l’algoritmo che accetta massimo 5 numeri tali che il numero inserito al passo i sia sempre >= del numero inserito al passo precedente:
𝑛𝑖 ≥ 𝑛𝑖−1
Se il numero inserito è corretto allora mostra la differenza con il numero precedente altrimenti arresta l’algoritmo.
Esempio
◦ INPUT: 0, 2, 3, 1 # si ferma qui perché 1 è minore di 3
Esercizio 4: AlgoBuild
Esercizio 5: AlgoBuild
Scrivere un algoritmo che consenta di inserire in input quanti numeri si vogliono confrontare, legga tali numeri e scriva in output qual è il minimo tra essi e il relativo indice di apparizione (se è stato inserito come primo, secondo, terzo, …).
Esempio:
◦ INPUT: 5; 0, 2, -1, 3, 4