Rappresentazione degli algoritmi
|
|
|
- Geronimo Savino
- 8 anni fa
- Просмотров:
Транскрипт
1 Rappresentazione degli algoritmi
2 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
3 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
4 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 andare alla 3 7 scrivi P 8
5 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 B è uguale a 1? P P + A 21 B B B è uguale a 1? P P + A 28 B B B è uguale a 1? Scrivi P
6 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
7 Parallelogramma: indica una operazione di ingresso o uscita Leggi A Ellissi: indica l inizio o la dell algoritmo inizio
8 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
9 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
10 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
11 Sommare i primi N interi positivi inizio Leggi N I 1 S 0 False S S + I I I + 1 I > N Scrivi S
12 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
13 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
14 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
15 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
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
PROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
Esercizi svolti in aula
Università degli Studi di Cagliari Corsi di Laurea in Ing. Civile e Ing. per l Ambiente e il Territorio ondamenti d Informatica 1 A.A. 2018/2019 Docente: Giorgio umera Esercizi svolti in aula ormulazione
Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un
MODULO 07. La soluzione dei problemi mediante gli algoritmi
MODULO 07 La soluzione dei problemi mediante gli algoritmi MODULO 07 Unità didattica 02 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
La rappresentazione dell algoritmo Diagrammi di flusso
La rappresentazione dell algoritmo Diagrammi di flusso Forme di rappresentazione Ritornando al problema dell addizione di due numeri interi, la maestra non fa altro che codificare l algoritmo utilizzando
Modulo 1 Concetti di base della Tecnologia dell Informazione
Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette
Risoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
PROGRAMMAZIONE DISCIPLINARE
Modello A2 Istituto d Istruzione Superiore POLO-LICEO ARTISTICO - VEIS02400C VENEZIA Liceo Artistico, Liceo Classico e Musicale Dorsoduro, 1073 30123 Venezia tel. 0415225252, fax 041 2414154 PROGRAMMAZIONE
Il concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
Introduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
PROGRAMMAZIONE: La selezione
PROGRAMMAZIONE: La selezione Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per
Come ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.
Flow-chart Introduzione agli algoritmi e ai diagrammi a blocchi [email protected] 1 Sommario Fasi dello sviluppo di un programma Algoritmo Dati: Variabili e Costanti Le operazioni tipiche Diagramma
Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:
Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)
Formalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano
Come scrivere bene codice? (1 di 1)
DIAGRMMI DI FLUSSO Come scrivere bene codice? (1 di 1) Prima di iniziare a scrivere un programma: Acquisire profonda comprensione del problema; Progettare un approccio per la risoluzione del problema.
Problemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
PROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura [email protected] 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
Introduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
Rappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
CAPITOLO 3 - ALGORITMI E CODIFICA
FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)
in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi
Diagrammi di flusso - Flowcharts E un formalismo che consente di rappresentare graficamente gli algoritmi Un diagramma di flusso descrive le azioni da eseguire ed il loro ordine di esecuzione Ogni azione
INTRODUZIONE ALLA PROGRAMMAZIONE
INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni
Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina [email protected] www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
La formalizzazione dell informazione: Dati e Diagrammi di Flusso
La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi
Unità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 2 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
Programmazione a blocchi. Algobuild Prof. Sergio Roselli
Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere
STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono
Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione
Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore
Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
1.1 Concetti base dell Informatica: Algoritmi
1.1 Concetti base dell Informatica: Algoritmi Insegnamento di Informatica Elisabetta Ronchieri Corso di Laurea di Economia, Universitá di Ferrara I semestre, anno 2014-2015 Elisabetta Ronchieri (Universitá)
algebra: insiemi numerici N e Q +, proprietà operazioni e calcolo linguaggio degli insiemi
Liceo B. Russell VIA IV NOVEMBRE 35, 3803 CLES Indirizzo: Scienze umane CLASSE Programmazione Didattica a. s. 00/0 UB Disciplina: Matematica Prof. Ore effettuate 08 + 6 recupero Carlo Bellio PROGRAMMA
Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso
Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso
ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s
ALGORITMI E PROGRAMMAZIONE STRUTTURATA Prof R. Bresolin a.s. 2013-2014 2 Programmazione Calcolatore Elettronico È uno strumento in grado di eseguire insiemi di azioni elementari; Le azioni vengono eseguite
Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
Programmazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
Dall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
Introduzione alla programmazione strutturata
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio
Prof. Pagani Corrado ALGORITMI
Prof. Pagani Corrado ALGORITMI PRIMI APPROCCI GRAFICI ALLA PROGRAMMAZIONE Il coding (e la programmazione) è entrato con forza nella scuola anche grazie al progetto MIUR chiamato Programma il futuro (http://programmailfuturo.it/)
Corso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica
FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano
Numeri naturali ed operazioni con essi
Liceo B. Russell VIA IV NOVEMBRE 35, 38023 CLES Indirizzo: Liceo Linguistico CLASSI Programmazione Didattica 1 e Disciplina: MATEMATICA Ore annue: 110 MODULO 1 TEORIA DEGLI INSIEMI E INSIEMI NUMERICI settembre
I.S.I.S. F. De Sanctis Sez. ass. Liceo Classico
Anno Scolastico 2012/13 Disciplina: Matematica Classe: I Liceo classico (nuovo ordinamento) Docente: prof. Roberto Capone ALGEBRA I.S.I.S. F. De Sanctis Sez. ass. Liceo Classico Specifica dettagliata degli
LA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
Indice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani ([email protected])
Diagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!
Esercizio 1 Scrivere un programma che acquisisca da tastiera una sequenza di caratteri terminata da! e riporti sul monitor una sequenza derivata dalla precedente secondo le regole dell alfabeto farfallino
ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde
ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde vers.3 in lavorazione Docente SAFFI FABIO Contenuti 1. Esercizi generici sul diagramma di flusso - flow chart...2
Laboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
Istruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali
L istruzione di selezione doppia
l Nella descrizione di un algoritmo generalmente che le operazioni da eseguire sono diverse a seconda dei dati inseriti l Se ad esempio dobbiamo comperare un oggetto, dobbiamo verificare se i soldi a disposizione
Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop
Diagrammi di flusso Un metodo per rappresentare graficamente gli algoritmi. Input/ Output sotto programma Start predicato Elaborazione Stop La programmazione strutturata Un algoritmo è strutturato in blocchi
Cicli. S i a i = a 1 + a 2 + a a n
Cicli Esprimono in modo compatto e generali l'esecuzione di uno stesso blocco di codice per più volte Anche in matematica sono presenti operatori che eseguono di fatto un ciclo (ad es. sommatoria e produttoria)
Diagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso
