5. Problemi e sottoproblemi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "5. Problemi e sottoproblemi"

Transcript

1 5 Problemi e sottoproblemi 1 Caratterizzazione di un problema Come si è detto e ripetuto nei capitoli precedenti, è necessario che il progettista esprima l algoritmo in un linguaggio comprensibile all esecutore e che tenga conto di ciò che l esecutore sa fare Se il problema non è elementare, la soluzione richiederà un grande numero di istruzioni Può allora capitare di smarrirsi nei dettagli, perdendo di vista l organizzazione della soluzione nel suo insieme Dato che siamo noi i progettisti, è importante trovare delle strategie che ci permettano di avere sempre sotto controllo l intera soluzione Durante la progettazione è utile individuare immediatamente le fasi principali della soluzione, ciascuna delle quali è a sua volta un problema, ma più semplice se considerato da solo; questo modo di procedere è noto come metodo di scomposizione in sottoproblemi Esso consiste nell immaginare un esecutore più sveglio di quello che dobbiamo istruire e nell esprimere la soluzione in termini a lui comprensibili Ad esempio, consideriamo il problema pulire il carburatore di un motorino Inizialmente la soluzione del problema può essere espressa semplicemente con l istruzione: Pulisci il carburatore del motorino Comodo, vero? La soluzione del problema è proprio ciò che chiediamo all esecutore La metodologia di scomposizione in sottoproblemi parte sempre considerando un esecutore che capisca l istruzione Risolvi l intero problema Poiché il nostro esecutore non sa fare quanto richiesto, spieghiamo più in dettaglio cosa deve fare; ad esempio, sappiamo che per poter pulire il carburatore è necessario inizialmente smontarlo, quindi pulire il carburatore smontato e poi rimontarlo Immaginiamo che l esecutore sappia compiere queste azioni; allora la soluzione diventa: 1) smonta il carburatore 2) pulisci il carburatore smontato 3) rimonta il carburatore A questo punto, o l esecutore sa svolgere le istruzioni specificate, oppure ciascuna di esse diventa a sua volta un problema, per il quale è necessario specificare i passi elementari della sua soluzione Si procede così per ogni istruzione sino ad ottenere un insieme di istruzioni effettivamente comprensibili all esecutore (istruzioni elementari) In altre parole, può essere utile in un primo momento pensare di avere a disposizione un esecutore che sappia fare tante cose e di sapere noi stessi come si fanno; in un secondo momento si dettagliano le operazioni troppo complicate che inizialmente si è pensato che l esecutore sapesse fare scoprendo eventualmente come realizzare effettivamente ciò che abbiamo lasciato in sospeso Ci siamo complicati la vita? No, abbiamo smontato il problema in problemi più piccoli, cioè abbiamo scomposto il problema in sottoproblemi: ciascuno di questi sarà più semplice da risolvere rispetto al problema iniziale 1

2 Operazioni di elaborazione, parametri delle operazioni Un esecutore che dovesse pulire un carburatore, deve sicuramente poter ricevere il carburatore da pulire, ma deve anche essere in grado di farci qualcosa (bagnarlo con la benzina, asciugarlo con l aria compressa, strofinarlo con una spazzola, ecc) Esistono delle operazioni che sono in grado di fare sempre la stessa cosa però su elementi diversi; il caso della pulizia del carburatore è una di queste perché si possono pulire diversi carburatori sempre nello stesso modo In generale, si può pensare ad una operazione come ad una scatola nera (black box) che può ricevere qualcosa (parametro di input) da chi la richiama (dal ) oppure può restituire qualcosa (parametro di output) a chi la richiama Può anche succedere che l operazione riceva qualcosa (parametro di input/output) da chi la richiama e la restituisca modificata Una operazione può avere diversi parametri di input, di output, e di input/output Esistono anche operazioni che agiscono sempre sugli stessi dati, e producono sempre gli stessi risultati, cioè operazioni che non hanno parametri Una operazione di questo tipo è, ad esempio, quella che pulisce lo schermo, che possiamo chiamare, per esempio, PulisciSchermo Per ciascuna operazione con parametri dobbiamo individuare bene ciò che l operazione si aspetta dal e ciò che eventualmente l operazione restituisce al Per ora ci limitiamo esclusivamente ad esaminare la direzione nella quale viaggiano i dati (figura seguente) ; non ci occupiamo della loro memorizzazione operazione parametri di input parametri di input/output parametri di output 2

3 Se ci pensate bene, qualsiasi operazione può essere vista nel seguente modo: Tipologia di parametri utilizzati dall operazione operazione input/output input output somma tra due numeri niente i due numeri il risultato della somma radice quadrata di un niente il numero il risultato della radice numero pulizia di un carburatore visualizzazione di un messaggio di auguri acquisizione del numero di telefono di Antonio carburatore niente (prima sporco e poi pulito) niente messaggio di quadrata niente niente auguri niente niente numero di telefono di Antonio Dovete stare attenti a non confondere i parametri di input con le operazioni di input ed i parametri di output con le operazioni di output Un parametro di input è qualcosa che l operazione riceve dal mentre una operazione di input è una operazione che riceve qualcosa dall Un parametro di output è qualcosa che l operazione fornisce al mentre una operazione di output è una operazione che fornisce qualcosa all Analizziamo la tabella precedente: visualizzazione di un messaggio di auguri : questa operazione è una operazione di output in quanto comunica all il contenuto del messaggio, ma non restituisce niente al, quindi non ha parametri di output; al contrario, riceve dal il contenuto del messaggio, che quindi è un parametro di input acquisizione del numero di telefono di Antonio : è una operazione di input in quanto acquisisce dall un numero di telefono, ma non riceve niente da chi ne richiede la sua esecuzione e quindi non ha parametri di input; al contrario, restituisce a chi la richiama il numero di telefono di Antonio, che quindi è un parametro di output E possibile che facciate confusione con questi termini Per evitare ciò, mettetevi nei panni di chi dovrà svolgere l operazione e procedete nel modo seguente Per decidere il tipo di un parametro: se chi chiede il vostro servizio vi dà qualcosa, allora questo qualcosa è un parametro di input; se, invece dovete restituire qualcosa a chi richiede il vostro servizio, allora questo qualcosa è un parametro di output (analizzate bene la figura precedente) Per decidere il tipo di una operazione: se dovete ricevere qualcosa 3

4 dall allora l operazione è di input; viceversa è di output se dovete fornire qualcosa all L operazione non è né di input né di output se non chiedete nulla all e non date nulla all In altre parole, l non coincide con il Provate ad individuare il tipo delle operazioni della tabella precedente Vediamo ora quali sono gli schemi relativi alle operazioni precedenti: acquisizione del numero numero Antonio numero Antonio messaggio auguri visualizza messaggio messaggio auguri pulizia di un carburatore sporco carburatore e poi pulito somma tra due numeri 12 e

5 radice quadrata di un numero 11 Soluzione di un problema mediante scomposizione in sottoproblemi Torniamo a quanto abbiamo detto precedentemente a proposito della scomposizione in sottoproblemi Supponiamo di dover istruire un esecutore perché calcoli e visualizzi la radice quadrata di un numero che viene richiesto all Per prima cosa l esecutore deve richiedere il numero all (vi ricordate? viene fatta una operazione di output); successivamente acquisisce il numero (operazione di input); questo numero viene così memorizzato in una variabile opportuna che chiamiamo, per esempio A Successivamente dovrà calcolare la radice quadrata e, infine, visualizzarla (vi ricordate? viene fatta una operazione di output) Il problema iniziale è stato scomposto nei seguenti sottoproblemi: 1 comunica che vuoi un numero 2 ricevi il numero e memorizzalo in A 3 calcola la radice quadrata di A e memorizzala in B 4 comunica il risultato che hai ottenuto, cioè il valore di B Supponete di non ricordare come si calcola la radice quadrata di un numero: in un primo momento questo non è importante, ma è importante, fondamentale, capire che per poter fare ciò è necessario avere a disposizione il numero e, in seguito al calcolo, produrre come risultato un altro numero che verrà memorizzato in una variabile che chiamiamo, nel nostro esempio, B E cioè necessario individuare quali sono i parametri della operazione che si occupa del calcolo della radice quadrata Successivamente potremo concentrarci su questa parte, senza pensare più alle parti precedenti e successive, cioè come si fa a procurasi il numero e come si fa a visualizzarlo I singoli sottoproblemi possono essere direttamente risolubili attraverso un operazione elementare dell esecutore, oppure no; se no, il progettista dovra' progettare per l esecutore una nuova operazione che risolva quel sottoproblema specifico, elencando i vari passi che la compongono Ciascuno di questi passi risolve un sotto-sottoproblema e quindi per esso si ripeterà lo stesso procedimento: per ogni operazione non elementare dovranno essere elencati i passi che la compongono, e così via fino ad arrivare ad avere solo operazioni elementari 5

6 Si può pensare indifferentemente che le operazioni vengano eseguite da sottoesecutori oppure da parti diverse, specializzate, di un esecutore principale Come si può vedere dallo schema seguente, il procedimento risolutivo del problema viene progettato per un esecutore principale (chiamato main) che si suppone disponga di sottoesecutori in grado di risolvere i sottoproblemi 1,2,3,n L'esecutore main e' il di tutti questi sottoesecutori Per ciascuno dei sottoproblemi non risolubili attraverso una operazione elementare, vale lo stesso discorso fatto per il problema iniziale: se, per esempio, al sottoproblema 2 non corrispondesse nessuna operazione elementare, verrà scomposto in sotto-sottoproblemi (sotto-sottoproblema 21, sotto-sottoproblema 22,, sotto-sottoproblema 2m), che hanno a loro volta le caratteristiche di un problema, e così via Ciascun sottoesecutore è a sua volta il dei sottosottoesecutori problema sottoproblema 1 sotto-sottoproblema 21 sottoproblema 2 sotto-sottoproblema 22 sotto-sottoproblema 2m sottoproblema 3 sottoproblema n Nel nostro esempio del calcolo della radice quadrata, i punti 1, 2 e 4 corrispondono a operazioni elementari Invece l operazione 3 (calcolo della radice quadrata) non rientra tra le operazioni elementari Riassumiamo: l esecutore main procede in questo modo: prende in considerazione le varie operazioni, dalla prima all ultima per ciascuna di queste chiama, attiva, un sottoesecutore (al quale passa eventuali parametri) il quale si comporterà a tutti gli effetti come un esecutore al quale è stato ordinato di eseguire delle operazioni (nella figura precedente, corrispondono alle operazioni che risolvono i sotto-sottoproblemi 21, 2m) Il sottoesecutore segnalerà la fine del suo lavoro all esecutore ed eventualmente gli passerà dei parametri Il modo di procedere che abbiamo illustrato si chiama metodo TOP-DOWN e può essere descritto con la seguente analogia: immaginate quale può essere il lavoro del responsabile del settore ricerca di una grossa impresa (rappresenta 6

7 colui che nel primo capitolo abbiamo chiamato progettista) Deve risolvere un problema complesso e, dopo averlo analizzato in tutte le salse, capisce che è necessario scomporlo in sottoproblemi cioè in tanti piccoli problemi più semplici che, risolti uno dopo l altro, portano alla soluzione Per fare ciò si rivolge al direttore tecnico del settore opportuno (rappresenta l esecutore main) il quale delega ogni operazione a diversi impiegati (rappresentano i sottoesecutori), ciascuno dei quali è specializzato nella risoluzione di un problema specifico Per ogni operazione che delega ad altri, il direttore chiama un impiegato che si occupa del sottoproblema corrispondente, gli fornisce tutto ciò di cui ha bisogno per risolvere il suo sottoproblema (parametri di input e/o input/output) e, eventualmente, si aspetta da questo qualcosa come prodotto della sua esecuzione (parametri di output e/o di input/output) Quando questo impiegato ha finito, il direttore chiama un altro impiegato che si occupa di un altro sottoproblema al quale fornisce ciò di cui ha bisogno e dal quale eventualmente riceve qualcosa come prodotto della esecuzione, e così via fino alla fine Nel caso del problema precedente relativo al calcolo e visualizzazione della radice quadrata di un numero si possono individuare i seguenti sottoproblemi a ciascuno dei quali corrisponde un diverso sottoesecutore: 1 visualizzazione di un messaggio di richiesta di inserimento di un numero E una operazione di output con un parametro di input (il messaggio Dammi un numero ) direttore sottoesecutore1 Dammi un numero Dammi un numero 2 acquisizione del numero, che viene memorizzato in una variabile A (es numero ) E una operazione di input con un parametro di output (il valore di A) direttore sottoesecutore 2 7

8 3 calcolo della radice quadrata Corrisponde ad un impiegato che riceve dal direttore il valore della variabile A e restituisce al direttore la radice quadrata che avrà calcolato in qualche modo e che avrà memorizzato in una variabile B Ha un parametro di input (A) e un parametro di output (B) direttore sottoesecutore visualizzare il valore di B E una operazione elementare di output che ha un parametro di input (B) direttore sottoesecutore Introduciamo ora una notazione che ci permette di evidenziare, per ciascuna operazione i parametri di input, di output, di input/output Scriviamo il nome della operazione e, all interno di parentesi tonde, l elenco dei parametri separati da virgole Per individuare poi il tipo di parametro scriviamo sopra ogni parametro, in piccolo, I, O o I/O a seconda del tipo di parametro (input, output o input/output rispettivamente) Nel caso dell esempio scriveremo: Scrivi( Dammi un numero I ); Leggi(A O ); CalcolaRadice(A I,B O ); Scrivi(B I ); Occorre precisare una cosa: è possibile che un impiegato decida di utilizzare altri sottoimpiegati per svolgere l operazione In termini più formali, è possibile che un problema possa/debba essere scomposto in sottoproblemi Ogni sottoproblema è, a tutti gli effetti, un problema e quindi l impiegato di livello 1 è visto come direttore da un suo sottoimpiegato e quindi per un sottoimpiegato si parla ugualmente di parametri Fino a che punto si arriva con la 8

9 scomposizione? Fino a quando si arriva ad una operazione che un esecutore di qualsiasi livello sa fare, cioè fino ad arrivare ad una operazione che è elementare per quell esecutore Facendo ancora riferimento all esempio precedente, se l esecutore sa calcolare la radice quadrata di un numero, allora CalcolaRadice(A,B) sarà immediatamente eseguibile, cioè non ci sarà bisogno di scomporla in altre operazioni, altrimenti dovremo procedere con la scomposizione, utilizzando una sequenza di operazioni elementari, oppure, se l operazione è troppo complessa, si applicherà una ulteriore scomposizione in sottoproblemi ESERCIZI a) Scomporre in sottoproblemi ciascuno dei seguenti problemi, individuando per ciascuno di questi i parametri, specificando se sono di input, output o input/output 1 Indovinare, con il numero minimo di tentativi, un numero compreso tra 1 e 100 pensato dall 2 Contare quante volte compare la lettera A in una frase chiesta all 3 Contare quante parole sono contenute in una frase chiesta all 4 Dire se la parola casa è contenuta in una frase chiesta all 5 Chiedere una lettera e una frase all e contare quante volte la lettera è contenuta nella frase 6 Calcolare il prodotto tra due numeri interi chiesti all 7 Calcolare le radici di una equazione di secondo grado 8 Sommare N numeri chiesti all Il valore di N è chiesto anch esso all 9

L ELABORATORE ELETTRONICO!

L ELABORATORE ELETTRONICO! L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

Problemi, algoritmi, calcolatore

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

Dettagli

Elaboratore Elettronico

Elaboratore Elettronico L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti

Dettagli

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione Sommario Problemi e soluzioni Definizione informale di algoritmo e esempi Proprietà degli algoritmi Input/Output, Variabili Algoritmi senza input o output 1 2 Problema Definizione (dal De Mauro Paravia):

Dettagli

Il concetto di calcolatore e di algoritmo

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

Dettagli

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

Dettagli

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni

Dettagli

LABORATORIO DI INFORMATICA

LABORATORIO DI INFORMATICA LABORATORIO DI INFORMATICA Corso di laurea in Scienze della Formazione Primaria a.a.2014/2015 A cura del Prof. Sergio Miranda 2 LEZIONE N.6 Algoritmi GLI ALGORITMI (1/5) Un algoritmo è una sequenza di

Dettagli

Informatica. Come si risolve un problema?

Informatica. Come si risolve un problema? Informatica Elaborazione automatica dell informazione Esempio di elaborazione: rubrica, elenco telefonico. Ogni problema di elaborazione dell informazione è caratterizzato da: un insieme di dati di partenza

Dettagli

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

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

Dettagli

Algoritmi. Pagina 1 di 5

Algoritmi. Pagina 1 di 5 Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni

Dettagli

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

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

Dettagli

Note per la Lezione 6 Ugo Vaccaro

Note per la Lezione 6 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Rappresentazione generale del problema e fasi di progettazione

Rappresentazione generale del problema e fasi di progettazione D-003-2015-10-18 MATERIA DATA OGGETTO Informatica 18/10/2015 Progettazione degli algoritmi: strategia top-down Rappresentazione generale del problema e fasi di progettazione In generale, la risoluzione

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript 1 Il Problema computazionale È computazionale

Dettagli

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Il Problema computazionale È computazionale un

Dettagli

Introduzione alla programmazione

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

Dettagli

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell

Dettagli

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale Università degli Studi di Brescia INFORMATICA Concetto di Algoritmo Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 21/08/2016.A050917* Dipartimento di Ingegneria Meccanica e Industriale DIPARTIMENTO

Dettagli

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Problem Solving Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/30 Tipi di Problemi Primitivi Risolubili

Dettagli

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

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

Dettagli

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

Dettagli

1 Esercizi in pseudocodice

1 Esercizi in pseudocodice Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni

Dettagli

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

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

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

MODULO 07. La soluzione dei problemi mediante gli algoritmi

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

Dettagli

Come ragiona il computer. Problemi e algoritmi

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

Dettagli

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. 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

Dettagli

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

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

Dettagli

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015 1 LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI A. A. 2014/2015 PRIMI PASSI La più semplice sequenza di istruzioni che possiamo scrivere è quella costituita da un solo comando. come si fa a

Dettagli

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer L INFORMATICA c1 Negli incontri precedenti ci siamo occupati di cercare la soluzione di alcuni problemi. Ora cerchiamo di definire cosa si intende per informatica. Informatica è qualcosa che ha a che fare

Dettagli

Le funzioni in JavaScript. Modularizzazione

Le funzioni in JavaScript. Modularizzazione Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi

Dettagli

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

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

Dettagli

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

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

Dettagli

LA METAFORA DELL UFFICIO

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

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Esercitazioni di Informatica B A.A. 2010/2011 Pseudocodice. Nicola Vitucci

Esercitazioni di Informatica B A.A. 2010/2011 Pseudocodice. Nicola Vitucci Esercitazioni di Informatica B A.A. 2010/2011 Pseudocodice Cos'è lo pseudocodice? Abbiamo visto che prima di scrivere del codice è importante innanzitutto avere le idee chiare sul problema da affrontare

Dettagli

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

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

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Introduzione e sintassi La presente dispensa

Dettagli

Corso di Informatica di Base

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

Dettagli

Corso di Informatica Modulo T1 1 - Il concetto di problema

Corso di Informatica Modulo T1 1 - Il concetto di problema Corso di Informatica Modulo T1 1 - Il concetto di problema 1 Prerequisiti Concetti intuitivi di: Proporzione Problema Variabile Numeri interi e reali 2 1 Introduzione Nel risolvere un problema abbiamo

Dettagli

Individuazione di sottoproblemi

Individuazione di sottoproblemi Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che

Dettagli

Correttezza (prima parte)

Correttezza (prima parte) Fondamenti di informatica Oggetti e Java (prima parte) Capitolo 16 ottobre 2015 1 Contenuti Introduzione alla correttezza dei programmi specifica di un programma correttezza di un programma verifica di

Dettagli

Fasi della programmazione. Gabriella Trucco

Fasi della programmazione. Gabriella Trucco Fasi della programmazione Gabriella Trucco Algoritmi Uso di algoritmi nella vita quotidiana Algoritmo: sequenza di passi che, se intrapresa da un esecutore, permette di ottenere i risultati attesi a partire

Dettagli

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 3. Espressioni booleane I comandi if-else e while Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if

Dettagli

A lezione sono stati presentati i seguenti passi per risolvere un problema:

A lezione sono stati presentati i seguenti passi per risolvere un problema: Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi

Dettagli

ALGORITMI: PROPRIETÀ FONDAMENTALI

ALGORITMI: PROPRIETÀ FONDAMENTALI ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Proprietà degli algoritmi 1 Prerequisiti Conoscere il concetto di M.C.D. tra due numeri interi Concetto intuitivo di funzione matematica 2 1 Introduzione Sappiamo scrivere

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

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

Dettagli

PROBLEMA: «Stabilire se un numero è pari o dispari?»

PROBLEMA: «Stabilire se un numero è pari o dispari?» PROBLEMA: «Stabilire se un numero è pari o dispari?» 1 COSTRUZIONE DI UN ALGORITMO Il problema potrebbe essere schematizzato semplicemente così: PARI O DISPARI? Questo è il dilemma! 1 -ACQUISISCO PARI!

Dettagli

RISOLVERE I TEMI D ESAME

RISOLVERE I TEMI D ESAME RISOLVERE I TEMI D ESAME UN PARAGONE Elementi di Informatica e Programmazione Università di Brescia 1 SVILUPPO DI UN TEMA Leggere bene la traccia (evitare di andare fuori tema ) Pensare a cosa si sa e

Dettagli

LEZIONE PRECEDENTE. 1 Abilità Informatiche e Telematiche. 03/04/2015 Dott. ssa Carmen De Maio

LEZIONE PRECEDENTE. 1 Abilità Informatiche e Telematiche. 03/04/2015 Dott. ssa Carmen De Maio LEZIONE PRECEDENTE Introduzione a Sprite; Operatori e funzioni; Come usare i blocchi Movimenti per far muovere uno Sprite; Come usare i blocchi Penna per disegnare sullo stage; Esercizi 1 TO DO: Completa

Dettagli

Elaborazione dell informazione

Elaborazione dell informazione Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione

Dettagli

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

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli

Dettagli

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi 1 Cos è n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati n Un algoritmo è un metodo per la soluzione di un problema adatto

Dettagli

Concetti Introduttivi. Il Computer

Concetti Introduttivi. Il Computer Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Introduzione La MATEMATICA è uno strumento

Dettagli

LE EQUAZIONI DI SECONDO GRADO

LE EQUAZIONI DI SECONDO GRADO LE EQUAZIONI DI SECONDO GRADO Definizione: un equazione è di secondo grado se, dopo aver applicato i principi di equivalenza, si può scrivere nella forma, detta normale: ax + bx + c 0!!!!!con!a 0 Le lettere

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

Introduzione agli Algoritmi

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

Dettagli

Algoritmi e soluzione di problemi

Algoritmi e soluzione di problemi Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive

Dettagli

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

Dettagli

UNITÀ DIDATTICA 5 LA RETTA

UNITÀ DIDATTICA 5 LA RETTA UNITÀ DIDATTICA 5 LA RETTA 5.1 - La retta Equazione generica della retta Dalle considerazioni emerse nel precedente capitolo abbiamo compreso come una funzione possa essere rappresentata da un insieme

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

Lezione 1. Problemi Algoritmi Programmi

Lezione 1. Problemi Algoritmi Programmi Lezione 1 Problemi Algoritmi Programmi Programmazione I Paolo Valente - 2016/2017 Il problema... della tigella emiliana Avete invitato a cena degli amici stranieri e volete fare provare loro le tigelle

Dettagli

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Unità di apprendimento 6. Dal problema al programma

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

Dettagli

Dall analisi alla codifica (1)

Dall analisi alla codifica (1) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema

Dettagli

Unità di apprendimento 6. Dal problema al programma

Unità di apprendimento 6. Dal problema al programma Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un

Dettagli

6. I sottoproblemi SP1(P1,P2); SP2(P2); SP1(P2,P3);

6. I sottoproblemi SP1(P1,P2); SP2(P2); SP1(P2,P3); 6. I sottoproblemi Definizione e attivazione (chiamata) di un sottoesecutore Abbiamo paragonato la risoluzione di un problema complesso a ciò che avviene in una grossa impresa: esiste un direttore tecnico

Dettagli

La moltiplicazione di numeri naturali: esercizi svolti

La moltiplicazione di numeri naturali: esercizi svolti La moltiplicazione di numeri naturali: esercizi svolti La moltiplicazione è una delle quattro operazioni fondamentali dell'aritmetica. È un modo sintetico per rappresentare la somma di numeri uguali. Il

Dettagli

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea

Dettagli

percorso 4 Estensione on line lezione 2 I fattori della produzione e le forme di mercato La produttività La produzione

percorso 4 Estensione on line lezione 2 I fattori della produzione e le forme di mercato La produttività La produzione Estensione on line percorso 4 I fattori della produzione e le forme di mercato lezione 2 a produzione a produttività Una volta reperiti i fattori produttivi necessari l imprenditore dovrà decidere come

Dettagli

Capitolo 3 Elaborazione e Strutturazione dell Informazione. (Introduzione ai Sistemi Informatici Sciuto et alii)

Capitolo 3 Elaborazione e Strutturazione dell Informazione. (Introduzione ai Sistemi Informatici Sciuto et alii) Capitolo 3 Elaborazione e Strutturazione dell Informazione (Introduzione ai Sistemi Informatici Sciuto et alii) Il calcolatore come strumento per gestire informazione acquisire dati IN elaborare archiviare

Dettagli

Le Derivate. Appunti delle lezioni di matematica di A. Pisani Liceo Classico Dante Alighieri

Le Derivate. Appunti delle lezioni di matematica di A. Pisani Liceo Classico Dante Alighieri Le Derivate Appunti delle lezioni di matematica di A. Pisani Liceo Classico Dante Alighieri Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato durante

Dettagli

Equazioni di secondo grado

Equazioni di secondo grado Equazioni di secondo grado Un equazione di secondo grado può sempre essere ridotta nella forma: a + bx + c 0 forma normale con a 0. Le lettere a, b, c sono rappresentano i coefficienti. Solo b e c possono

Dettagli

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati. LEZIONE 2 2 Sistemi di equazioni lineari Definizione 2 Un equazione lineare nelle n incognite x, x 2,, x n a coefficienti reali, è un equazione della forma (2 a x + a 2 x 2 + + a n x n = b, ove a j, b

Dettagli

ISA Input / Output (I/O) Data register Controller

ISA Input / Output (I/O) Data register Controller ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),

Dettagli

SCOMPOSIZIONE IN FATTORI PRIMI:

SCOMPOSIZIONE IN FATTORI PRIMI: SCOMPOSIZIONE IN FATTORI PRIMI: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229

Dettagli

Procedura. Procedure e funzioni. Esempio di procedura in C. Procedure in C. Esempio con prototipo. Esecuzione del codice

Procedura. Procedure e funzioni. Esempio di procedura in C. Procedure in C. Esempio con prototipo. Esecuzione del codice Procedure e funzioni In linguaggio C Procedura Una procedura può essere rappresentata come una macchina in grado di eseguire un certo compito quando attivata. In un primo tempo la macchina deve essere

Dettagli

2. Algoritmi e Programmi

2. Algoritmi e Programmi 12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Lezioni di Informarica. Prof. Giovanni Occhipinti

Lezioni di Informarica. Prof. Giovanni Occhipinti Lezioni di Informarica Prof. Giovanni Occhipinti 23 settembre 2010 2 Indice 1 La codifica delle Informazioni 5 1.1 Il sistema binario........................... 5 1.1.1 Conversione da binario a decimale.............

Dettagli

Formalismi per la descrizione di algoritmi

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

Dettagli