Informatica e Algoritmi

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

La Comunicazione Bisogno insopprimibile nella vita di ognuno di noi.
Premessa: si assume di aver risolto (correttamente
Intelligenza artificiale
Adempimento dell’obbligo d’istruzione (D.M. n°139 del 22/08/2007)
Linguaggi algoritmici
Classe III A A.s – 2010 Programma di Informatica
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Fondamenti di Informatica
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Introduzione1 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo: procedura suddivisa.
Introduzione alla programmazione ll
Introduzione alla programmazione l
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Linguaggi di Programmazione 1 docente: Maurizio Tucci Lezione 0.1 Concetti di Base.
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Unità Didattica 1 Algoritmi
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Intelligenza Artificiale
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Elementi di Informatica
Elementi di Informatica
Elementi di Informatica Simone Scalabrin a.a. 2008/2009.
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
PROGRAMMAZIONE: linguaggi
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Lezione 6 Strutture di controllo Il condizionale
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
BIOINFO3 - Lezione 15 ISTRUZIONI
ECDL Patente europea del computer
Alla fine degli anni quaranta nasceva il mito del cervello elettronico, e tutte le attività connesse allutilizzo del computer venivano indicate tramite.
Programma di Informatica Classi Prime
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Programmazione Strutturata
Informatica Introduzione.
Informazioni e dati A. Ferrari. Informazione automatica Informatica deriva dalla contrazione di altri due termini: informazione e automatica e sta a significare.
COME RAGIONA UN COMPUTER
DIVERTIRSI CON SCRATCH
Linguaggi algoritmici
Elisabetta barone Perché valutare le competenze?.
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
Rappresentazione degli algoritmi
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Algoritmi.
Vincenza Ferrara Novembre 2007 Fondamenti di Matematica e Informatica Laboratorio Informatica I anno a.a
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Realizzazione software
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Automi temporizzati.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Informatica e Algoritmi Teoria e Pratica

Premessa In un corso di introduzione all’informatica è indispensabile fornire competenze tecniche, per consentire agli studenti di utilizzare in modo proficuo, a qualche livello, un calcolatore elettronico. È però importante fornire anche nozioni concettuali che arricchiscano la cultura degli studenti, non solo come principio educativo generale, ma anche perché, a causa del rapido sviluppo tecnologico, le conoscenze e capacità tecniche degli utilizzatori di calcolatori diventano spesso obsolete.

Informatica=informazione+algoritmo «L’informatica è la scienza degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione.» (ACM – Association for Computing Machinery)

L’Informazione Viviamo nell’era dell’informazione. La società dell’informazione è iniziata nel secondo dopoguerra. Non è stata ancora formulata una teoria completa.

Internet Negli ultimi 5-10 anni, la crescita esponenziale del fenomeno Internet ha accentuato la situazione di esplosione dell’informazione: disponendo di un calcolatore collegato in Internet, si ha libero accesso a una enorme banca dati multimediale mondiale, costituita dai dati messi a disposizione sui calcolatori collegati in rete. Su questa banca dati possiamo inserire i nostri dati, “navigare” e ricercare informazioni, con gli obiettivi più diversi (lavoro, studio, divertimento).

Il Futuro Negroponte ritiene che arriveremo a realizzare una rete planetaria in cui si potranno trasportare non gli atomi, ingombranti e costosi, ma i bit, leggeri ed economici, e che i calcolatori riusciranno a salire di livello, a costruire un modello dell’utente, a capire quali informazioni gli interessano e a selezionarle in modo autonomo e automatico.

Il Futuro Secondo Postman corriamo invece il serio pericolo di restare vittime di una sorta di AIDS (Anti-Information Deficiency Syndrome): per riuscire a gestire tutti i dati disponibili avremo bisogno di più tecnologia informatica, ciò consentirà alla quantità di dati di lievitare, richiedendo ancora più tecnologia, e così via, in un circolo vizioso che porterà al collasso culturale.

Cos’è l’Informazione? Bateson, vede l’informazione come una differenza: «Ricevere informazioni vuol dire sempre e necessariamente ricevere notizie di differenza.» Shannon nel 1948 ha teorizzato che la quantità di informazione che un qualsiasi evento può portare dipende dal numero di alternative e dalla loro probabilità.

Informatica L’informatica non è né la “scienza di calcolatori elettronici” né la “scienza dell’informazione”.

Informatica L’informatica è in realtà una disciplina articolata e in rapida evoluzione. Un proposta per la sua suddivisione è la seguente: Algoritmi e strutture dati (studio di algoritmi più efficaci). Programmazione (studio dei programmi, ossia degli algoritmi espressi in un linguaggio comprensibile dal calcolatore; studio di tali linguaggi, detti linguaggi di programmazione). Architettura dei calcolatori (come costruire calcolatori più potenti). Reti di calcolatori (come collegare più calcolatori). Sistemi operativi (studio dei programmi che consentono di utilizzare i calcolatori). Ingegneria del software (costruzione di programmi di grandi dimensioni). Basi di dati e sistemi per il reperimento delle informazioni (programmi in grado di gestire grandi quantità di dati) Intelligenza artificiale (programmi in grado di imitare il comportamento intelligente degli esseri umani) Visione e robotica (programmi in grado di “vedere” e programmi con un corpo) Teoria dell’informazione (studio teorico della rappresentazione efficace dell’informazione)

Cos’è un calcolatore Un calcolatore è un esecutore universale di algoritmi: può eseguire qualsiasi algoritmo gli venga fornito, purché rappresentato nel formalismo che il calcolatore sa comprendere.

Il concetto di algoritmo Un algoritmo è genericamente una sequenza di passi elementari necessaria a risolvere un determinato problema. Un problema è un’insieme di domande omogenee. L’istanza di un problema è uno specifico esemplare della classe di domande omogenee. La soluzione di un’istanza di un problema è la risposta ad una domanda.

Alcune definizioni La soluzione di un problema (o algoritmo risolvente) è un metodo generale che permette di fornire in modo uniforme la risposta a tutte le istanze di un problema. L’algoritmo è un’entità astratta: è un “metodo”, un “procedimento”, una “sequenza di passi”. La sua rappresentazione è detta programma e il formalismo linguaggio di programmazione.

Alcune considerazioni Possono esistere più linguaggi di programmazione. Uno stesso algoritmo può essere rappresentato in più linguaggi di programmazione, ottenendo quindi programmi diversi. Uno stesso algoritmo può essere rappresentato con due programmi diversi scritti nello stesso linguaggio di programmazione.

Proprietà formali degli algoritmi Finitezza. Un algoritmo deve essere composto da un numero finito di istruzioni. Univocità. Ogni istruzione deve essere non ambigua, interpretabile in un unico modo ed anche il modo di combinare le istruzioni deve essere non ambiguo. Effettività. Deve esistere un calcolatore in grado di eseguire effettivamente l'algoritmo.

I diagrammi di flusso Un diagramma di flusso è una struttura costituita da blocchi connessi da frecce (grafi costituiti da nodi e archi orientati che collegano coppie di nodi) utilizzabile per la documentazione degli algoritmi.

Tipi di blocchi Esistono quattro tipi di blocchi: un blocco di inizio; un blocco di fine; blocchi funzionali; blocchi decisionali;

Inizio Il blocco di inizio, indica l’inizio del programma; è unico in un programma, e può presentare un solo arco uscente e nessuno entrante;

Fine Il blocco di fine, denota la fine del programma e quindi non avrà archi uscenti, ma solo uno o più archi entranti; possono essercene più d’uno.

Blocchi funzionali I blocchi funzionali, contengono un’istruzione elementare di tipo aritmetico, di assegnamento, di lettura e scrittura, rappresentata come un rettangolo avente più archi entranti, ma solo uno uscente;

Blocchi decisionali I blocchi decisionali: possono contenere una condizione logica che assume i valori vero (V) oppure falso (F); possono avere più archi entranti, e da esso ne escono due, uno denotato con V, e l’altro con F. Graficamente sono rappresentati come dei rombi.

Come funziona un calcolatore riceve un programma e dei dati, per risolvere un dato problema; i dati sono i valori che identificano una specifica istanza; esegue il programma sui dati (computazione); fornisce la risposta all’istanza del problema derivata istanziando il problema sui dati.