Progettare un algoritmo che permetta di effettuare la somma di tre numeri interi.
Tabella dell’algoritmo[1]
Domanda | Risposta |
Chi lo usa? | Un utente |
Obiettivo | Ottenere la somma di tre numeri |
Input | Tre numeri |
Output | La somma dei tre numeri |
Procedimento |
|
Casi limite | Nessuno, eventualmente overflow |
Test programmato | 5 + 5 + 5= 15 10 + 12 + (-4) = 18 7 + (-3) + 0 = 4 -8 + 0 + 5 = -3 |
Tabella delle variabili
Nome | Tipo | Descrizione | I/O/L | Vincoli |
num1 | int | Primo addendo | I | - |
num2 | int | Secondo addendo | I | - |
num3 | int | Terzo addendo | I | - |
somma | int | Somma dei tre numeri | O | - |
Diagramma di flusso (flow-chart)
Test
num1 | num2 | num3 | somma |
I: 5 | - | - | - |
5 | I: 5 | - | - |
5 | 5 | I: 5 | - |
5 | 5 | 5 | 15 |
5 | 5 | 5 | O: 15 |
num1 | num2 | num3 | somma |
I: 10 | - | - | - |
10 | I: 12 | - | - |
10 | 12 | I: -4 | - |
10 | 12 | -4 | 18 |
10 | 12 | -4 | O: 18 |
num1 | num2 | num3 | somma |
I: 7 | - | - | - |
7 | I: -3 | - | - |
7 | -3 | I: 0 | - |
7 | -3 | 0 | 4 |
7 | -3 | 0 | O: 4 |
num1 | num2 | num3 | somma |
I: -8 | - | - | - |
-8 | I: 0 | - | - |
-8 | 0 | I: 5 | - |
-8 | 0 | 5 | -3 |
-8 | 0 | 5 | O: -3 |
Progettare un algoritmo che calcoli l’area di un triangolo equilatero.
Tabella dell’algoritmo[2]
Domanda | Risposta |
Chi lo usa? | Un utente |
Obiettivo | Visualizzare l’area di un triangolo equilatero |
Input | base e altezza del triangolo |
Output | area del triangolo |
Procedimento |
|
Casi limite |
|
Test programmato | base = 10, altezza = 10, area =50 (non è un triangolo equilatero) base = 10, altezza = 11.18, area = 55.9 base = -10, altezza = 11.18 area = -55.9 (sbagliata la base) base = 10, altezza = 0 area = -55.9 (sbagliata l’altezza) |
Tabella delle variabili
Nome | Tipo | Descrizione | I/O/L | Vincoli |
Diagramma di flusso (flow-chart)
...
Test
base | altezza | area |
Progettare un algoritmo che prenda in input un numero intero e visualizzi la scritta pari se il numero è pari, e dispari se il numero è dispari.
Tabella dell’algoritmo
Domanda | Risposta |
Chi lo usa? | Un utente |
Obiettivo | Determinare se un numero è pari o dispari |
Input | Il numero |
Output | «pari» o «dispari» |
Procedimento |
|
Casi limite | Nessuno |
Test programmato | 12 è pari, 11 è dispari |
Tabella delle variabili
Nome | Tipo | Descrizione | I/O | Vincoli |
num | int | Numero da valutare | I | - |
resto | int | Resto della divisione del numero per 2 | L | - |
Diagramma di flusso (flow-chart)
Progettare un algoritmo che, dati due numeri interi x e y, calcoli il risultato e il resto della divisione intera tra x e y.
Tabella dell’algoritmo[3]
Domanda | Risposta |
Chi lo usa? | Un utente |
Obiettivo | Ottenere il quoziente dei due numeri interi e il resto |
Input | Due numeri interi |
Output | Quoziente e resto |
Procedimento (se è chiaro il funzionamento del flow-chart, il procedimento può essere omesso) |
|
Casi limite | divisore = 0 |
Test programmato | 9 / 3 = 3, R: 0 8 / 3 =2, R: 2 |
Tabella delle variabili
Nome | Tipo | Descrizione | I/O | Vincoli |
dividendo | int | Il dividendo | I | - |
divisore | int | Il divisore | I | divisore != 0 |
quoziente | int | Quoziente della divisione | O | - |
resto | int | Resto della divisione | O | - |
Diagramma di flusso (flow-chart)