



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 di Informatica inerenti alla differenza tra Hardware e Software e codifica del testo.
Tipologia: Appunti
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




La macchina e i suoi linguaggi. Abbiamo definito il calcolatore come un dispositivo in grado di manipolare i simboli mediante regole. Il calcolatore è una macchina in grado di eseguire compiti quando espressi in modo formale, cioè basati su regole precise e comunicati attraverso un determinato codice. Queste regole individuano un algoritmo, quando sono espresse attraverso uno specifico codice e attraverso uno specifico linguaggio di programmazione diventano i programmi eseguibili dai nostri computer, le app eseguibili dai nostri telefoni e così via... I simboli che i calcolatori manipolano mediante, appunto, queste regole sono quelli che stanno al posto dei contenuti concreti e devono essere espressi in alcune forme particolari. La trasmissione di informazione deve avvenire in formato digitale. L'impiego del calcolatore all'interno delle nostre discipline non va ricondotto al semplice spingere i bottoni al fine di avere un vantaggio immediato, ma va visto come qualcosa che può essere portato nel nucleo di ciò che facciamo e che non ha un impatto neutro sulle nostre azioni, ma finisce per modificare, trasformare, i metodi che noi usiamo. Quindi non dobbiamo cadere nel pregiudizio che il calcolatore sia un "just a tool" , un semplice strumento per eseguire più facilmente dei problemi. Se all'inizio il computer veniva visto come una macchina utile per risolvere i problemi, si è passati ad una fase dove il computer non si è limitato a risolvere quei problemi, ma a creare nuovi problemi per giungere ad un assetto epistemico nuovo. Padre Busa diceva: il computer non serve per renderci meno umanisti ma per potenziare il nostro modo di esserlo per spingere la nostra ricerca oltre determinate soglie. Ricapitolando: il computer è una macchina in grado di risolvere problemi quando sono espressi tramite regole e queste regole servono per manipolare dei simboli. Le regole devono essere formalizzate, i simboli devono essere computabili, cioè espressi in forme accessibili alla macchina. Come sono articolati i computer? Possiamo distinguere nell'informatica due livelli fondamentali: l'hardware e il software. •Hardware è costituito dell'insieme dei dispositivi fisici: il computer e i suoi componenti (monitor, stampanti, schede grafiche, ecc.) e, più in generale anche tutti gli elementi che collegano i sistemi informatici come i cavi, le antenne... •Software è il livello logico costituito dalle istruzioni (i programmi) che consentono all'hardware di svolgere i propri compiti. Senza il software il computer non saprebbe cosa fare e neppure si avvierebbe regolarmente. Tutti i nostri dispositivi digitali senza il software sarebbero inutili. Quando avviamo i nostri computer, telefoni parte un software particolare: il sistema operativo. Comunemente diciamo: ho un sistema operativo android (samsung, hwaweii...), io ho un sistema operativo iOS (apple). e poi c'è il sistema operativo dei computer: windows di microsoft oppure MacOS di Apple.
Il sistema operativo riesce a gestire tutti i dispositivi fisici del computer e quindi riesce ad organizzare l'accesso alle risorse da parte dei vari programmi. Tutti i programmi che installiamo sono programmi applicativi. L'algoritmo. Abbiamo detto che le regole codificate dai programmi si chiamano algoritmi. Francis (haugen) ex dipendente di Pinterest, di Google ma soprattutto di Facebook. Di recente è diventata celebre per aver condiviso i documenti riservati di FB con il Wall Street journal ed ha attaccato il modello di business di fb. Facebook è un azienda privata e sappiamo benissimo che come tutte le aziende mettono davanti il profitto prima dell'etica. Facebook guadagna vendendo annunci e vende gli annunci a prezzo più caro se tiene gli utenti sulle sue piattaforme più a lungo possibile. Quindi fb consapevolmente favorirebbe attraverso gli algoritmi la visualizzazione di questo tipo di informazioni nel feed di notizie al fine di vendere di più. Definizione di algoritmo: "insieme di regole volte a risolvere un problema attraverso un insieme finito di operazioni". In genere queste operazioni sono molto semplici, ma devono rispondere a tre condizioni fondamentali: -l'algoritmo deve essere univoco e non ambiguo (non deve consentire margini di ambiguità e il significato dei comandi deve essere univoco) -finitezza ed eseguibilità delle istruzioni (ogni singolo passaggio deve essere portato a termine dall'esecutore in un numero finito di comandi elementari.) -terminatezza o completezza (la sequenza di comandi deve essere determinata e finita, e la procedura di questo imput prima o poi deve terminare) L'algoritmo è una definizione astratta, vale anche quando non è eseguito da un calcolatore. Quindi l'algoritmo in se è una procedura per la risoluzione di alcuni problemi in una serie di passi definiti. Il calcolatore è una macchina in grado di eseguire compiti quando espressi in modo formale, cioè basati su regole precise e comunicati attraverso un determinato codice. Queste regole individuano un algoritmo, quando sono espresse attraverso uno specifico codice e attraverso uno specifico linguaggio di programmazione diventano i programmi eseguibili dai nostri computer, le app eseguibili dai nostri telefoni e così via... I simboli che i calcolatori manipolano mediante, appunto, queste regole sono quelli che stanno al posto dei contenuti concreti e devono essere espressi in alcune forme particolari. Il problema della codifica dell'elaborazione del testo. Codifica del testo: come funziona?
Nelle discipline umanistiche quando diciamo che questi due testi sono uguali stiamo affermando l'identità per compitazione cioè stiamo affermando che i testi sono identici quando è identica la sequenza di lettere. Distinzione tra informatiche umanistiche specifiche (IU specifiche) e informatica umanistica trsversale (IU trasversale). Codifica come fatto trasversale: da ora in poi continueremo a tramandare la cultura su versione digitale dei testi e quindi dobbiamo fare una scelta e decidere quali testi vogliamo digitalizzare e quindi quale testo raggiungerà i secoli futuri e quale invece rimarrà a poche copie fisiche. Le biblioteche sono luoghi di conservazione ma sempre soggetti agli attacchi del tempo. Quando ci accingiamo a codificare dobbiamo scegliere quali proprietà dell'oggetto (testo) portare nell'ambito della rappresentazione digitale. Noi configuriamo la codifica non come una procedura meccanica di riproduzione, ma è una tematica filologica e semiotica (prettamente umanistica), come lo sono l'elaborazione della scrittura o quella della stampa Codifica di basso livello (o livello zero): Un codice può essere stabilito utilizzando simboli convenzionali, i codici utilizzano sempre simboli convenzionali. Nel linguaggio comune usiamo simboli arbitrari che corrispondono a un concreto fenomeno fisico nel mondo reale. In termini più rigorosi quello che si fa in una tabella del genere è definire una serie di corrispondenze biunivoche tra un sistema che è quello nostro (quello delle lettere) ed un determinato codice che nello specifico è la tabella di corrispondenza dei simboli creata dai ragazzini per codificare i caratteri normali. Codifica con numeri (decimali) Proviamo dunque a dire a questi ragazzi ti utilizzare un codice numerico al posto dei simboli. Ad ogni numero corrisponde una lettera e così tramite i numeri scriviamo il nostro messaggio (ciao mondo). A = 1; B = 2; C = 3 ecc... 0 = spazio il messaggio sarebbe: 39113 111312413 Ma ci rendiamo conto che la sequenza non quadra più perché se utilizziamo due numeri che rappresentano una determinata lettera dobbiamo allora aggiungere delle caselle in più. Una tabella di associazioni biunivoche e convenzionali tra gli elementi di un repertorio di caratteri e codici numerici (punti codice) Per riassumere •simboli di un determinato sistema di scrittura (il character set)
•la sequenza di valori binari (il code set) •i due set e le relazioni che li collegano definiscono un coded character set. ASCII (American Standard Code for Information Interchange) L'ascii nella sua prima versione utilizzava 7 bit per rappresentare tutte le lettere dell'alfabeto quindi 128 punti in termini di potenze. Possiamo codificare la A maiuscola e la a minuscola. Ma mancano gli accenti perché non erano indispensabili e li hanno tralasciati con grandi problemi per la codifica dei testi di altre lingue che fanno un uso abbondante di accenti. Con l'aumentare dei bit dedicati a ciascun carattere aumenta anche la quantità di memoria utilizzata per codificare questi testi e la memoria ha un costo, soprattutto nei primi tempi. (Ma senza andare lontano accade anche a noi: la differenza di prezzo tra un iPhone da 64gb o da 128gb.) e in più perché comunque per manipolare testi fatti con una sequenza più lunga di caratteri servono più risorse. Quindi decidere quanti bit utilizzare è una questione di economia. I limiti dell'ascii tradizionale sono stati risolti con la "famiglia" ISO-8859 uno standard con diverse specifiche operate per standardizzare tutti i caratteri utili per la codifica di altre lingue. In questa famiglia troviamo tanti set di caratteri dedicati a determinati sistemi linguistici che stendono l'ASCII a 8 bit effettivi e includono tutte le lettere accentate e altri tipi di caratteri. Il problema di questi ASCII estesi è che sono tutti uguali nelle prime 128 posizioni poi però divergono. Quando cominciamo a scrivere un file con uno di questi specifici ascii estesi non possiamo poi in corsa decidere di cambiare la famiglia perché su un altro codice abbiamo dei caratteri che ci servono, sono unicamente esclusivi. Molti problemi sono stati risolti quando è stato elaborato un set di caratteri universale che si chiama Unicode. Tutti i caratteri fanno parte della stessa tabella e quindi non c'é nessun problema di incompatibilità tra estensioni diverse. Attualmente abbiamo circa 150.000 caratteri, pero le versioni di Unicode vengono aggiornate costantemente potrebbero esserci altre estensioni. Come fa Unicode a rappresentare tutti questi caratteri? Ovviamente dovrà utilizzare più bit. Di tutto ciò dobbiamo tenere in mente soprattutto una cosa: per quanto riguarda la codifica del testo a livello 0 quello che abbiamo provato a creare è stata una catena ininterrotta di bit che rappresentano a loro volta una catena ininterrotta di lettere, segni di punteggiatura, spazi con alcuni caratteri di controllo. Quindi a questo livello abbiamo solo una catena di lettere maiuscole, minuscole, numeri, segni di punteggiatura e pochi caratteri di controllo. Manca tutto quello che l'utente medio potrebbe riconoscere nelle barre di formattazione del testo di word, manca la possibilità di mettere il grassetto, corsivo, sottolineati... quindi il testo non può essere rappresentato con queste proprietà, ma abbiamo detto che queste proprietà appartengono semplicemente alla rappresentazione visiva e poi non hanno a che fare con la sostanza del testo. Nell'informatica dobbiamo sempre tenere a mente l'aspetto percettivo e l'aspetto sostanziale. Mancano altri aspetti del testo, la suddivisione in capitoli, paragrafi, i titoli, una nota a piè di pagina.