Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava...

12
1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY [email protected] Informatica Informazione automatica Studia la distribuzione, la trasmissione e soprattutto la trasformazione dell’informazione da parte degli elaboratori elettronici Compito degli informatici è quello di studiare queste cose in maniera che vengano elaborate dalle macchine

Transcript of Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava...

Page 1: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

1

Introduzione all’ Informatica

Carlo StrapparavaFBK-Irst Istituto per la ricerca scientifica e tecnologicaI-38050 Povo, Trento, [email protected]

Informatica

Informazione automatica Studia la distribuzione, la trasmissione e

soprattutto la trasformazionedell’informazione da parte degli elaboratorielettronici

Compito degli informatici è quello di studiarequeste cose in maniera che venganoelaborate dalle macchine

Page 2: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

2

Informatica

Tre grandi aree:

1. Software2. Hardware3. Informatica teorica

Area del Hardware

I principi fisici della trasmissione dei segnalifino alla progettazione dei computers

Componenti elettronici Transistor Memorie Circuiti integrati …

Page 3: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

3

Hardware

Area del Software

Programmazione Linguaggi di programmazione Sistemi operativi Database management Grafica Interfacce Intelligenza artificiale …

Page 4: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

4

Informatica teorica E’ una branca della matematica Analisi degli algoritmi Formalismi per la computabilità

Funzioni ricorsive λ-calcolo

Teoria della computazione Problemi decidibili, indecidibili

Teoria degli automi Analisi numerica …

Introduzione alla programmazione

Il termine programma viene usatoquotidianamente in campi diversi:

“il programma di governo” “la programmazione economica” “il programma di uno spettacolo” …

Page 5: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

5

Programma - definizioni (in generale)

piano d’esecuzione di una serie di azioni

(in informatica - genericamente) una serie di istruzioni per un elaboratore volte a

calcolare la soluzione di un determinato problema

Programmazione comegenerica attività intellettuale

Elaboratore elettronico

Un elaboratore elettronico può essere vistocome

Due canali da dove riceve informazioni, uncanale che fornisce informazioni

AutomamemoriaDati

Programma

Risultati

Page 6: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

6

Elaboratore elettronico

Alla definizione data sopra risponde anche:

Qual è la differenza tra automa e lavatrice? Il numero di programmi nella lavatrice è limitato, è

fissato a priori nella macchina

Panni sporchiPanni puliti

Programma

Elaboratore elettronico

L’automa è capace di elaborare qualsiasiprogramma

Il programma non è fissato a priori ma èfornito dal programmatore

A priori nell’automa sono solo fissate alcunecapacità elementari (per es. deve essercidella memoria)

Page 7: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

7

Come deve essere scritto un programma?

Un programma è la formulazione, secondo unben definito sistema di regole, di un algoritmo

Algoritmo => metodo di soluzione per unaclasse di problemi

La nozione di algoritmo a vari livelli diastrazione permea tutta l’informatica

al-Khuwarizmi ~ 800 D.C.

Es. Algoritmo: somma di due interi ditre cifre

1° passo: mettere in colonna gli addendi 2° passo: assumere il riporto della colonna di

destra uguale a 0 3° passo: per ogni colonna, procedendo da

destra a sinistra, finché non sono esaurite lecifre

Page 8: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

8

Es. Algoritmo: somma di due interi ditre cifre

1° passo: mettere incolonna gli addendi

144 + 872 = 1016

144 + 872 =———

Somma di due interi di tre cifre (2)

2° passo: assumere ilriporto della colonna didestra uguale a 0 0

144 +872 =———

Page 9: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

9

Somma di due interi di tre cifre (3)

3° passo: per ogni colonna,procedendo da destra a sinistra,finché non sono esaurite le cifre, fare: 3.1 Sommare le cifre della colonna 3.2 se il risultato è < 10 allora

scrivere il risultato del passo 3.1nella colonna e mettere a 0 ilriporto altrimenti

altrimenti togliere 10 dal riportodel passo 3.1 e mettere a 1 ilriporto sulla colonna successiva

4° abbassa l’ultimo riporto

1100 144 + 872 =———1016

Quando si fornisce un algoritmo dobbiamo domandarci:

Qual è il corredo di operazioni elementari ? Le operazioni che vogliamo fare eseguire sono algoritmizzabili ?

(es. con riga e compasso non possiamo trisecare un angolo)

0 1 2 3 4 5 6 7 8 9

0 0 1 2 3 4 5 6 7 8 9

1 1 2 3 4 5 6 7 8 9 0

2 2 3 4 5 6 7 8 9 0 1

3 3 4 5 6 7 8 9 0 1 2

4 4 5 6 7 8 9 0 1 2 3

5 5 6 7 8 9 0 1 2 3 4

6 6 7 8 9 0 1 2 3 4 5

7 7 8 9 0 1 2 3 4 5 6

8 8 9 0 1 2 3 4 5 6 7

9 9 0 1 2 3 4 5 6 7 8

0 1 2 3 4 5 6 7 8 9

0 0 0 0 0 0 0 0 0 0 0

1 0 0 0 0 0 0 0 0 0 1

2 0 0 0 0 0 0 0 0 1 1

3 0 0 0 0 0 0 0 1 1 1

4 0 0 0 0 0 0 1 1 1 1

5 0 0 0 0 0 1 1 1 1 1

6 0 0 0 0 1 1 1 1 1 1

7 0 0 0 1 1 1 1 1 1 1

8 0 0 1 1 1 1 1 1 1 1

9 0 1 1 1 1 1 1 1 1 1

Tabella cifre Tabella riporti

Page 10: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

10

Morale…

Posso ridurre l’operazione di somma a unasemplice trasformazione di simboli

Qualunque algoritmo opera su simboli

Es. invece di 144 avrei potuto scrivere CXLIV

CXLIV + MXXIV =———??????

Morale…

L’algoritmo di somma appena visto opera su numerinaturali in rappresentazione decimale

Considerare criticamente l’abitudine allarappresentazione in base 10

144 in ottale è 220, in esadecimale 90 Siamo talmente abituati che tendiamo a confondere il

numero con la sua rappresentazione

Rappresentazioni analogiche e simboliche In questo corso siamo interessati a quelle simboliche

Page 11: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

11

Algoritmi

Fornire una sequenza di passi Fornire un corredo di operazioni elementari Ogni passo deve essere effettivo Ogni algoritmo opera su simboli Non ambiguità - un algoritmo deve essere

compiuto in se stesso

Programmi

Linguaggi artificiali di programmazione

Def. di Programma Un programma è la codifica di un algoritmo in un

determinato linguaggio di programmazione

Page 12: Introduzione all’ Informatica€¦ · 1 Introduzione all’ Informatica Carlo Strapparava FBK-Irst Istituto per la ricerca scientifica e tecnologica I-38050 Povo, Trento, ITALY

12

Punti di vista

Punti di vista da cui dobbiamo esaminare unlinguaggio di programmazione Sintattico

Semantico

Estetico

Pragmatico

Enfatizzare la prg. come modo di esprimere idee,piuttosto che solo come un modo per far compierecose ad un computers

Programmi … agli albori