1) analisi del problema - 2... · analisi del problema 2. definizione dell’algoritmo 3. esecuzione…

Download 1) analisi del problema - 2... · analisi del problema 2. definizione dell’algoritmo 3. esecuzione…

Post on 24-Feb-2019

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<p>I FONDAMENTI della PROGRAMMAZIONE </p> <p>Risoluzione dei problemi mediante il PC </p> <p>1. analisi del problema 2. definizione dellalgoritmo 3. esecuzione e risoluzione </p> <p>1) analisi del problema </p> <p>Problema produrre una melodia risolvere unequazione </p> <p>Esperto compositore matematico </p> <p>Algoritmo spartito formula </p> <p>Esecutore musicista calcolatore </p> <p>Es. equazione di 2 grado file: equ2 </p> <p> ax2+bx+c=0 </p> <p>1.1 def esatta e completa: formula risolutiva delle equ di 2 grado </p> <p>1.2 ricerca di algoritmi gi esistenti: non conveniente ricercare algoritmi gi esistenti </p> <p>1.3 individuazione delle variabili di INPUT: a, b, c </p> <p>1.4 individuazione delle variabili intermedie e di OUTPUT: D=b</p> <p>2-4ac; var OUT: x1, x2 </p> <p>1.5 necessit o meno di usare un PC: conveniente il PC se il numero di equ elevato </p> <p>2) definizione dellalgoritmo </p> <p>algoritmo: una serie finita di operazioni eseguite in sequenza che fornisce la soluzione </p> <p>lalgoritmo deve essere: non ambiguo </p> <p>finito nei passi </p> <p>esaustivo contenere tutte le possibili soluzioni </p> <p>riproducibile stessi input, stesse risoluzioni </p> <p> descrizione </p> <p>a. linguaggio naturale b. ad alto livello c. specialistico d. diagrammi di flusso, pseudocodifica </p> <p>3) realizzazione tramite PC </p> <p>a. linguaggio macchina b. ad alto livello c. orientato al problema </p> <p>diagrammi di flusso </p> <p>un insieme di blocchi collegati da linee orientate </p> <p>la forma del blocco indica il tipo di operazione, ovvero il tipo di istruzioni che il blocco contiene; </p> <p>un blocco pu contenere pi istr. Che verranno eseguite in sequenza dallalto verso il basso </p> <p>lalgoritmo comunica tramite dati </p> <p>dati: hanno un nome identificatore associato allindirizzo della locazione di memoria </p> <p>i dati possono essere costanti e variabili: </p> <p>costanti: dato che mantiene lo stesso valore per tutta la durata del programma </p> <p>variabili: possono variare nel corso del programma </p> <p>Espressioni: sequenza di costanti e variabili legate da operatori </p> <p> Aritmetiche </p> <p> Alfanumeriche </p> <p> Logiche </p> <p> Relazionali, confronto fra due espr. dello stesso tipo </p> <p> Inizio o fine </p> <p>IN e OUT </p> <p>Assegnazione </p> <p>selezione </p> <p>STRUTTURE DEI FLOW-CHART </p> <p>F V </p> <p>F </p> <p>V ? ISTR ? ISTR1 ISTR2 </p> <p> SELEZIONE </p> <p>A UNA VIA A DUE VIE </p> <p> ITERAZIONE </p> <p>PRECONDIZIONALE POSTCONDIZIONALE </p> <p>ISTR1 </p> <p>ISTR2 </p> <p>ISTR3 </p> <p> SEQUENZA </p> <p>F </p> <p>V F </p> <p>V </p> <p> ? </p> <p> ? ISTR </p> <p>ISTR </p> <p>Un algoritmo si dice STRUTTURATO se usa solo le strutture: </p> <p>SEQUENZA-SELEZIONE-ITERAZIONE </p> <p>Tecniche di programmazione: </p> <p>TOP-DOWN: dal generale al particolare; prima il problema generale che viene poi scisso in tanti </p> <p>sottoproblemi </p> <p>BOTTOM-UP: dal particolare al generale; usato in fase di verifica/correzione (debugging) </p> <p>Problema: risoluzione equazione di primo grado ax+b=0 senza condizioni (file: equ1) </p> <p> //************ file: equ1 ************* </p> <p>// autori: Nome Cognome Classe </p> <p>// data: gg/mm/aaaa </p> <p>// descrizione: RISOLUZIONE EQUAZIONE DI 1 GRADO </p> <p>#include </p> <p>#include </p> <p>#include </p> <p>#include </p> <p>int a,b; </p> <p>float x; </p> <p> main() </p> <p>{ </p> <p> cout a; </p> <p> cout b; </p> <p> x=-b/a; </p> <p> cout</p> <p>Problema: risoluzione equazione di primo grado ax+b=0 (con condizioni ) </p> <p> //************ file: equ1 cond ************* </p> <p>// autori: Nome Cognome Classe </p> <p>// data: gg/mm/aaaa </p> <p>// descrizione: RISOLUZIONE EQUAZIONE DI 1 GRADO con condizione </p> <p>#include </p> <p>#include </p> <p>#include </p> <p>#include </p> <p>int a,b; </p> <p>float x; </p> <p> main() </p> <p>{ </p> <p> cout a; </p> <p> cout b; </p> <p> if (a0) { x=-b/a; </p> <p>cout</p> <p>Problema: risoluzione equazione di secondo grado ax2+bx+c=0 </p> <p>{ </p> <p> leggi:a,b,c </p> <p> D=b2-4ac </p> <p> If (D</p>

Recommended

View more >