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: Concetti Fondamentali e Architettura del Calcolatore, Appunti di Elementi di Informatica

RIASSUNTO TESTO ELEMENTI DI INFORMATICA

Tipologia: Appunti

2015/2016

Caricato il 22/09/2016

giorgia.civita.331
giorgia.civita.331 🇮🇹

4.3

(33)

26 documenti

1 / 7

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
ELEMENTI DI INFORMATICA
1 INTRODUZIONE ALL’INFORMATICA
1. PROBLEMI, METODI E SOLUTORI
L’informatica è la scienza che tratta l’elaborazione delle informazioni. L’elaborazione
non coinvolge solo l’ambito numerico o matematico, ma tutte le attività umane.
Perché si pensa che l’informatica sia relegata all’elaborazione numerica? Ogni
informazione è quindi codificata attraverso una tecnica matematica, nota come
aritmetica binaria. Ormai è noto che l’informatica sia uno strumento per la
comunicazione tra gli individui e per l’accesso a tutte le forme di conoscenza.
Bisogna quindi introdurre una classificazione dei problemi:
Problemi che ammettono sempre una sola soluzione: dire se due numeri interi
sono uguali o qual è il maggiore.
Problemi che ammettono in generale più soluzioni: numero telefonico di Mario
Rossi (esistono più individui con questo nome)
Problemi di cui non esistono soluzioni: le congetture matematiche, che son
affermazioni di realtà che non hanno dimostrazioni. Esempio: ogni numero
intero pari è somma di due numeri primi.
1.2 ALGORITMI
Ricetta culinaria dell’Artusi: metodo espresso in modo ambiguo e non eseguibile.
Metodo per calcolare la media dei voti: chiaro e non ambiguo.
ALGORITMI: metodi che godono di queste caratteristiche:
Non ambiguità: ogni istruzione è univocamente interpretabile.
Eseguibilità: ogni istruzione è sicuramente eseguibile.
Terminazione: il metodo perviene al risultato dopo un tempo finito.
Un algoritmo è una procedura che risolve un dato problema anche in termini di
azioni e di ordine di esecuzione delle azioni. L’ordine di esecuzione si chiama
controllo dell’algoritmo. L’algoritmo deve poter essere tradotto in una successione
di istruzioni di qualsiasi linguaggio di programmazione.
L’algoritmo (completo) [FIG 1 PAG 11] può essere rappresentato graficamente da
un diagramma di flusso composto di:
Simbolo ovale con scritto “inizio” e “fine”
Rettangolo: indica qualsiasi tipo di operazione
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Introduzione all'Informatica: Concetti Fondamentali e Architettura del Calcolatore e più Appunti in PDF di Elementi di Informatica solo su Docsity!

ELEMENTI DI INFORMATICA

1 INTRODUZIONE ALL’INFORMATICA

1. PROBLEMI, METODI E SOLUTORI

L’informatica è la scienza che tratta l’elaborazione delle informazioni. L’elaborazione non coinvolge solo l’ambito numerico o matematico, ma tutte le attività umane. Perché si pensa che l’informatica sia relegata all’elaborazione numerica? Ogni informazione è quindi codificata attraverso una tecnica matematica, nota come aritmetica binaria. Ormai è noto che l’informatica sia uno strumento per la comunicazione tra gli individui e per l’accesso a tutte le forme di conoscenza.

Bisogna quindi introdurre una classificazione dei problemi:

  • Problemi che ammettono sempre una sola soluzione: dire se due numeri interi sono uguali o qual è il maggiore.
  • Problemi che ammettono in generale più soluzioni: numero telefonico di Mario Rossi (esistono più individui con questo nome)
  • (^) Problemi di cui non esistono soluzioni: le congetture matematiche, che son affermazioni di realtà che non hanno dimostrazioni. Esempio: ogni numero intero pari è somma di due numeri primi. 1.2 ALGORITMI Ricetta culinaria dell’Artusi: metodo espresso in modo ambiguo e non eseguibile. Metodo per calcolare la media dei voti: chiaro e non ambiguo. ALGORITMI: metodi che godono di queste caratteristiche:
    • Non ambiguità: ogni istruzione è univocamente interpretabile.
    • Eseguibilità: ogni istruzione è sicuramente eseguibile.
    • Terminazione: il metodo perviene al risultato dopo un tempo finito. Un algoritmo è una procedura che risolve un dato problema anche in termini di azioni e di ordine di esecuzione delle azioni. L’ordine di esecuzione si chiama controllo dell’algoritmo. L’algoritmo deve poter essere tradotto in una successione di istruzioni di qualsiasi linguaggio di programmazione. L’algoritmo (completo) [FIG 1 PAG 11] può essere rappresentato graficamente da un diagramma di flusso composto di:
  • Simbolo ovale con scritto “inizio” e “fine”
  • Rettangolo: indica qualsiasi tipo di operazione
  • Rombi: “simboli decisionali” posti dove la linea di esecuzione delle azioni può prendere diverse vie a seconda delle condizioni.

Se invece si vuole rappresentare un diagramma di flusso (incompleto), all’inizio e alla fine si pongono i “simboli di connessione”. Tutti vari quadranti sono uniti dalle linee di flusso. Il valore sentinella è un valore con cui chi immette i voti, segnala al calcolatore che è finita la lista dei voti. (Valore scelto diverso dai possibili valori dei voti [-1]) [FIG 2- PAG 13-14]

1.3 COMPLESSITA’ DEGLI ALGORITMI E DEI PROGRAMMI E’ la misura di efficienza di un algoritmo. E’ pressoché equivalente al numero di istruzioni che devono essere eseguite. Per poter esprimere la complessità dei programmi, è necessario riferirsi alla dimensione del problema. Quest’ultima può essere considerata come il numero di valori da elaborare. (Dimensione del problema identificato con la lettera: n .) La complessità può essere dei seguenti tipi:

  • Costante: quando il tempo di esecuzione del programma è indipendente dalla dimensione del problema.
  • Logaritmica: quando il tempo di esecuzione è proporzionale al logaritmo della dimensione del problema.
  • Lineare: il tempo di esecuzione è proporzionale alla dimensione del problema.
  • Polinomiale: quando il numero di istruzioni da seguir è espresso da un polinomio di grado “k”
  • Esponenziale: quando il numero di istruzioni da eseguire è esprimibile da una funzione esponenziale della dimensione del problema. 1.4 PROBLEMI TRATTABILI E PROBLEMI INTRATTABILI Tra tutti i problemi che ammettono soluzioni, si distingue tra quelli TRATTABILI e quelli NON TRATTABILI. [FIG 4 PAG 16]
  • Problemi trattabili: hanno una complessità intrinseca al massimo polinomiale di ordine inferiore alla decina.
  • Problemi non trattabili: hanno una complessità intrinseca esponenziale o polinomiale di ordine superiore alla decina.

viene memorizzata in un gruppo di cellule contigue e viene posta in corrispondenza delle prima cellula che occupa.

2.3 UNITA’ CENTRALE DI ELABORAZIONE

La CPU ha il compito di eseguire le istruzione di un programma [fig 6-7 pag 22] L’unità logico-aritmetica compie i calcoli; l’unità di controllo gestisce la successione delle operazioni. I registri devono memorizzare i dati e le istruzioni. Nella [fig 8 pag 23] sono segnalati gli essenziale registri che fanno parte della CPU: il Contatore di programma, il Registro Istruzioni, l’Accumulatore e il Registro di Stato. Il numero dei registi dipenda dal modello della CPU ed è legato al set di istruzione che la caratterizza. Distinguiamo le istruzioni che riceve la CPU: due parti distinte [fig 8 pag 24]

  1. La parte operatore: descrive il tipo di operazione da seguire.
  2. La parte operando: rappresenta il dato su cui eseguire l’operazione. C’è poi l’accumulatore che deve svolgere delle operazioni di somma ecc ecc. [fig 9 pag 24]

Come possiamo notare esistono diverse istruzioni che la CPU compie per trasferire i dati dai registri. Descrizione dell’esecuzione di un programma dopo che è stato caricato in memoria:

  1. L’indirizzo della prima istruzione viene memorizzato nel Registro Contatore di Programma;
  2. si preleva della memoria l’istruzione il cui indirizzo è memorizzato nel Contatore di Programma e la si memorizza nel Registro Istruzioni;
  3. nel contatore di programma viene memorizzato l’indirizzo dell’istruzione successiva
  4. si esegue l’istruzione contenuta nel Registro Istruzioni
  5. se il programma non è terminato si torna al punto 2.

