[delphi] mon programe a une erreur , je la trouve pas ...

mon programe a une erreur , je la trouve pas ... [delphi] - Delphi/Pascal - Programmation

Marsh Posté le 09-05-2002 à 16:43:37    

ce programem devrait calculer les nombres premier .. mais il calcule des nombres byzarre ( pas des nombres premier en tous cas ) ou est le bug ???  
 
 
unit npremeir;
 
interface
 
 
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
 
 
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    text1: TEdit;
    text2: TEdit;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
 
  end;
 
var
  Form1: TForm1;
procedure premier (depart, fin:longint);
 
implementation
 
{$R *.dfm}
procedure premier (depart, fin:longint);
var
conte:longint;
pilou:string;
testadd:byte;
depart1:longint;
begin
conte:=1;
testadd:=0;
depart1:=depart;
While depart<=fin do
begin
 while conte<=depart do
  begin
   if depart mod conte = 0 then
   testadd:=testadd + 1;
   conte:=conte + 1;
  end;
 if testadd = 2 then
  begin
   pilou:=IntToStr(depart);
   form1.ListBox1.Items.Add(pilou);
  end;
 depart := depart + 1;
end;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
premier(strtoint(text1.text),strtoint(text2.Text))
 
end;
 
end.
 
 
 
 
MErci a vous si vous trouvez ...

Reply

Marsh Posté le 09-05-2002 à 16:43:37   

Reply

Marsh Posté le 09-05-2002 à 17:10:09    

L'algo cai koi ?
 
Tu sais que pour calculer des nb premiers, tu n'as besoin de vérifier que jusqu'à racine(nombre), étant donné que c'est symétrique.


---------------
Ratures - Cuisine
Reply

Marsh Posté le 09-05-2002 à 17:15:21    

là l'algo que tu utilises je suis pas sur qu'il calcule les nombres premiers ...
 
en plus vu que tu ne réinitialises pas testadd, il ne pourra être égal à 2 qu'une seule fois...

 

[jfdsdjhfuetppo]--Message édité par Taureau le 09-05-2002 à 17:17:05--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 09-05-2002 à 17:19:41    

J'aime trop ses noms de variables (pilou !)
 
Il a raison pour testadd, un flag 0/1 serait plus joli en plus.


---------------
Ratures - Cuisine
Reply

Marsh Posté le 09-05-2002 à 17:56:54    

j'avais oublíé de reinicialisé 2 variable :  
conte et testadd
maintenat  
 
et sinon je c qu'il suffit de faire juska la racine carre et que les nombres impairs + le 2

Reply

Marsh Posté le 09-05-2002 à 21:45:20    

Bha oui :)
c'est un des trucs les plus chiant de la programmation les variable ,  
j'sais jamais kel nom donner :)
 
n'empeche je suis asser fier de mon ptit programme . Je n'ais que 15 ans  :hap:  
 
QQ n'a pas une idée de prog pas trop difficile ( sans api , ole et toutes ces conerie dont je pige pas le nom )a faire ?qui soit utile ? :)

Reply

Marsh Posté le 10-05-2002 à 10:32:35    

Pilou2001 a écrit a écrit :

Bha oui :)
c'est un des trucs les plus chiant de la programmation les variable ,  
j'sais jamais kel nom donner :)
 
n'empeche je suis asser fier de mon ptit programme . Je n'ais que 15 ans  :hap:  
 
QQ n'a pas une idée de prog pas trop difficile ( sans api , ole et toutes ces conerie dont je pige pas le nom )a faire ?qui soit utile ? :)  




 
tu n'a qu'à faire des trucs de H4x0r !!!
yo le grand H4cK3r de 15 ans de la balle ;)
 
Padon c'est pas beau de se moquer ...
 
Honte à moi  :gun:


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed