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


Tecnologie e linguaggi per le digital humanities, Appunti di Fondamenti di informatica

Appunti di informatica umanistica (chiamata anche -->Tecnologie e linguaggi per le digital humanities), gli appunti contengono gli argomenti più trattati degli esami di informatica con relativa spiegazione degli esercizi da fare durante l'esame. Utilizzando questi appunti sono riuscita a passare l'esame teorica con una buona votazione.

Tipologia: Appunti

2018/2019
In offerta
40 Punti
Discount

Offerta a tempo limitato


Caricato il 02/04/2019

GinevraSenarega
GinevraSenarega 🇮🇹

4.5

(42)

12 documenti

1 / 16

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
FONDAMENTI DI INFORMATICA
ALGORITMO: procedimento che consente di ottenere un risultato attraverso un insieme di
passaggi in un determinato ordine. Ha quattro proprietà fondamentali:
finitezza: la sequenza deve essere finita
effettività: le istruzioni devono portare a un risultato
realizzabilità: le istruzioni devono essere eseguibili
non ambiguità: non deve essere ambiguo
Quindi un algoritmo deve essere:
finito
deve fornire almeno un risultato in uscita
definito e preciso
eseguibile
se opera su dati di ingresso, il campo di applicazione deve essere precisato
Può essere descritto attraverso:
pseudolinguaggio: linguaggio che descrive in maniera non formale le istuzioni.
Diagramma di flusso: schema che permette di descrivere le operazioni da
svolgere e le condizioni che devono essere rispettare tramite blocchi elementari
(questi possono descrivere un algoritmo solo se rispettano determinate condizioni).
SISTEMA NUMERICO BINARIO: sistema numerico posizionale in base 2 che utilizza solo
due simboli 0 e 1
BIT: singola cifra binaria è l'unità di misura fondamentale di un calcolatore.
BYTE: composto da 8bit e consente di rappresentare fino a 256 caratteri (da 0 a 255)
CODICE ASCII: ne esistono due versioni una versione standard che rappresenta fino a
128 caratteri (da 0 a 127) e sla versione esteso che rappresenta fino a 256 caratteri (da 0
a 255).
UNICODE: codice che rappresenta ogni carattere come un numero di 2 byte e quindi
rappresenta un massimo di 65536 caratteri (da 0 a 65535).
IMMAGINI DIGITALI: rappresentazioni di un'immagine bidimensionale tramite una serie di
valori numerici che la descrivono a secondo della tecnica:
immagini vettoriali
immagini bitmap
LINGUAGGIO DI PROGRAMMAZIONE: linguaggio utilizzato in informatica per dialogare
con i calcolatori. Ha due concetti fondamentali:
variabile
istruzioni
Esistono due tipi di linguaggio:
linguaggio di alto livello: linguaggio con sintassi simile al parlato
linguaggio di basso livello (linguaggio macchina): in stretta relazioni con
l'hardware utilizzato.
CONNETTIVO LOGICO: operazione che si instaura fra due proposizioni A e B che porta
a un risultato detto C che deve avere un valore vero o falso.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
Discount

In offerta

Anteprima parziale del testo

Scarica Tecnologie e linguaggi per le digital humanities e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

FONDAMENTI DI INFORMATICA

ALGORITMO: procedimento che consente di ottenere un risultato attraverso un insieme di passaggi in un determinato ordine. Ha quattro proprietà fondamentali:

  • finitezza: la sequenza deve essere finita
  • effettività: le istruzioni devono portare a un risultato
  • realizzabilità: le istruzioni devono essere eseguibili
  • non ambiguità: non deve essere ambiguo

Quindi un algoritmo deve essere:

  • finito
  • deve fornire almeno un risultato in uscita
  • definito e preciso
  • eseguibile
  • se opera su dati di ingresso, il campo di applicazione deve essere precisato

Può essere descritto attraverso:

  • pseudolinguaggio: linguaggio che descrive in maniera non formale le istuzioni.
  • Diagramma di flusso: schema che permette di descrivere le operazioni da svolgere e le condizioni che devono essere rispettare tramite blocchi elementari (questi possono descrivere un algoritmo solo se rispettano determinate condizioni).

SISTEMA NUMERICO BINARIO: sistema numerico posizionale in base 2 che utilizza solo due simboli 0 e 1

BIT: singola cifra binaria è l'unità di misura fondamentale di un calcolatore.

BYTE: composto da 8bit e consente di rappresentare fino a 256 caratteri (da 0 a 255)

