2013/14 – Fase scolastica – 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):

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
  1. condizione: i < n
    istruzione: x ← x+1
  2. condizione: i ≤ n
    istruzione: x ← x+1
  3. condizione: i < n
    istruzione: x ← x+i
  4. condizione: i ≤ n
    istruzione: x ← x+i.