









Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti per esame di informatica generale 1
Tipologia: Appunti
1 / 15
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










I computer non elaborano solamente numeri, infatti possono elaborare anche testi, immagini, suoni, filmati... Gli unici simboli che utilizza sono lo 0 e l’ 1 (usa il linguaggio binario per creare altri simboli). Il segnale binario è un suono discreto su due valori (si chiama bit per indicare Binary Git). Perché il sistema binario? Perché è semplice e permette di rappresentare quasi tutte le informazioni. Come viene realizzato un bit? Un bit può assumere due valori (0,1) e con un bit possiamo rappresentare due informazioni (es. Si/no; on/off; su/giù; vero/falso. In questo caso associamo il valore di un bit con un’informazione (es: 0=no, 1=si; 0=giù, 1=su; 0=off, 1=on; 0=falso, 1=vero). Se invece voglio rappresentare più informazioni non utilizzo un bit solo ma possiamo usare più bit. Come fare per rappresentare più di due informazioni usando i bit? Dobbiamo combinare più bit per rappresentare ogni informazione (es: due bit possono essere due informazioni: 01, 11, 00, 10). Quante informazioni possiamo rappresentare con un determinato numero di bit? Con un bit ho due combinazioni (0,1), con due bit ho 4 combinazioni (00, 01, 10, 11), con tre bit ho 8 combinazioni. !! Con N bit si rappresentano 2 elevato N di informazioni oppure possiamo ogni volta che aggiungiamo un bit moltiplicare il numero di combinazioni precedenti X2 e otteniamo le combinazioni di quel nuovo bit Se noi abbiamo K informazioni, di quanti bit abbiamo bisogno per rappresentarle (procedimento inverso)? Stabilisco una convenzione; dobbiamo utilizzare un bit sufficiente per esprimerle tutte, per cui dobbiamo scegliere N in modo che 2 elevato a N è uguale o maggiore a K. Es. Per rappresentare 61 informazioni diverse bisogno usare N bit tali che 2 elevato a N è uguale o maggiore a 61. 5 bit non sono sufficienti perché verrebbe 32, pertanto dobbiamo utilizzare 6 bit che fanno 64 bit. Inoltre, è stato attribuito un significato particolare ai gruppi di 8 bit, che formano un byte. Il byte viene utilizzato, insieme al bit, come unità di misura per esprimere la capacità della memoria, la potenza di un calcolatore, la velocità di trasmissione di una linea.
Il numero è un concetto che rappresenta una quantità, il numerale è il simbolo che rappresenta una quantità. Per rappresentare i numeri, il computer usa un sistema binario con base 2. (NON PER ESERCIZI) Se io voglio esprimere la cifra 245 posso: scrivere 2 volte 10alla2, 4 volte 10alla1, 5 volte 10alla0; il computer fa la stessa cosa, ma, al posto di scrivere 10, devo mettere come base 2; esempio se voglio scrivere 101 con la notazione del computer sarà: 1 volte 2alla2, 0 volte 2alla1, 1 volta 2alla0.
I numeri si ottengono dalla somma delle potenze di 2 (tutti i numeri pari terminano con lo 0, mentre quelli dispari con 1). Tutte le potenze di 2 hanno 1 seguito da N. 0 (es. 2= 10; 4= 100; 8= 1000; 16= 10000). Quelle dopo aggiungo sempre 1, poi 10 (togliendo il 10) e poi aggiungo 1 al 10. Il numero più grande rappresentabile non coincide con il numero di informazioni rappresentabili. (per esempio, con 2 cifre, 2 alla 2, posso rappresentare 0,1,2,3 - > il massimo numero rappresentabile è 2 alla N – 1 , se sono tutti 1 o 0). Esempio con 8 cifre: 11111111 con pedice 2 = 255 = 2 alla 8 – 1 Se noi stabiliamo il numero di cifre con cui si rappresentano i numeri, si definisce anche il massimo numero rappresentabile (es: con 16 bit = 2 alla 16 – 1 = 65535) Numerale diverso da numero. Esercizio conversione di un numerale in base 2 a base 10 (basta moltiplicare ogni bit per il peso e sommare). - 11010 pedice 2= 1x2alla4 + 1x2alla3 + 0x2allaseconda + 1x2alla1 + 0x 2alla0 (16 + 8 + 0+ 2+ 0 = 26). Esercizio conversione da base 10 a base 2: dobbiamo prendere cifra per cifra e capire se ci serve 0 o
Numerale 6 pedice 10: vado individuare il numero minimo di bit che mi servono per codificare il mio numero (in questo caso 3), quello più a sinistra è sempre 1, poi vedere se è pari o dispari (mettere quindi 0 se è pari o 1 se è dispari). Una volta trovato le due cifre laterali trovo quelle in mezzo e
La soluzione è quella di definire uno standard che utilizzi più bit e che comprende tutti i sistemi di scrittura ovvero l’Unicode. L'Unicode sono due standard e vengono utilizzati fino a 4 byte per ogni carattere: 8x4 = 32 bit per ogni carattere quindi 2 alla 32 possibili caratteri rappresentabili. Attualmente sono rappresentati oltre 98000 caratteri. Utf-8 in cui alcuni caratteri sono codificati con 8 bit, altri con 16 bit, altri (pochi) con 32 bit. È compatibile con Ascii, infatti i caratteri codificati con 8 bit coincidono con i caratteri Ascii. Utf-16 prevede che alcuni caratteri sono codificati con 16 bit, altri con 32 (pochi) bit.
Le immagini non sono altro che una serie di bit, vi sono varie tecniche utilizzate per memorizzare in modo digitale un’immagine. La prima è quella di codificare un’immagine in bianco e nero. I quadrati formati dalle linee si chiamano pixel. A ciascuno pixel viene attribuito un bit e dobbiamo stabilire una convenzione che stabilisce che 0 = bianco e 1= nero. Per avere una sequenza di bit, in quale ordine leggere i pixel? Occorre una convenzione da sinistra a destra, e dal basso verso l’alto
Come avere un’immagine più fedele? Aumentando la risoluzione, cioè il numero dei pixel (e quindi rimpiccioliamo i quadratini della griglia di campionamento). Piu è alta la risoluzione, più l'immagine è fedele e più lo spazio è occupato. La rappresentazione di un’immagine mediante la codifica dei pixel viene chiamata codifica bitmap. Con un solo bit per pixel si possono codificare dolo due colori (tipicamente bianco e nero); per codificare più informazioni, dobbiamo usare più bit. Per arrivare ai colori usiamo truecolor o RGB: rosso, verde e blu ovvero i colori primari per le stampanti; gli altri colori vengono ottenuti sommando i tre colori primari. Questi tre colori primari hanno 256 livelli (8 bit: 2 alla 8). I colori rappresentabili sono 3 byte per ogni pixel ovvero 2 alla 24 colori = 16777215. Come si calcola l’occupazione delle immagini a colori?
Vi sono tre elementi: la macchina centrale (composto da CPU e RAM), i dispositivi di input/output (sono elementi esterni per l'emissione dei dati da parte dell’utilizzatore o per la comunicazione verso l’utilizzatore dei risultati dal computer) e la memoria secondaria (riguarda la memoria, anche eventualmente esterna, che permettono di memorizzare in maniera persistente, anche quindi senza la connessione, le informazioni). Il calcolatore, o meglio chiamato hardware ha diversi elementi con diverse funzioni. Il funzionamento ad alto livello Analizziamo i vari componenti RAM (random access memory): qualunque sia la zona della memoria a cui vogliamo accedere impieghiamo lo stesso tempo. Insieme alla CPU è una componente fondamentale del calcolatore e permette di memorizzare sia il programma sia che i dati; fisicamente è formata da componenti elettronici (transistor, resistenze, condensatori) miniaturizzati.
Ogni unità elementare può trovarsi a due diversi livelli di tensione elettrica (o carica del condensatore): ecco il correspettivo fisico del bit. La RAM è strutturata in una sequenza di celle (o locazioni) di memoria. Ogni cella memorizza un byte. Alle celle si accede attraverso degli indirizzi, infatti, le celle sono numerate in sequenza (indirizzi) Quali operazioni si possono compiere sulla memoria? La lettura del contenuto di una cella o la scrittura in una cella. Per leggere e scrivere in una cella è necessario conoscere l’indirizzo di una cella. Specificando l’indirizzo di una cella, la CPU è in grado di leggere e/o modificare il valore del byte memorizzato in quella cella. La memoria non si può espandere La RAM si chiama ad accesso casuale perché: - si può accedere direttamente alle varie celle, una volta noto il loro indirizzo; - il tempo necessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nella sequenza; - il termine random indica proprio il fatto che non vi sono differenze nell’accesso alle varie celle della memoria. La RAM è veloce (il tempo di lettura/scrittura di una cella è compreso in media tra 5 e 30 nanosecondi), è volatile (formata da componenti elettronici, se viene tolta l’alimentazione anche per un breve periodo di tempo tutto ciò che contiene viene perso) ed è relativamente costosa. La ROM (read-only memory), memoria in sola lettura. Non può essere modificativa (a meno che non sia un tipo particolare, EPROM), non è volatile ed è veloce quasi quanto la RAM. Solitamente è usata per memorizzare programmi e dati necessari all'avvio dell’elaboratore (programmi di bootstrap, configurazione del sistema). La Memoria Cache (memoria di lettura e scrittura) è una memoria che ha caratteristiche analoghe alla RAM (è volatile), ma:
La memoria secondaria (hard disk) è quella memoria aggiuntiva rispetto alla RAM e serve per superare i limiti della RAM stessa (il fatto che è volatile, che è poco capiente e costosa). La memoria secondaria è così capiente, relativamente poco costosa, non volatile, ma lenta! La CPU può eseguire esclusivamente programmi che risiedono in memoria principale, i programmi e i dati risiedono in memoria secondaria; perciò, devono essere copiati in memoria principale. Quindi, quando si esegue un programma, il sistema operativo lo copia da memoria secondaria in RAM: l’operazione si chiama loading o caricamento.
La memoria secondaria è composta da: supporti di memorizzazione ovvero il componente fisico in cui vengono immagazzinati i dati e i dispositivi di memorizzazione che leggono/scrivono dati dal/sul supporto di memorizzazione. La memoria secondaria, anche se hanno lo stesso fine, hanno tecnologie diverse (a differenza della RAM che è fatta nello stesso modo) e fanno riferimento a fenomeni fisici diversi che viene sfruttato (es: tecnologie magnetiche, tecnologie ottiche, tecnologie magnetiche-ottiche, tecnologie allo stato solido). Il bus è lo strumento che serve a collegare tra di loro i vari componimenti del sistema. Fisicamente, è un insieme di collegamenti in rame IL SOFTWARE E IL SISTEMA OPERATIVO L'hardware da solo è un insieme di ferro, plastica e silicio e non è sufficiente per il funzionamento dell’elaboratore. Occorre utilizzare il software: un insieme di programmi che permettono di trasformare un insieme di circuiti elettrici in un oggetto in grado di svolgere funzioni di varia natura. I computer sono programmabili: possono svolgere compiti diversi in base a istruzioni contenute nei programmi. Il sistema operativo si divide tra il software di base e il software applicativo. Il software applicativo sono le app, dei programmi con il fine ben preciso di risolvere un problema specifico. Il software di base (coincide con il sistema operativo) è sempre un software che non ha un fine specifico ma che è fondamentale per far funzionare tutte le altre applicazioni. Serve per gestire efficientemente il computer e le sue periferiche e creare un ambiente virtuale per facilitare l’interazione uomo- macchina. Quali sono le funzioni svolte dal sistema operativo?
Che significa programmare? Significa che la macchina sa risolvere un problema che prima non sapeva risolvere. Dato un problema, si vuole che sia il computer a risolverlo (esempio, ordinare alfabeticamente 4000 cognomi), il programmatore deve dire al computer quali operazioni eseguire per risolvere il problema. Il programmatore scrive un PROGRAMMA che, dati in INPUT dei dati, produce l’OUTPUT richiesto. Il problema computazionale è una serie di dati iniziali che vengono presi in considerazione, vengono effettuare delle operazioni su questi dati (algoritmo), l’elaboratore dei dati produce un risultato. Il programma viene eseguito dal computer. Obiettivi: − Imparare a risolvere problemi di programmazione, ossia imparare ad individuare un algoritmo da “dare in pasto” al computer (sotto forma di programma), affinché esso risolva il problema − Imparare i costrutti base del linguaggio Python al fine di scrivere programmi
Print: serve per comunicare qualcosa all’esterno; Input: prendo un elemento dall’esterno e lo metto nel computer (l’esecuzione si interrompe fino a quando qualcuno non scrive qualcosa, quando passa avanti recupera anche ciò che è stato scritto dopo). NomeUtente = input (“inserisci il nome:”) --> si interrompe fin quando non scriviamo: variabile Print (“ciao”, NomeUtente) - ---> ha scritto quindi ciò che c’era nella cellula di memoria 1: a= 25
3: somma= a+b 4: print (“la somma vale” somma) NON VA BENE!! 1: a = int (input (“inserisci un numero interno: “)) Int: se voglio farci le operazioni 2: b = int (input (“inserisci un altro numero interno:” ))