
Написати програму скорочення звичайного дробу. abc pascal


Ответы на вопрос

program _1;
var a,b,c,i:integer;
begin
write('Введіть чисельник дробу: ');
readln(a);
write('Введіть знаменник дробу: ');
readln(b);
if a>b then c:=a else c:=b;
for i:=1 to c do
if ((a mod i)=0) and ((b mod i)=0) then
begin
a:=a div i;
b:=b div i;
end;
writeln(a,'/',b);
end.
На Сішці:
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Ukr");
int a,b,c,i;
cout<<"Введіть чисельник: "<<endl;
cin>>a;
cout<<"Введіть знаменник: "<<endl;
cin>>b;
(a>b)?c=a:c=b;
for (i=1;i<=c;i++){
if ((a%i==0)&&(b%i==0)){
a=a/i; b=b/i;
}
}
cout<<a<<"/"<<b<<endl;
system("pause");
}
Буду вдячний за "Кращу відповідь"



Щоб написати програму для скорочення звичайного дробу в Pascal, можна використати алгоритм Евкліда для знаходження найбільшого спільного дільника (НСД) чисельника та знаменника дробу.
Алгоритм скорочення звичайного дробу:
1. Зчитати чисельник та знаменник дробу. 2. Знайти НСД чисельника та знаменника за допомогою алгоритму Евкліда. 3. Розділити чисельник та знаменник на їхній НСД. 4. Вивести скорочений дріб.Ось приклад програми на Pascal, яка реалізує цей алгоритм:
```pascal program ShortenFraction;
var numerator, denominator, gcd, temp: Integer;
function EuclideanAlgorithm(a, b: Integer): Integer; begin if b = 0 then Result := a else Result := EuclideanAlgorithm(b, a mod b); end;
begin Write('Enter the numerator: '); Readln(numerator); Write('Enter the denominator: '); Readln(denominator); gcd := EuclideanAlgorithm(numerator, denominator); numerator := numerator div gcd; denominator := denominator div gcd; Writeln('Shortened fraction: ', numerator, '/', denominator); end. ```
Ця програма спочатку зчитує чисельник та знаменник дробу. Потім вона використовує функцію `EuclideanAlgorithm` для знаходження НСД чисельника та знаменника. Після цього чисельник та знаменник діляться на їхній НСД, щоб отримати скорочений дріб. Нарешті, програма виводить скорочений дріб на екран.
Будь ласка, зверніть увагу, що цей код є лише прикладом і може бути модифікований або розширений відповідно до вашої потреби.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili