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


Introduzione all'informatica: Architettura e Linguaggi, Schemi e mappe concettuali di Fondamenti di informatica

Una panoramica introduttiva all'informatica, coprendo concetti fondamentali come l'architettura di von neumann, i linguaggi di programmazione e i sistemi numerici. I componenti principali di un computer, tra cui la cpu, la memoria centrale (ram) e le periferiche, e spiega il funzionamento dei linguaggi di programmazione compilati e interpretati. Inoltre, il documento introduce i sistemi numerici binario ed esadecimale, fornendo esempi di conversione tra basi.

Tipologia: Schemi e mappe concettuali

2015/2016

Caricato il 19/12/2024

claudia-boniforti
claudia-boniforti 🇮🇹

1 documento

1 / 17

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA !
Informazione (tutto ciò che possiede un significato per l’uomo) + automatica (senza
l’intervento dell’uomo)!
Evoluzione
È iniziata come computer science, tuttavia molto restrittivo; per questo si è evoluta in
information technology e infine in information and comunication technology. !
Funzioni principali
Computer =calcolatore o elaboratore, ossia macchina per risoluzione di problemi generici!
-elaborazione ossia trattamento dei dati, sotto forma di calcoli aritmetici o logici !
-Archiviazione ossia rappresentazione dei dati sotto forma di numeri interi, reali,
alfanumerici. !
-Trasmissione ossia invio segnali analogici o digitali (inventata come strategia militare) !
Linguaggio !
Per comunicare con la macchina dobbiamo usare un linguaggio particolare che
sostituisce dei simboli agli oggetti e ai concetti. !
Esistono due tipi !
-naturale: utilizzato dall’uomo (come le lettere dell’alfabeto, linguaggio verbale) !
-Formale: creato artificialmente con l’utilizzo di regole senza eccezioni, non ha ambiguità !
come il semaforo rosso, giallo, verde oppure la numerazione binaria (0,1) o
decimale (0 -9) oppure il linguaggio morse (come - . ) !
In un calcolatore tutte le informazioni sono rappresentate in forma binaria, come
sequenze di 0 e 1, in quanto per motivi tecnici è più facile distinguere tra due valori di una
grandezza fisica piuttosto che tra dieci valori. !
Es. !
1 1 = verde!
1 0 = giallo!
0 1 = rosso!
0 0 = spento!
con due lampadine (numeri) ho creato 4 stati diversi (con 10 valvole quindi arrivo a
1124 stati) !
La più piccola unita di informazione memorizzabile o elaborabile da un calcolatore, il bit
(Binari digiT), corrisponde a uno dei due stati di un dispositivo fisico. !
I bit combinati tra loro (come l’esempio del semaforo) possono rappresentare i numeri
interi. !
Architettura dei calcolatori
È composto da: !
hardware = sono i componenti lfisici che tocchiamo come i circuiti. composto da
elementi elettrici, elettronici, meccanici, ottici. All’interno dell’hardware fanno parte i
dispositivi di memoria, processore, peroferiche e bus. !
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Introduzione all'informatica: Architettura e Linguaggi e più Schemi e mappe concettuali in PDF di Fondamenti di informatica solo su Docsity!

INFORMATICA

Informazione (tutto ciò che possiede un significato per l’uomo) + automatica (senza l’intervento dell’uomo) Evoluzione È iniziata come computer science, tuttavia molto restrittivo; per questo si è evoluta in information technology e infine in information and comunication technology. Funzioni principali Computer =calcolatore o elaboratore, ossia macchina per risoluzione di problemi generici

  • (^) elaborazione ossia trattamento dei dati, sotto forma di calcoli aritmetici o logici
  • (^) Archiviazione ossia rappresentazione dei dati sotto forma di numeri interi, reali, alfanumerici.
  • (^) Trasmissione ossia invio segnali analogici o digitali (inventata come strategia militare) Linguaggio Per comunicare con la macchina dobbiamo usare un linguaggio particolare che sostituisce dei simboli agli oggetti e ai concetti. Esistono due tipi
  • (^) naturale: utilizzato dall’uomo (come le lettere dell’alfabeto, linguaggio verbale)
  • (^) Formale: creato artificialmente con l’utilizzo di regole senza eccezioni, non ha ambiguità come il semaforo rosso, giallo, verde oppure la numerazione binaria (0,1) o decimale (0 -9) oppure il linguaggio morse (come -. ) In un calcolatore tutte le informazioni sono rappresentate in forma binaria, come sequenze di 0 e 1, in quanto per motivi tecnici è più facile distinguere tra due valori di una grandezza fisica piuttosto che tra dieci valori. Es. 1 1 = verde 1 0 = giallo 0 1 = rosso 0 0 = spento con due lampadine (numeri) ho creato 4 stati diversi (con 10 valvole quindi arrivo a 1124 stati) La più piccola unita di informazione memorizzabile o elaborabile da un calcolatore, il bit (Binari digiT), corrisponde a uno dei due stati di un dispositivo fisico. I bit combinati tra loro (come l’esempio del semaforo) possono rappresentare i numeri interi. Architettura dei calcolatori È composto da:
  • hardware = sono i componenti lfisici che tocchiamo come i circuiti. composto da elementi elettrici, elettronici, meccanici, ottici. All’interno dell’hardware fanno parte i dispositivi di memoria, processore, peroferiche e bus.
  • Middleware = EPROM ossia Erasable Programmable Read Only Memory, ROM (è una memoria cancellabile e riprogrammabile) + firmware ossia microprogramme per ROM (programmi che ci dicono cosa fare).
  • softwere = componenti logici (chiamati programmi) eseguiti dal sistema. All’interno del software fanno parte i film sistema e il sistema operativo. Classificazione tradizionale dei calcolatori
  • (^) microcomputer o pc
  • (^) Workstation
  • (^) Minicomputer
  • (^) Mainframe
  • (^) Supercomputer (elaboratori per il calcolo parallelo) Hardwere ARCHITETTURA DI VON NEUMANN
  • (^) B us di sistema Il bus di sistema è il mezzo di con dizione delle informazioni all’interno del calcolatore Esistono diversi tipi di bus
  • (^) bus dati : trasmissione dati da e a CPU o altri dispositivi (cosa trasmettere)
  • (^) Bus indirizzi : trasmissione indirizzi a RAM
  • (^) Bis controlli
  • (^) Il CPU (central processing unit) Il CPU o processore ha tre funzioni, in primis acquisisce un’istruzione, la interpreta quindi capisce il comando per questo esso deve essere scritto con un linguaggio corretto, e infine esegue le istruzioni dei programmi, quindi coordina la macchina Le singole istruzioni provengono dalla memoria centrale chiamata RAM
  • (^) 1 GB (Giga) = 1024 MB = 2^30 Bytes = 10^9
  • (^) 1 TB (Tera) = 1024 GB = 2^40 Bytes = 10^12
  • (^) 1 PB (Peta) = 1024 TB = 2^50 Bytes = 10^15
  • (^) 1 EB (Exa) = 1024 PP = 2^60 Bytes = 10^18 Periferiche (dispositivi) Sono aggeggi c he si attaccano tramite dei cavi per dare un’input maggiore Possono essere locale o standalone (come tastiera, mouse, video, disco, stampante…) oppure remoto o networking (come WI-FI, bluetooth..). Per input si intendono i dati che il programma riceve in ingresso Per output si intendono i dati che il programma trasmette in uscita verso un soggetto terzo. Memoria di massa Serve per memorizzare dati in modo permanente ma più lenta, è una memoria persistente quindi capiente ma lenta.
  • (^) dispositivi elettromeccanici (dischi magnetici, ottici)
  • (^) Dispositivi elettronici (USB drive)
  • (^) Dispositivi obsoleti (floppy, nastri, schede perforate) Softwere È l’insieme dei programmi e delle procedure che servono a finalizzare gli strumenti fisici alla risoluzione del problema presentato dall’utente del sistema. È un insieme di data o di istruzioni che dicono al computer come lavorare. Ci sono due tipi software :
  1. sistema base o operativo
  2. Sistema applicativo 1) sistema operativo insieme di programmi che servono all’utente o alle applicazioni informatiche di accedere alle operazioni di base dell’hardware (la funzione principale è avviare i programmi). Modularita In informatica, è una caratteristica di un sistema o di un programma che si compone di unita distinte, ognuna delle quali assolve in genere un compito specifico ed è capace di interagire con le altre. Modulari dei sistemi operativi (domanda esame) Composto da 5 strati :

2) Software applicativo chiamato anche programma /codice/ applicazione /app. Sono tutti quei programmi non necessari per il funzionamento del computer, ma che lo rendono specializzato in una particolare funzione durante tutto il periodo di funzionamento applicativo. Questi programmi si distinguono in due tipi:

  • (^) sorgente (linguaggio di alto livello), è un linguaggio artificiale, si basa sull’inglese, punteggiatura e regole di sintassi
  • (^) Eseguibile (linguaggio macchina), non lo usiamo in quanto troppo difficile Licenze
  • (^) software commerciale/ proprietario se se copiato infrange varie regole
  • (^) Freeware, vuol dire che si può provare per un po gratis e dopo tot tempo bisogna comprare la licenza (es 30 giorni)
  • (^) Open-source, normalmente e gratuito quindi si può usare e addirittura venderlo (es. mysequel)
  • (^) Proprio codice (scriviamo noi un programma, come si fa? Lo vediamo nella lezione 2) Lezione 2 (sistemo tutti gli appunti) Come scrivere un programma Si parte da un problema, che va analizzato (procedimento che svolgono gli ingegneri per trovare l’algoritmo risolutivo, ossia cosa fare per risolvere in modo automatico e meccanico il problema), con il tempo questo ruolo lo svolge anche il programmatore. Il problema viene espresso con un linguaggio naturale, tuttavia ha il difetto di ambiguità e male interpretazione, ciò non va bene, per questo avremo bisogno di strumenti differenti. Il problema va analizzato ossia scomposto in tanti sottoproblemi. L’algoritmo è una serie di informazioni create per risolvere il problema, esso viene espresso in uno pseudo linguaggio ridotto in ordini precisi con il loro significato. Tempo fa si usavano dei disegni che descrivevano le cose da fare tramite dei simboli (esso è un tipo di pseudolingiaggio che non usa le parole ma i simboli). Una volta scomposto il problema, avendo capito cosa bisogna fare per trasformare i dati in risultati in algoritmo e lo trascriviamo usando un linguaggio di altro livello ossia un linguaggio artificiale inventato per preparare le cose che vogliamo la macchina faccia. Questo linguaggio è costruito per evitare ambiguità e rendere il linguaggio più semplice e preciso possibile (il linguaggio che noi useremo è Python). Una volta che abbiamo scritto questo testo (risoluzione del problema) in questa lingua nuova, la macchina non lo capisce in quanto essa è in grado di capire solo un certo tipo di linguaggio (linguaggio macchina). Noi non dobbiamo scrivere questo tipo di linguaggio ma scrivere il testo in Pyton e poi tramite il programma di assemblaggio il testo viene tradotto in linguaggio macchina. Un problema è dovuto dall’interprete ossia colui che traduce la frase. Es. problema —> calcola l’area del quadrato Algoritmo —> 1) scegli un numero 2) calcola la radice quadrata 3) mostra il risultato Codice sorgente —> in linguaggio pyrot Traslazione —> linguaggio computer

**Sistemi di numerazione

  1. sistema decimale** composto da 10 numeri che combinati tra loro ne formano altri.
  2. Sistema binario Overflow = sforare la capacita, superare i limiti Nel sistema binario è molto importante il Conteggio : ▪ In base dieci (dec) da 9 si passa a 10 da 99 si passa a 100 da 999 si passa a 1000

▪ In base due (bin) da 1 si passa a 10 da 11 si passa a 100 da 111 si passa a 1000 Conversione in decimale (da binario)

Massimo numero rappresentabile Con 4 bit (binary digit) è 15, se superiamo il 15 andiamo in overflow (il 16 non va bene) Con 6 bit il massimo numero rappresentabile è 63 (basta fare due alla sesta meno uno) Con 8 bit il massimo numero rappresentabile è 255 (basta fare 2 alla ottava meno uno) IMP ESAME!!! Quanti possibili numeri di stati abbiamo in 255? Sono 256 (bisogna contare anche lo 0) Con quattro bit (binary digit) 0000 = 0 0001 = 1 1110=

+2=8+4+2= 1111 = 2

  • 2
  • 2 + 1 = 15 = 2
  • 1 1 0000 = 2

= 16 Sistema decimale: Conversione da decimale a binario Numero 84 in binario? 84 : 2 =42 resto 0 42 : 2 = 21 resto 0 21 : 2 =10 resto 1 10 : 2 = 5 resto 0 5 : 2 = 2 resto 1 2 : 2 = 1 resto 0 1 : 2 = 0 resto di 1 (devo sempre dividere per 2 ottenendo come resto 1) Quindi numero binario è 1010100 (parto dall’ultima divisione che ho fatto) Esempio 2565 = 256 + 0,5 (0,5 = 10 elevato alla -2) 0,1 = 2 elevato alla -1 = 1/2 = 0, 256 = 2 elevato alla ottava = (100000000,1)2 = 2 alla ottava + 2 alla -1 = 256+ 0,5= 256, Esempio 73, 73 : 2 = 36 resto 1

Lezione 3 ALGEBRA BOOLEANA In matematica, informatica ed elettronica, l’algebra di Boole è un ramo dell’algebra astratta che comprende tutte le algebre che operano con i soli valori di verità 0 o 1, detti variabili booleane o logiche. L’algebra booleana è finalizzata al calcolo preposizionale. Per proposizione si intende una frase alla quale puoi essere attribuito un valore di verità: vero o falso. Calcolo proposizionale Le proposizioni anatomiche possono essere unite con dei connettivi, l’unione di piu proposizioni mi danno delle proposizioni complesse che alla fine avranno un solo risultato (vero o falso). Dalle proposizioni possiamo ottenere delle Proposizioni Composte, noi useremmo soprattutto “And, Or, Not, Xor” = operatori logici.

  1. AND Quando A è falso B è falso, se a è falso e B è falso allora sara falso (per 0 intendiamo falso per 1 vero). Si indica 𝐴∙𝐵 𝐴∧𝐵
  2. OR Basta uno dei due dia vero affinché la proposizione composta sia vera. Si indica 𝐴+𝐵 𝐴∨𝐵
  3. NOT Ossia la negazione, se A e vero il non A è falso (e viceversa). Si indica ¬𝐴 oppure A con un trattino sopra. A B A and B 0 0 0 0 1 0 1 0 0 1 1 1 A B A or B 0 0 0 0 0 1 1 0 1 1 1 1 A Not A 0 1

Proprietà degli operatori logici Doppia negazione mi da opposizione originale Leggi (teoremi) di de Morgan Gli operatori logici visti fino ad adesso possono essere facilitati usando le seguenti regole Not (A and B) = (not A) or (not B) Not (A or B) = (not A) and (not B) Se ho la negazione di A or B non e altro che la negazione di A and B

  1. XOR esecutiva. Si indica con 𝐴⊕𝐵 1 0 A Not A A B A xor B 0 0 0 0 1 1 1 0 1 1 1 0

= ((not A) and B) or (A and Vero) = ((not A) and B) or A = ((not A) or A) and (B or A) = Vero and (B or A) = A or B Quindi tutto il passaggio fatto serve per dire che la f(A,B)= A or B. RAPPRESENTAZIONE INTERNA DEI DATI Nei calcolatori si riconoscono 4 rappresentazioni elementari di base, in base al numero di BIT possiamo avere rappresentazioni di tipo

  • (^) Shortint (con 8 bit il valore limite va da -128 a +127)
  • (^) Byte (con 8 bit posso rappresentare da 0 a 225)
  • (^) Integer (con 16 bit il valore limite va da -32.768 a +32.767)
  • (^) Longint (con 32 bit il valore limite va da -2147483648… a +2147483647)
  • (^) World (con 16 bit il valore limite va da 0 a +65.535) Numeri interi con segno Sistema con modulo e segno (MS) (+5) 10 = (????'????)2MS = ( 0 000'0101) 2MS (–5) 10 = (????'????)2MS = ( 1 000'0101) 2MS ▪Difetti (maggiori calcoli e confronti) ➢Esiste +0 e – ➢Operazioni aritmetiche: se A>0 e B>0, ... n = 8b = 1B Traslazione di k = 2( n –1)^ – 1
  • 11111111 = 255 = 255 - 127 = 128
  • 100000000 = 128 = 128 - 127 = 1
  • 011111111 = 127 = 127 - 127 = 0
  • 00000000 = 0 = 0 - 127 = - Rappresentazione interna degli interi con segno Gli interi della rappresentazione sono usati in parte per i valori positivi ed in parte per quelli negativi. Segno e valore assoluto (MS): In base 10 se la prima cifra è 0 per i positivi e 1 per i negativi si avrebbe Ci sono due problemi: 1)lo 0 ha due rappresentazioni 00, 10
  1. Le operazioni si fanno con difficolta (+4) + (-2) = 04 + 12 = 16? Complemento alla base (aritmetica dei contatori) : In base 10 su due cifre si osserva che 00 coincide con 100, quindi:
  • (^) per i positivi, partendo da 00, si incrementa
  • (^) Per i negativi, partendo da 100, si decrementa I due problemi non ci sono piu:
    1. La rappresentazione dello 0 è una ossia 00
    2. Le operazioni si fanno facilmente (+4) + (-2) = + Infatti su 2 cifre 04+ 98 = 02 la prima cifra a sinistra non è rappresentata Per esempio in base due su quattro si osserva che 0000 coincide con 10000, quindi:
  • (^) per i positivi partendo da 0000 si incrementa
  • (^) Per i negativi, partendo da 10000, se decrementa Numeri interi con segno Il sistema ha complemento a due (CA2) e l’ordinamenro è mantenuto. La sottrazione con una addizione: +3 + (-5) = - 0011 + 1011 = 1110 Inversione di segno rapida : (–5) 10 →(5) 10 = (0101) 2 →not(0101) = 1010 →1010 + 1 = (1011) 2 Numeri reali in virgola fissa
  • (^) rappresentazione in virgola fissa a = xxxx.dddd
  • Forte riduzione dell’intervallo numerico rappresentato

Normalizzazione: 1 ≤ /𝑥/ < 𝑏 Mantissa ed esponente Per il sistema binario?

  • (^) −118,5: segno, esponente e mantissa.
  • (^) Numero negativo→primo bit è "1"
  • (^) (118,5)D→(1110110.1)B
  • Spostare la virgola verso sinistra (normalizzazione), lasciando solo un 1 (bit implicito) alla sua sinistra: 1110110.1 → 1. 1101101 × 26
  • (^) Mantissa (a destra della virgola) per riempire i 23 bit: 11011010000000000000000
  • (^) L'esponente 6 → 6 + 127 = (133)D (standardizzato) → (10000101)B Esempi di rappresentazione dei relai in virgola mobile BIT di PARITA Parità PARI: “Il numero di 1 trasmessi è PARI” ▪dato da trasmettere: (54) H ▪in binario: (54)H = (1010100)B ▪3 uni→bit di parità pari = 1 ▪ dato trasmesso: ( 1 1010100) (^) B Parità DISPARI: “Il numero di 1 trasmessi è dispari”

Lezione 4 PHYTHON È un linguaggio di programmazione di alto livello, interpretato, General- pourpose. Creato dal programmatore olandese Guido Van Roussum nel 1991. Negli ultimi 10 anni è diventato molto popolare in quando questo linguaggio è progettato per avere elevata leggibilità attraverso l’impiego di Whitespace. Siu poresta di festire i dati in maniera semplice ed efficiente adatto per programmatori di medio livello. Permette di sci ere in 90 minuti cio che con il linguaggio C si scrive in due mesi. Il linguaggio è free, posso creare gualcissi cosa ma per far si che esso venga ufficializzato deve prima essere validato. Paradigmi di programmazione:

  • strutturata
  • Modellare
  • Orientata agli oggetti
  • Funzionale Tipizzazione dinamica = strutture di alto livello e librerie standard e terze parti. Python aniwer compatibile per versione 3.7/ 3.10.