• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
19
0
0

Testo completo

(1)

Fondamenti di Informatica

ESERCIZI: ALGOBUILD

Prof. Marco Lombardi – malombardi@unisa.it

2 0 1 9/2020

(2)

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 Esercitazione ALGOBUILD

(3)

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 != Diverso Operatore Descrizione + Addizione - Sottrazione * Moltiplicazione / Divisione

% Resto della divisione

intera

Operatori AritmeticiOperatori Relazionali

Operatore Descrizione && AND || OR ! NOT • Operatori Logici Esercitazione ALGOBUILD

(4)

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.

(5)

Soluzione 1: AlgoBuild (ver 0.75)

(6)

Soluzione 1: AlgoBuild (ver 0.75)

(7)

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

(8)

Soluzione 2: AlgoBuild (ver 0.75)

(9)

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

◦ OUTPUT: 2, 1 # (2-0), (3-2)

(10)

Soluzione 3: AlgoBuild (ver 0.75)

(11)

Esercizio 4: AlgoBuild

Definire l’algoritmo che prende in input un numero e scrive in output il relativo fattoriale.

(12)

Soluzione 1

Soluzione 4: AlgoBuild (ver 0.75) – 1/3

(13)

Soluzione 1 Soluzione 2

Soluzione 4: AlgoBuild (ver 0.75) – 2/3

(14)

Soluzione 1 Soluzione 2 Soluzione 3

Soluzione 4: AlgoBuild (ver 0.75) – 3/3

(15)

Soluzione 1 Soluzione 2 Soluzione 3

Soluzione 4: AlgoBuild (ver 0.75) – 3/3

Esercitazione ALGOBUILD

(16)

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

◦ OUTPUT: minimo -1, indice 3

(17)

Soluzione 5: AlgoBuild (ver 0.75) – 1/2

continua… Soluzione 1

(18)

Soluzione 5: AlgoBuild (ver 0.75) – 1/2

continua… Soluzione 1

(19)

Soluzione 5: AlgoBuild (ver 0.75) – 2/2

continua…

Soluzione 1 Soluzione 2

continua…

Riferimenti

Documenti correlati

[r]

Consegnate solo la bella e il foglio con gli esercizi e motivate sempre le vostre risposte.. Sarà valutata anche l’esposizione e non saranno corretti

Aiutati con lo schema seguente:. Numeri romani Numeri romani

ii) Rispondere alle stesse domande nella seguente variante del caso prece- dente: i due agenti scelgono in modo indipendente l’uno dall’altro; il primo, se guadagna 10 cambia, mentre

1 CONFRONTIAMO LA PARTE INTERA DEL NUMERO?.

¨  Se la stringa di formato contiene un white space, la scanf legge zero o più white space, che verranno scartati, fino al primo carattere non white space.

In questo modo la retta reale coincide con l’asse delle ascisse mentre i punti nell’asse delle ordinate rappresentano i numeri puramente immaginari ossia quelli a parte reale nulla

The generalized index number (g-IN) theory provide the impact index common to both situations and, as its factorizations, g-indices able to explain variations like contribution due