Girilen bir tamsayının tam kare olup olmadığını bulan algoritmayı yazınız.
⛓ Program Kısımları
Sayı girmek.
Tam kare olup olmadığını tespit etmek.
Sonucu ekrana yazdırmak.
👓 Çözüm Yöntemi
Bir x sayısı tam kare olması için (x=i*i) koşulunu sağlayan bir i bulunması lazım.
iyi bulmak için 0 ile (x/2+1) arasındaki sayıları kontrol ederiz.
👩🔧 Çözüm Adımları
Değişkenlerin tanımlanması.
xin girilmesi.
(x/2+1) kere dönen döngünün oluşturulması.
a- Koşulun kontrol edilmesi.
Sonucun yazdırılması.
🤖 Kod
⚙ C++ Kodu
#include<iostream>usingnamespace std;intmain() {int i, x, t =0; // Değişkenlerin tanımlanması cin >> x; // “x”in girilmesifor (i =0; i <= x /2+1; i++) { // (X/2+1) kere dönen döngünün oluşturulmasıif (x == i * i) // Koşulun kontrol edilmesi { t =1;break; // Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız } } // Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek // Sonucun yazdırılmasıif (t !=0) cout <<"tam kare";else cout <<"tam kare degil";}
🐍 Python Kodu
t =0# Değişkenlerin tanımlanmasıx =int(input())# “x”in girilmesifor i inrange(0, x //2+2):# (X//2+2) kere dönen döngünün oluşturulmasıif (x == i * i):# Koşulun kontrol edilmesi t =1break# Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız# Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek# Sonucun yazdırılmasıif (t !=0):print("tam kare")else:print("tam kare degil")
☕ Java Kodu
importjava.util.*;publicclassTamKare {publicstaticvoidmain(String arg[]) {Scanner input =newScanner(System.in);int i, x, t =0; // Değişkenlerin tanımlanması x =input.nextInt(); // “x”in girilmesifor (i =0; i <= x /2+1; i++) { // (X/2+1) kere dönen döngünün oluşturulması// Koşulun kontrol edilmesiif (x == i * i) { t =1;break; // Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız } }// Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek// Sonucun yazdırılmasıif (t !=0)System.out.println("tam kare"); elseSystem.out.println("tam kare degil");input.close(); }}
⏹ C# Kodu
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceTamKare {classProgram {staticvoidMain(string[] args) {int i, x, t =0; // Değişkenlerin tanımlanması x =Convert.ToInt32(Console.ReadLine()); // “x”in girilmesifor (i = 0; i <= x /2+1; i++) { // (X/2+1) kere dönen döngünün oluşturulmasıif (x == i * i) { t =1;break; // Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız } } // Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek
// Sonucun yazdırılmasıif (t ==1)Console.WriteLine("tam kare");elseConsole.WriteLine("tam kare degil");Console.ReadLine(); } }}
🧩 Akış Şeması
🎉 Ekran Çıktısı
81
tam kare
27
tam kare degil
💡 Notlar
Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız.
Koşulun sağlanıp sağlanmadığını kontrol etmek için tyi kullandık, çünkü koşul sağlandığında t değişecek.