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


Elementi Fondamentali dell'Informatica: Appunti del Primo Semestre, Appunti di Elementi di Informatica

appunti di informatica primo semestre

Tipologia: Appunti

2022/2023

Caricato il 31/07/2023

giulia-palazzini-1
giulia-palazzini-1 🇮🇹

10 documenti

1 / 9

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
GIULIA PALAZZINI
INFORMATICA, primo semestre
Il termine informatica deriva da informazione e automatica, si interessa della conservazione,
elaborazione e trasmissione dell’informazione. Elaborare significa ricavare ulteriore informazione
dall’informazione esistente, ad esempio tramite calcoli o inferenze. L’invenzione del computer ha
permesso all’uomo di effettuare in modo più rapido ed efficiente queste operazioni.
Lo sviluppo dell’informatica ci sta permettendo di:
- Memorizzare una quantità molto elevata di informazioni
- Elaborare in modo automatico e veloce una grande quantità di informazioni
- Trasmettere grandi quantità di informazioni in tempi brevi e a distanze molto grandi
Questo ha aumentato l’efficienza dei sistemi produttivi.
Altri benefici:
- Minore necessità di spazi lavorativi (smart working)
- Possibilità di lavorare insieme anche a distanza
- Possibilità di accedere a tutta l’informazione memorizzata in poco tempo e in ogni luogo
- Minore necessità di spazi di vendita (on line)
Le nuove tecnologie hanno avuto un impatto anche su beni prodotti e sui consumi delle persone,
sui valori, sui bisogni e sull’impiego di tempo da parte delle persone.
La parola computer è traducibile in italiano con computare, ovvero una macchina che computa,
che calcola. Si parte da un certo numero e si arriva ad un altro numero mediante delle operazioni.
Elaborare un’informazione significa partire da una certa informazione e ricavare da questa un’altra
informazione. Il computer non è l’unico mezzo in grado di compiere operazioni, ma ciò che lo
differenzia dagli altri è che il computer è in grado di compierle tutte e tre e con velocità ed
efficienza.
Il computer è formato da:
- Processore o CPU (elaborazione): tramite i quali l’informazione viene elaborata. Essi
eseguono istruzioni che prescrivono come da un’informazione ne possa essere ricavata
un’altra.
- Dispositivi di trasmissione: servono a trasmettere o ricevere informazioni da altri
dispositivi.
- Dispositivi di output: servono a visualizzare l’informazione memorizzata e il risultato di una
elaborazione.
- Dispositivi di input: per immettere dati da memorizzare e elaborare.
- Gerarchia di memorie
Informazione: ciò che permette di selezionare un attributo tra i molti attributi che una cosa può
possedere. Essa è qualcosa di astratto e per essere conservata, elaborata e trasmessa in un
dispositivo fisico deve essere associata a segni. I segni sono anch’essi qualcosa di astratto (type),
ma hanno istanze (token) che sono invece qualcosa di concreto che può essere trasmesso al
destinatario). I segni-token sono entità fisiche.
Informazione segno-type segno-token
L’operazione con la quale si scrivono i segni-token che rimandano a una certa informazione su un
supporto fisico si chiama codifica. Mentre l’operazione con la quale si legge un supporto su cui
sono scritti i segni-token, che rimandano a una certa informazione si chiama decodifica. Possiamo
pf3
pf4
pf5
pf8
pf9

Anteprima parziale del testo

Scarica Elementi Fondamentali dell'Informatica: Appunti del Primo Semestre e più Appunti in PDF di Elementi di Informatica solo su Docsity!

GIULIA PALAZZINI

INFORMATICA, p rimo semestre Il termine informatica deriva da informazione e automatica, si interessa della conservazione, elaborazione e trasmissione dell’informazione. Elaborare significa ricavare ulteriore informazione dall’informazione esistente, ad esempio tramite calcoli o inferenze. L’invenzione del computer ha permesso all’uomo di effettuare in modo più rapido ed efficiente queste operazioni. Lo sviluppo dell’informatica ci sta permettendo di:

  • Memorizzare una quantità molto elevata di informazioni
  • Elaborare in modo automatico e veloce una grande quantità di informazioni
  • Trasmettere grandi quantità di informazioni in tempi brevi e a distanze molto grandi Questo ha aumentato l’efficienza dei sistemi produttivi. Altri benefici:
  • Minore necessità di spazi lavorativi (smart working)
  • Possibilità di lavorare insieme anche a distanza
  • Possibilità di accedere a tutta l’informazione memorizzata in poco tempo e in ogni luogo
  • Minore necessità di spazi di vendita (on line) Le nuove tecnologie hanno avuto un impatto anche su beni prodotti e sui consumi delle persone, sui valori, sui bisogni e sull’impiego di tempo da parte delle persone. La parola computer è traducibile in italiano con computare, ovvero una macchina che computa, che calcola. Si parte da un certo numero e si arriva ad un altro numero mediante delle operazioni. Elaborare un’informazione significa partire da una certa informazione e ricavare da questa un’altra informazione. Il computer non è l’unico mezzo in grado di compiere operazioni, ma ciò che lo differenzia dagli altri è che il computer è in grado di compierle tutte e tre e con velocità ed efficienza. Il computer è formato da:
  • Processore o CPU (elaborazione): tramite i quali l’informazione viene elaborata. Essi eseguono istruzioni che prescrivono come da un’informazione ne possa essere ricavata un’altra.
  • Dispositivi di trasmissione: servono a trasmettere o ricevere informazioni da altri dispositivi.
  • Dispositivi di output: servono a visualizzare l’informazione memorizzata e il risultato di una elaborazione.
  • Dispositivi di input: per immettere dati da memorizzare e elaborare.
  • Gerarchia di memorie Informazione: ciò che permette di selezionare un attributo tra i molti attributi che una cosa può possedere. Essa è qualcosa di astratto e per essere conservata, elaborata e trasmessa in un dispositivo fisico deve essere associata a segni. I segni sono anch’essi qualcosa di astratto (type), ma hanno istanze (token) che sono invece qualcosa di concreto che può essere trasmesso al destinatario). I segni-token sono entità fisiche. Informazione → segno-type → segno-token L’operazione con la quale si scrivono i segni-token che rimandano a una certa informazione su un supporto fisico si chiama codifica. Mentre l’operazione con la quale si legge un supporto su cui sono scritti i segni-token, che rimandano a una certa informazione si chiama decodifica. Possiamo

avere più copie di uno stesso messaggio, quindi possiamo produrre una molteplicità di token dello stesso type. Il codice costituisce l’insieme delle regole che associano certi segni con certe entità di informazione. I codici linguistici mettono in relazione significati astratti con entità fisiche, le quali possono essere conservate, manipolate e spostate. Conservando i segni memorizziamo l’informazione, manipolandoli possiamo elaborare l’informazione e spostandoli possiamo comunicare l’informazione a cui rimandano. I codici possono essere suddivisi sulla base del tipo di regola che associa configurazione del supporto e entità di informazione. Alcuni sono basati sulla somiglianza tra segno e significante, altri su regole convenzionali. I moderni computer utilizzano solo due segni per codificare l’informazione da essi memorizzata, elaborata e trasmessa. Convenzionalmente questi due segni si chiamano 0 e 1. (di per sé non hanno nulla a che fare con 0 e 1) l’utilizzo di due soli segni permette di utilizzare supporti semplici, facilmente trattabili e trasmissibili. Un codice che ammette solo due configurazioni si dice binario. In informatica questi due soli segni ammessi sono chiamati bit. Codificare le immagini: l’immagine è divisa in piccoli quadratini detti pixel, ognuno dei quali ha un colore specifico e uniforme. Ogni colore è la composizione di tre colori primari. Ogni colore può essere rappresentato mediante tre numeri da 0 a 255, per rappresentare 255 abbiamo bisogno di 8 bit. Ogni possibile colore è rappresentato da 3x8 bit. Più fitta è la maglia dei pixel, maggiore è la risoluzione e la qualità dell’immagine. Per ridurre il peso delle immagini si usano formati di compressione con il numero minore di perdite di qualità. Il formato più utilizzato per le fotografie è jpeg, mentre per le icone Gif e PNG. Il filmato è un insieme di immagini che vengono proiettate velocemente, uno dei formati più utilizzati è il MPEG. La dimensione del suono che è necessario codificare è la sua altezza o frequenza e ci dice quanto un suono sia grave o acuto. La melodia è una successione nel tempo di suoni di diversa altezza. Codificare una voce significa quindi codificare come l’altezza del suono varia nel tempo. La quantizzazione del suono è un’operazione che produce una perdita di informazione e può essere compensata aumentando il numero dei livelli e riducendone la dimensione, allo stesso modo anche il campionamento porta a una perdita di informazione. Il formato MP3 è un formato di compressione dei file musicali. La distinzione tra analogico e digitale riguarda i modi in cui l’informazione è codificata e in particolare i rapporti tra l’informazione e i segni che vengono utilizzati per codificarla. Spesso l’informazione che si deve codificare è strutturata, cioè i possibili significati dei segni hanno una relazione di ordine o metrica. Due possibili strategie di codifica di un’informazione:

  • Relazioni esplicite nel rapporto
  • Relazioni implicite nelle regole di codifica Queste due strategie corrispondono alla codifica analogica e a quella digitale. Esse sono dunque due diverse strategie di codifica dell’informazione. I supporti analogici assomigliano all’informazione che devono codificare. Questa è tuttavia una somiglianza molto astratta, quanto più la quantità da codificare aumenta, quanto più aumenta qualcosa nel supporto. Nell’analogico quindi la relazione tra segno e informazione non è del tutto convenzionale. Mentre nei supporti digitali essa è completamente convenzionale. Il digitale è adatto a codificare ogni tipo di informazione e non richiede un certo tipo di supporto. Il digitale presenta sicuramente due vantaggi:

permettono anche di analizzare ed elaborare i dati da remoto. Questo porta a una riduzione dei costi. L’informazione deve essere organizzata per essere facilmente recuperata:

  • Schede di un archivio
  • Ordine alfabetico di un dizionario
  • Ordine dei libri nella biblioteca Necessariamente c’è qualche relazione tra la struttura fisica e quella logica. Non è però necessariamente una relazione di corrispondenza. Tipi di organizzazione:
  • Sequenziale: lista della spesa…
  • Gerarchica: organizzazione dei file di un computer
  • Reticolare Un tipo di organizzazione non esclude l’altro. Il modo più semplice di organizzare le informazioni è quello lineare. Gli elementi possono essere ordinati in qualunque modo. Le strutture lineari più semplici sono i vettori o array. Gli arrays sono liste di elementi o oggetti dello stesso tipo. (si possono aggiungere elementi alla fine, in mezzo o spostarli) Le liste concatenate si utilizzano per ovviare il problema dello spostamento di molti item quando se ne inserisce uno in mezzo. In queste liste ogni elemento contiene nella sua coda l’indirizzo all’elemento successivo. Per inserire un nuovo elemento bisogna modificare gli indirizzi. Spesso non dobbiamo solo aggiungere item a una lista ma anche cancellarli. Si parla di inserimento e prelevamento attraverso varie strategie:
  • First in first out: il prelevamento avviene nello stesso ordine con cui sono stati inseriti
  • Last in first out: l’ultimo elemento inserito è il primo a essere prelevato Ogni azienda può decidere di organizzare il proprio magazzino secondo una delle due logiche. La scelta dipende dal tipo di merce e dall’andamento dei prezzi. Se le merci sono deperibili e hanno date di scadenza la prima logica è praticamente obbligatoria. A volte i dati da archiviare sono troppo complessi per essere strutturati in semplici liste. Bisogna quindi ricorrere alle tabelle. I singoli item qui vanno strutturati. In informatica le tabelle vengono chiamate database e per gestirli sono stati creati software chiamati sistemi per la gestione di basi dati. Il modello più diffuso è quello relazionale. Le tabelle memorizzano informazioni relative a un insieme di oggetti. Ogni riga mantiene i dati relativi a un oggetto mentre le colonne definiscono le informazioni che è necessario memorizzare a proposito degli oggetti. Ogni colonna definisce quindi un attributo che gli oggetti possiedono, l’insieme degli attributi è chiamato schema. Lo schema identifica quindi l’insieme degli attributi che un oggetto possiede. Una tabella non può contenere due righe uguali, per accedere ai singoli record uno dei campi deve possedere valori che siano univoci per ogni oggetto. Questi valori sono chiamati chiavi. Ogni tabella può contenere più chiavi ma una sola è svelta come chiave primaria. Essa è fondamentale perché viene utilizzata per connettere più tabella tra di loro. Gli oggetti hanno molte caratteristiche, ma non tutte sono elencate nei Database, bisogna quindi selezionare le caratteristiche che si pensano essere rilevanti e le loro relazioni. Questa operazione porta alla costruzione di un modello di dati, che può essere descritto da linguaggi formali testuali o linguaggi formali grafici. Il modello astratto individua gli oggetti chiamati entità di cui si vuole memorizzare informazioni. Ad esempio, in un’università sono rilevanti l’insieme degli studenti iscritti, dei corsi…

Individua poi gli attributi di ogni oggetto. Ad esempio, per ogni studente nome, cognome… Individua poi le relazioni. Ad esempio, gli esami sostenuti da uno studente. Le interrogazioni dei dati contenuti nei database vengono effettuate mediante query, il risultato della quere è una tabella generata dinamicamente. Per standardizzazione si tende ad usare un unico linguaggio di query chiamato SQL, che permette di definire lo schema delle tabelle e il dominio di ogni campo, inserire o cancellare il record e interrogare le tabelle. Nelle strutture reticolari le entità fondamentali sono i nodi e i link tra i nodi. Una struttura fatta in questo modo si chiama grado e i link tra i nodi del grafo sono detti archi. Un caso particolare è quello in cui gli archi hanno un orientamento, in questo caso possono essere rappresentati come frecce. Nel caso standard i percorsi tra i vari nodi valgono tutti 1, ma in alcuni grafi possono avere vario pesp, in questo caso si dice grafo pesato. Fino a pochi anni fa il compito principale dei computer era quello di elaborare l’informazione, ovvero ricavare l’informazione dall’informazione già esistente mediante operazioni. I passi per l’elaborazione sono i seguenti:

  1. Codifica dell’informazione in segni su un supporto
  2. Manipolazione dei segni
  3. Decodifica dell’informazione ottenuta Nei sistemi più semplici l’istruzione non è codificata e spetta all’utente manipolare i segni. Mentre nei sistemi informatici le istruzioni sono codificate esplicitamente e sono flessibili perché c’è un’indipendenza del software dall’hardware. Il computer è quindi un sistema di elaborazione universale, può fare qualunque tipo di elaborazione e questa possibilità è data dall’utilizzo di un codice digitale. I moderni computer sono esecutori di istruzioni, le quali di solito sono molto semplici ma vengono eseguite in successione e ad altissima velocità. I programmi sono insiemi di istruzioni in cui ogni istruzione complessa viene scomposta in istruzioni più semplici. L’unità del computer preposta all'esecuzione delle istruzioni si chiama processore (CPU) ed è connesso con le altre parti del computer che memorizzano, ricevono e trasmettono l'informazione. Architettura di von Neumann
  • La memoria di massa (SSD) memorizza tutte le informazioni e le istruzioni
  • La CPU elabora le informazioni eseguendo le istruzioni
  • La memoria RAM è la memoria di lavoro del processore, in cui sono contenuti i dati su cui si sta lavorando
  • I dispositivi di input servono per immettere dati e dare comandi
  • I dispositivi di output mostrano i risultati dell’elaborazione
  • Tutti i componenti sono collegati da un bus
  • Le operazioni sono coordinate dall’unità di controllo

Uno degli indici della velocità di un computer è la sua frequenza di clock ovvero il numero di volte per secondo in cui i suoi transitor possono cambiare stato. Durante un ciclo di clock un processore può fare una singola operazione. Componenti del processore:

  • ALU: unità che svolge le operazioni
  • Registri: sono le celle di memoria di lavoro della CPU. Essi contengono i dati su cui essa deve operare
  • Unità di controllo: controlla il flusso delle operazioni che devono essere eseguite: contatore di programma (tiene conto del punto in cui lo svolgimento delle istruzioni è arrivato) e un registro di istruzioni (contiene il codice dell’istruzione che deve essere eseguita) Nei moderni computer i dati e i programmi da eseguire vengono conservati in diversi tipi di memorie, le quali sono organizzate in sistema gerarchico. La memoria RAM è una memoria intermedia tra la memoria di massa e memoria di lavoro della CPU. Essa è una memoria elettronica molto veloce. RAM significa random access memory perché i dati vengono letti nello stesso tempo. essa è:
  • Rapidissimo accesso
  • Volatile La memoria RAM è costituita da piccolissimi condensatori in cui le cariche negative possono essere immagazzinate. Se il condensatore è carico la porta è aperta e quindi si creerà un flusso di corrente bit 1, al contrario è 0. Poiché i condensatori non sono del tutto isolati sono necessari continui refresh. Generalmente si usa un criterio di località per i programmi da mantenere in RAM:
  • Località temporale
  • Località spaziale Quando si apre un programma si trasferiscono parte delle sue istruzioni dal disco fisso alla RAM, mentre quando si chiude un programma le istruzioni vengono cancellate dalla RAM. Quando si salva si trasferiscono dalla RAM al disco fisso. Quando si accende un computer il sistema operativo viene in parte trasferito dal disco fisso alla RAM, mentre quando si spegne si cancella dalla RAM. Memoria cache: poiché i transitor dei processori riescono a cambiare stato velocemente la RAM può risultare lenta. Esistono quindi delle memorie interne chiamate cache, di velocissimo accesso. Essa è formata da memorie molto rapide formate da insiemi di transitor collegati in configurazione flip-flop in cui la corrente circola in modo continuo. Non necessitano di refresh. La memoria ROM è una memoria non volatile che può essere letta e non scritta, utilizzata per memorizzare i dati di boot del computer, ovvero i primi dati che vengono letti quando si accende il computer. Essendo scomodo avere una memoria che non può essere scritta sono state introdotte le PROM e EEPROM. Nei PC il BIOS o il firmware è scritto su memoria ROM. Bootstrap Il sistema operativo carica i programmi in memori RAM e gestisce la loro esecuzione. Cosa ricarica il sistema operativo quando il computer si accende? È come se il sistema operativo debba autoricaricarsi. Questo dilemma è stato risolto caricando alcune istruzioni nella memoria ROM

