Source de entier-entier.py
1: ### implémentation du type abstrait Entier
2: ### avec des entiers Python
3:
4: # constructeurs
5:
6: def zero():
7: return 0
8:
9: def succ(n):
10: return n+1
11:
12: def prec(n):
13: return n-1
14:
15: # test
16:
17: def est_nul (n):
18: return (n==0)
19:
20: # affichage
21:
22: def affiche_entier (n):
23: print("cet entier vaut",n)
24:
25: ### opérations de haut niveau
26:
27: # addition
28:
29: def plus(n,m):
30: while not est_nul(n):
31: m = succ(m)
32: n = prec(n)
33: return m
34:
35: # multiplication
36:
37: def fois(n,m):
38: s = zero()
39: while not est_nul(n):
40: s = plus(s,m)
41: n = prec(n)
42: return s
43:
44: ### programme principal
45:
46: affiche_entier(succ(succ(zero())))
47:
48: x = succ(succ(zero()))
49: y = succ(succ(succ(zero())))
50:
51: affiche_entier(plus(x,y))
52:
53: affiche_entier(x)
54:
55: affiche_entier(fois(x,y))