wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Scheda di verifica – Bubble Sort in C++ (Fila A)

Total questions: 14

Worksheet time: 9mins

Name
Class
Date
1.

Che cosa fa l'algoritmo di Bubble Sort?

a)

Ordina un vettore confrontando ed eventualmente scambiando i valori maggiori del primo elemento del vettore

b)

Ordina un vettore confrontando ed eventualmente scambiando coppie adiacenti

c)

Confronta il primo e l'ultimo elemento del vettore e li scambia se il primo è maggiore dell'ultimo

d)

Cerca un elemento nel vettore e lo inserisce in ordine crescente

2.

Quale delle seguenti porzioni di codice rappresenta correttamente il ciclo principale del Bubble Sort in C++?

a)

for (x = 0; x < TANTI - 1; x++){  

    for (y = 0; y < TANTI - 1 - x; y++)   

      if (numeri[y] > numeri[y + 1]){

        temp = numeri[y];

        numeri[y] = numeri[y + 1];

        numeri[y + 1] = temp;

      }

  }


b)

for (x = 0; x < TANTI - 1; x++){  

    for (y = 0; y < TANTI - 1 - x; y++)   

      if (numeri[y] > numeri[y + 1]){      

        numeri[y] = numeri[y + 1];

      }

  }


c)

    for (y = 0; y < TANTI - 1 - x; y++)   

      if (numeri[y] > numeri[y + 1]){

        temp = numeri[y];

        numeri[y] = numeri[y + 1];

        numeri[y + 1] = temp;

      }


d)

for (x = 0; x < TANTI - 1; x++){  

    for (y = 0; y < TANTI - 1 - x; y++)   

      {

        temp = numeri[y];

        numeri[y] = numeri[y + 1];

        numeri[y + 1] = temp;

      }

  }


3.

Dopo il primo passaggio (del ciclo FOR interno) del Bubble Sort, quale sarà lo stato del vettore iniziale

{5, 3, 4, 1, 2}?

a)

{3, 5, 4, 1, 2}

b)

{2, 5, 4, 1, 3}

c)

{4, 3, 1, 2, 5}

d)

{3, 1, 2, 4, 5}

4.

Qual è il ruolo della variabile temporanea (tempo) nel Bubble Sort?

a)

Serve per scambiare due elementi del vettore

b)

Serve per contare i cicli

c)

Serve per ordinare in senso decrescente

d)

Serve per memorizzare la media

5.

Il Bubble Sort ordina i numeri di un vettore:

a)

Sempre in senso crescente

b)

Solo se sono tutti positivi

c)

Confrontando coppie adiacenti e scambiandole se necessario

d)

Utilizzando una funzione ricorsiva

6.

Inserisci la parte di codice mancante:

for (x = 0; x < TANTI - 1; x++){  

    for (y = 0; y < TANTI - 1 - x; y++)   

     ---------------------------

{

        temp = numeri[y];

        numeri[y] = numeri[y + 1];

        numeri[y + 1] = temp;

      }

  }




(a)  

7.

Dopo due passaggi completi (ovvero 2 cicli FOR ESTERNI) come sarà ordinato parzialmente il vettore {5, 3, 4, 1, 2}?

a)

{3, 4, 1, 2, 5}

b)

{3, 1, 2, 4, 5}

c)

{4, 1, 2, 3, 5}

d)

{1, 2, 3, 4, 5}

8.

Quali righe di codice realizza lo scambio corretto di due elementi in C++ ?

a)

int temp=v[j];

v[j]=v[j+1];

v[j+1]=temp;

b)

v[j]=v[j-1];

v[j+1]=v[j];

c)

temp=v[j+1];

v[j]=temp;

d)

v[j]=temp;

9.

Cosa succede se si dimentica di limitare il ciclo interno a (TANTI-1-x)?

dove TANTI è il numero di elementi del vettore ed x è l'indice del ciclo FOR esterno:

a)

Si rischia di confrontare e scambiare elementi già ordinati, rendendo l'algoritmo meno efficiente.

b)

Non succede nulla di rilevante.

c)

L'algoritmo diventa più veloce.

d)

Si verifica un errore.

10.

Per quale motivo l'algoritmo è detto "Bubble sort"?

Perchè l'ordinamento è fatto in maniera tale che i numeri più (a)   scendano verso il basso

11.

Alla fine di tutto il primo ciclo FOR più interno, l'elemento che sicuramente risulta ordinato, è :

(a)  

12.

Nell'algoritmo di Bubble Sort sono necessari sempre i 2 cicli FOR annidati?

a)

No, se il vettore è costituito da pochi elementi

b)

Sì, perché il ciclo interno confronta ogni coppia di elementi vicini ed eventualmente li scambia ed il ciclo esterno ripete questo processo più volte

c)

Sì, perché il ciclo esterno confronta ogni coppia di elementi vicini ed eventualmente li scambia ed il ciclo interno ripete questo processo più volte

d)

Sì se il vettore è troppo grande per essere ordinato in un solo ciclo

13.

Alla fine della seconda iterazione del ciclo FOR esterno, quali elementi saranno sicuramente ordinati?

a)

Ultimo

b)

Ultimo e penultimo

c)

Penultimo

d)

Tutti

14.

Nell'algoritmo di Bubble Sort due elementi del vettore non vengono scambiati se il precedente è (a)   del successivo