Bonjour, je ne suis pas très douée en algorithmique notamment pour l'écriture, voici un exercice, j'ai écris l'algorithme mais je nesais pas si ça est correcte.
ENONCE/
Écrire l'algorithme permettant d'additionner deux entiers à deux chiffres :
- dans le cas d'une addition sans retenue ;
- dans le cas de deux entiers quelconques.
Données: x:=20 ; y:=2
traitement: Faire n1:=x+y;
n2:=x+y;
k:=n1+n2;
f pour
je ne sais pas si mon écriture est correcte et je ne sais pas si il faut que je mette l'instruction
" pour k de ....." si c'est le cas je ne sais pas comment le rédiger et avec quelle données.
Merci de votre aide
Bonsoir,
Je vais me lancer. Tu fais tes algo avec quoi (histoire de voir quelle commande tu peux utiliser (partie entière, modulo...).
Sinon, ton algo est faux.
s'il vous plaît aider à mieux rédiger un algorithme, surtout au niveau de la traduction des données.
Te faire un algo n'est pas difficile. Il faut juste que je m'assure que les commandes que j'utilise existe pour toi.
Donc, il faut que je sache quel logiciel tu utilises et si c'est sur papier, quelle commande es tu en droit d'utiliser
J'ai vu sur l'autre post que tu bossais sur giac.
Voila un code naïf pour ton problème.
func_Add2(a,b):={
if ((a<0 or a>=100) or (b<0 or b>=100)) {return("Erreur d'entrée");}
u_A := irem(a,10);
u_B := irem(b,10);
d_A := (a-u_A)/10;
d_B := (b-u_B)/10;
c := u_A+u_B;
if (c > 9) {rep := c-10;
rtn:=1;}
else {rep := c;
rtn:=0;}
c := d_A + d_B + rtn;
rep := expr(cat(cat(c),cat(rep)));
return rep;
};
C'est du brut de pomme et on peut faire beaucoup mieux. J'attends de toi que tu m'expliques les calculs que je fais avec ce programme.
J'ai l'habitude de passer par modulo car la procédure est moins gourmande en ressource, au contraire de la division. Bon, c'est des économies de bout de ficelle mais à l'époque de mon 486 SX, ça comptait parfois.
La dernière fois que j'ai fait du VB, c'était du VB 6 avec mon PC sous windows 95...Trop loin. Sinon, l'idée est là, oui.
Non, j'ai commencé avec ces deux langages (le TB, je l'ai récupéré chez un copain et le QB était fourni).
@choco : C'est la même chose. XCAS est une interface graphique à GIAC.
@daniel : ah ! J'aurai aimé savoir faire correctement de l'assembleur. Mais là, c'était hors de ma portée. (LE Z80 et le M68k, les processeurs des TI)
En fait je voudrais bien savoir quoi écrire sur le papier. Car les profs nous demandent de l'écrire sur du papier et ensuite avec le logiciel.
Pour l'écrire sur du papier il faut que je connaisse la grammaire du logiciel... mais moi c'est plutôt la méthode qui m'intéresse ( les principes de bases qui permettent l'écriture d'un algorithme)
Avant de te répondre. J'aimerais vérifier un truc.
Fais moi à la main (la méthode de primaire).
23
+25
---
45
+27
---
Vous voulez dire que je prenne les nombres et que je les ajoute ?
Parce que j'ai pas trop compris l'algorithme que vous avez écris (trop compliqué )
les entiers sont n1 et n2
n1=n2=x+y
avec x:=20 et y:=2
n1:=20 et n2:=20
faire k:=n1+n2
k:=20+20
k:=40
Je te demande de faire l'addition comme en primaire (avec les retenues...)
Ton algo ne veut rien dire à partir de la deuxième ligne. S'il te plait fais ce que je t'ai demandé. Si tu ne sais pas faire ça, tu n'as aucune chance de faire l'exo.
Comment t'as fait ça (je me doute que tu sais faire une addition). Détaille moi tes calculs comme en primaire. Soit en scannat ta feuille soit en me racontant avec du texte.
23+25=48
je commence le calcul par les unités,ici,3 et 5, j'additionne 3 et 5 (3+5) et cela fait 8
ensuite j'additionne les dizaines soit 2+2 et cela me fait 4. Le résultat de l'addition est de 48
45+27=72
je commence le calcul par les unités,ici,5 et 7, j'additionne 5 et 7 (5+7) et cela fait 12.alors j'écris 2 dérrière le égal et je retiens 1
ensuite j'additionne les dizaines soit 4+2 et cela me fait 6, mais j'ai la retenue donc je fais 6+1, cela me fait 7. Le résultat de l'addition est de 72.
C'était moi le malpoli pour ne pas avoir dit que tu avais juste (mais j'ai oublié le "je fais" dans Quel malpoli). Tu n'as rien à te reprocher !
Alors à la manière d'une machine je sais pas mais bon j'essaye parce que j'ai une petite idée
23+25=48
2 | 3 | + | 2 | 5 | = |
2 | 0 | + | 2 | 0 | 40 |
0 | 3 | + | 0 | 5 | 8 |
2 | 3 | + | 2 | 5 | 48 |
4 | 5 | + | 2 | 7 | = |
4 | 0 | + | 2 | 0 | 60 |
0 | 5 | + | 0 | 7 | 12 |
4 | 5 | + | 2 | 7 | 72 |
Malheureusement, non. Ca n'est pas ça. Je te propose cette traduction quand il n'y a pas de retenue.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :