• Non ci sono risultati.

Alcuni esercizi svolti su algoritmi e programmi

N/A
N/A
Protected

Academic year: 2021

Condividi "Alcuni esercizi svolti su algoritmi e programmi"

Copied!
11
0
0

Testo completo

(1)Esercizio. Alcuni esercizi su algoritmi e programmazione. • Scrivere l’algoritmo e il diagramma di flusso per il seguente problema: l’esecutore deve leggere in ingresso una sequenza di numeri naturali (i.e. interi positivi strettamente maggiori di zero) e calcolarne (per poi stamparli) il massimo, il minimo e la media • La sequenza si interrompe non appena viene introdotto un numero negativo o uguale a zero • Per esempio, data la sequenza 5, 1, 2, 3, 4, -5, il risultato dovrebbe essere: “Il massimo è 5, il minimo è 1, la media è 3”. Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini. Docente: A. Gerevini. inizio. Calcolo massimo, minimo e media 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.. Ipotesi: si max ← 0, min ← 1000, media ← 0, n ← 0 supponga che il Leggi un valore dall’esterno e inseriscilo nella variabile x massimo numero Se x > 0 allora vai al passo 4 altrimenti vai al passo 10 rappresentabile Se x > max allora max ← x sia 1000 Se x < min allora min ← x media ← media + x n←n+1 Leggi un valore dall’esterno e inseriscilo nella variabile x Vai al passo 3 Se n > 0 allora vai al passo 11 altrimenti vai al passo 13 media ← media / n Stampa “Massimo, minimo, media = ” seguita dai valori in max, min, media e vai ai al passo 14 Stampa “La sequenza inserita è nulla” Fine. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. Schema a blocchi. max ← 0 min ← 1000 media ← 0 n←0. Scomposizione in sottoproblemi:. 3. 2. Fondamenti di Informatica A – Università di Brescia. x←. x←. no no. sì. n>0. x>0. sì media ← media / n. sì. x > max. no x < min. no. ‘La sequenza inserita è nulla”. ‘Il massimo è’, ← max ‘Il minimo è’ ← min ‘la media è’ ← media. max ← x. sì min ← x. media ← media + x n←n+1. fine.

(2) Esecuzione passo passo dell’algoritmo: data la sequenza 5, 1, 2, 3, 4, -5 1 2 3 4 5 6 7 8 9 10 11 12 13 14. Esecuzione passo passo dell’algoritmo: data la sequenza 5, 1, 2, 3, 4, -5 15 16 17 18 19 20 21 22 23 24 25 26 27 28. Assegna 0 a max, 1000 a min, 0 a media e 0 a n Lettura di un numero e memorizzazione nella variabile x (x=5) Controllo se x > 0 Î è vero Controllo se x > max Î è vero max = 5 Controllo se x < min Î è vero min = 5 media = 0 + 5 = 5 n=0+1=1 Lettura di un numero e memorizzazione nella variabile x (x=1) Controllo se x > 0 Î è vero Controllo se x > max Î non è vero Controllo se x < min Î è vero min = 1. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 5. Esecuzione passo passo dell’algoritmo: data la sequenza 5, 1, 2, 3, 4, -5 29 30 31 32 33 34 35 36 37 38 39 40 41. Fondamenti di Informatica A – Università di Brescia. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 6. Esecuzione passo passo dell’algoritmo: data la sequenza –2 (cioè sequenza nulla). Lettura di un numero e memorizzazione nella variabile x (x = 4) Controllo se x > 0 Î è vero Controllo se x > max Î non è vero Controllo se x < min Î non è vero media = 11 + 4 = 15 n=4+1=5 Lettura di un numero e memorizzazione nella variabile x (x = -5) Controllo se x > 0 Î non è vero Controllo se n > 0 Î è vero media = 15 / 5 = 3 Visualizza “il Massimo è” 5 Visualizza “Il minimo è” 1 Visualizza “La media è” 3. Docente: A. Gerevini. media = 5 + 1 = 6 n=1+1=2 Lettura di un numero e memorizzazione nella variabile x (x=2) Controllo se x > 0 Î è vero Controllo se x > max Î non è vero Controllo se x < min Î non è vero media = 6 + 2 = 8 n=2+1=3 Lettura di un numero e memorizzazione nella variabile x (x=3) Controllo se x > 0 Î è vero Controllo se x > max Î non è vero Controllo se x < min Î non è vero media = 8 + 3 = 11 n=3+1= 4. 1 2 3 4 5. 7. Assegna 0 a max, 1000 a min, 0 a media e 0 a n Lettura di un numero e memorizzazione nella variabile x (x=-2) Controllo se x > 0 Î non è vero Controllo se n > 0 Î non è vero Visualizza ‘La sequenza inserita è nulla’. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 8.

