in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
|
|
- Luciana Colli
- 6 anni fa
- Visualizzazioni
Transcript
1 Click to edit Algoritmo Master /tle 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 in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
2 Click to edit Proprietà Master /tle style un algoritmo deve essere: non ambiguo (i risultati non devono variare in funzione della macchina o persona che esegue l'algoritmo) corretto (deve risolvere un dato problema) realizzabile (deve essere eseguibile con le risorse a disposizione) finito (deve essere composto da un numero finito di passi elementari; le operazioni sono eseguite un numero finito di volte) efficiente (deve avere un costo accettabile, se non ottimo, in termini di risorse consumate: tempo di CPU richiesto per completare, quantità di memoria utilizzata, quantità di bit trasferiti)
3 Click to edit Efficienza Master /tle style efficienza è il termine usato per descrivere l uso attento delle risorse da parte di un algoritmo come si misurano il tempo e lo spazio consumati da un algoritmo, in modo da determinare se è efficiente? efficienza rispetto allo spazio: si può giudicare in base alla quantità di informazioni che l algoritmo deve registrare nella memoria del computer per svolgere il proprio compito, oltre ai dati iniziali sui quali opera efficienza rispetto al tempo: è un indicazione della quantità di lavoro richiesto dall algoritmo stesso; è una misura dell efficienza implicita del metodo, indipendente dalla velocità della macchina su cui è eseguito, dai valori dei dati di ingresso elaborati ma non dalla loro quantità
4 Click to edit Complessità Master /tle style descrive l'efficienza dell'algoritmo numero di operazioni svolte dall'algoritmo rela/vamente alla misura dell'informazione su cui opera l'algoritmo esempio: per mebere in ordine una lista di N numeri interi un algoritmo può eseguire N*N operazioni oppure logn operazioni complessità /piche degli algoritmi, in ordine crescente: logn, N, NlogN, N 2, 2 N
5 Click Descrizione to edit Master di un algoritmo /tle style un algoritmo è descritto in un linguaggio il linguaggio di descrizione di un algoritmo deve essere adeguato alle caratteristiche del suo esecutore esecutore umano: linguaggio naturale linguaggio grafico (ad esempio i diagrammi di flusso) esecutore automatico (computer): linguaggio di programmazione
6 Click to edit Esecuzione Master /tle style l'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono il problema DATI Esecutore Metodo Risolutivo (algoritmo) RISULTATI ESECUTORE una macchina astratta capace di eseguire le azioni specificate dallo algoritmo.
7 Esempio: Click to la edit preparazione Master /tle del style caffè Esecutore: essere umano corredato di caffepera "moka", cucina a gas e macina-caffè; Algoritmo: 1. svitare la caffepera; 2. se si dispone di caffè macinato: riempire il filtro con il caffè macinato e andare al punto 3 altrimen/ se si dispone di caffè in chicchi: macinarlo e tornare al punto 2 altrimen/ terminare (il caffè non si può fare..) 3. riempire la parte inferiore della caffepera con acqua 4. inserire il filtro nella macchina 5. avvitare la caffepera 6. accendere il fuoco a gas 7. collocare la moka sul fuoco 8. abendere l'uscita del caffè 9. spegnere il fuoco 10. terminare (il caffè è pronto)
8 Click Esempio: to edit assicurazione Master /tle auto style scrivere un algoritmo per decidere se l'assicurazione della macchina è scaduta 1. anno corrente < anno scadenza polizza? non è scaduta, fine 2. anno corrente > anno scadenza polizza? è scaduta, fine 3. mese corrente < mese scadenza polizza? non è scaduta, fine 4. mese corrente > mese scadenza polizza? è scaduta, fine 5. giorno corrente < giorno scadenza polizza? non è scaduta, fine 6. giorno corrente > giorno scadenza polizza? è scaduta, fine 7. non è scaduta ma lo sarà tra 24 ore
9 Click Il to concebo edit Master di variabile /tle style per eseguire una qualsiasi algoritmo, abbiamo bisogno di poter immagazzinare i risulta/ temporanei e finali dell'algoritmo concebualmente, le variabili possono essere viste come delle scatole con: un'e/cheba che ci permebe di iden/ficarne il contenuto dei pezzi di carta al loro interno su cui si possono annotare/ modificare i valori di un calcolo che si sta facendo
10 Click to edit Variabili Master /tle style una variabile rappresenta una zona di memoria RAM che può essere usata per memorizzare un valore analogia con una scatola di scarpe e/chebata in uno scaffale (che rappresenta la RAM): la scatola ha un'e/cheba con un nome una posizione nello scaffale un valore (le scarpe che si trovano dentro la scatola) [un /po (forma della scatola)]* (* vedremo più avan/ cos'è e a che serve il /po di una variabile)
11 Click to edit Variabili Master /tle style nella pra/ca: ogni variabile ha un nome mnemonico, che si usa nel programma per riferirsi alla variabile stessa. ogni variabile con/ene un valore che può essere lebo e modificato a piacimento durante l esecuzione di un programma, il sistema opera/vo man/ene una associazione tra il nome di ogni variabile e l indirizzo della cella di memoria in cui è memorizzato il suo valore in defini/va una variabile è semplicemente un'astrazione della cella di memoria fisica
12 Click to edit Variabili Master /tle style A = Valore oppure A Valore significa che il valore specificato a destra dell'uguale viene memorizzato nella zona di memoria RAM e/chebata con l'e/cheba "A": Valore A a3enzione: non si traba di un'equivalenza matema/ca!!!
13 Click to edit Variabili Master /tle style B = A oppure B A significa che un certo valore, precedentemente memorizzato nella zona di memoria e/chebata con "A", viene copiato nella zona di memoria e/chebata con "B": Valore A B
14 Click Esempio: to edit Master incremento /tle style A = A + 1 oppure A A + 1 (N.B.: matema/camente ciò non ha alcun senso!) in informa/ca significa "prima calcoliamo A+1 e poi memorizziamo il risultato del calcolo in A" s/amo quindi considerano il valore di A in due istan/ diversi: prima per leggerne il valore e incrementarlo e dopo per memorizzare il suo nuovo valore Valore + 1 A A
15 Click Diagrammi to edit Master di flusso /tle style un diagramma di flusso (flow chart) è la definizione grafica delle operazioni che cos/tuiscono un algoritmo è uno strumento efficace per la descrizione degli algoritmi i diagrammi di flusso usano forme geometriche diverse per rappresentare: trasferimento di informazioni (lebura da/, scribura risulta/, visualizzazione da/ intermedi) esecuzione di calcoli assunzione di decisioni esecuzione di iterazioni (ripe/zione di sequenze di operazioni)
16 Click Diagrammi to edit Master di flusso /tle style elaborazione i blocchi rebangolari rappresentano istruzioni di assegnazione di valori o una modifica dello stato globale della computazione input/output - i blocchi a forma di parallelogramma corrispondono a operazioni di input/output dei da/ (lebura da tas/era, visualizzazione su video) decisione i blocchi a forma di rombo vengono u/lizza/ per rappresentare istruzioni di salto condizionato inizio/fine i blocchi ovali vengono u/lizza/ per rappresentare l inizio e la fine dell algoritmo v ß E operation yes no condition start stop
17 Calcolo Click to dell area edit Master di un /tle rebangolo style leggi da input l altezza (H) leggi da input la base (B) calcola l area H*B dai in output il risultato
18 Calcola Click to l area edit Master di un rebangolo /tle style START Leggi Altezza Leggi Base Area = Base*Altezza Stampa Area STOP
19 Click Conversione to edit Master lire in /tle Euro style leggi da input l'importo in lire (an/ca moneta usata in Italia fino al secolo XX) calcola il corrispepvo in Euro dai in output il risultato
20 Click Conversione to edit Master lire in /tle Euro style START Leggi Lire Euro = Lire/1936,27 Stampa Euro STOP
21 Click to edit IF-THEN-ELSE Master /tle style selezione tra due istruzioni sulla base di una condizione Then I Else O
22 Click Massimo to edit tra Master due numeri /tle style leggi X leggi Y se X > Y stampa X altrimen/ stampa Y
23 Click Massimo to edit tra Master due numeri /tle style
24 Click to edit Pari Master o dispari /tle style leggi N dividi N per 2 se resto = 0 scrivi N è pari altrimen/ scrivi N è dispari
25 Click to edit Pari Master o dispari /tle style
26 Click to edit WHILE-DO Master /tle style I O
27 Click to edit ESEMPIO Master /tle style CALCOLO DEL FATTORIALE N!=N*(N-1)*(N-2)* *2 START Leggi N F = N N>1? no yes N=N-1 F=F*N Stampa F STOP
28 Click to edit DO-WHILE Master /tle style I O
29 Click to edit ESEMPIO Master /tle style CALCOLO DEL FATTORIALE N!=N*(N-1)*(N-2)* *2 START Leggi N F = N N=N-1 F=F*N yes N>1? no Stampa F STOP
30 Scambio Click to dei edit valori Master di due /tle variabili style Leggi valore prima variabile X Leggi valore seconda variabile Y Conserva X in una variabile temporanea Aux Assegna il valore di Y ad X Assegna il valore di Aux a Y Scrivi X Scrivi Y
31 Click Scambio to edit dei valori Master di due variabili /tle style
32 Click to edit Esercizi Master /tle style da/ 2 numeri in input trovare e stampare in output il max da/ 3 numeri in input trovare e stampare in output il max da/ 3 numeri in input stamparli in ordine crescente da/ 2 numeri in input stampare in output la somma sul prezzo di un prodobo viene pra/cato lo sconto del 3% se costa meno di e del 5% se costa di più; dato in input il prezzo P, calcolare il prezzo da pagare secondo la regola sopra describa sul prezzo di un bigliebo di un treno viene applicato un supplemento del 7% se il treno è di /po "a", del 12% se è di /po "b" e del 18% se è di /po "c"; per gli altri treni non c'è supplemento; calcolare il prezzo totale del bigliebo, a seconda del /po di treno e comunicare il /po di treno con il prezzo calcolato
33 Click to edit Esercizi Master /tle style da/ in input i min, ore e sec stampare in output il totale dei secondi data in input una data verificare se è giusta dato in input 100 valori stampare in output la somma dei numeri posi/vi e la somma dei nega/vi dato in input una parola stampare in output se è una palindrome o no dato in input una parola stampare in output il numero delle vocali
34 Click to edit Programma Master /tle style ogni computer è una macchina in grado di eseguire azioni elementari su dati l'esecuzione delle azioni elementari viene attivata tramite sequenze di istruzioni le istruzioni sono espresse attraverso frasi di un opportuno linguaggio di programmazione un programma non è altro che la formulazione testuale di un algoritmo in un linguaggio di programmazione
35 Click to Algoritmo edit Master e programma /tle style problema algoritmo programma metodo risolutivo linguaggio di programmazione un programma è la formulazione, in un certo linguaggio di programmazione, di un algoritmo che risolve un dato problema
36 Click Algoritmi to edit Master vs. programmi /tle style calcolo del faboriale: esiste un solo algoritmo per calcolare il faboriale esistono teoricamente infinite implementazioni (e quindi programmi) per il calcolo del faboriale, una per ogni linguaggio di programmazione esistente e quindi: per ogni programma esiste un solo algoritmo per ogni algoritmo esistono infini/ programmi
37 Linguaggi Click to edit programmazione Master /tle style I linguaggi di programmazione ad alto livello permebono di scrivere programmi con una notazione adaba agli esseri umani, e in alcuni casi molto intui/va. Usando degli opportuni tradubori (compilatori ed interpre/) lo stesso programma può essere usato su macchine diverse Fortran, Cobol, Pascal, Ada, C, C++, Java, Lisp, ML, Prolog,...
38 Click to Il edit compilatore Master /tle style un programma scribo in un linguaggio ad alto livello è debo programma sorgente. per essere eseguito su un computer, va tradobo nel linguaggio macchina del computer (il linguaggio del processore) il compilatore è un programma che esegue la traduzione, producendo il programma ogge3o, ossia una sequenza di istruzioni in linguaggio macchina il compilatore segnala anche eventuali errori di sintassi nella scribura del programma sorgente
39 Click to Il edit compilatore Master /tle style programma P scritto nel linguaggio L compilatore per P sul computer M programma P nel linguaggio macchina di M esecuzione di P su M
40 Click to edit L'interprete Master /tle style in alterna/va alla compilazione, un programma sorgente può essere interpretato. un interprete è un programma che non produce alcun programma oggebo, ma legge il ogni istruzione del programma sorgente e genera le istruzioni macchina corrisponden/, che vengono passate all hardware per l'esecuzione.
41 Click Compilatori edit Master Vs. Interpre/ /tle style programma compilato vantaggi: la traduzione avviene una sola volta, e poi il programma oggebo può essere eseguito quanto si vuole svantaggi: la compilazione richiede un certo tempo di esecuzione programma interpretato vantaggi: il programma può essere eseguito subito senza dover abendere la fine della compilazione svantaggi: la traduzione avviene mentre si esegue il programma con conseguenze rallentamento dell'esecuzione alcuni linguaggi permebono entrambe le scelte abualmente, i computer sono così poten/ che anche la compilazione di lunghi programmi non richiede molto tempo
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
DettagliDall 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
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliProblema: 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
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliELABORAZIONE 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
DettagliRappresentazione 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
DettagliALGORITMI: 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
DettagliMODULO 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
DettagliIntroduzione 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
DettagliProgrammazione. Informatica. Risoluzione dei Problemi
Cos è l INFORMATICA?? Il termine "informatica" ha un' accezione molto ampia. Risoluzione automatica di problemi: gli Algoritmi Esistono varie definizioni: l'informatica è la scienza che si occupa della
DettagliL 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
DettagliIntroduzione 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
DettagliLez. 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
DettagliFormalismi 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
DettagliRisolvere 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
DettagliAlgoritmo. 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
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliPROBLEMI 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
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
DettagliAlgoritmi e Programmi
Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi
DettagliRisoluzione di problemi con l uso dell elaboratore elettronico
Lab. Tecnologie Informatiche Risoluzione di problemi con l uso dell elaboratore elettronico L'INFORMATICA L'informatica è la scienza applicata che studia le modalità di raccolta, di conservazione, di trattamento
DettagliIntroduzione all Informatica e alla Programmazione. Fondamenti di Informatica T
Introduzione all Informatica e alla Programmazione Cos è l INFORMATICA?? Il termine "informatica" ha un' accezione molto ampia. Esistono varie definizioni: l'informatica è la scienza che si occupa della
DettagliINFORMATICA. 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
DettagliCompitino 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
DettagliIl Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliAlgoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
DettagliIntroduzione 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
DettagliProgrammazione 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
DettagliUniversità 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
DettagliLINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic
DettagliL 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
DettagliUnità 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
Dettagli3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
Dettagli3. Programmi e algoritmi
3. Programmi e algoritmi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides del corso «Fondamenti di Informatica» del Prof. Montessoro (Università degli Studi di Udine) Recall:
DettagliSistemi 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
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DettagliElaboratore 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
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliCONCETTI FONDAMENTALI
CONCETTI FONDAMENTALI Algoritmo Procedura di trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante una sequenza di istruzioni. Linguaggio di programmazione Programma
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
DettagliElementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
DettagliCome 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
DettagliINFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione elaborazione
DettagliLezione 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
DettagliCos è la programmazione?
La programmazione Cos è la programmazione? Termine usato per indicare le attività che trasformano l esigenza di risolvere un Problema in un Programma, inteso come sistema informatico capace di risolvere
DettagliInformatica. 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
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni
DettagliCosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
DettagliLaboratorio 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
DettagliMacchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016
Macchine Astratte Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione 010194 29 feb, 2016 Sommario 1 Introduzione Macchina astratta Interprete Implementazione
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliCorso 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
DettagliLinguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN
Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI Fortran Cobol
DettagliSviluppo 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
DettagliRAPPRESENTAZIONE 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
DettagliIntroduzione 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
DettagliCorso 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
DettagliLezione 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
DettagliModulo 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
DettagliIl linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1
Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali
DettagliC++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI
Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliIntroduzione ai Calcolatori Elettronici
Introduzione ai Calcolatori Elettronici Elementi di Base dell ICT Information and Communication Technology Concetti Introduttivi A.A. 2013/2014 Domenica Sileo Università degli Studi della Basilicata Elementi
DettagliFondamenti di Algoritmi
Fondamenti di Algoritmi Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Indice Algoritmi: Definizione Diagrammi di Flusso Esempi ed esercizi
DettagliConcetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri
Concetti di Base sulla Programmazione Prof.Ing.S.Cavalieri 1 La Programmazione Dato un problema INFORMATICO, programmare significa: Definire i dati in ingresso e il risultato che si vuole raggiungere Definire
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliElementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Elementi di programmazione Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Risolvere i problemi Il calcolatore permette di risolvere molti problemi, ma sfortunatamente non tutti Il concetto di algoritmo consente
DettagliDiagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto
Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra
DettagliIl 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
DettagliConcetti 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
DettagliINFORMATICA Algoritmi come formalizzazione della risoluzione di un problema
INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema di Roberta Molinari Algoritmo Origine del termine Al-Khwarizmi: nato nel 780 circa a Baghdad. È un importante matematico Arabo.
DettagliConcetti di base dell ICT
Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:
DettagliScrivere 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
DettagliIL 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
DettagliIntroduzione alla programmazione. Walter Didimo
Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata
DettagliI Linguaggi di Programmazione
I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliInformatica 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
DettagliProgrammazione 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
DettagliUniversità 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
DettagliElaborazione 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
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende
DettagliLINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI
LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI Giacomo Piscitelli pag. 1/10 Dall Algoritmo al Programma Metodo risolutivo problema algoritmo Linguaggio programma Individuazione di un metodo risolutivo
DettagliAppunti 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 (liverani@mat.uniroma3.it)
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliDAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di
DettagliAlgoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.
Algoritmi Un tema centrale dell informatica è lo studio degli algoritmi. Ora nostro obiettivo sarà quello di esplorare a sufficienza questa materia fondamentale per poter capire e apprezzare appieno l
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Problemi e algoritmi Il calcolatore permette di risolvere in maniera automatica diversi problemi "di calcolo". Es: calcolo della media
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Reti di Calcolatori Architettura del calcolatore Elementi di Programmazione Esempi di algoritmi e programmi Conversione
DettagliCORSO 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ì
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
DettagliFondamenti di programmazione!! Parte 2!
Fondamenti di programmazione!! Parte 2! 1! Definizione intuitiva di algoritmo! n Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali e possibile risolvere ogni istanza
DettagliInformatica e Bioinformatica: Algoritmi
Informatica e Bioinformatica: Algoritmi 20 Marzo 2014 Programmi Applicativi Programmi Applicativi Sistema Operativo (lezione 3) Macchina Hardware (lezione 1 e 2) La macchina hardware permette l esecuzione
DettagliProgrammazione 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
DettagliSviluppo 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)
Dettagli