Elementi di informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elementi di informatica"

Transcript

1 Elementi di informatica Problemi, algoritmi e programmi 1 L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni elementari le azioni vengono eseguite su oggetti (dati) per produrre produrre altri oggetti (risultati) l esecuzione di azioni viene richiesta all elaboratore attraverso frasi scritte in qualche linguaggio (istruzioni) 2 1

2 PROGRAMMAZIONE L attività con cui si predispone l elaboratore a eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema I N P U T D A T I Elaboratore Elettronico O U T P U T R I S U L T A T I 3 Problem solving Uno degli scopi fondamentali dell informatica è: la risoluzione di problemi problema = compito che si vuole far risolvere automaticamente al calcolatore agente di calcolo 4 2

3 Problem solving (cont.) I problemi che siamo interessati a risolvere sono di natura molto varia: Trovare il maggiore tra due numeri Dato un elenco di nomi e numeri di telefono, trovare il numero di una data persona Dati a e b, risolvere l equazione ax+b=0 Stabilire se una parola precede alfabeticamente un altra Prenotare aerei, treni, hotel, Ordinare un elenco di nomi Ecc. 5 Problem solving (cont.) acquisire i dati input Elaborazione presentare i risultati output 6 3

4 Esempio: somma n 1, n 2 totale = n 1 + n 2 totale 7 RISOLUZIONE DI PROBLEMI La descrizione del problema non fornisce (in generale) un metodo per risolverlo. Affinché un problema sia risolvibile è però necessario che la sua definizione sia chiara e completa Non tutti i problemi sono risolvibili attraverso l uso del calcolatore. Esistono classi di problemi per le quali la soluzione automatica non è proponibile. Ad esempio: se il problema presenta infinite soluzioni per alcuni dei problemi non è stato trovato un metodo risolutivo per alcuni problemi è stato dimostrato che non esiste un metodo risolutivo automatizzabile 8 4

5 RISOLUZIONE DI PROBLEMI La risoluzione di un problema è il processo che, dato un problema e individuato un opportuno metodo risolutivo, trasforma i dati iniziali nei corrispondenti risultati finali. Affinché la risoluzione di un problema possa essere realizzata attraverso l uso del calcolatore, tale processo deve poter essere definito come sequenza di azioni elementari. 9 Attività per risolvere un problema 1. Comprendere il problema 2. Definire un procedimento risolutivo (algoritmo) 3. Implementare l algoritmo in un linguaggio di programmazione 4. Prova 5. Documentazione 6. Manutenzione 10 5

6 Comprendere il problema Focalizzare gli obiettivi Evidenziare le regole i dati espliciti ed impliciti Eliminare i dettagli inutili ed ambigui 11 Attività per risolvere un problema 1. Comprendere il problema 2. Definire un procedimento risolutivo (algoritmo) 3. Implementare l algoritmo in un linguaggio di programmazione 4. Prova 5. Documentazione 6. Manutenzione 12 6

7 Algoritmo Descrizione rigorosa Un algoritmo è una sequenza finita di azioni che risolve in un tempo finito una classe di problemi. L'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono il problema di ingresso DATI Metodo Risolutivo (algoritmo ) Esecutore ESECUTORE una macchina astratta capace di eseguire le azioni specificate dall algoritmo. RISULTATI 13 Considerazioni 1. Suddivisione in sottoproblemi 2. Precisione dell algoritmo cresce al diminuire delle capacità dell agente di calcolo 14 7

8 Caratteristiche di un algoritmo Eseguibilità: ogni azione dev essere essere eseguibile dall esecutore in un tempo finito Non-ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore Finitezza : il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, deve essere finito 15 Caratteristiche di un algoritmo Quindi, l algoritmo deve: essere applicabile a qualsiasi insieme di dati di ingresso appartenenti al dominio di definizione dell algoritmo essere costituito da operazioni appartenenti ad un determinato insieme di operazioni fondamentali essere costituito da regole non ambigue, cioè interpretabili in modo univoco qualunque sia l esecutore (persona o macchina ) che le legge 16 8

9 Struttura in passi elementari Tutte le operazioni specificate dall algoritmo devono essere eseguibili dall agente (operazioni elementari) altrimenti è necessario scomporre il problema troppo complesso in sotto problemi più semplici 17 Esempio: l area di una campana r=b/2 h1 h2 b B r Sottoproblema 1 A1 = ½ π r 2 Area della campana = A1 + A2 +A3 h1 h2 b b B Sottoproblema 2 A2 = b h2 Sottoproblema 3 A3 = b h1 + ½ ( ½ (B-b) h1) + ½ ( ½ (B-b) h1) 18 9

10 Esempio: gestione biblioteca Libri disposti sugli scaffali La posizione di ogni libro è fissa ed è individuata da due coordinate: numero dello scaffale posizione nello scaffale La biblioteca è dotata di uno schedario (ordinato per autore/i e titolo). Ogni scheda contiene, nell ordine: Cognome e nome dell autore Titolo del libro Numero dello scaffale Posizione attribuita al libro nello scaffale 19 Esempio di scheda Autore: Manzoni Titolo: I promessi Sposi Scaffale: Posizione:

11 Problema Trovare un libro?? 21 Formulazione dell algoritmo 1. Cerca la scheda del libro nello schedario 2. Segnati numero scaffale e posizione 3. Cerca lo scaffale indicato 4. Accedi alla posizione indicata e preleva il libro Questo modo incrementale di procedere si dice top-down o anche procedimento per raffinamenti successivi 22 11

12 Primo sotto-algoritmo di ricerca 1. Prendi la prima scheda dello schedario 2. Se titolo e autore/i sono quelli cercati, la ricerca termina con successo, altrimenti passa alla scheda successiva 3. Continua di scheda in scheda finché non trovi quella cercata. Se vengono esaurite le schede, il libro cercato non esiste. Devi cercare il libro in un altra biblioteca. 23 Cosa succede se l autore cercato è Zecchi? 24 12

13 Cosa succede se l autore cercato è Zecchi? Autore: Zecchi Autore: Petrarca Titolo: Autore: Manzoni Scaffale: Autore: 33 Zuzzurellone Titolo: Autore: Leopardi Posizione: 13 Scaffale: Autore: 33 Verga Titolo: Autore: Autore: Manzoni ManzoniTitolo: Titolo: Autore: Goldoni Autore: Petrarca Scaffale: Scaffale: Autore: Posizione: Titolo: Manzoni Titolo: 13 Titolo: Scaffale: Titolo: 33 Autore: Titolo: LeopardiScaffale: Scaffale: Posizione: 13 Autore: Posizione: 13 Autore: Alighieri Titolo: Autore: Alighieri Goldoni Titolo: I promessi Scaffale: Posizione: Scaffale: Titolo: Sposi Posizione: Posizione: Posizione: Posizione: Titolo:La Titolo:La Divina Divina Commedia Scaffale: Scaffale: Commedia 33 Scaffale: schedario Posizione: 13 Posizione: 13 Scaffale: Scaffale: 5 Posizione: 5 Posizione: Posizione: Posizione: Secondo sotto-algoritmo di ricerca 1. Esamina la scheda centrale dello schedario 2. Se la scheda centrale corrisponde al libro cercato allora la ricerca termina 3. In caso contrario, prosegui allo stesso modo nella metà superiore o inferiore dello schedario a seconda che il libro cercato segua o preceda quello indicato sulla scheda 26 13

14 Cosa succede ora se l autore cercato è Zecchi? 27 Cosa succede ora se l autore cercato è Zecchi? Autore: Zecchi Autore: Manzoni Titolo: Titolo: I promessi Sposi Scaffale: Autore: Verga 44 Scaffale: Autore: 33 Titolo: Petrarca Posizione: Scaffale: 12 Titolo: 33 Posizione: Scaffale: Autore: Leopardi Autore: Posizione: 13 Autore: Alighieri Alighieri Autore: Goldoni Titolo: Posizione: 14 Titolo:La Titolo: Titolo:La Divina Divina Commedia Scaffale: Commedia Scaffale: schedario Scaffale: Scaffale: 5 5 Posizione: Posizione: Posizione: Posizione:

15 Secondo sotto-algoritmo di ricerca: errore 1. Esamina la scheda centrale dello schedario 2. Se la scheda centrale corrisponde al libro cercato allora la ricerca termina 3. In caso contrario, prosegui allo stesso modo nella metà superiore o inferiore dello schedario a seconda che il libro cercato segua o preceda quello indicato sulla scheda L algoritmo è incompleto: c è un altra condizione di terminazione quando il libro non esiste 29 Revisione del passo 2 Terminazione Se Se la la scheda centrale corrisponde al al libro cercato oppure Se Se la la parte dello schedario da da consultare è vuota Libro trovato Libro inesistente 30 15

16 Qualità degli algoritmi Due qualità fondamentali di un algoritmo: Correttezza l algoritmo permette effettivamente di risolvere il problema Efficienza l esecuzione dell algoritmo richiede un uso limitato di risorse un algoritmo è tanto più efficiente quanto meno risorse richiede per la sua esecuzione. Una risorsa importante è il tempo di esecuzione 31 Esempio: gestione biblioteca Entrambi gli algoritmi di ricerca sono corretti Il secondo algoritmo è più efficiente del primo 32 16

17 Altre qualità degli algoritmi leggibilità essere facilmente comprensibile modificabilità essere facilmente modificabile, a fronte di (piccole) modifiche nelle specifiche del problema risolto dall algoritmo parametricità riusabilità 33 Esempi Soluzione dell equazione ax+b=0 leggi i valori di a e b calcola calcola -b dividi quello che hai ottenuto per a e chiama x il risultato stampa x Calcolo del massimo di un insieme Scegli un elemento come massimo provvisorio max Per ogni elemento i dell insieme: se i>max eleggi i come nuovo massimo provvisorio max Il risultato è max NOTA I passi sono eseguiti in sequenza e l ordine delle istruzioni è essenziale per la correttezza dell algoritmo 34 17

18 riassumendo Algoritmo Sequenza di azioni che trasforma i dati iniziali in un numero finito di passi, elementari e non ambigui, per giungere al risultato finale Questa sequenza di azioni può essere eseguita da un agente di calcolo 35 Attività per risolvere un problema 1. Comprendere il problema 2. Definire un procedimento risolutivo (algoritmo) 3. Implementare l algoritmo in un linguaggio di programmazione 4. Prova 5. Documentazione 6. Manutenzione 36 18

19 Implementazione di un algoritmo Algoritmo deve essere trascritto in un linguaggio Linguaggi Linguaggi naturali usato dagli uomini per comunicare complessi ambigui Linguaggi artificiali usati in informatica: linguaggi di programmazione 37 ALGORITMI E ALGORITMI E PROGRAMMI Ogni elaboratore è una macchina in grado di eseguire azioni elementari su oggetti detti DATI. L esecuzione delle azioni è richiesta all elaboratore tramite comandi elementari chiamati ISTRUZIONI espresse attraverso un opportuno formalismo: il LINGUAGGIO di PROGRAMMAZIONE. La formulazione testuale di un algoritmo in un linguaggio comprensibile a un elaboratore è detta programma. Un programma è la formulazione testuale, in un certo linguaggio di programmazione, di un algoritmo che risolve un dato problema

20 Alcuni linguaggi di programmazione famosi FORTRAN: metà degli anni 50 (FORmula TRANslator) COBOL: metà degli anni 50 (Common Business-Oriented Language) Pascal: inizio degli anni 70 (nome dal matematico francese Blaise Pascal che fu il primo ad ideare una macchina calcolatrice: la Pascalina) C: inizio degli anni 70 suo antenato: linguaggio B Prolog: inizio degli anni 70 (PROgramming in LOGic) Linguaggi ad alto livello 39 Il linguaggio C Il linguaggio C è stato sviluppato intorno al 1972, nei Bell Laboratories AT&T americani, da Dennis Ritchie E nato come linguaggio di sviluppo del Sistema Operativo UNIX 40 20

21 Sintassi e semantica Linguaggio Sintassi insieme di regole che consentono di costruire correttamente le frasi del linguaggio Semantica disciplina che studia il significato delle parole e delle frasi LIVELLO sintattico semantico FORMA CORRETTA sono andato a scuola il gatto è un animale FORMA NON CORRETTA ho andato a scuola l albero è un animale 41 Programma Testo (i.e. sequenza di istruzioni) scritto in accordo alla sintassi e semantica di un linguaggio di programmazione 42 21

22 Linguaggio macchina Un calcolatore non è in grado di eseguire direttamente programmi scritti in linguaggi ad alto livello un calcolatore è in grado di eseguire direttamente solo programmi scritti nel proprio linguaggio macchina Linguaggio macchina (cont( cont.) Il linguaggio macchina è linguaggio di programmazione comprensibile direttamente dal calcolatore molto elementare e primitivo: sequenza di cifre binarie. Ad esempio, una possibile istruzione potrebbe essere è difficile da comprendere per un essere umano specifico di un calcolatore: calcolatori di tipo diverso hanno linguaggi macchina differenti 44 22

23 Traduzione Per rendere un programma (scritto in un linguaggio ad alto livello) eseguibile da un calcolatore è necessario tradurre il programma in un programma equivalente scritto nel linguaggio macchina del calcolatore La traduzione può avvenire in due modi: compilazione interpretazione 45 Compilazione ERRORI sintassi (compilatore) un programma scritto in un linguaggio di programmazione d esecuzione ad alto livello viene trasformato in un programma in linguaggio (divisione macchina per 0) e poi può essere eseguito più volte senza dover tradurre nuovamente il programma logici codice sorgente controllo della correttezza sintattica Programma scritto in C Compilazione codice eseguibile Nota: correttezza sintattica correttezza semantica 46 23

24 Interpretazione Traduzione riga per riga: ciascuna istruzione del programma scritto in un linguaggio di programmazione ad alto livello viene trasformata in istruzioni del linguaggio macchina ed eseguita 47 Compilazione & interpretazione Una analogia con la traduzione tra linguaggi diversi la compilazione è analoga alla traduzione di un libro l interpretazione è analoga alla traduzione simultanea 48 24

25

26 Interprete vs compilatore Quale delle due soluzioni è migliore? Nella compilazione la traduzione viene effettuata una sola volta, in una fase che precede l esecuzione; si ottengono in genere migliori prestazioni nell esecuzione; Nella compilazione si possono attuare processi di ottimizzazione dell eseguibile, dato che il compilatore opera sull intero programma e non istruzione per istruzione come l interprete; Per ogni modifica del programma sorgente, la compilazione deve essere ripetuta completamente per rigenerare il codice eseguibile; l interprete consente invece di eseguire il programma non appena il codice sorgente sia stato aggiornato, per cui il costo di eventuali modifiche è pressoché nullo. Compilazione Applicazioni più veloci; Maggiore lavoro nel processo di messa a punto e manutenzione Indicata per prodotti commerciali a larga diffusione Interpretazione Consente tempi di sviluppo più contenuti Produce programmi meno efficienti Indicata in fase di prototipazione, dei programmi commerciali che una volta ultimati venivano compilati prima del rilascio 51 Interprete vs compilatore Considerare le applicazioni che debbono essere eseguite: vincolati da I/O: programmi che eseguono molte operazioni di ingresso/uscita intervallate da brevi periodi di elaborazione; convenientemente eseguiti da un interprete senza penalizzazioni nell efficienza (il tempo di ingresso/uscita è indipendente dalle modalità di esecuzione del programma), appartengono a questa categoria la maggioranza dei programmi gestionali. vincolati da CPU: programmi che eseguono poche operazioni di ingresso/uscita rispetto alla mole delle elaborazioni effettuate. sono programmi prevalentemente di tipo scientifico o ingegneristico, sono scarsamente efficienti se eseguiti da un interprete e la loro compilazione risulta pressoché indispensabile. Considerazioni commerciali la distribuzione del codice eseguibile garantisce al programmatore che l acquirente non sarà facilmente in grado di modificare e/o riutilizzare parti del programma sorgente, soggette ovviamente a vincoli di proprietà intellettuale Considerazioni tecnologiche la diffusione di Internet e la disponibilità di calcolatori ad alte prestazioni e a costi contenuti hanno portato a una rinascita dell uso di interpreti software (portabilità e indipendenza dall hardware sul quale vengono eseguite le applicazioni)

27 Compilazione & interpretazione Linguaggi compilati Pascal, C Linguaggi interpretati Prolog, Lisp 53 Attività per risolvere un problema 1. Comprendere il problema 2. Definire un procedimento risolutivo (algoritmo) 3. Implementare l algoritmo in un linguaggio di programmazione 4. Prova 5. Documentazione 6. Manutenzione 54 27

28 Prova compilazione compilatore Errori di sintassi inserimento e correzione esecuzione sistema di di esecuzione Stampa dei risultati ed errori di esecuzione verifica 55 Attività per risolvere un problema 1. Comprendere il problema 2. Definire un procedimento risolutivo (algoritmo) 3. Implementare l algoritmo in un linguaggio di programmazione 4. Prova 5. Documentazione 6. Manutenzione 56 28

29 Documentazione Scrivere un manuale d uso che accompagni il programma Questo manuale deve essere scritto facendo uso della terminologia tipica del problema e non in gergo computeristico 57 Attività per risolvere un problema 1. Comprendere il problema 2. Definire un procedimento risolutivo (algoritmo) 3. Implementare l algoritmo in un linguaggio di programmazione 4. Prova 5. Documentazione 6. Manutenzione 58 29

30 Manutenzione Non esistono parti del programma soggette a usura!! Manutenzione del programma = modificarlo aggiornarlo estenderlo renderlo più veloce Per gli studenti il problema della manutenzione è relativamente ridotto: una volta che il programma funziona si passa all esame successivo 59 Riepilogo Problemi Algoritmi Programmi Problema: compito che si vuole far risolvere automaticamente al calcolatore Algoritmo: descrizione rigorosa delle azioni da compiere per risolvere un problema Programma: sequenza di istruzioni in un linguaggio di programmazione. Scopo del programma: fornire al calcolatore le capacità per risolvere un dato problema

Elementi di informatica

Elementi di informatica Elementi di informatica Problemi, algoritmi e programmi 1 L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni elementari le azioni vengono eseguite

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

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

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

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

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

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

Problemi, Algoritmi e Programmi

Problemi, Algoritmi e Programmi MASTER Information Technology Excellence Road (I.T.E.R.) Problemi, Algoritmi e Programmi Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Introduzione

Dettagli

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

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

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

Problemi, algoritmi, linguaggi

Problemi, algoritmi, linguaggi Problemi, algoritmi, linguaggi Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Programmazione La programmazione è l'attività con cui si predispone l'elaboratore

Dettagli

Algoritmi e Programmi

Algoritmi 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

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

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

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

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

Linguaggi di Programmazione

Linguaggi 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

Dettagli

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

Informatica 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

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

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

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI 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

Dettagli

Algoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.

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

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma 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

Dettagli

Elementi di programmazione

Elementi 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à

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

Algoritmi e Programmi. Wednesday, September 29, 2010

Algoritmi e Programmi. Wednesday, September 29, 2010 Algoritmi e Programmi 1 Algoritmi Gestione dell informazione uso e trasformazione dell informazione in modo funzionale agli obiettivi Le informazioni sono usate e trasformate attraverso algoritmi Il concetto

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

Il linguaggio di programmazione Python

Il 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)

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

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

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione Unità di apprendimento 6 Il software: dal linguaggio alla applicazione Unità di apprendimento 6 Lezione 2 Conosciamo i linguaggi di programmazione In questa lezione impareremo: che cos è un linguaggio