CODICE ASCII: ne esistono due versioni una versione standard che rappresenta fino a 128 caratteri (da 0 a 127) e sla versione esteso che rappresenta fino a 256 caratteri (da 0 a 255).

UNICODE: codice che rappresenta ogni carattere come un numero di 2 byte e quindi rappresenta un massimo di 65536 caratteri (da 0 a 65535).

IMMAGINI DIGITALI: rappresentazioni di un'immagine bidimensionale tramite una serie di valori numerici che la descrivono a secondo della tecnica:

  • immagini vettoriali
  • (^) immagini bitmap

LINGUAGGIO DI PROGRAMMAZIONE: linguaggio utilizzato in informatica per dialogare con i calcolatori. Ha due concetti fondamentali:

  • variabile
  • istruzioni

Esistono due tipi di linguaggio:

  • linguaggio di alto livello : linguaggio con sintassi simile al parlato
  • linguaggio di basso livello ( linguaggio macchina ): in stretta relazioni con l'hardware utilizzato. CONNETTIVO LOGICO: operazione che si instaura fra due proposizioni A e B che porta a un risultato detto C che deve avere un valore vero o falso.

Principali connettivi logici:

  • congiunzione logica E : risulta vera solo se sia A che B sono vere
  • disgiunzione inclusiva O : risulta vere solo se almeno una delle due è vera
  • negazione NOT : agisce solo su una proposizione, quindi, date A e A^, A è vera solo se A^ è falsa e viceversa.

HARDWARE: si tratta delle parti fisiche del computer. SOFTWARE: programmi che servono a utilizzare i computer.

CPU: è l'unità centrale di elaborazione detta anche “processore”, si tratta di un circuito digitale sincrono in cui si diramano gli impulsi elettrici. La sua velocità si misura in Hertz e le moderne CPU operano a più di 1GHz al secondo, ovvero, vengono scritte un miliardo di istruzioni al secondo attraverso il linguaggio macchina. La CPU è composta da:

  • CU: unità centrale di controllo, si occupa di controllare il flusso dei dati da e per le unità di I/O e la memoria
  • ALU: unità logico aritmetica che si occupa di fare i conti
  • Registri: piccole particelle di memoria di lavoro interne
  • Cache: memoria associativa hardware interna o esterna alla CPU.

DA COSA DIPENDONO LE PRESTAZIONI DI UN COMPUTER?

  • Velocità/frequenza CPU
  • quantità di memoria
  • quantità di compiti che il computer può svolgere

CICLO DI FETCH-DECODE-EXECUTE: dinamica generale di funzionamento dei processori dei computer. FETCH: prelievo della memoria di lavoro dell'istruzione DECODE: decodifica in linguaggio assembly EXECUTE: esecuzione dell'istruzioni decodificate

MEMORIA CENTRALE: si tratta di una memoria ad accesso diretto suddivisa in RAM e ROM, due memorie costituite da chip e fissate nella scheda madre.

  • RAM: memoria veloce dove vengono scritti i dati su cui opera la CPU e i programmi che si stanno eseguendo. È di tipo volatile quindi una volta spento il computer i dati spariscono.
  • ROM: è una memoria che la CPU può solo leggere e non scrivere, contiene le informazioni sull'hardware e piccoli programmi, è una memoria non volatile, ovvero, i dati persistono anche se spengo il computer.

MEMORIA: contiene una sequenza finita di celle, ogni cella possiede un indirizzo indicato da un numero intero positivo e contiene al suo interno un numero finito di bit.

SOFTWARE: si divide in due:

  • DI SISTEMA: controlla il funzionamento di computer, contiene la BIOS r il SISTEMA OPERATIVO.
  • (^) APPLICATIVO: è un software specializzato che offre servizi agli utenti.

BIOS: si tratta di un software memorizzato nella ROM, i suoi compiti sono pochi ma essenziali:

  • verifica presenza CPU
  • verifica presenza quantitativo medio di memoria RAM
  • verifica la presenza di un sistema operativo

DOWNLOAD(SCARIMENTO): operazione mediante la quale si trasferiscono file da un computer remoto al nostro.

UPLOAD(CARICAMENTO): operazione mediante la quale si trasferiscono i file dal nostro computer a uno presente in rete.

VELOCITà DI TRASMISSIONE: quantità di bit che si può inviare o ricevere in un secondo, questa si misura in baud ovvero bit per secondo.

LARGHEZZA DI BANDA: linea usata per trasmettere i segnali del modem, anche questa si misura in baud.

TIC: tecnologie dell'informazione e della comunicazione. È l'insieme delle tecnologie per l'elaborazione, memorizzazione, l'utilizzo e la comunicazione di informazioni.

PODCAST: feed RSS a cui è aggiunto un contenuto audio e/o video. È un programma radio o video registrato e reso disponibile su internet.

VoIP: conversazione telefonica che avviene utilizzando la connessione Internet.

FEED RSS: rappresentano la possibilità di creare informazioni su qualsiasi argomento che l'utente potrà vedere nella stessa pagina.

ESTENSIONI:

File documento di testo:

  • TXT
  • HTM/HTML
  • PDF
  • RTF
  • DOC
  • DOCX
  • SXW
  • ODT

File compressi:

  • RAR
  • ZIP
  • ACE
  • TAR
  • GZIP
  • 7Z
  • SIT, SITX

Formati grafici:

  • BMP
  • (^) GIF
  • JPEG
  • (^) TIFF
  • SWP
  • (^) DWG
  • DRV
• IGS
• PNG
• PSD
• PSP
• XLS
• XLSX
• SXC
• ODS
• PPT
• PPTX
• SXI
• ODP
EQUAZIONI BOOLEANE:
OR (+)

AND(x) NOT 0= NOT 1=

ARCHITETTURA DI VON NEUMANN:

  • CPU (processore) diviso in ALU e CU
  • Unità di memoria
  • Unità di ingresso
  • Unità di uscita
  • Bus: canale che collega tutti i componenti fra loro Questa architettura si distingue per il fatto di immagazzinare all'interno dell'unità di memoria sia i dati del programma che il codice.

MEMORIA: sequenza finita di celle che contengono una sequenza finita di bit, ogni cella è individuata ad un preciso indirizzo indicato da un numero intero.

Operazioni effettuate sulla memoria di un computer:

  • INIALIZZAZIONE: trattamento che subisce la memoria prima dell'uso
  • (^) SCRITTURA: operazione di memorizzazione delle informazioni.

ARCHITETTURA DELLA CPU: è un circuito digitale sincrono, il suo stato cambia ogni volta che riceve un impulso da un segnale CLOCK che determina la velocità generativa. Per fare in modo che i segnali siano sempre a sincrono questi si diramano attraverso una struttura ad albero.

SCHEDA MADRE: parte fondamentale di un moderno computer che raccoglie in sé tutta la circuiteria elettronica di interfaccia fra i vari componenti principali. COMPOSTA DA: un circuito stampato formato da strati di vetronite e rame (da 4 a 6). Da queste sono ricavate le piste che collegano i componenti.

PARTI SCHEDA MADRE:

  • CPU SOCKET : zoccolo zif che accoglie la CPU
  • ROM: contiene il BIOS della scheda madre

Il traduttore a pila, invece, è una 9-upla <Q, I, |-, D,q0,F,O,n>

  • O: insieme finito di valori di uscita
  • n: è la funzione di uscita Q x (I U{e}) x |- → C

MACCHINA DI TURNING: costituita da:

  • nastro di ingresso T
  • nastro di uscita T
  • k nastri di memoria
  • dispositivo di controllo dotato di un numero finito di stati caratteristiche:
  • ogni nastro è illimitato a destra
  • ciascuna delle celle può contenere un solo simbolo scelto tra un insieme finito di simboli
  • il nastro viene letto da una testina
  • la testina del nastro di ingresso non può scrivere
  • la testina del nastro di uscita non può leggere o muoversi a sinistra

ALGORITMO ED ESECUTORE: Non esiste algoritmo se non esiste sistema in grado di eseguirlo.

L'esecuzione di un algoritmo A [x ,y] in corrispondenza di un dato X e D e Y e R viene detta computazione

  • X e D: sono il dominio dei dati
  • Y e R: sono il dominio dei risultati Se la computazione è finita l'algoritmo produce come risultato Y e R. Se la computazione è infinita il valore di Y resta indefinito. Algoritmo: testo che descrive come risolvere un problema Computazione: esecuzione di un algoritmo

XML: metalinguaggio per la definizione di linguaggi di MARKUP

MARKUP : linguaggio che permette di descrivere i dati attraverso una formattazione specifica che utilizza i cosiddetti tag, che non sono altro che dei marcatori. (definizione trovata in una vecchia esercitazione: tecnica di composizione del testo utilizzando marcatori o codici)

PROTOCOLLI: HTTP: protocollo trasmissione ipertesto IP: protocollo di interconnessione DNS: protocollo utilizzato per la risoluzione di nomi di dominio POP: protocollo che permette l'accesso ad un account di posta elettronica TCP: protocollo di controllo di trasmissione UDP: protocollo di inoltro semplice SMTP: simple mail transfor protocol HTTPS: utilizzato per trasmettere pagine web criptate

HTTP://: tipo di protocollo utilizzato WWW: server web .UNIGE: dominio di secondo tipo .IT: dominio di primo tipo /RICERCA/: directory contenente il documento da visualizzare STRUTTURA.HTML: nome del documento da visualizzare

00000000 → + 10000000 → -

SISTEMA OPERATIVO: componente software fondamentale di un calcolatore. Formato da diversi programmi interagenti e cooperanti al fine di: gestire efficientemente il calcolatore e le sue periferiche. Crea quindi un ambiente virtuale che permette l'interazione uomo macchina. Un sistema operativo può quindi essere monoutente o multiutente. Monoutente se tutto l'intero sistema è dedicato a un utente solo, multiutente se il sistema è condiviso da più utenti. Si tratta quindi di un insieme di programmi molto complesso ma per facilitarne la sua concezione il sistema operativo è organizzato su strati funzionali. Questa organizzazione a strati garantisce una struttura modulare in cui ciascun modulo esporta funzionalità verso l’esterno e mantiene al suo interno i propri meccanismi implementativi.

SISTEMA OPERATIVO: GERARCHIA A 5 STATI

UTENTE INTERPRETE DEI COMANDI: svolge in modo invisibile una serie di operazioni che permettono all'utente di attivare i programmi.

FILE SYSTEM: si occupa della gestione dei file in memoria di massa. Struttura i dati in file, li organizza in cartelle e fornisce all'utente un insieme di funzioni di alto livello per operare su di essi.

GESTORE DELLE PERIFERICHE: attraverso i driver gestisce tutte le operazioni di ingresso/uscita delle periferiche di input/output.

GESTORE DELLA MEMORIA: si occupa di posizionare e partizionare la memoria tra i vari programmi del computer. Offre agli strati superiori una macchina virtuale in cui ciascun programma opera come se avesse una sua memoria dedicata.

GESTORE DEI PROCESSI(NUCLEO): si occupa dell'esecuzione dei programmi da parte dell'unità di elaborazione (CPU). Questo strato opera come se ciascun programma avesse un'unità di elaborazione dedicata. MACCHINA VIRTUALE

COMPILATORE: programma che traduce una serie di istruzioni di alto livello in istruzioni scritte in un linguaggio eseguibile dalla macchina sottostante.

INTERPRETE: interprete, a differenza del compilatore, riceve il programma sorgente in ingresso e lo esegue direttamente senza produrre un codice oggetto.

LIBRERIA SOFTWARE: è un insieme di funzioni di uso comune, predisposte per essere collegate ad un programma software. Lo scopo è quello di fornire una vasta collezione di

ESEMPIO ESERCIZIO GRAMMATICA BNF:

Definire una grammatica G in grado di descrivere il seguente problema: <Una espressione aritmetica viene definita come una somma oppure differenza di termini. Un termine può essere un numero oppure una moltiplicazione di fattori oppure una divisione di fattori. Un fattore può essere un numero oppure un'espressione aritmetic racchiusa tra parentesi>Per descrivere le regole (o produzioni) della grammatica utilizzare il formulario BNF: ::= + | - ::= x | : ::= | <(SOMMA ARITMETICA)> Per le equazioni booleane ricorda che: Le cose da sapere sono le seguenti: Si scrive così: <PARTE_SINISTRA>::=<PARTE_DESTRA> quindi è composta sempre da una parte sinistra (dove troviamo i simboli non terminali) e una parte destra (dove troviamo i simboli terminali, che non compaiono mai a sinistra). Altre cose fa considerare:

  • le barre verticali | stanno a significare “oppure” – le quadre [ ] significano “può essere” e identificano una probabilità.
  • Le righe che comporranno la grammatica saranno le regole di produzione della grammatica.

PROCESSO: l’insieme delle azioni eseguite da un processore quando esegue un programma.

PROCESSORE: unità, sotto forma di circuito stampato o di chip singolo, in cui ha luogo l’elaborazione.

ESEMPIO EQUAZIONE BOOLEANA:

A = 1 B = 0 C = 1 Z = (A AND NOT (B) AND (B OR (A AND C)) AND (NOT (A) OR NOT (B AND C)) Z = (1 x NOT (0) x (0 + (1 x 1)) x (NOT (1) + NOT (0 x 1) Z = (1) x (1) x (0+1) Z= 1 x 1= 1 Ricorda che nelle equazioni booleane (1+1) o (1 x 1) il risultato è sempre 1.

CODA: struttura di dati basata su una politica di tipo FIFO (First In First Out). DRIVER: insieme di procedure software che permette ad un sistema operativo di pilotare un dispositivo hardware.

INTERLINEA: spazio bianco tra una riga e l’altra in una composizione di stampa. PROGRAMMA SORGENTE: sono tutti i programmi scritti con un linguaggio di alto livello (es. C, C++, Java), ovvero un linguaggio più vicino all’italiano.

AUTOMA IDENTIFICATORE DI STRINGE E NUMERI:

Lettera

AUTOMA TRADUTTORE DI LINGUAGGIO:

c/C

AUTOMA CHE RAPPRESENTA IL CICLO DI VITA DI UN PROCESSO:

interruzione esterna, fine quanto di tempo

primo processo pronto

Inizio^ q1q0q1q esecuzione

Processo in esecuzione

Fine esecuzione

Abort per errore

Processo in attesa

Processo pronto

F

(blocco utilizzato per rappresentare funzione stampa)

SIGNIFICATO BLOCCHI ELEMENTARI DIAGRAMMA DI FLUSSO :

Blocco di inizio e fine

Blocco di lettura e azione (esempio: A=0 o A <- A+A)

Blocco di controllo. Da questo si diramano due frecce denominate Vero (V)

STOP A

E Falso (F)

Blocco utilizzato per indicare il dato che il nostro diagramma di flusso dovrà

Stampare.

PROPRIETA’ ROUTER:
  • È un dispositivo di rete deputato alla commutazione di livello 3 del modello ISO/OSI
  • è un dispositivo di rete che, in una rete a commutazione di pacchetto , si occupa di instradare i dati

PROPRIETA’ CSS:

  • è un linguaggio di formattazione dei documenti HTML
  • è un linguaggio di formattazione dei documenti XHTML
  • è un linguaggio di formattazione dei documenti XML
  • le regole per comporre il CSS sono contenute in un insieme di direttive emanate dal W3C.
PROPRIETA’ JAVASCRIPT:
  • linguaggio di scripting orientato agli oggetti
  • utilizzato nella programmazione lato client per creare siti web, applicazioni web, effeti dinamici interattivi
  • è un linguaggio interpretato
  • definisce le funzionalità tipiche dei linguaggi di programmazione ad alto livello
STRUTTURA AD ALBERO:
  • Possiede un solo cammino per ogni coppia di vertici
  • È un grafo aciclico

DIVERSI OUTPUT I JAVA:

  • utilizzando il tag document.write(): si aprirà una seconda pagina con scritto con scritto ciò che potremmo trovare tra parentesi.
  • Utilizzando il tag alert(): si creerà un una piccola finestra al di sopra della pagina (Pop-Up) nella quale troveremo scritto ciò che c’è tra parentesi
RICORDARE BENE:

1B = 8 bit

1KB = 2^10 B = 1024 B

1 MB = 2^

ESEMPI DI ESERCIZI:

Una memoria di 16 KB organizzata a parole di 32 B può contenere una parola all’indirizzo di memoria corrispondente a 2^10?

Ecco come svolgere l’esercizio:

trasformare i KB in potenza di 2 -> 1KB = 2^

trasformare il 16 in potenza di 2 -> 2^

sommare i due risultati -> 2^10 + 2^4 = 2^

ora dobbiamo trasformare il 32 in potenza di 2-> 2^

e sottrarre i risultati ottenuti ovvero -> 2^14 -2^5 = 2^

Quindi questa memoria non può contenere la parola corrispondente a 2^10.

Dato l’alfabeto italiano di 21 simboli, quanti bit occupa una parola di 8 caratteri?

Ecco come svolgere questo esercizio:

trovare la potenza di 2 che possa contenere il primo numero, in questo caso il 21. La prima potenza che può contenere questo numero è 2^

ora bisogna moltiplicare la potenza del 2^5 al secondo numero, ovvero, l’8.

Quindi = 5 x8= 40.

La parola, quindi, può contenere 40 caratteri.