Sayfayı Yazdır | Pencereyi Kapat

bir sayının asal olup olmadığını kontrol etme

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=976
Tarih: 16 Nisan 2025 Saat 08:58
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: bir sayının asal olup olmadığını kontrol etme
Mesajı Yazan: kayra12
Konu: bir sayının asal olup olmadığını kontrol etme
Mesaj Tarihi: 20 Ocak 2025 Saat 14:34

program AsalSayiKontrolu;

var

sayi, İ: Integer;
asal:Boolean;


begin
 //kulanıcıdan sayı al
 Write('Bir sayi girin: ');
 readln(sayi);
 
 
// 1 ve 0 asal değildir 
if (sayı <= 1) then
 asal=False

else
  begin
    // 2'den Sayı-1'e kadar olan sayılarla bölünüp bölünmediğini kontrol et
    for i := 2 to (Sayı div 2) do
    begin
      if (Sayı mod i = 0) then
      begin
        Asal := False;
        Break; // Bölme bulunduğunda döngüden çık
      end;
    end;
  end;

// sonucu ekrana yazdır 
if Asal then
    WriteLn(Sayı, ' asal bir sayidir.');
  else
    WriteLn(Sayı, ' asal bir sayi değildir.');

end.



program AsalSayiKontrolu;

var

sayi, İ: Integer;
asal:Boolean;


begin
 //kulanıcıdan sayı al
 Write('Bir sayi girin: ');
 readln(sayi);
 
 
// 1 ve 0 asal değildir 
if (sayı <= 1) then
 asal=False

else
  begin
    // 2'den Sayı-1'e kadar olan sayılarla bölünüp bölünmediğini kontrol et
    for i := 2 to (Sayı div 2) do
    begin
      if (Sayı mod i = 0) then
      begin
        Asal := False;
        Break; // Bölme bulunduğunda döngüden çık
      end;
    end;
  end;

// sonucu ekrana yazdır 
if Asal then
    WriteLn(Sayı, ' asal bir sayidir.');
  else
    WriteLn(Sayı, ' asal bir sayi değildir.');

end.















Cevaplar:
Mesajı Yazan: BilalCndn
Mesaj Tarihi: 21 Ocak 2025 Saat 09:41
Merhaba Kayra,

Kodunu incelediğimde TRObject diline uygun olmayan bir çok ifade görünüyor. Bu sebeple sıfırdan bir kod yazdım bunu inceleyerek istediğin gibi bir kod yazabilirsin. Kodda gerekli kısımları yorum satırları ile açıkladım.

var
 MyForm:TclForm;
 Edit1 : TclEdit;
 Button1 : TclButton;

void Clicked;
var
i : integer;
asal : Boolean;
{
  for (i = 2 to (StrToInt(Edit1.Text)-1)) //Asal sayılar 1e ve kendisine tam bölünebildiği için 2 den sayının bir eksiğine kadar döngü oluşturuyoruz.
  {
    if ((StrToInt(Edit1.Text) mod i) <> 0)  //Sayının modunu alarak bölümünden kalanı kontrol ederek tam bölünüp bölünmediğini kontrol ediyoruz.
    {
      asal = true;  //Tam bölünmediği sürece asal olduğunu varsayıyoruz.
    }
    else
    {
      asal = false; //Tam bölündüğü bir sayı çıkarsa asal olmadığını belirterek döngüden çıkıyoruz.
      Break;
    }
  }
  if asal //Sonucu ekrana yazdırmak için bir kontrol ekliyoruz.
  {
    ShowMessage(Edit1.Text + ' sayısı asal sayıdır.');
  }
  else
  {
    ShowMessage(Edit1.Text + ' sayısı asal sayı değildir.');
  }
}

{
  MyForm = TCLForm.Create(Self);
  
  Edit1 = MyForm.AddNewEdit(MyForm,'Edit1','Sayı Giriniz');
  Edit1.clTypeOfField = taFloat;

  Button1 = MyForm.AddNewButton(MyForm,'Button1','Asal mı?');
  Button1.Margins.Top = 100;
  
  MyForm.AddNewEvent(Button1,tbeOnClick,'Clicked');
  
  MyForm.Run;
}

İyi çalışmalar dilerim.


-------------
Bilal Candan

Atiker Yazılım Veri İşlem A.Ş.
Software and Artificial Intelligence Development Specialist

[email protected]



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net