✂️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
iadlı 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.
ikucukten büyük olmadığı sürece:Pay ve payda
iye bölünebilirse:İkisi ve
kucukiye bölünür.i2’ye eşitlenir.
Pay ve payda
iye bölünemezse:iartı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?