30-11-2012 – Numero 20
Per descrivere un algoritmo, possiamo utilizzare uno pseudo-linguaggio di programmazione, dove il simbolo ← rappresenta l’istruzione che impone di assegnare al nome simbolico che lo precede il valore calcolato dall’espressione che lo segue
Per esempio: i ← i+1 significa incrementa di 1 il valore associato al nome simbolico i e associa a i il valore incrementato.
Se a i era associato il valore 5, dopo l’esecuzione dell’istruzione a i sarà associato il valore 6.
In questa ipotesi, scegliere la condizione e la istruzione mancanti nel seguente algoritmo in modo che scriva su video il quadrato s di un numero intero n ≥ 0 letto da tastiera:
1 2 3 4 5 6 7 8 9 10 11 |
leggi da tastiera n s ← 0 i ← 0 x ← 1 finché condizione è vera esegui ripetutamente da qui s ← s+x istruzione i ← i+1 a qui scrivi su video s |
- condizione: i < n
istruzione: x ← x+2 - condizione: i ≤ n
istruzione: x ← x*2 - condizione: x < n
istruzione: x ← x+2 - condizione: i ≤ n
istruzione: x ← i*2+1
21-11-2013 – Numero 19
Per descrivere un algoritmo, possiamo utilizzare uno pseudo-linguaggio di programmazione, dove il simbolo ← rappresenta l’istruzione che impone di “assegnare al nome simbolico che lo precede il valore calcolato dall’espressione che lo segue” (per esempio: I ← I+1 significa “incrementa di 1 il valore associato al nome simbolico I e associa a I il valore incrementato”.
Se a I era associato il valore 5, dopo l’esecuzione 12 dell’istruzione a I sarà associato il valore 6).
In questa ipotesi, scegliere la condizione e la istruzione mancanti nel seguente algoritmo in modo che scriva su video il fattoriale s=n! di un numero intero n ≥ 0 letto da tastiera (si ricordi che n!=1×2×3…×n e che 0!=1):
1 2 3 4 5 6 7 8 9 10 11 |
leggi da tastiera n s ← 1 i ← 0 x ← 1 finché condizione è vera esegui ripetutamente da qui s ← s×x istruzione i ← i+1 a qui scrivi su video s |
- condizione: i < n
istruzione: x ← x+1 - condizione: i ≤ n
istruzione: x ← x+1 - condizione: i < n
istruzione: x ← x+i - condizione: i ≤ n
istruzione: x ← x+i.
13-11-2014 – Numero 14
Per descrivere un algoritmo, possiamo utilizzare uno pseudo-linguaggio di programmazione, dove il simbolo ← rappresenta l’istruzione che impone di “assegnare al nome simbolico che lo precede il valore calcolato dall’espressione che lo segue” (per esempio: x ← x + 1 significa “incrementa di 1 il valore associato al nome simbolico x e associa a x il valore incrementato”.
Se a x era associato il valore 5, dopo l’esecuzione dell’istruzione a x sarà associato il valore 6).
In questa ipotesi, scegliere la “condizione1” e la “condizione2” mancanti nel seguente algoritmo in modo che risolva nel minor tempo possibile la verifica del fatto che un numero intero n >= 0 letto da tastiera sia primo oppure no:
1 2 3 4 5 6 7 8 9 10 11 |
leggi da tastiera n p ← VERO i ← 2 finché "condizione1" AND "condizione2" è vera esegui ripetutamente da qui r ← resto di n diviso i se (r = 0) allora p ← FALSO i ← i + 1 a qui scrivi su video se (p è VERO) “Il numero n è primo” altrimenti “Il numero n non è primo” |
- condizione1:
condizione 2: p FALSO - condizione1:
condizione 2: p VERO - condizione1:
condizione 2: p FALSO - condizione1:
condizione 2: p VERO
18-11-2015 – Numero 16
Per descrivere un algoritmo, possiamo utilizzare uno pseudo-linguaggio di programmazione, dove il simbolo ← rappresenta l’istruzione che impone di “assegnare al nome simbolico che lo precede il valore calcolato dall’espressione che lo segue” (per esempio: i ← i + 1 significa “incrementa di 1 il valore associato al nome simbolico i e associa ad i il valore incrementato”.
Se ad i era associato il valore 5, dopo l’esecuzione dell’istruzione ad i sarà associato il valore 6).
Si consideri il seguente algoritmo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
testa ← 0 croce ← 1 t_consecutivi ← 0 c_consecutivi ← 0 i ← 0 mentre "condizione" è vera esegui ripetutamente da qui x ← esito_lancio_moneta se x=testa esegui da qui t_consecutivi ← t_consecutivi + 1 c_consecutivi ← 0 a qui altrimenti esegui da qui t_consecutivi ← 0 c_consecutivi ← c_consecutivi + 1 a qui "istruzione" a qui scrivi su video i |
Scegliere la “condizione” e l’“istruzione” mancanti nell’algoritmo in modo che restituisca il minimo numero di lanci di moneta che sono stati necessari per ottenere una sequenza di almeno cinque esiti consecutivi uguali.
- condizione: t_consecutivi < 5 AND c_consecutivi < 5
istruzione: i ← i + 1 - condizione: t_consecutivi < 5 AND c_consecutivi < 5
istruzione: testa ← testa + 1 - condizione: t_consecutivi ≤ 5 AND c_consecutivi ≤ 5
istruzione: i ← i + 1 - condizione: t_consecutivi < 5 AND c_consecutivi ≤ 5
istruzione: i ← i + 1
17-11-2016 – Numero 16
Per descrivere un algoritmo, possiamo utilizzare uno pseudo-linguaggio di programmazione, dove il simbolo ← rappresenta l’istruzione che impone di “assegnare al nome simbolico che lo precede il valore calcolato dall’espressione che lo segue” (per esempio: i ← i + 1 significa “incrementa di 1 il valore associato al nome simbolico i e associa a i il valore incrementato”.
Se a i era associato il valore 5, dopo l’esecuzione dell’istruzione a i sarà associato il valore 6).
Si consideri il seguente algoritmo
1 2 3 4 5 6 7 8 9 10 11 |
a ← 0 b ← 0 finché a ‹ 10 esegui ripetutamente da qui a ← intero letto da input b ← intero letto da input se a=b esegui a ← 0 scrivi su video a scrivi su video b a qui scrivi su video a + b |
Supponiamo che un utente scriva a video i seguenti numeri 1 1 2 2 9 9 10 10 12 13 quale di queste alternative descrive correttamente cosa fa il programma?
- 0 1 0 2 0 9 0 10 12 13 25
- 1 1 2 2 9 9 10 10 12 13
- 0 1 0 2 0 9 0 10 12 13
- 0 1 0 2 0 9 0 10 10