Esercitazione: Il Little Man Computer 2

Scrivere i seguenti programmi per LMC:

  1. un programma che prenda in input una sequenza di numeri e produca in output la sequenza delle somme parziali. Il programma termina quando riceve l'input 000. In pratica, se l'input è la sequenza "1, 4, 12, 3, 0" l'output sarà la sequenze "1, 5, 17, 20".
  2. un programma che prenda in input due numeri e calcoli quoziente (intero) e resto della divisione tra il primo e il secondo numero.
  3. un programma che prenda in input una sequenza di numeri e restituisca il valore massimo della sequenza;
  4. un programma che prenda due numeri in input e resituisca il massimo comune divisore usando la seguente variante dell'algoritmo di Euclide:

    function gcd(a, b)
    if a = 0
    return b
    while b ≠ 0
    if a > b
    a := a − b
    else
    b := b − a
    return a
  5. un programma che prende in input un numero e determina se è primo. Si riutilizzi il programma per la divisione o per il massimo comun divisore.