2.4 MEMORIA DI MASSA

Le memorie di massa più comuni sono quelle dei dischi magnetici fissi, dei dischi magnetici estraibili (floppy), dei dischi CD-ROM e DVD. Sono di minor uso i nastri magnetici e i dischi ottici. Parametri per valutare una memoria di massa: tempo di accesso e capacità di memoria. Il tempo di accesso viene valutato diversamente rispetto a quello della memoria centrale. In quest’ultima è fondamentale l’allocazione dell’informazione nella RAM, perché l’accesso diretto permette di accedere ad ogni locazione in uno stesso tempo; nelle memorie di massa invece non importa l’allocazione perché si hanno dei blocchi di informazione. Nelle memoria di masso quindi si calcola il tempo

medio dell’accesso. Dischi fissi: da qualche millisecondo a microsecondi, Gbyte. CD- ROM inferiore a 1000 Mbyte. DVD 3,5 Gbyte. 2.5 BUS I bus permettono l’interconnessione tra varie componenti; trasportano indirizzi, dati, istruzioni ecce cc. Sono assimilabili ad autostrade elettroniche, infatti permettono di evitare le connessioni punto-punto tra i dispositivi [fig 11 pag 28]; connessione tramite tecnologia Bus [fig 12 pag 29]. Ci sono vari tipi di Bus a seconda dei dispositivi presenti ed anche in base alle dimensioni dei dispositivi stessi. Memory Bus: interconnette la memoria centrale alla CPU, più veloce del system Bus. Riesce a trasportare informazioni ad alta velocità grazie ad un parallelismo che permette di trasferire un certo numero di bit: 16 bit 32 bit 64 bit o addirittura potenze

  1. Un’altra misura per il Bus è il transfer rate: si mistura in byte/sec ed esprime la quantità di byte che transita in un bus in un secondo. 2.6 DISPOSITIV INPUT/OUTPUT Consentono la comunicazione con il mondo esterno, sono interconnessi al PC tramite dispositivi detti “porte” o “interfacce” di input/output. Dispostivi di porte input/output: Porta seriale, Porta parallela, USB, SCSI. Principali dispositivi di input:
    • Tastiera: dispositivo principale con il quale si comunicano i dati al computer; composta di: Tasti alfanumerici, Tasti speciali, Tasi direzionali, Tasti esclusivamente numerici, Tasti funzionali.
    • Mouse: dispositivo più diffuso, costituito da uno strumento a forma di saponetta, con tre o più pulsanti collegato ad un computer tramite un cavo. I pulsanti rispondono a funzioni che dipendono dall’applicazione che si sta eseguendo.
    • Digitizer: sorta di tavolo da disegno sul quale è posizionata una lente con dei tasti; invia al computer tramite la lente, le linee che compongono una mappa.
    • Scanner: permette di memorizzare un’immagine, si basa sul funzionamento della fotocopiatrice, si pone il foglio sul dispositivo e si ottiene un fili che memorizza l’immagine. Quest’ultima si chiama raster. Il software dello scanner è associata alla OCR. Un file raster può essere convertito in un file di testo.

Principali dispositivi di output: Video, Stampante, Casse acustiche, Plotter. Il video è lo schermo che ci comunica i dati, può essere di diversa tecnologia:

  • CRT: analoga alla tv, basata sull’impiego di tubi catodici
  • LCD: Liquid Crystal Display, piatto e leggero non emette radiazioni

essere compiute operazioni i cui risultati sono ricavabili dalle tabelle della verità tra operatori utilizzati su entità binarie:

  • AND: operatore di congiunzione, equivalente alla e del linguaggio naturale
  • OR: operatore di disgiunzione, “”
  • NOT: operatore di negazione. (vedi figure pag 30-40)

Con le operazioni AND, OR, NOT è possibile costruire un addizionatore di cifre binarie (fig 18) in cui gli operatori booleani sono rappresentati da simboli specifici utilizzati nella descrizione di circuiti logici.