Table d'addition et de multiplication
2 participants
Page 1 sur 1
Table d'addition et de multiplication
Bonjour,
J'ai un peu de temps aujourd'hui, j'en profite pour poster cette petite macro qui permet d'obtenir les tables d'addition, de multiplication d'entier positif puis les tables d'addition et de multiplication dans Z/nZ.
Dans un élément utilisateur,
Dans un élément utilisateur,
Dans un élément utilisateur,
Dans un élément utilisateur,
La deuxième variable de la macro table est l'opération :
- 1 est l'addition;
- 2 est la multiplication;
- 3 est l'addition dans Z/(variable1)Z;
- 4 est la multiplication dans Z/(variable1)Z.
Bonne journée
J'ai un peu de temps aujourd'hui, j'en profite pour poster cette petite macro qui permet d'obtenir les tables d'addition, de multiplication d'entier positif puis les tables d'addition et de multiplication dans Z/nZ.
- Code:
{table(dim, operation)}
[
dim:=%1, $op:=%2,
Marges(0,0,0,0),
{Quadrillage exterieur 1°ligne et 1°colonne}
Width:=8,
Ligne([-1+i, dim+i, dim-dim*i, -1-dim*i],1),
Ligne([-1, dim, jump, i, -dim*i],0),
{Quadrillage}
Width:=2,
Ligne([ for k from 1 to dim-1 do
k+i, k-dim*i, jump
od,
for j from 1 to dim-1 do
-1-j*i, dim-j*i,jump
od
],0),
{Remplissage de la table}
if op=1 then
Fenetre(-1+1*i, dim-dim*i,0.5+0.5*i),
size(4*dim/5,1),
Label(-0.5+0.5*i, ["$+$"]),
for k from 1 to dim do
Label(k-0.5+0.5*i, [" ",k," "]),
Label(-0.5+(-k+0.5)*i,[" ",k," "]),
for j from 1 to dim do
Label(k-0.5+(-j+0.5)*i,[" ",k+j," "]),
od,
od,
elif op=2 then
Fenetre(-1+1*i, dim-dim*i,0.5+0.5*i),
size(4*dim/5,1),
Label(-0.5+0.5*i, ["$\times$"]),
for k from 1 to dim do
Label(k-0.5+0.5*i, [" ",k," "]),
Label(-0.5+(-k+0.5)*i,[" ",k," "]),
for j from 1 to dim do
Label(k-0.5+(-j+0.5)*i,[" ",k*j," "]),
od,
od,
elif op=3 then
Fenetre(-1+1*i, dim-(dim+1)*i,0.5+0.5*i),
size(4*dim/5,1),
Label(-0.5+0.5*i, ["$+_{\text{E}}$"]),
Label((-1+dim)/2-(dim+0.5)*i, ["$+_{\text{E}}$ est l'addition dans $\mathbb{Z}/",dim,"\mathbb{Z}$"]),
for k from 0 to dim-1 do
m3:=mod(k,dim),
Label(k+0.5+0.5*i, [" $\overline{ ",m3," }$ "]),
Label(-0.5+(-k-0.5)*i,[" $\overline{",m3,"}$ "]),
for j from 0 to dim-1 do
m'3:=mod(j+k,dim),
Label(k+0.5+(-j-0.5)*i,[" $\overline{",m'3,"}$ "]),
od,
od,
elif op=4 then
Fenetre(-1+1*i, dim-(dim+1)*i,0.5+0.5*i),
size(4*dim/5,1),
Label(-0.5+0.5*i, ["$\times_{\text{E}}$"]),
Label((-1+dim)/2-(dim+0.5)*i, ["$\times_{\text{E}}$ est la multiplication dans $\mathbb{Z}/",dim,"\mathbb{Z}$"]),
for k from 0 to dim-1 do
m4:=mod(k,dim),
Label(k+0.5+0.5*i, [" $\overline{ ",m4," }$ "]),
Label(-0.5+(-k-0.5)*i,[" $\overline{",m4,"}$ "]),
for j from 0 to dim-1 do
m'4:=mod(j*k,dim),
Label(k+0.5+(-j-0.5)*i,[" $\overline{",m'4,"}$ "]),
od,
od,
fi,
{Choix operateur
if op=1 then
{table de multiplication}
for k from 1 to col do
for j from 1 to lig do
Label( (k-0.5)-i*(j-0.5) , [" ",k*j," "] )
od,
od,
elif op=2 then
{table d'addition}
Label(-0.5+0.5*i,["$\boldsymbol{+}$"]),
for k from 1 to col do
for j from 1 to lig do
Label((k-0.5)-i*(j-0.5),[" ",k+j," "])
od,
od,
fi,}
]
Dans un élément utilisateur,
- Code:
table(10,1)
Dans un élément utilisateur,
- Code:
table(10,2)
Dans un élément utilisateur,
- Code:
table(7,3)
Dans un élément utilisateur,
- Code:
table(7,4)
La deuxième variable de la macro table est l'opération :
- 1 est l'addition;
- 2 est la multiplication;
- 3 est l'addition dans Z/(variable1)Z;
- 4 est la multiplication dans Z/(variable1)Z.
Bonne journée
Re: Table d'addition et de multiplication
Bonjour Joffrey,
Et merci pour cette contribution, j'ai relevè une erreur de syntaxe: un commentaire mal fermé. D'autre part j'ai mis en facteur le calcul de la fenêtre et j'ai enlevé tous les espaces dans les affichages car chez moi les labels n'étaient pas parfaitement centrés sur les cases, maintenant c'est ok.
Et merci pour cette contribution, j'ai relevè une erreur de syntaxe: un commentaire mal fermé. D'autre part j'ai mis en facteur le calcul de la fenêtre et j'ai enlevé tous les espaces dans les affichages car chez moi les labels n'étaient pas parfaitement centrés sur les cases, maintenant c'est ok.
- Code:
{table(dim, operation)}
[
dim:=%1, $op:=%2,
if op<3 then view(-1,dim,-dim,1)else view(-1,dim,-dim-1,1) fi,
Marges(0,0,0,0), size(4*dim/5,1),
{Quadrillage exterieur 1°ligne et 1°colonne}
Width:=8,
Ligne([-1+i, dim+i, dim-dim*i, -1-dim*i],1),
Ligne([-1, dim, jump, i, -dim*i],0),
{Quadrillage}
Width:=2,
Ligne([ for k from 1 to dim-1 do
k+i, k-dim*i, jump
od,
for j from 1 to dim-1 do
-1-j*i, dim-j*i,jump
od
],0),
{Remplissage de la table}
if op=1 then {table de multiplication}
Label(-0.5+0.5*i, ["$+$"]),
for k from 1 to dim do
Label(k-0.5+0.5*i, k),
Label(-0.5+(-k+0.5)*i,k),
for j from 1 to dim do
Label(k-0.5+(-j+0.5)*i,k+j),
od,
od,
elif op=2 then {table d'addition}
Label(-0.5+0.5*i, ["$\times$"]),
for k from 1 to dim do
Label(k-0.5+0.5*i, k),
Label(-0.5+(-k+0.5)*i,k),
for j from 1 to dim do
Label(k-0.5+(-j+0.5)*i,k*j),
od,
od
elif op=3 then
Label(-0.5+0.5*i, ["$+_{\text{E}}$"]),
Label((-1+dim)/2-(dim+0.5)*i, ["$+_{\text{E}}$ est l'addition dans $\mathbb{Z}/",dim,"\mathbb{Z}$"]),
for k from 0 to dim-1 do
m3:=mod(k,dim),
Label(k+0.5+0.5*i, ["$\overline{ ",m3," }$"]),
Label(-0.5+(-k-0.5)*i,["$\overline{",m3,"}$"]),
for j from 0 to dim-1 do
m'3:=mod(j+k,dim),
Label(k+0.5+(-j-0.5)*i,["$\overline{",m'3,"}$"]),
od,
od
elif op=4 then
Label(-0.5+0.5*i, ["$\times_{\text{E}}$"]),
Label((-1+dim)/2-(dim+0.5)*i, ["$\times_{\text{E}}$ est la multiplication dans $\mathbb{Z}/",dim,"\mathbb{Z}$"]),
for k from 0 to dim-1 do
m4:=mod(k,dim),
Label(k+0.5+0.5*i, ["$\overline{ ",m4," }$"]),
Label(-0.5+(-k-0.5)*i,["$\overline{",m4,"}$"]),
for j from 0 to dim-1 do
m'4:=mod(j*k,dim),
Label(k+0.5+(-j-0.5)*i,["$\overline{",m'4,"}$"]),
od,
od,
fi
]
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum