✂️Kesir Sadeleştirme
❓ Soru
Girilen bir kesri sadeleştiren programı yazınız.
⛓ Program Kısımları
Pay ve payda değerlerini girmek.
Sadeleştirme işlemini gerçekleştirmek.
Kesrin sadeleştirilmiş halini yazdırmak.
👓 Çözüm Yöntemi
Başlangıç değeri 2 olan
i
adlı bir sayaç oluşturulur, pay ve paydanın sayaca bölünemediği durumlarda sayaç artırılır. Pay ve paydanın sayaca bölünebildiği durumlarda pay ve payda sayaca bölünüp sayaç yine 2’ye eşitlenir.i
, pay veya paydanın en küçüğünden büyük olmadığı surece bu işlem devam ettirilir.
👩🔧 Çözüm Adımları
Değişkenlerin tanımlanması.
Pay ve paydanın girilmesi.
Pay ve paydanın küçüğünün tespit edilmesi.
i
kucuk
ten büyük olmadığı sürece:Pay ve payda
i
ye bölünebilirse:İkisi ve
kucuk
i
ye bölünür.i
2’ye eşitlenir.
Pay ve payda
i
ye bölünemezse:i
artırılır.
Kesrin son halinin yazdırılması.
🤖 Kod
⚙ C++ Kodu
#include <iostream>
using namespace std;
int main()
{
int pay, payda, i = 2, kucuk; // Değişkenlerin tanımlanması
// Pay ve paydanın girilmesi
cout << "Payi gir:";
cin >> pay;
cout << "Paydayi gir:";
cin >> payda;
// Pay ve paydanın küçüğünün tespit edilmesi
if (pay > payda)
kucuk = abs(payda);
else kucuk = abs(pay);
while (i <= kucuk) {
if (pay % i == 0 && payda % i == 0) {
// pay, payda ve “kucuk” “i”ye bölünmesi
pay /= i;
payda /= i;
kucuk /= i;
i = 2;
} else i++;
}
cout << pay << " / " << payda; // Kesrin son halinin yazdırılması
}
🐍 Python Kodu
# Değişkenlerin tanımlanması
i = 2
# Pay ve paydanın girilmesi
print("Payi gir:")
pay = int(input())
print("Paydayi gir:")
payda = int(input())
# Pay ve paydanın küçüğünün tespit edilmesi
if (pay > payda):
kucuk = abs(payda)
else:
kucuk = abs(pay)
while i <= kucuk:
if pay % i == 0 and payda % i == 0:
# pay, payda ve “kucuk” “i”ye bölünmesi
pay /= i
payda /= i
kucuk /= i
i = 2
else:
i += 1
print("{} / {}".format(pay, payda)) # Kesrin son halinin yazdırılması
☕ Java Kodu
import java.util.Scanner;
public class KesirSadelestirme {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int pay, payda, i = 2, kucuk; // Değişkenlerin tanımlanması
// Pay ve paydanın girilmesi
System.out.print("Payi gir:");
pay = input.nextInt();
System.out.print("Paydayi gir:");
payda = input.nextInt();
// Pay ve paydanın küçüğünün tespit edilmesi
if (pay > payda)
kucuk = Math.abs(payda);
else kucuk = Math.abs(pay);
while (i <= kucuk) //4. adim
{
if (pay % i == 0 && payda % i == 0) //4. adim (a)
{
// pay, payda ve “kucuk” “i”ye bölünmesi
pay /= i;
payda /= i;
kucuk /= i;
i = 2;
} else i++;
}
System.out.printf("%d / %d", pay, payda); // Kesrin son halinin yazdırılması
input.close();
}
}
🎉 Ekran Çıktısı
Payi gir:172
Paydayi gir:36
43 / 9
💡 Notlar
II. Yol: Pay ve paydanın OBEB’i bulunur, ikisi ona bölünerek sadeleştirilmiş haline getirebiliriz.
Last updated
Was this helpful?