permanente. In alcuni computer la ROM contiene l’intero sistema operativo. Essa compie anche altre operazioni come il check del sistema all’avvio. Nei moderni computer e smartphone si affianca un altro processore dedicato a disegnare le immagini sullo schermo, chiamato GPU, il quale rispetto alla CPU riesce solo a fare calcoli specifici. Processore, memoria RAM e ROM, GPU sono collocati su un’unica scheda chiamata scheda madre. Essa contiene le interfacce in cui alloggiare le diverse componenti e permette il collegamento tra tutte le componenti. Su di essa alloggia un chip il cui compito è quello di smistare i dati tra le diverse componenti del computer, insieme al bus. I componenti del computer devono essere collegati tra di loro e di questo si occupano i BUS, piccoli fili elettrici. Particolarmente efficiente deve essere il BUS che collega il processore alla memoria RAM, chiamato memory bus. Altre periferiche sono collegate tramite la tecnologia USB. I cavi USB contengono 4 fili, due per alimentare la periferica e gli altri due per i dati. Per questo l’USB può essere utilizzato anche per caricare i dispositivi. Vi è poi l’HDMI che trasmette sia video che audio. Oggi si utilizzano sempre di più le onde radio come wi-fi, bluetooth, e NFC, connessioni wireless. I programmi e le app che utilizziamo sono insiemi di istruzioni create dalle case di software per risolvere problemi che gli utenti possono incontrare, scritte in un linguaggio che i computer possono comprendere. Quello che l’utente vede del programma è in realtà un’interfaccia tra lui e le istruzioni. Quando l’utente preme su uno dei comandi dell’interfaccia del programma, il programma fornisce al computer l’insieme delle istruzioni associate a quel comando. I computer sono solitamente esecutori di soluzioni elaborate dagli esseri umani. Dunque, i computer non inventano soluzioni e non fanno cose che gli esseri umani noj sanno già fare. È necessario un linguaggio con cui esseri umani e computer possano comunicare. Si utilizzano delle lingue artificiali non ambigue e con regole rigide, che non conoscono eccezioni e con un vocabolario molto rifotto. Le lingue che descrivono le soluzioni sono chiamate linguaggi di programmazione e le soluzioni sono descritte in programmi. La soluzione è composta da istruzioni elementari che il computer può eseguire, scomponendole in istruzioni ancora più elementari. Una successione di istruzioni elementari è chiamata algoritmo. Questa sequenza viene eseguita in successione dall’esecutore fino ad arrivare all’ultima istruzione ovvero alla soluzione del problema. In un algoritmo:

  • Tutte le istruzioni sono elementari e quindi eseguibili da parte dell’esecutore
  • La soluzione di ogni istruzione elementare è raggiunta in un tempo finito e in modo deterministico
  • È fissato l’ordine con cui le istruzioni sono eseguite
  • È esplicitamente specificato il modo in cui una istruzione utilizza i risultati delle azioni che la precedono Il programmatore può disinteressarsi delle modalità con cui l’esecutore risolve le istruzioni elementari trattandole mediante un modello black box. I passi dell’algoritmo sono eseguiti in ordine a meno che non si prescriva esplicitamente di passare a un passo diverso dal successivo. Un algoritmo non è propriamente una soluzione a un solo problema, ma a una classe di problemi strutturalmente identici, ma con dati di partenza differenti. (stesso procedimento ma con ingredienti differenti)