02. Quesiti strutturati
Esercizio 1
Il programma presenta un errore, rilevabile già in fase di compilazione, che ne compromette il funzionamento.
Indicare quale risposta contiene la riga sulla quale occorre intervenire per correggere l'errore.
Righe 5, 6, 7, 8
Righe 9, 10, 11, 12
Righe 13, 14, 15, 16
Righe 17, 18, 19, 20
Righe 21, 22, 23, 24
Righe 25, 26, 27, 28
Righe 29, 30, 31, 32
────══════♦☆♦══════────
Esercizio 2
Quali output produce il programma se sollecitato con i seguenti input?
Esecuzione a) input: 5
Esecuzione b) input: 12
Esecuzione c) input: -8
Esecuzione d): input -1
Output esecuzioni a) b) c) d): 10 24 0 0
Output esecuzioni a) b) c) d): 10 24 -8 -1
Output esecuzioni a) b) c) d): 11 25 -17 -3
Output esecuzioni a) b) c) d): 10 24 -16 -2
────══════♦☆♦══════────
Esercizio 3
Il programma acquisisce 5 numeri interi, ricerca il valore minimo e lo stampa a video.
In realtà se sollecitato con il seguente input
2 7 5 8 9
stampa erroneamente il valore 0.
A cosa è dovuto questo errore?
La condizione all'interno degli if è errata
L'inizializzazione della variabile minimo è errata
Manca il test sulla condizione x1
E' errata l'acquisizione degli input
────══════♦☆♦══════────
Esercizio 4
Nell'ipotesi che x=1 e y=0 indicare se la seguente condizione è verificata
(!x || !y) && (x>0)
E' verificata
NON è verificata
────══════♦☆♦══════────
Esercizio 5
Indicare qual è l'output del programma
Output: 0
Output: 1
Output: 2
#include <stdio.h>
int main()
{
int a=1, b=2, c=3;
int A1, A2;
if ((a || !b) && c)
A1=1;
else
A1=0;
if (!(a>c) && A1)
A2=1;
else
A2=0;
printf("%d", A1+A2);
return 0;
}
────══════♦☆♦══════────
Esercizio 6
Indicare qual è l'output del programma
Output: 0
Output: 1
Output: 2
#include <stdio.h>
int main()
{
int a=1, b=2, c=3;
int A1, A2;
if ((-4 || !b) && c)
A1=0;
else
A1=1;
if (c-b-a && A1)
A2=1;
else
A2=0;
printf("%d", A1+A2);
return 0;
}
────══════♦☆♦══════────
Esercizio 7
Quali output produce il programma se sollecitato con i seguenti input?
Esecuzione a) input: 5 -5 5
Esecuzione b) input: 6 3 3
Esecuzione c) input: 4 4 4
Esecuzione d): input 4 4 0
Output esecuzioni a) b) c) d): 0 3 2 0
Output esecuzioni a) b) c) d): 5 6 4 4
Output esecuzioni a) b) c) d): 0 3 2 -1
Output esecuzioni a) b) c) d): 5 3 4 0
#include <stdio.h>
int main()
{
int a, b, c, x;
scanf("%d %d %d", &a, &b, &c);
if ((a+b) && c)
x=(a+b)/c;
else if (!(a+b) && c)
x=0;
else {
x=-1;
}
printf("%d", x);
return 0;
}
────══════♦☆♦══════────
Esercizio 8
Quali output produce il programma se sollecitato con i seguenti input?
Esecuzione a) input: 5
Esecuzione b) input: 6
Esecuzione c) input: 9
Esecuzione d): input 1
Esecuzione e): input 10
Output esecuzioni a) b) c) d) e): 25 36 81 4 100
Output esecuzioni a) b) c) d) e): 10 12 18 2 20
Output esecuzioni a) b) c) d) e): 5 6 9 2 10
Output esecuzioni a) b) c) d) e): 25 36 81 2 100
#include <stdio.h>
int main()
{
int a, aa, aaa;
scanf("%d", &a);
if (a<0)
a=-a;
aa=a*a;
aaa=a+a;
if (aa<=aaa)
printf("%d", aaa);
else
printf("%d", aa);
return 0;
}
────══════♦☆♦══════────
Esercizio 9
Quali output produce il programma se sollecitato con i seguenti input?
Esecuzione a) input: 5 -5
Esecuzione b) input: 3 10
Esecuzione c) input: 15 5
Esecuzione d) input: -3 7
Esecuzione e) input: -3 -3
Output esecuzioni a) b) c) d) e): -5 5 10 3 15 5 -3 7 -3 -6
Output esecuzioni a) b) c) d) e): -5 5 10 3 5 15 7 -3 -3 -3
Output esecuzioni a) b) c) d) e): -5 5 10 3 5 10 12 -3 -3 -3
Output esecuzioni a) b) c) d) e): -5 5 10 -3 15 15 17 -3 -3 -3
#include <stdio.h>
int main()
{
int x, y, z;
scanf("%d %d", &x, &y);
z=x+y;
if (z) {
x=y;
y=z-x;
}
else {
x=-x;
y=-y;
}
printf("%d %d", x, y);
return 0;
}
────══════♦☆♦══════────
Esercizio 10
Il programma presenta un errore, rilevabile già in fase di compilazione, che ne compromette il funzionamento.
Indicare quale risposta contiene la riga sulla quale il compilatore segnala l'errore.
Righe 5, 6
Righe 7, 8
Righe 9, 10, 11
Righe 12, 13, 14
Righe 15, 16, 17
Righe 18, 19, 20
Righe 21, 22
────══════♦☆♦══════────
Esercizio 11
Il programma, su alcuni input, va in errore di run-time (in pratica, se eseguito su Windows, durante l'esecuzione si blocca mostrando il messaggio di errore "Il programma ha smesso di funzionare").
Indicare quale dei seguenti input provoca il malfunzionamento
Input 3 3
Input -7 -6
Input 0 -3
Input 5 1
#include <stdio.h>
int main()
{
int x, y, z, k;
scanf("%d %d", &x, &y);
if(x>y && x!=0){
z=x-y;
z=(x+y+z)/(2*x);
}
else {
z=x*y;
}
k=z/(z-1);
printf("%d\n", k);
return 0;
}
────══════♦☆♦══════────
Esercizio 12
Quale output produce il programma se sollecitato con i seguenti input?
Esecuzione a) input: 8 e 4
Esecuzione b) input 2 e 1
Output esecuzione a) b): 3 7
Output esecuzione a) b): 7 3
Output esecuzione a) b): 0 0
Output esecuzione a) b): 2 1
Output esecuzione a) b): 2 0
#include <stdio.h>
int main()
{
int a, b, c;
scanf("%d %d", &a, &b);
if(a && !b && (a||b)){
c = a*b;
}
else {
c = a-b;
}
if (c>a)
printf("%d\n", a/2);
else
printf("%d\n", b/2);
return 0;
}
────══════♦☆♦══════────
Esercizio 13
Individuare quale risposta contiene una corretta corrispondenza tra input e output.
Input: 3 4 Output: 52
Input: 5 1 Output: 30
Input: 3 2 Output: 25
Input: 0 0 Output: 1
Input: 3 1 Output: 15
#include <stdio.h>
int main()
{
int x, y, z1, z2, k;
scanf("%d %d", &x, &y);
z1=x-y;
z2=y-x;
k=(x+x-z1)*(y+y-z2);
printf("%d\n", k);
return 0;
}
────══════♦☆♦══════────
Esercizio 14
Individuare quale risposta contiene una corretta corrispondenza tra input e output.
Input: 3 4 7 Output: 4
Input: 5 1 -5 Output: 5
Input: 3 2 -1 Output: -1
Input: 1 0 5 Output: 5
Input: -3 -7 -2 Output: -3
#include <stdio.h>
int main()
{
int a, b, c, x;
scanf("%d %d %d", &a, &b, &c);
x=a+b+c;
if (a>b || a>c)
x=x-a;
if (b>a || b>c)
x=x-b;
if (c>a || c>b)
x=x-c;
printf("%d\n", x);
return 0;
}
────══════♦☆♦══════────
Esercizio 15
A fronte di quale input il programma scrive a video la parola "META"?
Input: 5 6 7
Input: -4 5 2
Input: 6 -4 -2
Input: -3 4 2
Input: -4 -5 -2
#include <stdio.h>
int main()
{
int a, b, c, x;
scanf("%d %d %d", &a, &b, &c);
if (a<0)
a=-a;
if (b<0)
b=-b;
if (c<0)
c=-c;
x=a-b-c;
if (!x)
printf("META");
return 0;
}
────══════♦☆♦══════────
Esercizio 16
Individuare quale risposta contiene una corretta corrispondenza tra input e output.
Input: 3 4 Output: 4 -3
Input: 5 1 Output: 5 -1
Input: -3 2 Output: 2 -3
Input: 1 0 Output: 1 0
Input: -3 -7 Output: -3 -5
#include <stdio.h>
int main()
{
int a, b, c;
scanf("%d %d", &a, &b);
if (a*b>0) {
c=a-b;
a=a-c;
b=b+c;
}
else {
c=b-a;
b=b-c;
a=a+c;
}
printf("%d %d\n", a, b);
return 0;
}
────══════♦☆♦══════────
Esercizio 17
In quale caso il programma scrive a video la parola "META"?
Input: -3 4
Input: 6 4
Input: 5 5
Input: 3 -2
Input: 3 4
#include <stdio.h>
int main()
{
int x, y, z=2;
scanf("%d %d", &x, &y);
if (x-y>0)
z=1;
else if (x-y==0)
z=0;
if (z==2){
if (y>=y-x)
printf("META\n");
}
return 0;
}
────══════♦☆♦══════────
Esercizio 18
Individuare quale risposta contiene una ERRATA corrispondenza tra input e output.
Input: 3 4 Output: 1
Input: 5 1 Output: 4
Input: -3 2 Output: 5
Input: 1 0 Output: 1
Input: -3 -7 Output: 10
#include <stdio.h>
int main()
{
int x, y, a=0, b=0, c=0;
scanf("%d %d", &x, &y);
if (x-y>0)
a=1;
else if (x-y==0)
b=1;
else
c=1;
if (a>b && a>c)
printf("%d\n", x-y);
else if (b>a && b>c)
printf("%d\n", x-x);
else
printf("%d\n", y-x);
return 0;
}
────══════♦☆♦══════────
Esercizio 19
Indicare su quale dei seguenti input il programma va in errore di run-time (in pratica, se eseguito su Windows, durante l'esecuzione si blocca mostrando il messaggio di errore "Il programma ha smesso di funzionare").
Input: -3 4
Input: 6 8
Input: 5 5
Input: 3 -2
Input: 0 -3
#include <stdio.h>
int main()
{
int x, y, z;
scanf("%d %d", &x, &y);
if (x>y && x!=0){
z=x-y;
z=(x+y+z)/(2*x);
z=z/(z-1);
printf("%d\n", z);
}
else {
z=x*y;
printf("%d\n", z);
}
return 0;
}
Sito: 7ecnologie
Sezione: 08. C language
Capitolo: 98. Esercizi
Paragrafo: 02. Quesiti strutturati
Indice dei capitoli: 00. Risorse - 01 Ambiente di sviluppo - 02. Introduzione al C - 03. Le librerie - 04. Tutorial - 05. Esercizi svolti - 98. Esercizi
Indice dei paragrafi: 01. Introduttivi - 02. Quesiti strutturati - 03. Interpretazione del codice - 04. Diagrammi di flusso - 05. Array - 06. Tipi numerici - 07. Programmazione strutturata - 08. Caratteri e stringhe - 09. File - 10. Numeri casuali - 11. Riepilogativi - 12. Progettazione guidata