Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


INFORMATICA DI BASE - Zampieri, Appunti di Fondamenti di informatica

Appunti + esercizi relativi al corso Informatica di Base.

Tipologia: Appunti

2023/2024

In vendita dal 30/04/2025

la-emax
la-emax 🇮🇹

5

(2)

7 documenti

1 / 111

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Anteprima parziale del testo

Scarica INFORMATICA DI BASE - Zampieri e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

20 FEBBRAIO

INTRODUZIONE

  1. Teoria dell’informazione: Codifica dell’info, codice binario, digitalizzazione, compressione dei dati.
  2. Elaborazione dei dati: Introduzione agli algoritmi, esempi di algoritmi
  3. Linguaggi: Linguaggi di programmazione, linguaggi di markup, istruzioni, dati, HTML e concetto di ipertesto.
  4. Trasmissione dell’informazione: Segnali, canali di trasmissione, architettura delle reti, protocolli
  5. Dispostivi hardware: Software vs hardware, firmware, sistema operativo
  6. Sicurezza: Molteplici significati di sicurezza, crittografia, trasmissioni sicure, 2FA
  7. Informatica al giorno d’oggi: AI, blockchain, crittovalute…

ESAME:

30 domande chiuse = 1 punto per ogni quesito MA non si tolgono punti se si sbaglia. 1 domanda aperta = 2 punti Punti totali 32 = se si supera il 31 si ha la lode.

  • orale di accertamento = se il docente ha sospetti che qualcuno stia copiando, dopo l’esame interroga per un’ora. QUINDI NON COPIARE COGLIONA!

Prima del 1641 , ovvero agli albori, c’erano svariati strumenti meccanici che vengono creati per eseguire somme e calcoli di altro tipo, ad esempio per prevedere il movimento delle stelle e pianeti. Per navigare era necessario orientarsi e l’unico modo al tempo era utilizzando le stelle. Per cercare di velocizzare il processo e ristringere gli errori, nel 1641 Pascal decide di creare una macchina per fare le addizioni. Noi siamo molto vincolati dagli studi degli altri e quindi Pascal utilizzò degli ingranaggi per creare la macchina. Nello stesso periodo Leibniz decise di studiare il sistema binario e scopre che può essere utile in qualche modo per fare dei calcoli. Nel 182* (ovvero non si sa in che anno preciso del 1820), Charles Babbage, un matematico, lavora su una macchina per poter svolgere logaritmi, operazioni in generale, e non solo le addizioni. Un computer a vapore non era possibile, quindi Babbage tentò di creare qualcosa, ma fallendo perché il vapore non era il mezzo funzionario. Inoltre, a causa del suo carattere scontroso, non riuscì ad avere molto aiuto. Il suo prodotto però fu una macchina potenzialmente in grado di fare ciò che farà poi il computer. I concetti che aveva introdotto sono per esempio, che nei programmi servono determinate strutture di controllo. Nel 1848 , Ada Lovelace, una matematica, scrive il primo programma. Lei è stata la prima programmatrice della storia. Scrisse i programmi su delle schede forate e la macchina capiva cosa fare in base ai fori. Nel 1890 , si gettano le base di IBM. L’ingegnere e imprenditore Herman Hollerith riuscì a creare una macchina tabulatrice e riuscì a convincere il governo americano ad usarla per fare il censimento della popolazione intera americana. Si stima che con questa macchina si riuscì a risparmiare qualche milione di dollari. Questa macchina analizzava i dati in maniera automatica. Il tutto utilizzando le schede forate. Gli ingegneri erano contenti perché riuscivano a vendere le loro invenzioni, ma i matematici non erano contenti.

Nel 1928 , David Hilbert, apre 3 importanti questioni che getteranno le fondamenta dell’informatica:

  • “la matematica è completa? Tipo, posso dire che qualsiasi statement matematico è vero o falso usando solo la macchina?”
  • “è consistente la matematica? Posso io con metodi informatici dimostrare solo cose vere della matematica o posso anche dimostrare cosa false?”
  • “posso dimostrare le cose vere e false in tempo finito? Magari posso dimostrare le cose, ma se mi serve una quantità assurda di tempo per verificare la risposta, allora potevo anche non pormi la domanda perché tanto non sarò vivo quando si scoprirà. Nel 1931 , Kurt Gödel risponde ai primi 2 quesiti. Lui dice che uno studio può essere fatto incompleto o inconsistente: faccio le cose giuste ma solo un tot oppure posso fare tutto, ma magari in modo sbagliato. Alla fine si scelse di fare le cose in modo giuste, ma limitatamente. Altro fatto rilevante che lui disse è che se abbiamo dei sistemi di assiomi, non possiamo provare la consistenza del sistema utilizzando il sistema stesso. Nel 1936 , Alan Turing fu un elemento fondamentale per tutta l’informatica. Lui non si accontentò di rispondere alla terza domanda, ma decise di dimostrarlo. Mise le fondamenta per tutti i sistemi moderni di calcolo. Tutto ciò che oggi è un computer o simile ha un meccanismo molto simile alla sua macchina. Nella macchina di Turing c’è una testina che legge un nastro infinito e su questo nastro si può scrivere di tutto, e inoltre si può andare avanti o indietro nel nastro come si vuole. Ha dimostrato quindi che un nastro è necessario per poter usare un programma. Basta quindi leggere, scrivere e registrare per far andare qualsiasi domanda. Alla terza domanda, lui risponde che c’è un problema inevitabile: la mia macchina riceve da me gli input da fare, ma una macchina non può mai sapere se lei stessa terminerà perché quando termina sta semplicemente aspettando il prossimo input.

