Rappresentazione degli algoritmi

Похожие документы
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

PROGRAMMAZIONE STRUTTURATA

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Esercizi svolti in aula

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

MODULO 07. La soluzione dei problemi mediante gli algoritmi

La rappresentazione dell algoritmo Diagrammi di flusso

Modulo 1 Concetti di base della Tecnologia dell Informazione

Risoluzione di un problema

PROGRAMMAZIONE DISCIPLINARE

Il concetto di calcolatore e di algoritmo

Introduzione alla programmazione

PROGRAMMAZIONE: La selezione

Come ragiona il computer. Problemi e algoritmi

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Formalismi per la descrizione di algoritmi

Come scrivere bene codice? (1 di 1)

Problemi, algoritmi, calcolatore

PROGRAMMAZIONE: Le strutture di controllo

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Introduzione agli Algoritmi

Rappresentazione con i diagrammi di flusso (Flow - chart)

DISPENSE DI PROGRAMMAZIONE

CAPITOLO 3 - ALGORITMI E CODIFICA

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi

INTRODUZIONE ALLA PROGRAMMAZIONE

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

Unità di apprendimento 6. Dal problema al programma

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

1.1 Concetti base dell Informatica: Algoritmi

algebra: insiemi numerici N e Q +, proprietà operazioni e calcolo linguaggio degli insiemi

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Programmazione strutturata

Dall algoritmo al programma

Introduzione alla programmazione strutturata

Prof. Pagani Corrado ALGORITMI

Corso di Informatica di Base

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica

Numeri naturali ed operazioni con essi

I.S.I.S. F. De Sanctis Sez. ass. Liceo Classico

LA METAFORA DELL UFFICIO

= < < < < < Matematica 1

Indice. Prefazione. 3 Oggetti e Java 53

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Diagrammi a blocchi 1

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde

Laboratorio di Programmazione

Istruzioni Condizionali

L istruzione di selezione doppia

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

Cicli. S i a i = a 1 + a 2 + a a n

Diagrammi a blocchi 1

Транскрипт:

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Definizione del procedimento per arrivare alla soluzione Rappresentazione dell algoritmo in una forma comprensibile per l esecutore Traduzione nel linguaggio di programmazione prescelto

Linguaggio naturale - Notazione lineare Nella rappresentazione di un algoritmo si possono riconoscere tre classi di istruzioni: istruzioni di ingresso e uscita (dati e risultati del ( problema istruzioni di assegnamento (P A con il significato ( A assegna al nome logico P il valore di istruzioni di controllo: sono quelle istruzioni che modificano la sequenza dell esecuzione alterazione incondizionata alterazione condizionata

Esempio Calcolare il prodotto di due numeri interi positivi A e B supponendo che l esecutore conosca solo le operazioni di somma, sottrazione e confronto fra numeri. N.istruzione Istruzione 1 leggi A e B 2 P A 3 se B è uguale 1 andare all istruzione 7 4 P P+ A 5 B B - 1 6 andare alla 3 7 scrivi P 8

Tabella di Traccia L algoritmo può essere testato utilizzando una Tabella di Traccia. Esempio: l algoritmo precedente eseguito per i valori di ingresso 7 e 4 istruzione A B P inizio Leggi A e B 7 4 P A 7 B è uguale a 1? P P + A 14 B B - 1 3 B è uguale a 1? P P + A 21 B B - 1 2 B è uguale a 1? P P + A 28 B B - 1 1 B è uguale a 1? Scrivi P

Diagrammi a blocchi Uno dei primi e più diffusi formalismi per la descrizione degli algoritmi, che si avvale di una dislocazione di blocchi contenenti le istruzioni e connessi mediante frecce, è detto Diagrammi a Blocchi. Le forme dei blocchi sono: Rettangolo: indica una operazione come ad esempio un assegnamento P A Rombo: indica una diramazione, cioè la verifica di una condizione e la contrassegnazione degli archi uscenti in conformità con il risultato della verifica true condizione false

Parallelogramma: indica una operazione di ingresso o uscita Leggi A Ellissi: indica l inizio o la dell algoritmo inizio

Dati due numeri interi, stampare prima il più grande e poi il più piccolo inizio Leggi A e B Scrivi B Scrivi A F A > B T Scrivi A Scrivi B

Dati due numeri interi positivi, effettuare il loro prodotto con il metodo delle addizioni successive. inizio Leggi A e B P A P P + A B B -1 B = 1 True Scrivi P

Dati due numeri interi positivi diversi da zero, calcolare quoziente e resto con il metodo delle sottrazioni successive inizio Leggi A e B R A Q 0 R R -B Q Q + 1 R >= B False Scrivi Q,R

Sommare i primi N interi positivi inizio Leggi N I 1 S 0 False S S + I I I + 1 I > N Scrivi S

Leggere N numeri e scrivere la loro somma. inizio Leggi N I 0 S 0 Leggi num False S S + num I I + 1 I = N Scrivi S

Calcolare il quadrato di un numero N intero positivo utilizzando la somma dei primi N numeri dispari False inizio Leggi N Q 0 I 0 Disp 1 Q Q +Disp Disp Disp + 2 I I + 1 I = N Scrivi Q

Limiti dei diagrammi a blocchi I DaB sono generalmente illeggibili, non si riesce a seguire l algoritmo soprattutto quando superano le dimensioni di un semplice esercizio didattico. La lettura andrebbe fatta un po dall alto un po dal basso senza un ordine preciso I DaB sono facilmente esposti ad errori logici, bastano pochi accavallamenti di cicli per perdere il filo del controllo. Ciò nasce dalle correzioni consentite da un indisciplinato uso delle frecce che causa un proliferare di errori logici che si accentua con la complessità del problema e l inesperienza del risolutore Scarsa praticità dovuta alla natura grafica bidimensionale difficoltà di riconoscimento della struttura di controllo

disciplina di composizione che eviti cattive strutturazioni degli algoritmi L idea base è: un algoritmo deve essere letto dall alto al basso secondo un ordine sequenziale di esecuzione Cio non significa che non possono esistere dei cicli o dei test, ma che questi siano strutturati in modo da poter essere considerati come un unico blocco operativo con un unico ingresso e una sola uscita. Si possono distringuere blocchi semplici blocchi composti Tutti con un unico punto di ingresso e un unico punto di uscita