Alcune soluzioni ai problemi proposti nella scheda del prof.Fabrizio Caruso. 1 - Visualizzare una scritta sullo schermo. Possibili soluzioni proposte dal prof. Nicola Masarone. Diagramma di flusso Codifica in C++ inizio #include <iostream> using namespace std; visualizza “ciao” fine int main() { cout << "ciao"; return 0; } 2 - Inserire due valori interi distinti e visualizzarne sullo schermo la somma. Diagramma di flusso Codifica in C++ inizio inserisci A inserisci B V #include <iostream> using namespace std; int main() { int A, B, Somma; cin >> A; A=B do{ cin >> B; } while(A == B); F Somma = A + B; Somma ← A + B cout << Somma; visualizza Somma fine return 0; } 3 - Inserire due valori interi distinti e visualizzare sullo schermo il più grande. Diagramma di flusso Codifica in C++ inizio inserisci A #include <iostream> using namespace std; inserisci B V int main() { int A, B; cin >> A; A=B do{ cin >> B; } while(A == B); F V A>B visualizza A F if(A>B) {cout << A;} else {cout << B;} visualizza B return 0; } fine 4 - Inserire due valori interi distinti. Visualizzare il più piccolo e il più grande tra i valori inseriti. Diagramma di flusso Codifica in C++ inizio #include <iostream> using namespace std; inserisci A int main() { int A, B; inserisci B cin >> A; V A=B do{ cin >> B; } while(A == B); F V A>B visualizza B, A if(A>B) {cout << B << "," << A;} else {cout << A << "," << B;} return 0; F visualizza A, B } fine 5 - Inserire un numero intero N. Stabilire se il numero inserito è pari o dispari. Diagramma di flusso inizio #include <iostream> using namespace std; inserisci N V N%2 = 0 visualizza “pari” Codifica in C++ int main() { int N; cin >> N; F if(N%2 == 0) {cout << "pari";} else {cout << "dispari";} visualizza “dispari” return 0; } fine 6 - Inserire tre valori distinti. Visualizzare il più piccolo e il più grande tra i valori inseriti. Diagramma di flusso inizio Codifica in C++ inserisci A inserisci B V A=B F inserisci C V continua nella pagina successiva ... #include <iostream> using namespace std; int main() { int A, B, C; cin >> A; do{ cin >> B; } while(A==B); do{ cin >> C; } while(C==A || C==B); C=A OR C=B F continua nella pagina successiva ... … continua dalla pagina precedente … continua dalla pagina precedente V V B>C V vis. C,A vis. B,A A>B F A>C F V F A>C vis. C,B V F B>C vis. A,B vis. B,C F vis. A,C if(A>B) { if(B>C) { cout << C << "," << A; } else { if(A>C) { cout << B << "," << A; } else { cout << B << "," << C; } } } else { if(A>C) { cout << C << "," << B; } else{ if(B>C) { cout << A << "," << B; } else {cout << A << "," << C;} } } fine return 0; } 7 - Inserire tre valori interi positivi corrispondenti alle misure dei lati di un triangolo. Stabilire di che tipo di triangolo si tratta (equilatero, scaleno o isoscele) Diagramma di flusso inizio inserisci A V A <= 0 F inserisci B V Codifica in C++ #include <iostream> using namespace std; int main() { int A, B, C; do{cin >> A;} while(A<=0); do{cin >> B;} while(B<=0); do{cin >> C;} while(C<=0); B <= 0 F inserisci C continua nella pagina successiva ... V C <= 0 F continua nella pagina successiva ... … continua dalla pagina precedente V V … continua dalla pagina precedente A=B F F B=C V vis. “equil.” if(A==B){ if(B==C) {cout << "equilatero";} else {cout << "isoscele";} } else { if(B==C) {cout << "isoscele";} else { if(A==C){cout << "isoscele";} else {cout << "scaleno";} } } vis. “isosc.” B=C V F A=C F vis. “isosc.” vis. “isosc.” fine vis. “scal.” return 0; } 8 -Visualizzare la somma di n valori interi inseriti con la tastiera. Diagramma di flusso Codifica in C++ inizio inserisci N int main() { int N, V, S; S←0 N>0 #include <iostream> using namespace std; cin >> N; S = 0; F V while(N>0) { cin >> V; S = S + V; N = N -1; } inserisci V S←S+V N←N-1 cout << S; return 0; visualizza S fine } 9 - Inserire n valori interi con la tastiera e visualizzare sullo schermo la somma di tutti i valori inseriti compresi tra 0 e 100. Diagramma di flusso Codifica in C++ inizio #include <iostream> using namespace std; inserisci N S←0 int main() { int N, V, S; F N>0 cin >> N; S = 0; V inserisci V N←N-1 while(N>0) { cin >> V; if(V>0 && V<100) { S = S + V; } N = N -1; } visualizza S cout << S; return 0; V>0 AND V<100 F V S←S+V } fine 10 - Inserire n valori interi. Visualizzare sullo schermo il più piccolo e il più grande. Diagramma di flusso Codifica in C++ inizio inserisci N inserisci V #include <iostream> using namespace std; int main() { int N, V, MIN, MAX; cin >> N; MAX ← V cin >> V; MIN = V; MIN ← V MAX = V; N = N - 1; N←N-1 continua nella pagina successiva ... continua nella pagina successiva ... … continua dalla pagina precedente F … continua dalla pagina precedente N>0 while(N > 0) { cin >> V; V inserisci V N = N - 1; N←N-1 V V>MAX F V MAX ← V if(V > MAX) { MAX = V; } else { if(V < MIN) { MIN = V; } } V<MIN F MIN ← V } cout << MIN << "," << MAX; return 0; vis. MIN, MAX fine } 11 - Inserire un valore intero positivo n. Visualizzare sullo schermo i valori interi da 1 a n. (Es.: Con n=5 sullo schermo dovrà apparire la sequenza: 1 2 3 4 5) Diagramma di flusso inizio inserisci N Codifica in C++ #include <iostream> using namespace std; int main() { int N, C; C←0 cin >> N; C<N F C = 0; V while(C<N) { C = C + 1; C←C+1 cout << C << endl; visualizza C } return 0; } fine 12 - Inserire un valore intero positivo n. Visualizzare sullo schermo n volte il valore inserito. (Es.: Con n=7 sullo schermo dovrà apparire la sequenza: 7 7 7 7 7 7 7) Diagramma di flusso inizio inserisci N Codifica in C++ #include <iostream> using namespace std; int main() { int N, C; C←0 cin >> N; C<N F C = 0; V while(C<N) { C = C + 1; C←C+1 cout << N << endl; visualizza N } return 0; } fine 13 - Inserire un valore intero positivo n. Visualizzare sullo schermo una volta il numero 1, due volte il numero 2,…..,n volte il numero n. Diagramma di flusso inizio inserisci N #include <iostream> using namespace std; int main() { int N, C, D; C←0 C<N Codifica in C++ cin >> N; F C = 0; V C←C+1 while(C<N) { C = C + 1; D = C; while(D>0) { D = D -1; cout << C << endl; } } D←C F D>0 V D←D-1 visualizza C return 0; fine } 14 - Inserire due numeri interi positivi A ed N. Visualizzare sullo schermo i primi N valori interi successivi ad A. (Es.: Con A=7 ed N=3 sullo schermo dovrà apparire la sequenza: 8 9 10). Diagramma di flusso inizio Codifica in C++ Inserisci A V A <= 0 F Inserisci N V #include <iostream> using namespace std; int main() { int A, N; do{cin >> A;} while(A<= 0); do{cin >> N;} while(N<=0); N <= 0 F do{ A←A+1 A = A + 1; cout << A << endl; N = N - 1; } while(N>0); visualizza A N←N-1 V N>0 F fine return 0; } 15 - Inserire due numeri interi positivi A ed N. Visualizzare sullo schermo i primi N valori interi pari successivi ad A. (Es.: Es.: Con A=7 ed N=3 sullo schermo dovrà apparire la sequenza: 8 10 12) Diagramma di flusso inizio #include <iostream> using namespace std; Inserisci A V A <= 0 int main() { int A, N; F do{cin >> A;} while(A<= 0); do{cin >> N;} while(N<=0); Inserisci N V Codifica in C++ if(A%2!=0) {A = A + 1;} else {A = A + 2;} N <= 0 F V A←A+1 continua nella pagina successiva ... A%2 != 0 F A←A+2 continua nella pagina successiva ... … continua dalla pagina precedente … continua dalla pagina precedente visualizza A do{ cout << A << endl; A = A + 2; N = N - 1; } while(N>0); A←A+2 N←N-1 return 0; } V N>0 F fine 16 - Inserire due numeri interi positivi A ed N. Visualizzare sullo schermo i primi N valori interi dispari successivi ad A. (Es.: Es.: Con A=7 ed N=3 sullo schermo dovrà apparire la sequenza: 9 11 13) Diagramma di flusso inizio #include <iostream> using namespace std; Inserisci A V A <= 0 int main() { int A, N; F do{cin >> A;} while(A<= 0); do{cin >> N;} while(N<=0); Inserisci N V Codifica in C++ if(A%2==0) {A = A + 1;} else {A = A + 2;} N <= 0 F V A←A+1 continua nella pagina successiva ... A%2 == 0 F A←A+2 continua nella pagina successiva ... … continua dalla pagina precedente … continua dalla pagina precedente visualizza A do{ cout << A << endl; A = A + 2; N = N - 1; } while(N>0); A←A+2 N←N-1 return 0; } V N>0 F fine 17 - Inserire due numeri interi positivi A ed N. Visualizzare sullo schermo la somma dei primi N valori interi successivi ad A. Diagramma di flusso inizio Codifica in C++ Inserisci A V A <= 0 F Inserisci N V #include <iostream> using namespace std; int main() { int A, N, S; do{cin >> A;}while(A<=0); do{cin >> N;}while(N<=0); N <= 0 F S←0 S = 0; A←A+1 do{ A = A + 1; S = S + A; N = N - 1; } while(N>0); S←S+A N←N-1 V cout << S; N>0 F visualizza S fine return 0; } 18 - Inserire due valori interi positivi A e B. Visualizzare sullo schermo tutti i valori interi compresi tra A e B (A e B esclusi). Diagramma di flusso inizio Codifica in C++ Inserisci A V int main() { int A, B; A <= 0 F Inserisci B V B <= 0 F V if(B>A) { A = A + 1; while(B>A) { cout << A << endl; A = A + 1; } } else { B = B + 1; while(A>B) { cout << B << endl; B = B + 1; } } return 0; F B>A A←A+1 B>A V vis. A do{cin >> A;}while(A<=0); do{cin >> B;}while(B<=0); B←B+1 F F A←A+1 A>B V vis. B B←B+1 } fine Prof. Nicola Masarone - ITIS "G.Giorgi" Roma
© Copyright 2024 Paperzz