hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, 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
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> Aidez-moi
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
salwitta


Hors ligne

Inscrit le: 05 Fév 2010
Messages: 4
Point(s): 4
Moyenne de points: 0

Posté le: Ven 19 Mar - 14:28 (2010)    Sujet du message: aidez-moi pour resoudre cet exercice Répondre en citant

PublicitéSupprimer les publicités ?
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
Disdous


Hors ligne

Inscrit le: 22 Fév 2010
Messages: 52
Point(s): 52
Moyenne de points: 0

Posté le: Ven 19 Mar - 16:57 (2010)    Sujet du message: aidez-moi pour resoudre cet exercice Répondre en citant

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


Hors ligne

Inscrit le: 05 Fév 2010
Messages: 4
Point(s): 4
Moyenne de points: 0

Posté le: Ven 19 Mar - 18:48 (2010)    Sujet du message: aidez-moi pour resoudre cet exercice Répondre en citant

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


Hors ligne

Inscrit le: 22 Fév 2010
Messages: 52
Point(s): 52
Moyenne de points: 0

Posté le: Ven 19 Mar - 22:38 (2010)    Sujet du message: aidez-moi pour resoudre cet exercice Répondre en citant

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


Hors ligne

Inscrit le: 16 Nov 2012
Messages: 3
Féminin
Point(s): 3
Moyenne de points: 0

Posté le: Sam 17 Nov - 19:21 (2012)    Sujet du message: aidez-moi pour resoudre cet exercice Répondre en citant

je besoin de l'aide a resoudre un exercice Confused

 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 03:23 (2016)    Sujet du message: aidez-moi pour resoudre cet exercice

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Algorithmique & programmation -> Aidez-moi Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation