Probleme algorithme
Fermé
xtrem
-
16 sept. 2008 à 00:02
Archi-dessin Messages postés 270 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 28 décembre 2009 - 17 sept. 2008 à 02:10
Archi-dessin Messages postés 270 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 28 décembre 2009 - 17 sept. 2008 à 02:10
A voir également:
- Probleme algorithme
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Code ascii algorithme - Guide
- Algorithme qui calcule le carré d'un nombre - Forum Algorithmes / Méthodes
- Tri d'une matrice algorithme - Forum C
15 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
16 sept. 2008 à 00:12
16 sept. 2008 à 00:12
Pour le premier exercice aucune idée je ne sais même pas ce que c'est comme langage (tu aurais pu le préciser). Du pascal ? Comme je ne connais pas ce langage, voici ce que ça pourrait donner en C :
Pour Fibonacci c'est simplement une suite définie par récurrence. On ne te demande pas de trouver F, car tu as en fait sa définition. Concrètement ça se code assez facilement avec un appel récursif. En C :
Bonne chance
#include <stdio.h> // En C l'exécution d'un programme lance la fonction main // main est sensée retourner 0 quand tout va bien int main(){ unsigned i,n; // lire le nombre printf("entrez un nombre : "); scanf("%i",n); // afficher la table for(i = 0;i < 10; ++i){ // En C : %i signifie écrire un entier positif, et \n signifie retour à la ligne printf("%i * %i\n",n,i,n*i); } // fin du programme return 0; }
Pour Fibonacci c'est simplement une suite définie par récurrence. On ne te demande pas de trouver F, car tu as en fait sa définition. Concrètement ça se code assez facilement avec un appel récursif. En C :
#include <stdio.h> #include <assert.h> int f(unsigned n){ assert(n>0); // déclencher une erreur si n == 0 if (n == 1 || n == 2) return 1; return f(n-1) + f(n-2); } int main(){ unsigned n; printf("entrez un nombre : "); scanf("%i",n); printf("résultat : %i\n",f(n)); return 0; }
Bonne chance
sinon j'aimerai bien avoir de l'aide pour l'algo et non pas le code pour mieu comprendre et pouvoir tout coder aprés.
merci
merci
en fait pour le 1er exercice j'ai pas tres bien saisi ce que tu veux faire mais ce que je remarque c'est que la boucle loop ici ne sert à rien , ce que tu fais c'est de pultiplier le nombre NBR par 10 les autre affectations s'ecrase l'une l'autre. verifie encore tn algorithme
Archi-dessin
Messages postés
270
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
28 décembre 2009
25
16 sept. 2008 à 03:17
16 sept. 2008 à 03:17
essayer de faire afficher le resultat apres la boucle
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
16 sept. 2008 à 10:02
16 sept. 2008 à 10:02
<3> :
Comme le dit archi dessin, comment écrirais-tu en français le code ? En gros ça serait pour ton premier exercice
Si tu regardes c'est ce que j'ai écris en C (et à peu de choses près ce que tu as écrit dans ton premier message).
Pour le second exercice il faut écrire une fonction f que tu vas appeler récursivement depuis ton programme principal. Tu peux t'inspirer de ce que j'ai écris, il ne reste plus qu'à le traduire dans ton langage.
Bonne chance
Comme le dit archi dessin, comment écrirais-tu en français le code ? En gros ça serait pour ton premier exercice
Lire n Pour i allant de 1 à 9 Écrire i Écrire * Écrire n Écrire = Écrire (i * n) Écrire \n Fin pour
Si tu regardes c'est ce que j'ai écris en C (et à peu de choses près ce que tu as écrit dans ton premier message).
Pour le second exercice il faut écrire une fonction f que tu vas appeler récursivement depuis ton programme principal. Tu peux t'inspirer de ce que j'ai écris, il ne reste plus qu'à le traduire dans ton langage.
Bonne chance
dans mon premier exo le programme doit afficher la table de multiplication du nombre entré...
pour la suite de fibbonaci je ne comprend toujours pas l'algorithme
pour la suite de fibbonaci je ne comprend toujours pas l'algorithme
Archi-dessin
Messages postés
270
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
28 décembre 2009
25
16 sept. 2008 à 14:05
16 sept. 2008 à 14:05
le resultat ne sera pas afficher comme vous citez dans votre alogrithme car la gestion des lignes d'affichage en plus vous ajoutez une lecture vide pour que vous bloquer l'execution pour affichage du resultat
PROCEDURE Table IS
-- pré requis nombre entier
--action afficher table multiplication
-- strategie boucle TQ
Nbr, -- nombre choisi
M, --resultat
Cpt:Integer; -- compteur
BEGIN
Put ("entrez un nombre");
Get (Nbr);
Cpt:=0;
M:=1;
WHILE Cpt<=10 LOOP
M:=Nbr*Cpt;
cpt:=cpt+1;
End loop;
put (nbr);
put ("*");
put (cpt);
put ("=");
Put(M);
END;
ca ne marche toujours pas, je suis obligé d'utiliser une boucle tant que.
-- pré requis nombre entier
--action afficher table multiplication
-- strategie boucle TQ
Nbr, -- nombre choisi
M, --resultat
Cpt:Integer; -- compteur
BEGIN
Put ("entrez un nombre");
Get (Nbr);
Cpt:=0;
M:=1;
WHILE Cpt<=10 LOOP
M:=Nbr*Cpt;
cpt:=cpt+1;
End loop;
put (nbr);
put ("*");
put (cpt);
put ("=");
Put(M);
END;
ca ne marche toujours pas, je suis obligé d'utiliser une boucle tant que.
zep2007
Messages postés
18
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
16 septembre 2008
3
16 sept. 2008 à 18:43
16 sept. 2008 à 18:43
salut tu trouvera surment ton bonheur sur
w w w . e c o m - s m s . c o m
salutation
nico
w w w . e c o m - s m s . c o m
salutation
nico
salut jdois prendre mon train, donc voila :
procedure Table_Multiplication is
-- action : affiche à l'écran la table de multiplication de (i)
-- pré-requis : N est un entier
-- stratégie : boucle tant que
I, -- nombre à multiplier
Cpt, -- compteur multipliant (i)
Res:Integer; -- résultat de la multiplication
begin
Cpt:=0;
Get (I);
while cpt<=10 loop
Res:=Cpt*I;
Put (I); Put ("x"); Put (Cpt); Put ("="); Put (Res); New_Line;
Cpt:=Cpt+1;
end loop;
end Table_Multiplication;
chez moi ca marche
++
procedure Table_Multiplication is
-- action : affiche à l'écran la table de multiplication de (i)
-- pré-requis : N est un entier
-- stratégie : boucle tant que
I, -- nombre à multiplier
Cpt, -- compteur multipliant (i)
Res:Integer; -- résultat de la multiplication
begin
Cpt:=0;
Get (I);
while cpt<=10 loop
Res:=Cpt*I;
Put (I); Put ("x"); Put (Cpt); Put ("="); Put (Res); New_Line;
Cpt:=Cpt+1;
end loop;
end Table_Multiplication;
chez moi ca marche
++
bjr
pour ton premier exo ,ben je ne connai pa ton longage mai je peu t aider en écrivant l algorithme en françai
déclaration d'une variable de type tableau soit tab de longeur 10
tab:tableau[10] d'entiers;
nbr, cpt : entier
debut
lire (nbr);
pour cpt=1 à 10 fair
tab[cpt]=nbr*cpt;
fin la boucle pour
pour cpt = 1 à 10 faire
ecrire(nbr,'*',cpt,'=',tab[cpt]);
sauter une ligne;
fin pour
fin.
pour ton premier exo ,ben je ne connai pa ton longage mai je peu t aider en écrivant l algorithme en françai
déclaration d'une variable de type tableau soit tab de longeur 10
tab:tableau[10] d'entiers;
nbr, cpt : entier
debut
lire (nbr);
pour cpt=1 à 10 fair
tab[cpt]=nbr*cpt;
fin la boucle pour
pour cpt = 1 à 10 faire
ecrire(nbr,'*',cpt,'=',tab[cpt]);
sauter une ligne;
fin pour
fin.
jai réusii a obtenir quelque chose pour l exo 1 mais le probleme c'est que leresultat de chaque multiplication est faux, a la place il y a le compteur qui s'affiche...
PROCEDURE Table IS
-- pré requis : nombre entier
--action : afficher table multiplication
-- strategie : boucle TQ
Nbr, -- nombre choisi
M, --resultat
Cpt:Integer; -- compteur
BEGIN
Put ("entrez un nombre");
Get (Nbr);
Cpt:=1;
M:=1;
WHILE Cpt<=10 LOOP
M := Nbr*Cpt;
Cpt := Cpt+1;
put (nbr);
put ("*");
put (cpt);
put ("=");
Put(M);
End loop;
END;
euh pour fibonacci j'ai fais ca mais ca marche pas, le resultat n'est pas bon :
Procedure Fibonacci is
-- pré requis : n>2
--action : calculer la suite de fibonacci F(n) à l'ordre 15
--stratégie : boucle en tant que
Fp, -- F(n-1)
Fpp:Integer; -- F(n-2)
Fn : Integer; -- F(n)
d:character; -- lancer le programme
Begin
Put ("cliquez sur d pour lancer le programme");
Get (d);
fp:=1;
fpp:=0;
While fp<=14 loop
Fp:=Fp+1;
Fpp:=fpp+1;
Fn := Fp + Fpp;
End loop;
Put ("f(15) =");
Put (Fn);
End;
PROCEDURE Table IS
-- pré requis : nombre entier
--action : afficher table multiplication
-- strategie : boucle TQ
Nbr, -- nombre choisi
M, --resultat
Cpt:Integer; -- compteur
BEGIN
Put ("entrez un nombre");
Get (Nbr);
Cpt:=1;
M:=1;
WHILE Cpt<=10 LOOP
M := Nbr*Cpt;
Cpt := Cpt+1;
put (nbr);
put ("*");
put (cpt);
put ("=");
Put(M);
End loop;
END;
euh pour fibonacci j'ai fais ca mais ca marche pas, le resultat n'est pas bon :
Procedure Fibonacci is
-- pré requis : n>2
--action : calculer la suite de fibonacci F(n) à l'ordre 15
--stratégie : boucle en tant que
Fp, -- F(n-1)
Fpp:Integer; -- F(n-2)
Fn : Integer; -- F(n)
d:character; -- lancer le programme
Begin
Put ("cliquez sur d pour lancer le programme");
Get (d);
fp:=1;
fpp:=0;
While fp<=14 loop
Fp:=Fp+1;
Fpp:=fpp+1;
Fn := Fp + Fpp;
End loop;
Put ("f(15) =");
Put (Fn);
End;
Archi-dessin
Messages postés
270
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
28 décembre 2009
25
17 sept. 2008 à 02:10
17 sept. 2008 à 02:10
est ce que :
- il n y a pas d'affichage
ou
- il y a un message d'erreur
en plus ma remarque est que le programme execute mais il n y a pas d'affichage de resultat pour le résoudre on doit faire une lecture vide
- il n y a pas d'affichage
ou
- il y a un message d'erreur
en plus ma remarque est que le programme execute mais il n y a pas d'affichage de resultat pour le résoudre on doit faire une lecture vide
16 sept. 2008 à 00:17
16 sept. 2008 à 03:30
@Mamiemando,
T'as oublié l'esperluette dans les scanf ;)
Cdt
16 sept. 2008 à 09:59