Nel 1947 , abbiamo il Transistor, che rese possibile la rivoluzione dei microprocessori. Nel Transistor ci sono 3 pin e il pin centrale serve per decidere se far passare o meno la corrente. Questa è una rivoluzione perché con un impulso elettrico si può scegliere se aprire o chiudere un circuito, non è più quindi analogico (come per esempio accendere o spegnere un interruttore per la luce). Inoltre questo Transistor era molto piccolo confronto alle macchine di un tempo. Nel 1951 , Hopper definisce il compilatore. Fino ad ora tutto era fatto sul meccanismo che l’uomo doveva scrivere in modo da farsi capire dalla macchina (come prima coi fori per la macchina). Hopper capisce invece che col compilatore si può scrivere in un linguaggio e poi “tradurlo” in un altro. Questo permette che l’uomo può scrivere in un modo semplice per sé stesso e poi ci penserà il compilatore a tradurlo. Nel 1957/8, abbiamo i primi linguaggi di programmazione. Sono linguaggi diversi dai fori di prima. C’è stata un’evoluzione naturale della lingua umana, lo stesso accade coi linguaggi di programmazione. I linguaggi che vennero creati, in ordine, furono FORTRAN, LISP ed Algol. LISP è stato fatto per le intelligenze artificiali ed è stato usato per processare il linguaggio naturale, quindi è meno complesso del linguaggio di FORTRAN. LISP non lo userò il matematico per processare le operazioni, che piuttosto userà FORTRAN. LISP ha all’interno una serie di “dialetti” perché col passare del tempo ci sono nuove esigenze. Nel 1958 , abbiamo il circuito integrato. Questo è fatto di Transistor, quindi si ha la rivoluzione dei microprocessori. Questo fu fondamentale perché se abbiamo qualcosa di troppo grande è molto probabile che si possa banalmente rompere (inoltre costava tanto ed erano quasi soldi buttati).

Nel 196*, Noam Chomsky e Micheal Rabin. Il primo studiò i linguaggi naturali e si chiese perché i linguaggi di programmazione non sono “naturali”, lui diede dei punti di svolta per la storia. Rabin si occupa di complessità, ovvero “ti do un problema, dimmi quanto è fattibile e quando costa, a livello di spazio e tempo”. Dopo anni si arrivò a domandarsi quando tempo si dovrà utilizzare per svolgere un determinato compito. Nel 1971 , nasce il primo virus informatico: Creeper. Nel 1971 non esisteva Internet, però esistevano le reti. Un ricercatore ha creato un programma che si diramava nella rete e si poteva salvare, per avvertire il mondo della pericolosità. Nel 1973, John McAfee ha fiutato la possibilità di fatturare e decise quindi di creare un antivirus. Nel 1975 , nasce Microsoft. Bill Gates e Paul Allena fondarono l’azienda specializzata nello sviluppo software (Microsoft). Dopo solo un anno di attività riuscirono ad avere un fatturato di 1milioni di dollari. Nel 1976 , nasce Apple. Si inizia a commercializzare molto l’informatica. Apple ha come obiettivo dare in mano dispositivi elettronici a chiunque. Nel 1989 , Tim Berners-Lee formalizza il world wide web (WWW). Lui voleva riuscire a far trasmettere le informazioni in tutto il mondo. Una delle cose più belle è che lui non cercò fama. Nel 1991 , venne pubblicato il primo sito Internet, sempre a sua opera. Lui fece dei grossi progressi, ma in una vecchia intervista disse di essersi in parte pentito di aver creato il WWW perché disse che non aveva pensato a porre attenzione alla privacy, all’affidabilità delle fonti e/o alla reputazione.

27 FEBBRAIO

CODIFICA DELL’INFORMAZIONE

Informazione:

  • insieme di dati correlati fra loro, con cui un’idea (o un

fatto) prende forma ed è comunicata. (via Wikipedia).

  • notizia, dato o elemento che consente di avere

conoscenza più o meno esatta di fatti, situazioni, modi di

essere. In senso più generale, anche la trasmissione dei

dati e l'insieme delle strutture che la consentono

(l’informazione diventa comunicazione in qualche modo. (Via

Treccani).

Claude Shannon, si è occupato del cambiamento da digitale

ad analogico: alla parola "informazione" sono stati attribuiti

diversi significati da vari scrittori nel campo generale della

teoria dell'informazione. È probabile che almeno un certo

numero di questi si dimostrerà sufficientemente utile in

determinate applicazioni da meritare ulteriore studio e

riconoscimento permanente. È difficile aspettarsi che un

unico concetto di informazione spieghi in modo

soddisfacente le numerose possibili applicazioni di questo

campo generale.

L’informazione è possibile rappresentarla tramite:

1. Immagini, grazie a colori e alla scala di grigi.

2. Suoni, grazie all’insieme di note.

  • SISTEMA BINARIO
Il sistema binario è composto da due simboli. E’ un sistema
che utilizza dei simboli numerici, solitamente lo zero e l’uno ( 0
e 1).
Questo sistema è la base del sistema di numerazione
utilizzato in informatica ed elettronica, dove ogni informazione
digitale viene codificata in sequenze di 0 e 1, ch vengono
chiamati ‘’bit’’.
Il sistema binario risulta semplice in quanto:
  • utilizza solo due simboli.
  • si usa facilmente nei circuiti hardware, quindi è ideale per
l’elaborazione e la memorizzazione di informazioni in dispositivi
elettronici.
  • facilmente compressibile/comprimibile e criptabile (utile per
la trasmissione e memorizzazione sicura dei dati).
MA ha anche degli svantaggi:
  • richiede un maggior numero di cifre per rappresentare lo
stesso numero rispetto alla comica decimale, il che può
rendere la rappresentazione dei numeri più’ complessa è
difficile da comprendere per noi.
  • per rappresentare caratteri e simboli non numerici aumenta
la dimensione del file e la quantità di spazio di archiviazione
necessaria.
  • ha una sensibilità maggiore alle interferenze e ai disturbi.
  • CODIFICA BINARIA DI UN NUMERO Ogni cifra ha un valore diverso in base alla posizione che occupa. Il sistema del codice binario è quindi un sistema posizionale. Il bit più’ importante è quello posto a sinistra perchè il suo valore è maggiore. La posizione si fa base a 2 e si eleva per la posizione che assume il bit. Per trasformare un codice binario in un numero si parte da destra. = 27
ES: DA DECIMALE A BINARIO
  1. Dividi il numero decimale per 2.
  2. Scrivi il resto della divisione (0 o 1) a destra del numero.
  3. Se il risultato della divisione è uguale a 1, sottrai 1 dal numero decimale e continua la divisione per 2. Se il risultato della divisione è uguale a 0, continua la divisione per 2 senza sottrarre nulla.
  4. Ripeti i passaggi 2 e 3 finché il numero decimale diviso per 2 diventa uguale a 0.
  5. Leggi la sequenza di O e 1 scritta a destra del numero partendo dal basso per ottenere la rappresentazione binaria del numero decimale originale.

SOMMA DI NUMERI BINARI

  1. Si inizia dalla cifra meno significativa (quella a destra) dei due numeri e si sommano.
  • Se il risultato è 0 o 1 (0+0 oppure 1+0 oppure 0+1), si scrive tale risultato sotto la cifra di partenza nella somma.
  • Se invece il risultato è 10 (1+1), si scrive O sotto la cifra di partenza nella somma e si tiene a mente che si è generato un riporto (carry) che dovrà essere sommato alle cifre successive. Chicca: 1+1 in binario fa 10, e se noi convertiamo 10 in decimale fa 2.
  1. Si prosegue quindi con la cifra successiva (a sinistra) e si sommano i due numeri binari considerando, se presente, il riporto generato dalla cifra precedente. Si ripete questo procedimento per tutte le cifre, fino ad arrivare alla cifra più significativa.
  2. Se alla fine si è generato un riporto nell'ultima cifra, questo va scritto come cifra aggiuntiva alla sinistra del risultato finale (cifra più significativa).

SISTEMA ESADECIMALE

La codifica esadecimale è un sistema di comunicazione che utilizza 16 simboli, solitamente le cifre da zero a nove e le lettere dalla A alla F, per rappresentare i numeri. Questo sistema viene utilizzato per rappresentare indirizzi di memoria, colori e dati binari in modo più’ compatto e leggibile. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 A B C D E F ES: DA DECIMALE AD ESADECIMALE

  1. Dividi il numero decimale per 16.
  2. Scrivi il resto come la prima cifra del numero esadecimale.
  3. Se il quoziente è maggiore di zero, ripeti il processo dal punto 1 utilizzando il quoziente come nuovo numero decimale.
  4. Se il quoziente è uguale a zero, l'algoritmo termina.
  5. Leggi la sequenza di simboli scritta a destra del numero partendo dal basso per ottenere la rappresentazione esadecimale del numero decimale originale. .

ES: DA ESADECIMALE A DECIMALE

  1. Scrivi il numero esadecimale.
  2. Ad ogni cifra del numero, assegna il corrispondente valore decimale.
  3. Moltiplica ciascuna cifra per 16 elevato alla potenza del suo posizionamento, partendo dal posizionamento più a destra e andando verso sinistra, crescendo di 1 l'esponente ad ogni spostamento e partendo da 0.
  4. Somma i prodotti ottenuti per ottenere il numero decimale.