L’algoritmo e il Flow Chart
description
Transcript of L’algoritmo e il Flow Chart
L’algoritmo e il Flow Chart
Etimologia della parola algoritmo• La parola algoritmo deriva dal
nome di un matematico arabo Abu Jafar Muhammad ibn Musa al-Khwārizmī (Baghdad 780-850 d. C.). Al-Khwārizmī si è latinizzato in algoritmi.
• Questi era una figura di spicco esperto in matematica, geografia, storia e astronomia.
• Egli era originario della Persia.• Le sue opere sono state
apprezzate grazie alla precisione con cui l’autore riusciva a risolvere le intricatissime questioni di eredità.
Definizione di algoritmo
• Un algoritmo è la descrizione della procedura di soluzione relativa a un problema.
• Il concetto di algoritmo in informatica è strettamente collegato al concetto di problema.
• Un algoritmo viene definito informalmente come una sequenza finita di operazioni elementari che consentono di trasformare (process) i valori di input (dati di ingresso) in valori di output (dati di uscita).
Proprietà di un algoritmo• Un algoritmo deve essere:
• finito;• univoco;• completo.
• Finito un algoritmo deve essere composto da un numero finito di passi.
• Univoco un algoritmo deve prestarsi a una unica interpretazione (deve essere non ambiguo!).
• Completo un algoritmo deve prevedere tutti i casi possibili.
Linguaggio naturale algoritmico• Il linguaggio algoritmico usa
parole ben precise del linguaggio naturale.• Inizio• Fine• Leggi• Scrivi• Assegna • Esegui azione• Se condizione allora azione altrimenti azione• Caso valore esegui azione• Esegui azione finché condizione• Finché condizione esegui azione• Per contatore che va da valore iniziale a
valore finale con incremento/decremento di passo n esegui azione
AUGH!
InizioLeggi A
Assegna a A il prodotto l*l
Scrivi afine
Linguaggio algoritmico e flow chart• Le espressioni verbali del
linguaggio algoritmico corrispondono biunivocamente ai costrutti rappresentati graficamente mediante flow chart.
• Flow chart e algoritmo corrispondenti si equivalgono.
• Flow chart e algoritmo sono modelli differenti per rappresentare la procedura risolutiva di un problema.• Un flow chart è un modello grafico
bidimensionale.• Un algoritmo è un modello logico.
Algoritmo e flow chart
• Algoritmo e flow chart sono modellizzazioni differenti dello stesso concetto:• strategia risolutiva di un
problema.
• La risoluzione indica il procedimento.
• La soluzione è il risultato.
Algoritmo e flow chart: inizio
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
Inizio
Algoritmo e flow chart: fine
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
fine
Algoritmo e flow chart: input (leggi)
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
leggi dato
Algoritmo e flow chart: output (scrivi)
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
scrivi dato
Algoritmo e flow chart: esecuzione azione
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
esegui azione
Algoritmo e flow chart: scelta unaria per vero
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
se condizioneallora esegui azione
Algoritmo e flow chart: scelta unaria per falso
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
se non condizioneallora esegui azione
Algoritmo e flow chart: scelta binaria
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
se condizioneallora esegui azioneValtrimenti esegui azioneF
Algoritmo e flow chart: scelta multipla
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
caso valore1 esegui azione1valore2 esegui azione2..valoren esegui azionen
Algoritmo e flow chart: ciclo condizionale con controllo iniziale per vero
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
finchè condizioneesegui azione
Algoritmo e flow chart: ciclo condizionale con controllo iniziale per falso
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
finchè non condizioneesegui azione
Algoritmo e flow chart: ciclo condizionale con controllo finale per vero
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
esegui azionefinchè condizione
Algoritmo e flow chart: ciclo condizionale con controllo finale per falso
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
esegui azionefinchè non condizione
Algoritmo e flow chart: ciclo enumerativo
EQUIVALENZA FRA ALGORITMO E FLOW CHART
MODELLO LOGICO MODELLO GRAFICO
Linguaggio verbale naturale algoritmico
Rappresentazione grafica bidimensionale flow chart
per contatore che va da valore iniziale a valore finale con incremento/decremento di passo n esegui azione