(3) r. 1 y=∑ i =q i. inizio. Esercizio. r← q←. r. • Sia y =. 1 ∑ i =q i. no. (r > 0) AND (q > 0) AND (r > q). ‘Errore nell’immissione dei dati’. sì. • Scrivere il diagramma di flusso per il calcolo di y assumendo di acquisire r e q dall’esterno (dati di input) • Nota: controllare che r e q siano interi positivi tali che r > q. somma ← 0 i←q. no i <= r ←somma. sì somma ← somma + (1/i) i ← i +1. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. Esercizio. Esecuzione passo passo dell’algoritmo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16. Lettura di un numero e memorizzazione nella variabile r (r=6) Lettura di un numero e memorizzazione nella variabile q (q=4) Controllo se (r>0) AND (q > 0) AND (r>q) Î è vero Somma = 0 I=4 Controllo se 4 <= 6 Î è vero Somma = 0 + 1/4 = 0,25 I=4+1=5 Controllo se 5 <= 6 Î è vero Somma = 0,25 + 1/5 = 0,45 I=5+1=6 Controllo se 6 <= 6 Î è vero Somma = 0,45 + 1/6 = 0,6166666…. I=6+1=7 Controllo se 7 <= 6 Î non è vero Visualizza 0,6166666….. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. fine. 9. • Scrivere un diagramma di flusso strutturato che, dati in ingresso due numeri positivi x e y visualizza in ordine decrescente la sequenza di numeri interi compresi tra x e y che sono divisibili per per il minore tra x e y. Ad esempio, se x = 7 e y = 35, la sequenza è 35 28 21 14 7 • Scrivere il corrispondente programma in C. 11. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 12.

(4) inizio. Soluzione: schema a blocchi. x← y←. sì. x>y. i←x x←y y←i. Esercizio k. • Sia y =. i. 1 2 ) j =1 i + j. ∑ (∑ i =1. no. è necessario usare la variabile j?. • Scrivere il diagramma di flusso per il calcolo di y assumendo di acquisire k dall’esterno (dato di input) controllando che k sia intero positivo • Scrivere il corrispondente programma in C e in Basic. j←y. no. x<j. sì. ←j. j mod x = 0. sì fine. ←j. no j←j-1 Docente: A. Gerevini. 13. Fondamenti di Informatica A – Università di Brescia. Docente: A. Gerevini. inizio. inizio. k←. k←. ‘Errore nell’immissione dei dati’. sì. k <= 0. k. y←0 i←0. ‘Errore nell’immissione dei dati’. sì. k <= 0. ←y. S ← S*S y←y+S i←i+1. i =1. no. sì ←y. S←0 j←1. fine. no. fine. no. j<=i. sì. S ← S + 1/(i+j) j ← j+1. j<=i. sì. i. 1 2 ) j =1 i + j. y =∑ (∑. y←0 i←1. i<=k. S←0 i ← i+1 j←1. Una soluzione alternativa? k. no. no. sì. S ← S*S y←y+S. i. 1 2 ) y =∑ (∑ i =1 j =1 i + j. no. i != k. 14. Fondamenti di Informatica A – Università di Brescia. S ← S + 1/(i+j) j ← j+1.

(5) main() /* in C */ { int k, i, j; float y, s; do Ciclo di acquisizione di k { scanf(“%d”, &k); if (k <= 0) printf(“Errore nell’immissione di k”); } while (k<=0) Inizializzazioni per ciclo y = 0; i = 1; esterno while (i <= k) { Inizializzazioni per ciclo s = 0; j = 1; interno (j <= i) while { s = s + 1/(i+j); Sommatoria interna j = j + 1; } s = s * s; y = y + s; Sommatoria esterna i = i + 1; } printf(“%d”, y) }. Traduzione in C. Traduzione in Basic. Docente: A. Gerevini. Esercizio: ricerca elemento in un vettore • Scrivere un algoritmo (in pseudo-codice o con uno schema a blocchi) che, preso in ingresso un numero, ricerca tale numero nel vettore e se esiste risponde “ho trovato il numero”, altrimenti risponde “il numero non è nel vettore” • Scrivere il corrispondente programma in C e in Basic (nota: per la stampa di stringhe usare printf, es. printf(“ho trovato il numero”) e print es. print “ho trovato il numero” Fondamenti di Informatica A – Università di Brescia. Fondamenti di Informatica A – Università di Brescia. 18. Ricerca di un elemento in un vettore. • Si supponga di avere n numeri memorizzati in un vettore di n elementi. Docente: A. Gerevini. ‘ in BASIC dim i as integer, j as integer, k as integer dim y as single, s as single do input k if k <= 0 then print “Errore nell’immissione di k” end if loop while k<=0 y = 0: i = 1 while i <= k s = 0: j = 1 while j <= i s = s + 1/(i+j) j=j+1 Esercizio: wend fare l’esecuzione s=s*s y=y+s passo passo del i=i+1 programma wend print y. 19. Dati n=100 intero a[ ] vettore di interi i, t, num interi positivi Risoluzione leggi num i←1 t=0 finchè (i <= n ) ripeti se a[i] = num allora t = 1 i←i+1 fine ciclo se t = 1 allora scrivi “trovato” altrimenti scrivi “non trovato” Docente: A. Gerevini. main() /* C */ { E’meglio int a[100]; di un ciclo int i, t, num; FOR? scanf(“%d”,&num); Perché? i = 0; t = 0; while (i < 100) { if (a[i] == num) t = 1; i = i + 1; } if (t == 1) printf (“Trovato”); else printf(“Non trovato”); }. Fondamenti di Informatica A – Università di Brescia. 20.

(6) Ricerca di un elemento in un vettore Dati n=100 intero a[ ] vettore di interi i, t, num interi positivi Risoluzione Ciclo leggi num inefficiente! i←1 Idee? t=0 finchè (i <= n ) ripeti se a[i] = num allora t = 1 i←i+1 fine ciclo se t = 1 allora scrivi “trovato” altrimenti scrivi “non trovato”. Docente: A. Gerevini. Esercizio. ‘ in Basic dim a(100) as integer dim i as integer, t as integer dim num as integer input num i=1 t=0 while i <= 100 if a(i) = num then t = 1 end if i=i+1 wend if t = 1 then print “Trovato” else print “Non trovato” end if. Fondamenti di Informatica A – Università di Brescia. • Si consideri il problema di leggere una sequenza arbitraria di numeri in ingresso e riscriverla in ordine inverso • Risolvere il problema usando i vettori • Si supponga che la fine della sequenza sia indicata dal numero 0 • Scrivere il diagramma di flusso • Scrivere i corrispondenti programmi in C e in Basic 21. Inversione della sequenza: diagramma di flusso. inizio. conta ← 1 fine ← 0. Ipotesi: - massimo numero di elementi acquisibili = 100 no. (conta <= 100) AND (fine = 0). conta ← conta - 1. sì a[conta] ← a[conta]=0. no. - si dichiara quindi un vettore a[100]. conta>0. sì. no. sì ← a[conta]. fine. fine ← 1 conta ← conta - 1. conta ← conta + 1 Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 23. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 22. Programma ‘inverti-sequenza’ main() /* C */ { int a[100]; int conta, fine; conta = 0; fine = 0; while ((conta < 100) && (fine==0)) { scanf(“%d”,&a[conta]); if (a[conta] == 0) fine = 1; conta = conta + 1; } conta = conta - 1; while (conta >= 0) { printf(“%d”,a[conta]); conta = conta – 1; } } Docente: A. Gerevini. ‘ Basic dim a(100) as integer dim conta as integer, fine as integer conta = 1: fine = 0 while conta <= 100 AND fine=0 input a(conta) if a(conta) = 0 then fine = 1 end if conta = conta + 1 wend Esercizio: conta = conta - 1 riscrivere while conta > 0 come ciclo print a(conta) FOR conta = conta – 1 wend. Fondamenti di Informatica A – Università di Brescia. 24.

(7) Esercizio. Esercizio. • Si supponga di avere n numeri memorizzati in un vettore di n elementi. • Riscrivere l’algoritmo di ordinamento per inserimento diretto nel seguente caso:. • Scrivere un algoritmo per l’ordinamento in ordine crescente di tali numeri. – I numeri da ordinare vengono acquisiti dall’esterno uno ad uno finché non viene fornito il numero 0. • Esempio:. – Supporre che il vettore in cui si vanno a memorizzare i numeri sia di 100 posizioni e sia inizialmente vuoto. – Vettore: a[1]=4, a[2]=5, a[3]=1, a[4]=2, a[5]=8 applicando l’algoritmo avrò il vettore a trasformato nel seguente modo. – Fare in modo che durante la memorizzazione nel vettore i numeri acquisiti vengano inseriti nella giusta posizione, ovvero che alla fine dell’acquisizione i numeri risultino già ordinati. - Vettore: a[1]=1, a[2]=2, a[3]=4, a[4]=5, a[5]=8 • L’algoritmo deve essere generico, ovvero deve poter funzionare per un generico numero n di elementi • (Per la soluzione si veda il file “Algoritmi di ordinamento”) Docente: A. Gerevini. 25. Fondamenti di Informatica A – Università di Brescia. Docente: A. Gerevini. Esercizio E se al posto del valore 9 ci fosse 4 ?. • Data la seguente sequenza di numeri 3. 11. 2. 5. 9. • Indicare la sequenza di scambi di effettuata dall’algoritmo di ordinamento – per inserimento – per selezione – a bolle Docente: A. Gerevini. 11. 11. 2 3. 11 2. 3 11. 5 11. 2. 11. 3 11. 5 11. 9. 3 2 3. 2 11. 5 11. Fondamenti di Informatica A – Università di Brescia. 9. Fondamenti di Informatica A – Università di Brescia. 26. Esercizio • Modificare l’algoritmo ed i programmi in C e Basic per la ricerca di un elemento in un vettore in modo da renderlo più efficiente: si deve uscire dal ciclo quando il numero degli elementi esaminati è esaurito oppure quando l’elemento è stato trovato. 9 27. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 28.

(8) inizio. Esercizio. Inserimento diretto con vettore inizialmente vuoto. i←0 n ← 100. • Scrivere un programma che dato in ingresso un numero n fornisce in uscita le radici quadrate intere dei numeri compresi fra 1 e n • In particolare scrivere un sottoprogramma che dato in ingresso un certo numero i produca la radice quadrata intera di i. x ←. • Chiamare il sottoprogramma all’interno del programma •. Calcolo della radice quadrata intera di i: Fare un ciclo su j a partire da j= 1 verificando ogni volta se j*j <=i, quando j*j non è più minore o uguale di i allora è possibile restituire la radice intera di i che vale j-1. Esempio: i = 7 Provo con 0 … 0 x 0 = 0 < 7 prosegui Provo con 1 … 1 x 1 = 1 < 7 prosegui Provo con 2 … 2 x 2 = 4 < 7 prosegui Provo con 3 … 3 x 3 = 9 < 7 no, allora il risultato è 3 – 1 = 2 !!!. Docente: A. Gerevini. 29. Fondamenti di Informatica A – Università di Brescia. no. fine. (i = n-1). 1 2 3 4 5 6. 0 1. 0 2. 0 0 3 4. 0 … 0 0 0 0 5 96 97 98 99. i = 0, n = 100 Æ supponiamo di leggere il numero 44 Leggo x Controllo se ((x = 0) OR (i = 99)) Î non è vero j = i – 1 = -1 Controllo se ((j >= 0) AND (x < a[-1])) Î non è vero a[j+1] = a[0] ← x = 44. Docente: A. Gerevini. a. 44 0. Fondamenti di Informatica A – Università di Brescia. di considerare un vettore di 100 interi (il numero di elementi acquisiti può essere al massimo 100). j = i -1 sì. a[j+1] ← a[j] j←j-1 Docente: A. Gerevini. (j>=0) AND (x < a[j]). no a[j+1] ← x i←i+1. Fondamenti di Informatica A – Università di Brescia. 30. Esecuzione passo passo. • Supponiamo all’inizio di avere il vettore a seguente 0 0. Ipotesi: supponiamo. no. Come funziona? a. (x = 0) OR. 0. 0. 0. …. 31. 7 8 9 10 11 12. i=i+1=1 Æ supponiamo di leggere il numero 55 Leggo x Controllo se ((x = 0) OR (i = 99)) Î non è vero j=i–1=0 Controllo se ((j >= 0) AND (x < a[0])) Î non è vero (x contiene 55 e a[0]=44) a[j+1] = a[1] ← x = 55. 13 14 15 16 17 18. i=i+1=2 Æ supponiamo di leggere il numero 12 Leggo x Controllo se ((x = 0) OR (i = 99)) Î non è vero j=i–1=1 Controllo se ((j >= 0) AND (x < a[1])) Î è vero (x contiene 12 e a[1]=55) a[j+1] = a[j] = 55 a 44 55 55 0 0 …. Docente: A. Gerevini. a. 44 55 0. Fondamenti di Informatica A – Università di Brescia. 0. 0. …. 32.

(9) Esecuzione passo passo 19 j = j - 1 = 0 20 Controllo se ((j >= 0) AND (x < a[0])) Î è vero 21 a[j+1] = a[j] = 44 22 23 24 25 26 27 28 29 30. Esecuzione passo passo. (x contiene 12 e a[0]=44). a 44 44 55 0 0 … j = j - 1 = -1 Controllo se ((j >= 0) AND (x < a[-1])) Î non è vero a[j+1] = x = 12 a 12 44 55 0 0 … i=i+1=3 Æ supponiamo di leggere il numero 42 Leggo x Controllo se ((x = 0) OR (i = 99)) Î non è vero j=i–1=2 Controllo se ((j >= 0) AND (x < a[2])) Î è vero (x contiene 42 e a[2]=55) a[j+1] = a[j] = 55 a 12 44 55 55 0 …. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 33. 31 j = j - 1 = 1 32 Controllo se ((j >= 0) AND (x < a[1])) Î è vero 33 a[j+1] = a[j] = 44. a. (x contiene 42 e a[1]=44). 12 44 44 55 0. …. 34 j = j - 1 = 0 35 Controllo se ((j >= 0) AND (x < a[0])) Î non è vero (x contiene 42 e a[0]=12) 36 a[j+1] = x = 42 a 12 42 44 55 0 … 37 i = i + 1 = 4 Æ supponiamo di leggere il 0 38 Leggo x 39 Controllo se ((x = 0) OR (i = 99)) Î è vero Æ il vettore è ordinato 40 Fine. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 34. inizio. Ricerca di un elemento in un vettore /* C */ main() { int a[100]; int i, num; bool t; scanf(“%d”,&num); i = 0; t = 0; while ((i < 100) && (!t)) { if (a[i] == num) t = 1; i = i + 1; } if (t) printf (“Trovato”); else printf(“Non trovato”); } Docente: A. Gerevini. n←. ‘ in Basic dim a(100) as integer dim i as integer, t as integer dim num as integer input num i=1 t=0 while i <= 100 AND not t if a(i) = num then t = -1 end if i=i+1 wend if t then print “Trovato” else print “Non trovato” end if. Fondamenti di Informatica A – Università di Brescia. n <= 0. ‘Errore nell’immissione dei dati’. sì. no k←1 k <= n. no. sì r = radice(k). fine. Diagramma di flusso per il calcolo delle radici intere di k (k=1..n). ←r k ← k+1 35. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 36.

(10) inizio n← n <= 0. sì. /* Radici in C */ int n, k, r; main() { do { scanf(“%d”, &n); if (n <= 0) printf(“Errore nell’immissione di n”); } while (n<=0). j←1. no k←1 k <= n. Programma per il calcolo delle radici. Funzione radice(i). ‘Errore nell’immissione dei dati’. V. j*j<=i. no. F j ←j + 1. sì. fine. j ←j − 1. r = radice(k) ←r. ritorna j. k ← k+1 Docente: A. Gerevini. } Fondamenti di Informatica A – Università di Brescia. 37. for (k=1;k<=n;k++) { r = radice(k); printf(“%d”, r); }. Docente: A. Gerevini. La funzione ‘Radice’ Funzione radice(i) Dati j intero Risoluzione j ←1 finchè (j*j <= i) ripeti j←j+1 fine ciclo restituisci j-1 fine funzione. Docente: A. Gerevini. int radice(int i) { int j; j = 1; while (j*j <= i) j = j + 1; return (j-1); }. for k=1 to n r = radice(k) print r next k. Fondamenti di Informatica A – Università di Brescia. 38. Esecuzione passo passo del programma. function radice(i as integer). Supponiamo che l’utente abbia inserito il valore n = 5. dim j as integer. 1 2 3 4 5 6 7 8 9 10. j=1 while j*j <= i j=j+1 wend radice = j - 1 end function. Fondamenti di Informatica A – Università di Brescia. ‘ in BASIC dim n as integer, k as integer, r as integer do input n if n <= 0 then print “Errore nell’immissione di n” end if loop while n<=0. 39. k=1 Controllo se k <= 5 è vero Chiamata della funzione radice(1) j=1 Esecuzione del Controllo se 1*1 <= 1 è vero sottoprogramma con parametro i =1 j=j+1=2 Controllo se 2*2 <= 1 non è vero Ritorna il valore 1 al programma chiamante Stampa 1 k=k+1=2. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 40.

(11) Esecuzione passo passo del programma 11 12 13 14 15 16 17 18 19 20. Esecuzione passo passo della funzione ‘radice’ (cont…) 21 22 23 24 25 26. Controllo se k <= 5 è vero Chiamata della funzione radice(2) Esecuzione del j=1 Controllo se 1*1 <= 2 è vero sottoprogramma con parametro i =2 j=j+1=2 Controllo se 2*2 <= 2 non è vero Ritorna il valore 1 al programma chiamante Stampa 1 k=k+1=3 Controllo se k <= 5 è vero. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 27 Stampa 1 28 k = k + 1 = 4 29 Controllo se k <= 5 è vero. 41. Docente: A. Gerevini. Esecuzione passo passo della funzione ‘radice’ (cont…) 30 31 32 33 34 35 36 37 38 39 40. Fondamenti di Informatica A – Università di Brescia. Fondamenti di Informatica A – Università di Brescia. 42. Esecuzione passo passo della funzione ‘radice’ (cont…). Chiamata della funzione radice(4) j=1 Esecuzione del Controllo se 1*1 <= 4 è vero sottoprogramma con parametro i = 4 j=j+1=2 Controllo se 2*2 <= 4 è vero j=j+1=3 Controllo se 3*3 <= 4 non è vero Ritorna il valore 2 al programma chiamante Stampa 2 k=k+1=5 Controllo se k <= 5 è vero. Docente: A. Gerevini. Chiamata della funzione radice(3) j=1 Esecuzione del Controllo se 1*1 <= 3 è vero sottoprogramma con parametro i =3 j=j+1=2 Controllo se 2*2 <= 3 non è vero Ritorna il valore 1 al programma chiamante. 41 42 43 44 45 46 47 48 49 50 51 52 43. Chiamata della funzione radice(5) j=1 Esecuzione del Controllo se 1*1 <= 5 è vero sottoprogramma con parametro i =5 j=j+1=2 Controllo se 2*2 <= 5 è vero j=j+1=3 Controllo se 3*3 <= 5 non è vero Ritorna il valore 2 al programma chiamante Stampa 2 k=k+1=6 Controllo se k <= 5 non è vero Fine. Docente: A. Gerevini. Fondamenti di Informatica A – Università di Brescia. 44.

(12)

Riferimenti

Documenti correlati

E CHE TUTTI I CLIENTI HANNO CONSUMATO UN PASTO, DETERMINA IL COSTO MEDIO UNITARIO PER POSTO LETTO E PER PASTO. COSTO PRIMO = SOMMA DEI COSTI DIRETTI DI

L’insieme dei numeri naturali è un sottoinsieme di quello dei numeri interi, cioè: C I numeri razionali sono numeri scritti sotto forma di frazione, oppure numeri

(a) ` e uguale alla somma delle aree dei pentagoni regolari costruiti sui cateti di quel triangolo rettangolo.. (b) ` e maggiore alla somma delle aree dei pentagoni regolari

Sottogruppi normali,

Sia data la parabola y=-x 2 +4x, trovare il rettangolo di area massima inscritto nel parte di piano compresa tra la. parabola e

Determinare gli eventuali punti di massimo/minimo relativo per

Un fascio di luce passa dalla regione A alla regione B di un mezzo con indice di rifrazione n 1 attraverso una spessa lastra di materiale il cui indice di rifrazione è n

Un fascio di luce monocromatica con lunghezza d'onda (nel vuoto) λ 0 = 500nm incide normalmente sopra una pellicola di spessore d = 1µm ed indice di rifrazione n = 1.4. Una parte