Girilen bir kesri sadeleştiren programı yazınız.
- Pay ve payda değerlerini girmek.
- Sadeleştirme işlemini gerçekleştirmek.
- Kesrin sadeleştirilmiş halini yazdırmak.
- 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.
- 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.
- İkisi ve
- Pay ve payda
iye bölünemezse:iartırılır.
- Pay ve payda
- Kesrin son halinin yazdırılması.
#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ı
}# 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ı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();
}
}Payi gir:172
Paydayi gir:36
43 / 9
- II. Yol: Pay ve paydanın OBEB’i bulunur, ikisi ona bölünerek sadeleştirilmiş haline getirebiliriz.