• Non ci sono risultati.

Introduzione agli Algoritmi. Giselda De Vita 2020

N/A
N/A
Protected

Academic year: 2022

Condividi "Introduzione agli Algoritmi. Giselda De Vita 2020"

Copied!
22
0
0

Testo completo

(1)

Introduzione agli

Algoritmi

(2)

Algoritmo

Un algoritmo è un procedimento che risolve un determinato problema

attraverso un numero finito di passi elementari, chiari e non ambigui.

(Wikipedia)

(3)

Algoritmo

In informatica, risolvere un problema vuol dire ricevere dei dati in input, eseguire

una elaborazione e, in un tempo finito, restituire dei dati in output.

Input Output

Elaborazione

(4)

Algoritmo

Un algoritmo ha sempre un inizio e una fine.

Un algoritmo ha dei passi in cui si può leggere in INPUT un dato oppure si può scrivere in OUTPUT.

Un algoritmo ha dei passi in cui si eseguono delle elaborazioni.

Vediamo un esempio…

(5)

Somma tra due numeri

Inizio

Leggi primo numero

Leggi secondo numero

Somma primo numero e secondo numero Scrivi somma

Fine

(6)

Flow chart

In informatica il diagramma di flusso (in inglese flow chart) è una

rappresentazione grafica delle operazioni da eseguire per l'esecuzione di un

algoritmo.

Ogni singolo passo è visualizzato tramite una serie di simboli standard.

(Wikipedia)

(7)

Flow chart

START - END

INPUT - OUTPUT

CONDIZIONE - CICLI ELABORAZIONE

(8)

Somma due numeri

Leggi primo numero

Somma primo numero e secondo numero

Inizio

Fine

Leggi secondo numero

Scrivi somma

Input

Output

Elaborazione

(9)

Ricorda

Ricorda: Un algoritmo risolve un problema

universale.

L’algoritmo per la somma dei due numeri parla di numeri generici.

Scrivere un algoritmo con dei dati specifici è un

errore!

Leggi 3

Somma 3 + 4 Inizio

Fine Leggi 4

Scrivi 7

(10)

Condizione

Spesso per risolvere un problema c’è

bisogno di prendere delle decisioni in base a determinate condizioni da verificare.

All’interno del rombo si inserisce una

condizione che può essere VERA o FALSA. Vediamo un esempio nella prossima

diapositiva

A = B Vero

Falso Se

(11)

Maggiore tra due numeri

Inizio

Leggi primo numero

Leggi secondo numero

Confronta primo numero e secondo numero Se primo numero maggiore (vero)

Scrivi il primo numero è il maggiore Altrimenti (falso)

Scrivi il secondo numero è il maggiore Fine

(12)

Flow chart

Leggi primo numero Inizio

Fine

Leggi secondo numero

Scrivi il primo numero è il

maggiore Se primo numero >

secondo numero

Scrivi il secondo numero è il

maggiore

Input

Output Condizione

Falso Vero

(13)

Ciclo

Spesso per risolvere un problema c’è

bisogno di ripetere diverse istruzioni più

volte. All’interno del

rombo si inserisce una condizione o un comando di

ripetizione che VERO continua a ciclare mentre

FALSO indica

Ripeti Vero Falso

(14)

Differenza condizione-ciclo

Il ciclo si differenzia graficamente dalla selezione con condizione dalla uscita del VERO. Nel caso del ciclo si inserisce in basso al rombo e non alla sua destra.

Ripeti

Vero Falso

A = B Vero

Falso Se

Selezione

Ciclo

(15)

Ciclo per tot volte

Indichiamo nel rombo quante volte un blocco di istruzioni nel flusso di

esecuzione vero deve essere

eseguito.

Per 10 volte

Esecuzione generica

Fine

Vero Falso

Superate 10 volte

Entro 10 volte

(16)

Esegui la somma di 10 numeri

Inizio

Eseguo somma uguale a 0

(inizializzo la somma a zero)

Ripeti per 10 volte (vero) Leggi numero

Eseguo Somma uguale somma più numero (incremento la somma con il numero inserito)

Finite 10 volte (falso) Scrivi Somma

Fine

(17)

Esegui la somma di 10 numeri

Per 10 volte Vero Falso

Inizio Somma = 0

Leggi numero

Somma = somma + numero Scrivi somma

Ciclo

Input

(18)

Ciclo a condizione

Spesso non sappiamo a priori per quante volte dobbiamo

ripetere una certa operazione.

In questo caso si utilizza un ciclo a condizione.

Finchè vero

Vero Falso

(19)

Esegui la somma finché non superi 100

Inizio

Eseguo somma uguale a 0

Ripeti finché somma minore di 100 (vero) Leggi numero

Eseguo Somma uguale somma più numero

Somma maggiore di 100 (falso esco dal ciclo) Scrivi Somma

Fine

(20)

Esegui la

somma finché non superi 100

Finché somma < 100 Vero

Falso

Inizio Somma = 0

Leggi numero

Somma = somma + numero Scrivi somma

Ciclo Input

Output

(21)

In inglese… please!

In molti linguaggi di programmazione i

blocchi di controllo, i rombi dei flowchart, vengono tradotti con tre parole che è bene imparare da subito…

IF (se) per la condizione

FOR (per) per il ciclo a ripetizione per tot volte

WHILE (finché) per il ciclo a condizione

(22)

In inglese… please!

Ripeti

Vero Falso

A = B Vero

Falso Se

Se

Per tot volte

Finchè vero Vero Falso

Finché

IF FOR

WHILE

Riferimenti

Documenti correlati

[r]

• Dopo, calcoliamo la soma di ogni possibile sottovettore che termina in A[i+1]. • Il valore massimo tra tutte le somme identifica il nostro sottovettore

In un anello euclideo R due qualunque elementi ammettono un massimo comune divisore d... Il dominio J[i] degli interi

Esercizio 30 Si calcoli il centro di massa di una lamina omogenea a forma di quarto di corona circolare di raggio interno r e raggio esterno R. (Sol. 4πR 15

Per trovare un’espressione minimale, si eliminano gli implicanti primi ”superflui”, che pos- sono essere individuati tramite la forma normale disgiuntiva.. Si noti che questi

Si innesca un ‘ciclo’ di attivazioni, non esplicitamente realizzato con strutture cicliche, dovuto alle susseguenti attivazioni che il sottoprogramma fa a se stesso (se

[r]

rinchiusa nel castello delle Operazioni Irrisolte , ma per farlo deve compiere un lungo percorso e superare quattro prove, sempre più difficili.. Vogliamo provare ad aiutarlo