Comments
Description
Transcript
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.). AlKhwā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! 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. Inizio Leggi A Assegna a A il prodotto l*l Scrivi a fine 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 Linguaggio verbale naturale algoritmico Inizio MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: fine EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico fine MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: input (leggi) EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico leggi dato MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: output (scrivi) EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico scrivi dato MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: esecuzione azione EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico esegui azione MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: scelta unaria per vero EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico se condizione allora esegui azione MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: scelta unaria per falso EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico se non condizione allora esegui azione MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: scelta binaria EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico se condizione allora esegui azioneV altrimenti esegui azioneF MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: scelta multipla EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico caso valore1 esegui azione1 valore2 esegui azione2 . . valoren esegui azionen MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: ciclo condizionale con controllo iniziale per vero EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico finchè condizione esegui azione MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: ciclo condizionale con controllo iniziale per falso EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico finchè non condizione esegui azione MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: ciclo condizionale con controllo finale per vero EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico esegui azione finchè condizione MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: ciclo condizionale con controllo finale per falso EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico esegui azione finchè non condizione MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart Algoritmo e flow chart: ciclo enumerativo EQUIVALENZA FRA ALGORITMO E FLOW CHART MODELLO LOGICO Linguaggio verbale naturale algoritmico per contatore che va da valore iniziale a valore finale con incremento/decremento di passo n esegui azione MODELLO GRAFICO Rappresentazione grafica bidimensionale flow chart