Скачиваний:
8
Добавлен:
01.05.2014
Размер:
286.21 Кб
Скачать

Составьте программу сокращения дроби M/N, где M,N – натуральные числа

Название программы следует после служебного слова program, программа называется drob. После слова var, определяется тип данных – логический тип данных boolean. Далее перечисляются переменные, используемые в программе (a,b) и задается их тип – целые числа integer. Программа начинается после слова begin. Начинается программа с ввода значения числителя, команда: writeln (' vvedite cheslitel') выдаёт на экран сообщение с текстом указанным в скобках, команда readln (a) присваивает переменной (a) числовое значение, введённое с клавиатуры. Далее команда: writeln (' vvedite znamenatel ') выдаёт на экран сообщение с текстом указанным в скобках, команда readln (b) присваивает переменной (b) числовое значение, введённое с клавиатуры. Затем следует проверка на целочисленное деление. Если условие (a mod b=0) совпадает с результатом, то переменной (а) задается значение, полученное путем деления (a) на (b), а переменной (b) задается значение 1 и с помощью writeln значения данных переменных выводятся на экран как числитель (a) и знаменатель (b). Если условие не совпадает с результатом, то производится проверка деления на два. Если переменные (а) и (b) делятся на 2 без остатка, то им присваиваются значения (a:=a div 2) и (b:=b div 2), типу данных присваивается значение true (истина) и значения переменных выводятся на экран как числитель (a) и знаменатель (b). Если и это условие не совпадает, то производится проверка деления на 3, а в случает очередного не совпадения – проверка деления на 5

program Drob;

var

flag:boolean;

a,b:integer;

begin

writeln('vvedite cheslitel');

readln(a);

writeln('vvedite znamenatel');

readln(b);

if a mod b=0 then

begin

a:=a div b;

b:=1;

end else

begin

repeat

flag:=false;

if (a mod 2=0)and(b mod 2=0) then

begin

a:=a div 2;

b:=b div 2;

flag:=true;

end;

if (a mod 3=0)and(b mod 3=0) then

begin

a:=a div 3;

b:=b div 3;

flag:=true;

end;

if (a mod 5=0)and(b mod 5=0) then

begin

a:=a div 5;

b:=b div 5;

flag:=true;

end;

until flag=false;

end;

writeln('cheslitel '+inttostr(a));

writeln('znamenatel '+inttostr(b));

readln;

end.