Quiz: Dal problema al programma (26 domande)

Domande e risposte dettagliate

1. Che cosa comprende il software di un computer?

L’insieme dei programmi che ne rendono possibile il funzionamento
L’insieme dei dati memorizzati dall’utente nei dispositivi
L’insieme delle componenti materiali che ne permettono l’elaborazione
L’insieme delle periferiche collegate per immettere e mostrare dati

L’insieme dei programmi che ne rendono possibile il funzionamento

Spiegazione

Il software è costituito dai programmi che rendono possibile il funzionamento del computer. Le componenti materiali, invece, appartengono all’hardware.

2. Un utente deve scrivere un documento e gestire le risorse del computer: quale distinzione descrive correttamente i due tipi di software coinvolti?

Entrambi svolgono compiti specifici per l’utente, ma il software di base controlla anche i dati
Entrambi gestiscono le risorse del sistema, ma il software applicativo si occupa anche dei documenti
Il software applicativo permette di svolgere compiti specifici, mentre quello di base gestisce il sistema e le sue risorse
Il software di base permette di svolgere compiti specifici, mentre quello applicativo gestisce il sistema e le sue risorse

Il software applicativo permette di svolgere compiti specifici, mentre quello di base gestisce il sistema e le sue risorse

Spiegazione

Il software applicativo serve a svolgere funzioni specifiche, come scrivere un documento, mentre quello di base gestisce il sistema e le sue risorse. Attribuire la gestione del sistema al software applicativo confonde i due ruoli.

3. Qual è la funzione delle istruzioni che compongono un programma?

Descrivere le componenti materiali del computer senza indicare operazioni
Raccogliere i dati in memoria senza specificare quali azioni eseguire
Collegare le periferiche al computer per consentire lo scambio di segnali
Guidare gli organi del computer nell’esecuzione di azioni su uno o più dati

Guidare gli organi del computer nell’esecuzione di azioni su uno o più dati

Spiegazione

Le istruzioni guidano gli organi del computer nell’esecuzione di azioni che riguardano uno o più dati. Un programma, quindi, non si limita a raccogliere dati in memoria.

4. Quale caratteristica definisce un problema da affrontare e risolvere?

È un risultato inatteso che si verifica durante l’esecuzione di un programma
È una situazione semplice che ammette una sola risposta corretta
È un’attività pianificata che non richiede la valutazione di possibili soluzioni
È una situazione difficile che presenta soluzioni alternative

È una situazione difficile che presenta soluzioni alternative

Spiegazione

Un problema è una situazione difficile da affrontare e risolvere, per la quale esistono soluzioni alternative. Una situazione con un’unica risposta non corrisponde a questa definizione.

5. Quale esigenza è alla base della scrittura di un programma?

Descrivere le fasi di un progetto già concluso
Documentare l’hardware disponibile
Sostituire la valutazione delle possibili soluzioni
Risolvere un problema

Risolvere un problema

Spiegazione

La scrittura di un programma nasce dall’esigenza di risolvere un problema. Documentare l’hardware può essere utile, ma non costituisce l’esigenza fondamentale indicata.

6. Nel modello di sviluppo a cascata, come sono collegati gli output delle diverse fasi?

Ogni fase produce un output indipendente dagli input delle altre fasi
L’output di ogni fase viene usato come input per la fase precedente
L’output di una fase diventa l’input della fase successiva
Le fasi ricevono tutte lo stesso input e producono un unico output comune

L’output di una fase diventa l’input della fase successiva

Spiegazione

Nel modello a cascata, ciascuna fase produce un output che alimenta la fase successiva. Usare l’output per tornare alla fase precedente inverte la sequenza descritta.

7. Quale sequenza rappresenta le fasi del ciclo di sviluppo del software?

Studio di fattibilità, analisi, progettazione, codifica, verifica e rilascio
Progettazione, studio di fattibilità, verifica, analisi, rilascio e codifica
Analisi, codifica, studio di fattibilità, rilascio, progettazione e verifica
Studio di fattibilità, progettazione, rilascio, codifica, analisi e verifica

Studio di fattibilità, analisi, progettazione, codifica, verifica e rilascio

Spiegazione

Il ciclo comprende, nell’ordine, studio di fattibilità, analisi, progettazione, codifica o implementazione, verifica e rilascio. Collocare il rilascio prima della verifica altera la sequenza delle fasi.

8. Quale compito spetta al progettista nello sviluppo di un software?

Specificare i moduli software
Definire l’architettura della soluzione
Verificare i moduli realizzati
Definire i requisiti funzionali

Definire l’architettura della soluzione

Spiegazione

Il progettista definisce l’architettura della soluzione. Definire i requisiti funzionali è compito dell’analista, un ruolo distinto nel team.

9. Perché l’uso del salto incondizionato go to può rendere un programma difficile da comprendere?

Può impedire la gestione delle risorse del sistema e compromettere l’installazione
Può interrompere la sequenza leggibile delle istruzioni e produrre codice spaghetti
Può obbligare ogni modulo a essere verificato prima della codifica
Può trasformare i requisiti funzionali in istruzioni di progettazione

Può interrompere la sequenza leggibile delle istruzioni e produrre codice spaghetti

Spiegazione

Il salto incondizionato può rendere difficile seguire la sequenza delle istruzioni e portare a codice illeggibile, detto spaghetti-code. I costrutti strutturati, al contrario, organizzano il flusso del programma.

10. Qual è lo scopo della scomposizione top-down di un problema?

Individuare i dati iniziali e finali prima di stabilire le regole di soluzione.
Ordinare le operazioni in base alla loro durata, senza suddividere il problema.
Dividerlo in sotto-problemi via via più semplici, fino ad arrivare ad azioni elementari.
Rappresentarlo con un modello grafico, mantenendo tutti i dettagli del problema.

Dividerlo in sotto-problemi via via più semplici, fino ad arrivare ad azioni elementari.

Spiegazione

La tecnica top-down divide il problema in parti progressivamente più semplici, fino a raggiungere azioni elementari. La rappresentazione grafica può descrivere un problema, ma non è lo scopo definitorio della scomposizione top-down.

11. Nel progettare una torta Sacher, si decide di usare marmellata acquistata anziché prepararla: quale conseguenza ha questa scelta sulla scomposizione?

La preparazione della marmellata diventa un’azione elementare da svolgere.
Il sotto-problema di farcire la torta può essere rimosso.
La marmellata acquistata deve essere suddivisa in ulteriori sotto-problemi.
Il sotto-problema di preparare la marmellata può essere rimosso.

Il sotto-problema di preparare la marmellata può essere rimosso.

Spiegazione

Se si usa marmellata già acquistata, non occorre svolgere la sua preparazione e quel sotto-problema può essere eliminato. La farcitura resta invece un’attività distinta, perché la scelta della marmellata non elimina l’operazione di farcire la torta.

12. Nell’analisi di un problema, quale risultato si cerca di ottenere prima della progettazione della soluzione?

Tradurre ogni dato del problema in una formula matematica o in un diagramma.
Chiarire che cosa occorre fare, individuando dati iniziali, intermedi e finali.
Stabilire quali strumenti utilizzare per eseguire concretamente il programma.
Definire come organizzare le operazioni per realizzare la soluzione scelta.

Chiarire che cosa occorre fare, individuando dati iniziali, intermedi e finali.

Spiegazione

L’analisi studia il problema e le specifiche funzionali per identificare i dati iniziali, intermedi e finali e chiarire che cosa va fatto. La progettazione riguarda invece come realizzare la soluzione, distinzione che rende plausibile ma errata l’idea di definire già le operazioni.

13. Per confrontare due interi X e Y, che cosa si conclude quando X−Y=0X-Y=0?

Il prodotto dei due interi è necessariamente zero.
Y è maggiore di X.
I due interi sono uguali.
X è maggiore di Y.

I due interi sono uguali.

Spiegazione

Una differenza nulla indica che X e Y hanno lo stesso valore. Se la differenza è positiva o negativa si identifica invece quale dei due interi è maggiore; il prodotto nullo dipende, per esempio, dal fatto che uno dei fattori sia zero.

14. Un analista descrive un problema eliminando dettagli secondari e conservando le caratteristiche essenziali: quale operazione sta compiendo?

Sta applicando la modellizzazione, rappresentando gli elementi e le loro relazioni.
Sta applicando la scomposizione top-down, dividendo il problema in azioni elementari.
Sta applicando l’astrazione, variando il livello di dettaglio della descrizione.
Sta definendo le specifiche funzionali, distinguendo i dati iniziali da quelli finali.

Sta applicando l’astrazione, variando il livello di dettaglio della descrizione.

Spiegazione

L’astrazione semplifica il problema mettendo in evidenza ciò che è essenziale e nascondendo particolari, anche modificando il livello di dettaglio. La modellizzazione è collegata, ma consiste nel rappresentare in forma semplificata elementi, proprietà e relazioni.

15. Dopo aver selezionato gli aspetti essenziali di un problema, un progettista rappresenta gli elementi rilevanti, le loro proprietà e i legami tra essi: che cosa sta facendo?

Sta scomponendo il problema in sotto-problemi progressivamente più semplici.
Sta astraendo il problema scegliendo quali caratteristiche sono essenziali.
Sta analizzando il problema per identificare dati iniziali e obiettivi finali.
Sta modellizzando il problema con una rappresentazione semplificata.

Sta modellizzando il problema con una rappresentazione semplificata.

Spiegazione

La modellizzazione concretizza l’astrazione rappresentando in forma semplificata elementi del problema, proprietà e relazioni. La selezione delle caratteristiche essenziali descrive invece l’astrazione, che precede la costruzione della rappresentazione.

16. Un problema è stato analizzato e se ne conoscono gli obiettivi; quale domanda affronta la fase di progettazione?

Come risolvere il problema individuando una strategia adeguata
Chi dovrà eseguire le azioni previste dalla soluzione
Che cosa bisogna ottenere definendo i requisiti del problema
Quale linguaggio usare per scrivere il programma finale

Come risolvere il problema individuando una strategia adeguata

Spiegazione

La progettazione sceglie la strategia risolutiva e risponde alla domanda «come fare?». Definire che cosa bisogna ottenere appartiene invece all’analisi del problema.

17. Due strategie raggiungono entrambe il risultato corretto, ma la seconda impiega meno tempo e risorse: quale descrizione è corretta?

La prima è efficiente, mentre la seconda è soltanto corretta
Entrambe sono efficienti, ma solo la prima è efficace
Entrambe sono efficaci, ma la seconda è anche efficiente
Solo la seconda è efficace, perché richiede meno risorse

Entrambe sono efficaci, ma la seconda è anche efficiente

Spiegazione

L’efficacia consiste nel raggiungere il risultato corretto, mentre l’efficienza riguarda la rapidità e il risparmio di risorse. La minore spesa di risorse non rende la seconda l’unica strategia efficace, dato che anche la prima raggiunge il risultato corretto.

18. Una persona osserva molti casi particolari e da essi formula una regola generale: quale tipo di ragionamento sta usando?

Un ragionamento analitico, dalla definizione di un problema a un obiettivo
Un ragionamento deduttivo, da una regola generale a un caso specifico
Un ragionamento esecutivo, da una strategia a una sequenza di azioni
Un ragionamento induttivo, dai casi osservati a una regola generale

Un ragionamento induttivo, dai casi osservati a una regola generale

Spiegazione

L’induzione parte dall’osservazione di casi particolari per formulare regole generali. La deduzione segue la direzione opposta, applicando principi generali a casi particolari.

19. Nel risolvere un problema, quale compito distingue il risolutore da quello dell’esecutore?

Il risolutore verifica il codice e l’esecutore stabilisce i requisiti
Il risolutore individua la strategia e l’esecutore svolge le azioni previste
Il risolutore raccoglie i risultati e l’esecutore sceglie l’obiettivo
Il risolutore svolge le azioni e l’esecutore individua la strategia

Il risolutore individua la strategia e l’esecutore svolge le azioni previste

Spiegazione

Il risolutore decide la strategia per raggiungere l’obiettivo, mentre l’esecutore compie le azioni che essa descrive. Attribuire all’esecutore la scelta della strategia confonde i due ruoli.

20. Perché le istruzioni destinate a un computer devono descrivere le azioni senza ambiguità?

Perché il computer ricava il significato delle istruzioni dagli obiettivi dell’utente
Perché il computer può eseguire un algoritmo solo dopo averne semplificato i passaggi
Perché il computer esegue le azioni descritte senza conoscere il senso complessivo della soluzione
Perché il computer deve scegliere autonomamente la strategia più adatta al problema

Perché il computer esegue le azioni descritte senza conoscere il senso complessivo della soluzione

Spiegazione

Il computer, nel ruolo di esecutore, ha bisogno di una descrizione non ambigua delle azioni perché non conosce il senso generale della soluzione. Non è quindi l’esecutore a dover scegliere autonomamente la strategia.

21. Quale sequenza rende eseguibile dal computer un algoritmo?

Definire la semantica dell’algoritmo e trasformarla direttamente in istruzioni eseguite
Tradurre l’algoritmo in linguaggio macchina e compilare il risultato in codice sorgente
Analizzare i risultati dell’algoritmo e convertirli in un linguaggio di programmazione
Codificare i passi in un linguaggio di programmazione e compilare il codice sorgente in linguaggio macchina

Codificare i passi in un linguaggio di programmazione e compilare il codice sorgente in linguaggio macchina

Spiegazione

I passi dell’algoritmo vengono codificati per formare il codice sorgente, poi compilati e tradotti in linguaggio macchina. Il codice sorgente non è il risultato della compilazione in linguaggio macchina, ma il codice che viene compilato.

22. Che cosa caratterizza un linguaggio di programmazione?

È una raccolta di algoritmi priva di regole per la scrittura delle istruzioni
È un insieme informale di istruzioni il cui significato dipende dal programmatore
È un linguaggio formale con regole lessicali e sintattiche e una semantica precisa
È un sistema di simboli che definisce la sintassi senza precisare il significato

È un linguaggio formale con regole lessicali e sintattiche e una semantica precisa

Spiegazione

Un linguaggio di programmazione è formale e dispone di regole lessicali e sintattiche, oltre che di una semantica precisa. Un sistema che definisce la forma ma non il significato non comprende tutte queste caratteristiche.

23. Un’istruzione rispetta la forma prevista, ma non realizza l’operazione intesa: quale distinzione aiuta a descrivere il problema?

La sintassi riguarda la compilazione, mentre la semantica riguarda la scelta dell’algoritmo
La sintassi riguarda la forma corretta, mentre la semantica riguarda il significato dell’istruzione
La sintassi riguarda i dati iniziali, mentre la semantica riguarda il linguaggio macchina
La sintassi riguarda il significato, mentre la semantica riguarda la forma dell’istruzione

La sintassi riguarda la forma corretta, mentre la semantica riguarda il significato dell’istruzione

Spiegazione

La sintassi stabilisce le regole di forma delle istruzioni e la semantica ne definisce il significato. Invertire questi ruoli porterebbe a confondere la correttezza della scrittura con ciò che l’istruzione esprime.

24. Quale procedura consente di verificare se un programma produce i risultati previsti?

Modificare i dati di ingresso finché il programma produce un risultato plausibile
Esaminare il codice sorgente e confrontare la sua lunghezza con quella dell’algoritmo previsto
Pianificare gli input e gli output attesi, eseguire le prove e confrontare i risultati effettivi con quelli previsti
Eseguire il programma con input casuali e controllare soltanto che termini senza errori

Pianificare gli input e gli output attesi, eseguire le prove e confrontare i risultati effettivi con quelli previsti

Spiegazione

La verifica richiede di definire input e output attesi, eseguire le prove e confrontare gli esiti ottenuti con quelli previsti. Controllare soltanto che il programma termini non permette di stabilire se i suoi risultati siano corretti.

25. Un programma restituisce un risultato diverso da quello atteso: quale attività svolge il programmatore per individuare la causa dell’errore?

Il debugging, cioè la ricerca degli errori quando l’output reale non coincide con quello atteso
La verifica degli input, cioè il controllo che i dati inseriti rispettino il formato richiesto
La tracciatura, cioè la registrazione dei valori assunti dalle variabili durante l’esecuzione
La compilazione, cioè la traduzione dei comandi del programma in una forma eseguibile

Il debugging, cioè la ricerca degli errori quando l’output reale non coincide con quello atteso

Spiegazione

Il debugging consiste nell’individuare gli errori quando il risultato reale non corrisponde a quello atteso. La tracciatura registra il comportamento delle variabili, ma non coincide con l’attività generale di ricerca e individuazione degli errori.

26. Un programma si avvia, ma a causa di un difetto nell’algoritmo calcola un risultato inatteso: di quale tipo di errore si tratta?

Di sintassi, perché il compilatore rileva la scrittura scorretta di un comando
Di input, perché un dato fornito dall’utente impedisce al compilatore di leggere i comandi
Di logica o semantica, perché il programma può essere eseguibile pur producendo risultati inattesi
Di esecuzione, perché ogni risultato inatteso interrompe il programma durante il suo avvio

Di logica o semantica, perché il programma può essere eseguibile pur producendo risultati inattesi

Spiegazione

Un errore di logica o semantica deriva da un difetto nell’algoritmo e può lasciare il programma eseguibile, pur causando risultati inattesi. Un errore di sintassi riguarda invece la scrittura dei comandi ed è rilevato dal compilatore.

Ripassa con le flashcard

Memorizza le risposte con 74 flashcard su Dal problema al programma.

Che cosa rende possibile il funzionamento di un computer?

L’insieme dei programmi che costituisce il software.

Qual è il compito del software di base?

Gestire il sistema operativo e le sue risorse.

Per quali compiti è realizzato il software applicativo?

Per consentire all’utente di svolgere compiti o funzioni specifiche.

Vedi le flashcard →

Studia il riassunto

Leggi il riassunto completo su Dal problema al programma.

Vedi il riassunto →

Corsi simili

Crea i tuoi quiz

Importa il tuo corso e l'IA genera quiz corretti in 30 secondi.

Generatore di quiz