Informatica Scienze Motorie

Preview:

Citation preview

Corso di laurea in Scienze delle attività motorie e sportive

Daniele Peridaniele.peri@unipa.it

Informatica

Struttura del corso

• Sistemi di elaborazione delle informazioni

• Rappresentazione delle informazioni

• Algebra booleana

• Algoritmi e programmazione

• Strutturazione ed elaborazione dell’informazione a livello applicativo

• Reti di calcolatori e Internet

• ...

Sistemi di elaborazione delle informazioni

Hardware

Dati problema

Software

Risultati

Sistemi di elaborazione delle informazioni

HardwareDati

problema

Software

Risultati

Applicazioni • Acquisizione dati

• Analisi dati

• Presentazione dati

• Gestione basi di dati

• Supporto alle decisioni

• Simulazioni

• Istruzione

• ...

• Scopo

• Tecnologia

Calcolatori elettronici

• Scopo

• Tecnologia

Calcolatori analogici

Calcolatori analogici

• Meccanici

Calcolatori analogici

• Meccanici

• Idraulici

Calcolatori analogici

• Meccanici

• Idraulici

• Elettrici

Calcolatori analogici

• Meccanici

• Idraulici

• Elettrici

• Elettronici

Calcolatori analogici

• Meccanici

• Idraulici

• Elettrici

• Elettronici

Grandezze continue

Calcolatori digitali

ENIAC (1946)

Calcolatori digitali

ENIAC (1946)Grandezze discrete

Calcolatori digitali

• Dispositivi elettromeccanici

ENIAC (1946)Grandezze discrete

Calcolatori digitali

• Dispositivi elettromeccanici

• Valvole termoioniche

ENIAC (1946)Grandezze discrete

Calcolatori digitali

• Dispositivi elettromeccanici

• Valvole termoioniche

• Transistor

ENIAC (1946)Grandezze discrete

Calcolatori digitali

• Dispositivi elettromeccanici

• Valvole termoioniche

• Transistor

• Circuiti integrati

ENIAC (1946)Grandezze discrete

Programmabilità

• Telai programmabili (1800)

• Analytical Engine (Babbage, 1837)

• Zuse Z3 (1941)

• ENIAC (1946)

Programmabilità

Scheda perforata

Integrazione

Microprocessore 8 bit (MOS 6502 1975)

Integrazione

Microprocessore 16 bit (Intel 8086, 1978)

Integrazione

Microprocessore 32 bit (MC68000 1979)

Integrazione

Microprocessore Dual Core (Core 2 Duo, 2005)

Calcolatore personale (1977)

Calcolatore personale (1981)

Calcolatore personale (1985)

Calcolatore portatile (2000)

Netbook (2009)

Tablet (2010)

Embedded computer

Embedded computer

Smartphone

Componenti di un PC

Architettura Von Neumann

Architettura Von Neumann

Architettura di un calcolatore personale

Componenti di un calcolatore personale

Scheda madre

Componenti di un calcolatore personale

CPU

Componenti di un calcolatore personale

RAM

Componenti di un calcolatore personale

Hard disk drive

Componenti di un calcolatore personale

Scheda di espansione

Componenti di un calcolatore personale

Schede madriSubnotebook e desktop

Componenti di un calcolatore personale

Processore AMD E Series E-450 (1.65GHz, 1MB L2)HD 500GB - RAM 4GB - Display 11,6" wideWi-Fi 802.11b/g/n - Windows 7 Home PremiumWebcam 1.3Mpixel integrata - Bluetooth 3.0+HS

Intel Pentium B960 (2.20GHz, 2MB L2)HD 750GB - RAM 6GB - Display 15,6" wide Wi-Fi 802.11b/g/n - Windows 7 Home PremiumWebcam con microfono integrataScheda video AMD Radeon HD 7450M 1GB dedicata

Componenti di un calcolatore personale

Periferiche

•Memorie di massa•Dispositivi di input

• Tastiera• Mouse• Microfono (input audio)• Dispositivi di misurazione

•Dispositivi di output•Schermo •Stampante•Attuatori

Rappresentazione delle informazioni

Rappresentazione delle informazioni

•Notazioni convenzionali per la rappresentazione di informazioni allo scopo di renderne possibile lo scambio tra esseri umani

•Rappresentazione dei dati di tipo numerico‣10 cifre decimali: 0,1,2,3,4,5,6,7,8,9

•Rappresentazione dei dati di tipo testuale‣26 caratteri dell’alfabeto maiuscolo, minuscolo, segni di interpunzione e

simboli speciali (£, $, %, &, @, #...)•Notazione segno/grandezza per i numeri relativi‣+47, -53

•Notazione decimale per i numeri reali‣n = i + f‣12,34 dove 12 è la parte intera i e 0,34 è la parte frazionaria f

Rappresentazione delle informazioni

‣I sistemi digitali manipolano elementi discreti di informazione‣Questi elementi discreti vengono fatti

corrispondere a quantità fisiche dette segnali (corrente, tensione)‣Se ai segnali si fanno assumere solo

due valori verranno detti BINARI‣I due valori sono tipicamente

rappresentati da intervalli di valori di tensione chiamati HIGH (ALTO) e LOW (BASSO)‣Distinguiamo tra range dei valori di

ingresso (input) e di uscita (output)

Sistemi di numerazione

Un sistema di numerazione è un insieme finito di regole e simboli (digit), che permettono di dare un significato numerico ad una sequenza di tali simboli

•Posizionale: il significato di un simbolo dipende dalla posizione (num. decimale)

•Non posizionale: il significato di un simbolo non dipende dalla posizione (num. romana)

Sistemi di numerazioneIl NUMERO dei simboli adoperato in un sistema di numerazione è la BASE (B) o RADICE (r) del sistema.

Le basi più frequenti sono:•BASE 10: B (r) = 10•BASE 2: B (r) = 2•BASE 8: B (r) = 8•BASE 16: B (r) = 16

I simboli che si possono rappresentare in radice r vanno da 0 a r-1.•r = 10 0,1,2,3,4,5,6,7,8,9•r = 2 0,1•r = 8 0,1,2,3,4,5,6,7•r = 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

Sistemi di numerazione

Il numero N in radice r lo possiamo scrivere come:

N = Ni+Nf =An-1 rn-1 + An-2 rn-2 + ... + A0 r0 + A-1 r-1 + A-2 r-2 + ... + A-m r-m

•An-1 è il most significant digit (msd, simbolo più significativo)•A-m è il least significant digit (lsd, simbolo meno significativo)

Numerazione binaria

In qualunque sistema di numerazione posizionale la base è sempre espressa come

10 (uno - zero)

Decimale Binario

0 0

1 1

2 10

3 11

4 100

5 101

6 110

7 111

8 1000

9 1001

10 1010

11 1011

12 1100

13 1101

14 1110

15 1111

Bit, byte e multipliUn byte (B) è costituito da 8 bit

1 byte può rappresentare 28 = 256 valori distintiIl massimo numero rappresentabile con 1 byte è

28 – 1 = 256 – 1 = 255

Multipli del bit o del byte sono indicati con i prefissiK – kilo, 210 = 1.024M – mega, 220 = 1.048.576G – giga, 230 = 1.073.741.824 T – tera, 240 = 1.099.511.627.776

Conversione da binario a decimale1 0 1 1

Posizione 3 2 1 0

Peso 8 4 2 1

1x8 + 0x4 + 1x2 + 1 x 1 = 11

10112= 1110

Conversione da decimale a binario11 11 11-8=3 3 3-2=1

Posizione 3 2 1 0

Peso 8 4 2 1

1 0 1 1

1110 =10112

Conversione da base 10 a base r

P. int. Resto Peso41 41/2 20 1/2 1 1

20/2 10 0 0 2

10/2 5 0 0 4

5/2 2 1/2 1 8

2/2 1 0 0 16

1/2 0 1/2 1 32

Metodo delle divisioni successive

Conversione da base 10 a base r

Intero Peso0,6875 0,6875 x 2 1,375 1 1/2

0,375 x 2 0,75 0 1/4

0,75 x 2 1,5 1 1/8

0,5 x 2 1 1 1/16

0 0

Conversione di numeri frazionari

0,687510 = 0,10112

Conversione da base 10 a base r

Intero Peso0,77 0,77 x 2 1,54 1 1/2

0,54 x 2 1,08 1 1/4

0,08 x 2 0,16 0 1/8

0,16 x 2 0,32 0 1/16

0,32 x 2 0,64 0 1/32

Conversione di numeri frazionari

0,7710 = 0,11000...2

Operazioni aritmetiche

16 8 4 2 1

Addendo 0 1 1 0 0

Addendo 1 0 0 0 1

01100 2+10001 2

Operazioni aritmetiche

16 8 4 2 1Riporti

Addendo 0 1 1 0 0

Addendo 1 0 0 0 1

Risultato

01100 2+10001 2

Operazioni aritmetiche

16 8 4 2 1Riporti 0 0 0 0 0

Addendo 0 1 1 0 0

Addendo 1 0 0 0 1

Risultato 1 1 1 0 1

01100 2+10001 2

Operazioni aritmetiche

32 16 8 4 2 1Riporti 1 0 1 1 0 0

Addendo 1 0 1 1 0

Addendo 1 0 1 1 1

Risultato 1 0 1 1 0 1

10110 2+10111 2

Operazioni aritmetiche

16 8 4 2 1Prestiti 0 0 0 0 0

1 0 1 1 0

1 0 0 1 0

0 0 1 0 0

10110 2-10010 2

Operazioni aritmetiche

16 8 4 2 1Prestiti 0 0 1 1 0

1 0 1 1 0

1 0 0 1 1

0 0 0 1 1

10110 2-10011 2

Operazioni aritmetiche

16 8 4 2 1Prestiti

1 0 0 1 1

1 1 1 1 0

10011 2-11110 2

Operazioni aritmetiche

16 8 4 2 1Prestiti 0 0 1 1 0

1 1 1 1 0

1 0 0 1 1

- 0 1 0 1 1

- (11110 2 -10011 2)

Operazioni aritmetiche

32 16 8 4 2 11 0 1 1

1 0 1

1 0 1 1

0 0 0 0

1 0 1 1

1 1 0 1 1 1

1011 2 x 101 2

Rappresentazione di numeri reali

Utilizzando insiemi finiti di bit i numeri reali possono essere rappresentati:

•in virgola fissa• m bit per le potenze da 0 a m-1 e p bit per

le potenze da -1 a -p •es. 6+2 bit: 101100.01

•in virgola mobile• n bit per la mantissa, p bit per

l’esponente• m x be

• 6+2 bit: 10110001

Rappresentazione di numeri interi con segno

Utilizzando insiemi finiti di bit i numeri interi con segno possono essere rappresentati:

•in modulo e segno• 1 bit per il segno e m-1 bit per il modulo •es. : 10110000 = ?

•in complemento a 2 (alla base)• m bit tutti per le cifre•es.: 00110000 -> 11010000

CodiciIn un sistema di numerazione in base r, con n cifre è possibile rappresentare:•rn numeri interi: 0 … rn – 1

•I numeri frazionari: 0.0 … (rn-1) / rn

•Un codice binario a n-bit è un gruppo di n bit, che può assumere fino a 2n combinazioni distinte di 1 e 0, in cui ciascuna combinazione rappresenta un elemento dell’insieme da codificare.

‣Un insieme di quattro elementi può essere codificato con un codice binario con n = 2 bit (00, 01, 10, 11)‣Un insieme di otto elementi richiederà un codice a 3 bit‣Un insieme di 16 elementi richiederà un codice a 4 bit

Codifica ASCII

American Standard Code for Information Interchange

Rappresentazioni grafiche

0 0 0 1 1 0 0 0

0 0 1 0 0 1 0 0

0 1 1 0 0 1 1 0

0 1 1 1 1 1 1 0

0 1 1 1 1 1 1 0

0 1 1 0 0 1 1 0

0 1 1 0 0 1 1 0

0 0 0 0 0 0 0 0

Rappresentazioni grafiche

0 0 0 1 1 0 0 0

0 0 1 0 0 1 0 0

0 1 1 0 0 1 1 0

0 1 1 1 1 1 1 0

0 1 1 1 1 1 1 0

0 1 1 0 0 1 1 0

0 1 1 0 0 1 1 0

0 0 0 0 0 0 0 0

Rappresentazioni grafiche

7 6 5 4 3 2 1 00 0 0 1 1 0 0 00 0 1 0 0 1 0 00 1 1 0 0 1 1 00 1 1 1 1 1 1 00 1 1 1 1 1 1 00 1 1 0 0 1 1 00 1 1 0 0 1 1 00 0 0 0 0 0 0 0

Algebra di Boole

AND (•)AND (•)AND (•)X Y Z0 0 00 1 01 0 0

1 1 1

OR (+)OR (+)OR (+)X Y Z0 0 00 1 11 0 1

1 1 1

NOT (‘)NOT (‘)X Z0 11 0

Tabelle di veritàX Y Z F0 0 00 0 10 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

F= X OR ( (NOT Y) AND Z)

Tabelle di veritàX Y Z F0 0 0 00 0 1 10 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

F= X OR ( (NOT Y) AND Z)

Alcune identità fondamentali

X + 0 = X X • 1 = X

X + 1 = 1 X • 0 = 0

X + X = X X • X = X

X + ‘X = 1 X • ‘ X = 0

‘‘X = X

X + Y = Y + X X • Y = Y • X

X + (Y + Z) = (X + Y) + Z X • (Y • Z) = (X • Y) • Z

X • (Y+Z) = X•Y + X•Z X+Y•Z = (X+Y) • (X+Z)

Programmabilità7 6 5 4 3 2 1 0

0

1

2

3

4

5

6

7

8

9

0 0 0 0 1 0 1 0

0 0 0 0 1 0 0 1

0 0 0 0 1 0 0 0

0 0 0 0 0 1 1 1

0 0 0 0 0 1 1 0

0 0 0 0 0 1 0 1

0 0 0 0 0 1 0 0

0 0 0 0 0 0 1 1

0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 1

7 6 5 4 3 2 1 0

R1

R2

R3

R4

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

1.Carica 0 in R12.Carica 10 in R23.Carica 0 in R44.Carica in R3 il valore della locazione

individuata da R15.Somma R3 a R4 (aggiornando il valore di

R4 con il risultato)6.Incrementa R17.Decrementa R28. Se R2 è maggiore di 0 salta all’istruzione 49. Fine

Hardware e software

Hardware

Dati problema

Software

Risultati

Hardware e software

Hardware

Dati problema

Software applicativo

Risultati

Strato software di astrazione hardware

Sistema operativo

Hardware

Software applicativo

Sistema operativo

Gestione risorse•CPU•Memoria•I/O•Networking •Interfacce grafiche•...

Software

Fasi di sviluppo•Scrittura•Esecuzione

Classificazione secondo il modello di esecuzione•Compilato•Interpretato

Software compilato

Eseguibile

Sorgente

Compilazione

Esecuzione

Risultato

Software interpretato

Interprete

Sorgente

Esecuzione

Risultato

Distribuzione del software

Licenze software•Commerciali•“Libere”•Free software•Open source

Software applicativo

Specializzato

“General purpose”

Fogli di calcolo o “spreadsheet”

Origini•Sistemi batch

Commerciali•VisiCalc•Lotus 1-2-3

•Open source•Gnumeric•OpenOffice (e LibreOffice) Calc

A B C D

1

2

3

4

5

6

7

8

1 3 4

10 23 39

2 18 12

45 74 76

30 12 9

-1 1 43

15 0 -1

Tot 102 131 182

Fogli di calcolo o “spreadsheet”

•Griglia di celle indicizzate per riga e colonna

•Ogni cella può contenere valori costanti o formule

•Le formule consentono di effettuare i “calcoli”

A B C D

1

2

3

4

5

6

7

8

1 3 4

10 23 39

2 18 12

45 74 76

30 12 9

-1 1 43

15 0 -1

Tot 102 131 182

Fogli di calcolo o “spreadsheet”

•Riferimenti a singola cella:• B3 colonna B riga 3•$B3 colonna B assoluta riga 3•B$3 colonna B riga assoluta 3•$B$3 colonna assoluta B riga

assoluta 3

A B C D

1

2

3

4

5

6

7

8

1 3 4

10 23 39

2 18 12

45 74 76

30 12 9

-1 1 43

15 0 -1

Tot 102 131 182

Fogli di calcolo o “spreadsheet”

Insiemi di celle possono essere individuati mediante riferimenti rettangolari.

A B C D

1

2

3

4

5

6

7

8

1 3 4

10 23 39

2 18 12

45 74 76

30 12 9

-1 1 43

15 0 -1

Tot 102 131 182

(cella in alto a sinistra : cella in basso a destra)B3:C5

Fogli di calcolo o “spreadsheet”

Una formula definisce un processo di calcolo che dà valore a una cella. L’ inserimento comincia con i l c a r a t t e r e “ = ” s e g u i t o d a un’espressione costruita con costanti, operatori, parentesi e funzioni.

A B C D

1

2

3

4

5

6

7

8

9

1 3 4

10 23 39

2 18 12

45 74 76

30 12 9

-1 1 43

15 0 -1

Tot 102 131 182

Med 14,6 18,7 26

Fogli di calcolo o “spreadsheet”

Costanti: numeriche, stringhe (“abc”)Operatori: + - / *F u n z i o n i : s o m m a ( ) , m e d i a ( ) , pendenza(), intercetta(), se(), vero(), falso(), e(), o(), non(), conta.se(), somma.se()

A B C D

1

2

3

4

5

6

7

8

9

1 3 4

10 23 39

2 18 12

45 74 76

30 12 9

-1 1 43

15 0 -1

Tot 102 131 182

Med 14,6 18,7 26

Fogli di calcolo o “spreadsheet”

B8=somma(B$1:B$7)B9=media(B$1:B$7)

Il valore di una formula viene ricalcolato automaticamente al variare dei valori individuati dai riferimenti presenti nell’espressione.

A B C D

1

2

3

4

5

6

7

8

9

1 3 4

10 23 39

2 18 12

45 74 76

30 12 9

-1 1 43

15 0 -1

Tot 102 131 182

Med 14,6 18,7 26

Base di datiInsieme organizzato di dati a supporto dello svolgimento

di attività.

Possono avere struttura:• Gerarchica• Reticolare• Relazionale• ...

Sistema di gestione di basi di dati (DBMS)

Sistema che gestisce collezioni di dati:• Grandi• Persistenti• Condivise

Garantendo• Privatezza (gestione accessi)• Affidabilità (transazioni)• Efficienza (utilizzo delle risorse di calcolo e di

memoria)• Efficacia

Sistema di gestione di basi di dati (DBMS)

In una base di dati esistono:• Lo schema, invariante nel tempo, che ne descrive la

struttura • L’istanza, variabile nel tempo, determinata dai valori

attuali

Sistema di gestione di basi di dati (DBMS)

Schemi•schema logico:  descrizione dell’intera base di dati nel modello logico del DBMS (es. struttura delle tabelle)•schema interno (o fisico):  rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione•schema esterno:  descrizione di parte della base di dati in un modello logico (“viste”)

BD

Schema logico

Schema esterno

Schema interno

Schema esterno

Schema esterno

utente utente utente utente utente

Sistema di gestione di basi di dati (DBMS)

Modello relazionale

D1, D2, ... Dn insiemi, anche non distinti (domini)

Prodotto cartesiano D1 x D2 x ... x Dn insieme di tutte le n-uple d1, d2, ..., dn con d1 ∈ D1, d2 ∈ D2, ..., dn ∈ Dn

Una relazione è un sottoinsieme del prodotto cartesianor ⊆ D1 x D2 x ... x Dn

Modello relazionaleUna tabella rappresenta una relazione se•i valori di ogni colonna sono fra loro omogenei •le righe sono diverse fra loro•le intestazioni delle colonne sono diverse tra loro In una tabella che rappresenta una relazione•l’ordinamento tra le righe è irrilevante•l’ordinamento tra le colonne è irrilevante

Modello relazionaleStudenteStudenteStudenteStudente

Matricola Cognome Nome Data di nascita

1234 Rossi Mario 1/1/1990

5678 Bianchi Giuseppe 2/2/1990

9012 Verdi Carla 3/3/1991

3456 Bianchi Mario 1/1/1990

EsameEsameEsame

Studente Voto Corso

1234 30 1114

1234 30 1113

9012 28 1111

5678 30 1111

CorsoCorso

Codice Nome

1114 Informatica

1112 Anatomia

1113 Diritto

1111 Economia

Modello relazionaleI vincoli di integrità specificano proprietà che devono essere soddisfatte dalle istanze per rappresentare informazioni corrette per l’applicazione.

Possono essere:•intrarelazionali

•su valori (dominio)•di ennupla

•interrelazionali

Modello relazionaleStudenteStudenteStudenteStudente

Matricola Cognome Nome Data di nascita

1234 Rossi Mario 1/1/1990

5678 Bianchi Giuseppe 2/2/1990

9012 Verdi Carla 3/3/1991

9012 Bianchi Mario 1/1/1990

EsameEsameEsameEsame

Studente Voto Lode Corso

1234 30 VERO 1114

1234 32 FALSO 1113

9012 28 VERO 1111

5679 30 FALSO 1111

CorsoCorso

Codice Nome

1114 Informatica

1112 Anatomia

1113 Diritto

1111 Economia

Modello relazionale

Una chiave è un insieme di attributi che identifica le ennuple di una relazione.

Esempio:•Matricola•Cognome, Nome, Data di nascita

StudenteStudenteStudenteStudente

Matricola Cognome Nome Data di nascita

1234 Rossi Mario 1/1/1990

5678 Bianchi Giuseppe 2/2/1990

9012 Verdi Carla 3/3/1991

3456 Bianchi Mario 1/1/1990

Modello relazionale

Una chiave si dice primaria se non ammette valori nulli.

Formalismo:Studente(Matricola, Cognome, Nome, Data di nascita)Studente(Matricola, Cognome, Nome, Data di nascita)

StudenteStudenteStudenteStudente

Matricola Cognome Nome Data di nascita

1234 Rossi Mario 1/1/1990

5678 Bianchi Giuseppe 2/2/1990

9012 Verdi Carla 3/3/1991

3456 Bianchi Mario 1/1/1990

Modello relazionaleStudenteStudenteStudenteStudente

Matricola Cognome Nome Data di nascita

1234 Rossi Mario 1/1/1990

5678 Bianchi Giuseppe 2/2/1990

9012 Verdi Carla 3/3/1991

3456 Bianchi Mario 1/1/1990

EsameEsameEsame

Studente Voto Corso

1234 30 1114

1234 30 1113

9012 28 1111

5678 30 1111

CorsoCorso

Codice Nome

1114 Informatica

1112 Anatomia

1113 Diritto

1111 Economia

Un vincolo di integrità referenziale, chiave esterna (“foreign key”) impone ai valori di una relazione di comparire come valori di chiave primaria di un’altra.

Testi•Ceri, Mandrioli, Sbattella, “Informatica arte e mestiere”, McGraw-Hill

•Schneider, Gersting, “Informatica”, Apogeo

Recommended