Cap. 1 - Computer, pensiero computazionale e strutture dati Flashcards

(15 cards)

1
Q

qual è la definizione di computer?

A

l’attuale significato della parola computer è “macchina per
l’elaborazione di dati rappresentati da caratteri alfanumerici variamente codificati, che vengono
sottoposti a procedimenti aritmetici e logici, memorizzati in archivi e resi reperibili e trasmissibili”.
Nella sua accezione generale il termine vuol dire “qualsiasi agente (ovvero,
quell’entità in grado di agire se istruita appropriatamente, come una persona o una macchina)
che sia in grado di fare calcoli e produrre una risposta (detta output) a partire da qualche
informazione iniziale (detta input)”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

che caratteristiche aveva la macchina differenziale? chi la inventò e quando?

A

Nel 1822, Charles Babbage, iniziò lo sviluppo di un nuova macchina, chiamata Macchina Differenziale, che permetteva di calcolare automaticamente, velocemente e senza errori; tuttavia questa non era programmabile, ma era in grado di produrre solo un numero limitato di operazioni, e per passare da una all’altra era necessario cambiare fisicamente la configurazione della macchina

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

che caratteristiche aveva la macchina analitica? chi la inventò?

A

Nel 1837, Babbage iniziò a progettare una nuova macchina, la Macchina Analitica, che avrebbe dovuto
permettere la creazione di qualunque calcolo procedurale, rendendola il primo computer meccanico e general-purpose della storia. Contrariamente al suo predecessore, la Macchina Analitica era in grado di ricevere in input istruzioni e dati mediante l’uso di schede perforate, senza obbligare l’utilizzatore, quindi, a compiere manipolazioni fisiche della macchina stessa per farla funzionare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

quale fu e quando fu creato il primo computer interamente digitale?

A

Nel 1946 venne creato negli USA l’Electronic Numerical Integrator and Computer (ENIAC), che era completamente programmabile attraverso l’uso di cavi e interruttori.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cosa vuol dire scrivere un programma?

A

Scrivere un programma vuol dire comunicare a un computer elettronico utilizzando un linguaggio (in questo caso formale) che sia l’istruttore umano sia il computer stesso possano comprendere. una volta stabilito il linguaggio è necessario trovare un pattern (schema ricorrente) che fornisca una possibile soluzione a un insieme di situazioni che, a livello
astratto, sono del tutto omogenee, in modo da poter riusare la stessa strategia per raggiungere il nostro obiettivo, se questa è stata soddisfacente nel passato.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cosa si intende per pensiero computazionale?

A

Il pensiero computazionale è un approccio per risolvere problemi, sviluppare sistemi e capire il comportamento umano che riprende i concetti fondamentali della computazione, dove con la parola computazione si intende calcolo. Il pensiero computazionale definisce i processi mentali che coinvolgiamo quando formuliamo un certo problema.

La nozione principale dietro al pensiero computazionale è l’astrazione, ovvero l’abilità di esercitare pensiero astratto e di esibire abilità di astrazione; questo è cruciale per automatizzare l’esecuzione di determinate operazioni attraverso l’uso di un computer che è responsabile dell’interpretazione di queste astrazioni

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cosa si intende per strutture di dati? Quali sono le principali strutture?

A

Le strutture di dati sono modi in cui possiamo organizzare l’informazione e i dati, descrivendo l’informazione presente in una certa situazione secondo un’organizzazione generica e riutilizzabile in più contesti.
Si tratta quindi di una sorta di contenitore dove possiamo posizionare alcune informazioni.

Le principali sono la lista, la coda, la pila, gli insiemi, i dizionari, gli alberi e i grafi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Che caratteristiche ha la lista?

A

Una lista è una sequenza di elementi ordinati e ripetibili che si possono contare, perché si può sapere quanti elementi essa contiene in un dato momento. I suoi elementi sono ordinati perché sono posizionati in uno specifico ordine di precedenza tra loro, che è preservato anche quando aggiungiamo e rimuoviamo determinati elementi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Che caratteristiche ha la pila?

A

Una pila è una specie di lista vista dal basso verso l’alto. La caratteristica principale degli elementi di questa struttura riguarda le operazioni di aggiunta e rimozione, che seguono una strategia last in first out (LIFO) – ovvero, l’ultimo elemento che viene inserito è il primo ad essere rimosso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Che caratteristiche ha la coda?

A

Una coda è una specie di lista vista da sinistra verso destra; la caratteristica principale degli elementi di questa struttura riguarda le operazioni di aggiunta e rimozione degli elementi, che seguono una strategia first in first out strategy (FIFO)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Che caratteristiche ha l’insieme?

A

Un insieme è una collezione di elementi non ordinati e non ripetibili che si possono contare. I suoi elementi non sono ordinati perché l’ordine di inserimento di questi non prescrive nessuna relazione di cardinalità tra loro. Inoltre, sono non ripetibili perché lo stesso valore non può essere incluso due o più volte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Che caratteristiche ha il dizionario?

A

Un dizionario (o array associativo) è una collezione non ordinata di elementi definiti da coppie chiave-valore che si possono contare, dove la chiave non è ripetibile. I suoi elementi sono non ordinati perché l’ordine di inserimento non prescrive nessuna relazione di cardinalità tra gli elementi, in modo del tutto simile agli insiemi. Inoltre le chiavi di ogni coppia non sono ripetibili
perché la stessa chiave non può essere usata due o più volte nel dizionario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Che caratteristiche ha l’albero?

A

Un albero è una struttura dati composta da un insieme di nodi collegati tra loro da una relazione
gerarchica genitore-figlio; i nodi di questa struttura dati vengono disposti dall’alto verso il basso.

Il nodo di origine, ovvero quello più in alto, è chiamato nodo radice (root node). Invece, i nodi che terminano l’albero, chiamati nodi foglia (leaf nodes), sono posizionati in basso nell’albero. Altri tipi di nodi sono:
● il nodo genitore (parent node) è quello direttamente connesso quando ci si muove verso
il nodo radice;
● un nodo figlio (child node) è uno di quelli direttamente connessi quando ci si muove
lontano dal nodo radice;
● un nodo fratello (sibling node) è uno di quelli che condivide lo stesso nodo genitore;
● un nodo antenato (ancestor node) è uno di quelli raggiungibili seguendo ripetutamente le
relazioni genitore-figlio andando verso il nodo radice;
● un nodo discendente (descendant node) è uno di quelli raggiungibili seguendo
ripetutamente le relazioni genitore-figlio spostandosi lontano dal nodo radice.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Che caratteristiche ha il grafo?

A

I grafi sono una delle principali strutture dati in informatica e, in generale, del pensiero computazionale. Possono essere distinti in due macro-categorie: grafi non orientati, dove un arco può essere attraversato in una direzione o nell’altra a piacere, ed i grafi orientati, dove un arco specifica esplicitamente la direzione di percorrenza.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly