Elementi di informatica (21/22 F. Perfetto)
L'informatica non è la scienza dei calcolatori, poiché essa si occupa degli strumenti per raggiungere un risultato e non del risultato stesso. Allo stesso modo non è la scienza della programmazione né di Internet. Informatica significa INFORmazione autoMATICA. La definizione di Batison afferma che l'informatica trasmette delle informazioni. Quindi l'informatica è la scienza della rappresentazione dell'organizzazione e del trattamento automatico delle informazioni, inoltre è lo studio di algoritmi.
Che cos'è un algoritmo?
Un algoritmo è un insieme ben ordinato e finito di operazioni non ambigue ed effettivamente calcolabili che, applicate ad un insieme di condizioni iniziali, producono un risultato e terminano in una quantità di tempo finito.
- Ordinato: fissata un i-esima operazione, so quale viene prima e quale dopo.
- Finito: non infinito.
- Non ambigua: chiaro, non deve lasciare spazio ad interpretazioni.
- Effettivamente calcolabile: dipende dai dati inseriti (non è possibile calcolare una media di un insieme vuoto).
- Quantità di tempo finito: tempo utile per il risultato.
Un algoritmo è ad esempio una ricetta oppure la sequenza per montare dei mobili Ikea ecc… Ma tutti i problemi possono essere risolti con un algoritmo? No, poiché le soluzioni devono essere generalizzate e non di un singolo problema, come dimostrò Godel negli anni '30. Infatti, esistono dei problemi non formalizzabili, di solito sono problemi legati all'intelligenza artificiale che un bambino di pochi mesi risolverebbe in una manciata di secondi.
La ricerca degli algoritmi per la soluzione di un problema si effettua con carta e penna. Un algoritmo può essere composto da tre tipi di operazioni: sequenziali, condizionali, iterative.
Programma e processo
Un programma è la realizzazione di più algoritmi formati da una sequenza di operazioni primitive note all'operatore; è diverso dal processo, il quale è un programma salvato in memoria.
Mondo analogico e mondo digitale
- Analogico: Quantità di informazione infinita, infinitamente preciso.
- Digitale: Quantità di informazione limitata, meno preciso ma più veloce.
Sia le persone, sia le macchine per utilizzare le informazioni hanno bisogno di una rappresentazione di essa. Le persone per comunicare hanno sviluppato il linguaggio, il quale ha un problema, l'ambiguità cioè può essere frainteso. Scrivere, leggere ed elaborare informazioni implica che chi lo fa abbia precedentemente stabilito un codice, ossia una serie di regole e convenzioni da seguire.
Codice
Un codice è definito da:
- Alfabeto: rappresenta l'insieme dei simboli possibili, con del codice, si indica il numero di elementi dell'alfabeto.
- Parole codice: rappresentano le sequenze possibili di simboli; per lunghezza delle stringhe si intende il numero di simboli dell'alfabeto di cui ciascuna parola codice risulta composta.
- Linguaggio: definisce le regole per costruire parole o codici che abbiano significato per l'utilizzatore del codice.
Ad esempio, dato un alfabeto, si possono generare sequenze. Se la codifica deve rappresentare una quantità di elementi, allora i valori rappresentabili dalle parole codice dovranno essere specificati, e le parole avanzate diventano inutilizzate.
Codifica binaria
L'alfabeto più semplice è quello costituito da soli due simboli: 0, 1. Un bit (contrazione di BInary digiT) è un simbolo scelto nell'alfabeto 0,1. Nei calcolatori ogni elemento viene rappresentato esclusivamente come conseguenze di bit.
Perché due e non più simboli? Poiché è facilmente implementabile su un supporto fisico inoltre è affidabile poiché un bit è indicato dalla macchina tramite una differenza di potenziale. Se si avessero più valori, dovrebbero esserci più differenze di potenziale e quindi sarebbe fraintendibile per la macchina poiché anche il migliore alimentatore crea degli sbalzi di tensione (ripple). Quindi l'informazione sarebbe legata agli sbalzi di tensione e ciò non è affidabile.
Un byte è una sequenza di 8 bit per motivi storici e di costruzione dei calcolatori; per convenzione il bit più a destra è quello meno significativo LSB (Least Significant Bit), mentre quello più a sinistra è il più significativo MSB (Most Significant Bit).
Se il numero che si vuole rappresentare è più piccolo del più piccolo numero rappresentabile dalla macchina parliamo di underflow, mentre se il numero è più grande del più grande numero rappresentabile dalla macchina parliamo di overflow. Paradossalmente all'interno delle macchine non sempre vale la proprietà associativa della somma poiché capita che utilizzando la proprietà associativa, anche se il risultato è all'interno dei possibili numeri rappresentabili, prima di arrivare al risultato si può andare in overflow o in underflow.
Sistema di numerazione
Un sistema di numerazione può essere visto come un insieme di simboli e regole che assegnano ad ogni simbolo un valore numerico.
-
Informatica - elementi
-
Appunti Elementi di informatica
-
Appunti Elementi di informatica
-
Elementi di Informatica