hg Register Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet

Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index

hg Revision tunisie scolaire Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Search Search Memberlist Memberlist Usergroups Usergroups Profile Profile Log in to check your private messages Private Messages Log in Log in


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum révision tunisie , vous devez
 inscrire sur notre forum a partir d'ici
   NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
 
forum d'aide informatique : internet, réseau, programmation informatique ...
aidez-moi pour resoudre cet exercice
 
 
Post new topic   Reply to topic    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index -> Algorithmique & programmation -> Aidez-moi
hg Previous topic :: Next topic   hd
Author Message
salwitta


Offline

Joined: 05 Feb 2010
Posts: 3
Point(s): 3
Moyenne de points: 0

Posted: Fri 19 Mar - 14:28 (2010)    Post subject: aidez-moi pour resoudre cet exercice Reply with quote

Bonjour, g un exercice que je trouve une difficulté a résoudre, il propose de chercher tous les entiers premiers inferieurs ou egaux a N donne et ceci en utilisant la méthode suivante :
- ecrire ts les entiers naturel compris entre 2 et N 
- 2 n'est pas enlevé de cette liste, donc il est premier; maintenant on enleve de la liste tous les multiples de 2.
- le plus petit nombre non enleve etant 3:il est premier; maintenant enlever de la liste tous les multiples de 3.
- et ainsi de suite
merci


 
Revenir en haut
Publicité






Posted: Fri 19 Mar - 14:28 (2010)    Post subject: Publicité

PublicitéSupprimer les publicités ?
 
Revenir en haut
Disdous


Offline

Joined: 22 Feb 2010
Posts: 43
Point(s): 43
Moyenne de points: 0

Posted: Fri 19 Mar - 16:57 (2010)    Post subject: aidez-moi pour resoudre cet exercice Reply with quote

Pas trop difficile. 
Il suffit de créer une fonction premier qui teste si un entier est premier puis ecraser tt ses multiples dans un tableau.
bah ma solution consiste a faire ce que je vien de citer, sauf que "écraser" pour moi sa veut dire, remplace l'entier par 0 (j'ai choisie 0 car necessairement l'entier 0 n'existe pas, car le remplissage se fait entre [2..N])
Puis pour termier, je vais stocker les entier dans le tableau T différent de 0 dans un autre tableau T2 afin de l'affichier.


Je donne l'algorithme du PP




o)debut pp
1)Repeter lire(n) jusqu'à n>2  {taille du tableau sup a 2}
2)pour i de 2 a n faire
t[ i-1 ] <-- i
fin Pour
3) i<--1
Repeter
diviseur<--t[i]
ok1<--FN Premier( t[ i ] )
Si Ok1 alors
Proc Ecraser( t , i , diviseur, n )
Fin Si
i<--i+1
jusqu'a t[ i ] = 0
4)i<--0, k<--0
Repeter
i<--I+1
Sif  t [ i ] < 0 Alors
t1[ k+1 ]<-- t[ i ]  k<--k+1 Fin Si 
until i=n-1;
5) Pour i de 1 a K faire
Ecrire t1[ i ]
Fin Pour
6) Fin PP 



 les sous programmes ecraser et premier sont définie ci dessous.


En Pascal : 



 
Code:
program   prem;
uses wincrt;
type
tab=array[1..100] of integer;
var
ok1:boolean;
t,t1:tab; n,i,j,k,diviseur:integer;
function premier(d:integer):boolean;
var g,o:integer; ok,ok2:boolean; begin d:=2;
repeat
ok:= d div g = 0;
ok2 := d>g; g:=g+1;
until (ok2) or (ok);
if ok2 then premier:=false else premier:=true;end;
procedure ecraser(var t:tab;i,diviseur,n:integer);
var o:integer;
begin
for o := i+1 to n-1 do
begin
if t[O] mod diviseur = 0 then
t[o]:=0; end;
end;
begin
read(n);
for i := 2 to n do
t[i-1]:=i;
i:=1;
Repeat
diviseur:=t[i];
ok1:=premier(diviseur);
if ok1 then
ecraser(t,i,diviseur,n);
i:=i+1;
until t[i]=0;
i:=0; k:=0;
repeat
i:=i+1; if t[i]<>0 then begin t1[k+1]:=t[i]; k:=k+1; end;
until i=n-1;
for i := 1 to k do
write(T1[i],' ');
end.


 














 
Revenir en haut
salwitta


Offline

Joined: 05 Feb 2010
Posts: 3
Point(s): 3
Moyenne de points: 0

Posted: Fri 19 Mar - 18:48 (2010)    Post subject: aidez-moi pour resoudre cet exercice Reply with quote

merci pour la réponse, just g pas compris le role de la variable g et quelle est sa valeur initiale, g encore une autre méthode pour déterminer un  entier x est premier ou pas:


debut fonction premier(x:entier):booleen
i<--2
tant que (x mod i <> 0) et i<=x div 2) faire
i<-- i+1
fin tant que
si i > x div 2 alors 
premier <-- vrai
sinon premier <-- faux
fin si
fin premier
 


 
Revenir en haut
Disdous


Offline

Joined: 22 Feb 2010
Posts: 43
Point(s): 43
Moyenne de points: 0

Posted: Fri 19 Mar - 22:38 (2010)    Post subject: aidez-moi pour resoudre cet exercice Reply with quote

loooool g pour moi c'est comme i pour toi
sauf que moi j'ai utilisé la "i" c'est pk j'ai du utiliser une autre variable
La fonction premier, ça diffère! c'est normal! on peut même créer une fonction récursive...
that's not a big deal  Wink 


 
Revenir en haut
sanaben ayed


Offline

Joined: 16 Nov 2012
Posts: 3
Féminin
Point(s): 3
Moyenne de points: 0

Posted: Sat 17 Nov - 19:21 (2012)    Post subject: aidez-moi pour resoudre cet exercice Reply with quote

je besoin de l'aide a resoudre un exercice Confused

 
Revenir en haut
Display posts from previous:   
bg bd
Post new topic   Reply to topic    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index -> Algorithmique & programmation -> Aidez-moi All times are GMT + 1 Hour
 
Page 1 of 1

 
Jump to:  
Index | Make forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation