generate-overflow.py
649 Bytes
#!/usr/bin/env python3
from random import randint
import sys
arg = sys.stdin.read() # read arguments
a,b = (int(n) for n in arg.split(','))
q = '''
type: checkbox
text: |
Indique quais das seguintes adições resultam em overflow quando se considera a adição de números com sinal (complemento para 2) em registos de 8 bits.
Os números foram gerados aleatoriamente no intervalo de {0} a {1}.
options:
'''.format(a,b)
correct = []
for i in range(5):
x = randint(a, b)
y = randint(a, b)
q += '- "`{} + {}`"\n'.format(x, y)
correct.append(1 if x + y > 127 else -1)
q += 'correct: ' + str(correct)
print(q)