Dettagli

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

C++ 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

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

3. Programmi e algoritmi

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

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

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

Il concetto di informatica. Graziano Pravadelli (2012)

Il concetto di informatica. Graziano Pravadelli (2012) Il concetto di informatica Graziano Pravadelli (2012) Informatica e telecomunicazione Cos è l informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria,

Dettagli

Linguaggi di Programmazione

Linguaggi 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

Dettagli

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari.

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari. Esistono varie definizioni: Informatica Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione.

Dettagli

I Linguaggi di Programmazione

I 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

Dettagli

Elementi di programmazione

Elementi 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à

Dettagli

Introduzione alla programmazione strutturata

Introduzione alla programmazione strutturata FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio

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

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Cosa è 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

Dettagli

Introduzione alla programmazione. Walter Didimo

Introduzione 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

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

Dall algoritmo al calcolatore: concetti introduttivi. Fondamenti di Programmazione

Dall algoritmo al calcolatore: concetti introduttivi. Fondamenti di Programmazione Dall algoritmo al calcolatore: concetti introduttivi Fondamenti di Programmazione Algoritmo Problema o compito Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo sequenza precisa

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

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

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

Dettagli

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

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano

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

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI 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

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Parte 2 Linguaggi di programmazione Livello di Astrazione per la Codifica di un Algoritmo Si può risolvere un problema senza prima fissare un insieme di azioni, di mosse elementari possibili per l elaboratore?

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione Unità Didattica 2 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

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli

Dettagli

Fondamenti di Algoritmi

Fondamenti 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

Dettagli

Parte Seconda: Fondamenti di informatica

Parte Seconda: Fondamenti di informatica Parte Seconda: Trattamento dell informazione Fondamenti di informatica Gestione dell informazione Calcolatore IN Elaborazione archiviazione comunicazione OUT acquisizione dati dati elaborati e soluzioni

Dettagli

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1 Corso di INFORMATICA Laurea triennale - Comunicazione&DAMS Dr. Annamaria Bria 1 1 Dipartimento di Matematica Università della Calabria Corso di laurea intercalsse in COMUNICAZIONE&DAMS www.mat.unical.it/bria/informatica2011-12.html

Dettagli

Linguaggi e traduttori

Linguaggi e traduttori Operatore giuridico d impresa Informatica Giuridica A.A 2004/2005 I Semestre Linguaggi e traduttori Lezione 3 prof. Monica Palmirani Produzione del Software il software si genera trasformando l algoritmo

Dettagli

Il Software programmabili programma algoritmo

Il 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

Dettagli

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Corso di Fondamenti di Informatica Linguaggi di Programmazione Corso di Fondamenti di Informatica Linguaggi di Programmazione Anno Accademico Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

Informatica, Algoritmi, Linguaggi

Informatica, Algoritmi, Linguaggi Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo

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

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

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

la traduzione dei programmi ed introduzione a Java

la traduzione dei programmi ed introduzione a Java la traduzione dei programmi ed introduzione a Java programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere

Dettagli

Concetti di base dell ICT

Concetti 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:

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

; programma MOV AX, DATO_1. ; somma al contenuto dell' accumulatore il contenuto del registro B

; programma MOV AX, DATO_1. ; somma al contenuto dell' accumulatore il contenuto del registro B Linguaggi di programmazione Il linguaggio base di un elaboratore è il linguaggio macchina. Linguaggio macchina: insieme di istruzioni espresse nel formato numerico (binario) di un particolare processore.

Dettagli

INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema

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

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

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto ALGORITMI E LINGUAGGI http://www.diee.unica.it/giacinto/lab

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Cosa è un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato Il

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

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

Algoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo

Algoritmi, 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

Dettagli

Dal problema all algoritmo

Dal problema all algoritmo Dal problema all algoritmo Un esempio di problema Problema Come si cucina un uovo al burro? Soluzione Far sciogliere in un tegamino 20 g. di burro, quando il burro assume un colore dorato rompere il guscio

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

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

Introduzione alla Programmazione. Giselda De Vita

Introduzione alla Programmazione. Giselda De Vita Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:

Dettagli

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso

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

Risoluzione di problemi con l uso dell elaboratore elettronico

Risoluzione 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

Dettagli

Algoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo

Algoritmi, 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

Dettagli

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

DAGLI 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

Dettagli

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

Concetti 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

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

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

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione

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

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

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

Fondamenti Teorici e Programmazione Modulo A: Elementi di Programmazione Corso di Laurea in Informatica Umanistica a.a. 2013/2014

Fondamenti Teorici e Programmazione Modulo A: Elementi di Programmazione Corso di Laurea in Informatica Umanistica a.a. 2013/2014 Fondamenti Teorici e Programmazione Modulo A: Elementi di Programmazione Corso di Laurea in Informatica Umanistica a.a. 2013/2014 E.Occhiuto Dipartimento di Informatica email: occhiuto@di.unipi.it E. Occhiuto

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