Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Esercitazione_Algoritmi, Esercizi di Sistemi di Elaborazione dell'Informazione

Un esercizio di programmazione in cui si richiede di scrivere un algoritmo in pseudocodice e un diagramma a blocchi per il calcolo del prodotto di due numeri utilizzando solo l'operazione di somma. Vengono fornite spiegazioni dettagliate sul problema, la soluzione individuata, il diagramma ottenuto e le istruzioni in pseudocodice. Viene inoltre fornita una descrizione dello pseudocodice e del diagramma a blocchi come strumenti di rappresentazione dell'algoritmo.

Tipologia: Esercizi

2022/2023

In vendita dal 31/01/2022

LeonardoDaVinci2025
LeonardoDaVinci2025 🇮🇹

4.3

(30)

34 documenti

1 / 5

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
PROF. ANTONIO TUFANO
ESERCITAZIONE: GLI ALGORITMI
Scrivere un algoritmo in pseudocodice e un diagramma a blocchi per il seguente problema: dati due numeri
effettuare il loro prodotto usando solo l’operazione somma.
Spiegare a parole il problema, la soluzione individuata, il diagramma ottenuto e le istruzioni in
pseudocodice.
Attenzione! Esercizi senza la spiegazione per esteso saranno ritenuti NULLI.
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Esercitazione_Algoritmi e più Esercizi in PDF di Sistemi di Elaborazione dell'Informazione solo su Docsity!

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

PROF. ANTONIO TUFANO

ESERCITAZIONE: GLI ALGORITMI

Scrivere un algoritmo in pseudocodice e un diagramma a blocchi per il seguente problema: dati due numeri effettuare il loro prodotto usando solo l’operazione somma.

Spiegare a parole il problema, la soluzione individuata, il diagramma ottenuto e le istruzioni in

pseudocodice.

Attenzione! Esercizi senza la spiegazione per esteso saranno ritenuti NULLI.

L'algoritmo deve essere composto da un numero finito di passi e richiedere una quantità finita di dati in ingresso; l'esecuzione deve avere termine dopo un tempo finito e deve portare a un risultato univoco; i passi costituenti devono essere "elementari", ovvero non ulteriormente scomponibili e interpretabili in modo diretto e univoco.

Per essere eseguito da un computer l'algoritmo deve essere codificato in un programma informatico tramite un linguaggio di programmazione.

L’ algoritmo può essere rappresentato da uno pseudocodice o graficamente.

Lo pseudocodice è un linguaggio informatico di progettazione e di analisi usato nelle fasi di sviluppo per rappresentare il funzionamento di un algoritmo, esso deve essere soprattutto comprensibile, leggibile e chiaro. Le operazioni dell'algoritmo devono essere descritte in modo inconfutabile e senza alcuna incertezza. Lo pseudocodice non è un linguaggio di programmazione vero e proprio, il suo scopo è di spiegare la logica e le operazioni dell'algoritmo, indipendentemente dai linguaggi di programmazione. Non è un codice eseguibile dalla macchina, esso deve agevolare l'attività di programmazione. Non esiste uno pseudocodice convenzionalmente accettato da tutti, ognuno crea un proprio pseudolinguaggio con lessico, semantica e sintassi più o meno simili agli altri.

La rappresentazione grafica dell’algoritmo avviene mediante un diagramma a blocchi, nello specifico un diagramma di flusso (flow chart) che utilizza determinate forme geometriche ognuna delle quali identifica una particolare azione che rappresentano un ragionamento logico di immediata comprensione. All'interno del blocco quindi è descritta l'operazione che il computer deve svolgere (terminals, operazioni di input/output, processi, controllo). I blocchi sono collegati tra loro da frecce direzionali e connettori di collegamento secondo una logica sequenziale e condizionale. Seguendo il flusso si può ripercorrere la sequenza dell'elaborazione dati dell'algoritmo. Il diagramma di flusso si legge seguendo il "flusso" dall'alto verso il basso partendo dal blocco "inizio" (start) fino al blocco "fine" (end).

Definiamo il problema: realizzare un programma che faccia il prodotto di due numeri usando solo l’operazione di somma.

Analizziamo il problema: vogliamo calcolare il prodotto di due numeri utilizzando solo l’operazione di somma. Per determinare tale prodotto dobbiamo effettuare una serie di somme del primo numero per il numero di volte definite dal secondo numero. Si deve sommare il primo numero con sé stesso e decrementare di uno il secondo numero. Si deve sommare ancora il primo numero al valore ottenuto dalla precedente somma e si deve decrementare di nuovo di uno il valore ottenuto dalla precedente sottrazione. Il procedimento va ripetuto fino a che, per decrementi successivi, il secondo numero raggiunga il valore zero.

Il risultato atteso sarà il prodotto PROD tra due numeri N1 e N2 , nello specifico esso risulterà uguale a N1+ N1 + … + N1 (N2 VOLTE) se N2 > 0.

In input abbiamo quindi due numeri che verranno allocati nelle rispettive variabili N1 e N2 ed in output avremo il prodotto che allochiamo nella variabile PROD a cui assegniamo inizialmente valore zero. Per variabile si intende un riferimento logico che consente di accedere a una locazione della memoria del computer per scrivere o leggere un dato.

A questo punto effettuiamo un controllo su N2 , se questo è maggiore di zero le istruzioni che portano a determinare il prodotto tra N1 e N2 verranno eseguite altrimenti no.

Se il controllo ha dato esito positivo le istruzioni da eseguire sono:

Scriviamo lo pseudocodice dell’algoritmo:

Inizio

Leggi N1, N

PROD = 0

Fino a quando N2 > 0

PROD = PROD + N N2 = N2 – 1

Fine Fino a quando

Scrivi PROD

Fine

Flowchart dell’algoritmo:

per rappresentare il flowchart dell’algoritmo sviluppato abbiamo bisogno:

 2 blocchi che rappresentano il punto di inizio e fine del flowchart

 2 blocchi per le operazioni di input/output

 3 blocchi per la rappresentazione dei processi

 1 blocco di controllo di una condizione

  • N2 = N2 -