Веб программирование

Сложение дробей с разными знаменателями

 
 

Данная программа пригодится любому трудолюбивому школьнику, когда у него отключаются мозги, но он хочет понять эту тему. Перед тем, как рассказать вам алгоритм работы этой программы, я напомню вам алгоритм сложения двух дробей с разными знаменателями: для этого нам нужно привести дроби к НОЗ, а потом сложить их. Чтобы привести дроби к НОЗ надо:1) найти НОК знаменателей этих дробей;2)разделить его на знаменатели дробей, т.е. найти д.п. множитель;3)Умножить числитель и знаменатель дробей на д.п множитель. 
Теперь на этой основе я сделал программу(исходник ниже).

program Сложение_дробей_с_разными_знаменателями;
uses crt;//мы будем использовать этот модуль для очистки экрана
var don: Integer;//числитель первой дроби
      dt: Integer;//знаменатель первой дроби
      dth: Integer;//числитель второй дроби

      df: Integer;//знаменатель второй дроби 
      nok: Integer;//НОК
      d5: Integer;//Результат сложения числителей
      dm1, dm2: Integer;//Дополнительный множитель
r1, r2: Integer;//получившийся знаменатель
modert: Integer;//остаток при делении неправильной дроби
diviz: Integer;//Неполное частное при делении неправильной дроби
begin
Writeln('Введите дробь через Enter');
Readln(don);
Writeln('------');
Readln(dt);
Writeln('Введите вторую дробь через Enter');
Readln(dth);
Writeln('');
Readln(df);
Writeln('Введите к какому НОК вы привели дроби');
Readln(nok);
ClrScr;
dm1 := nok div dt;// Нахождение дополнительных
dm2 := nok div df;// множителей
r1 := dm1 * don div 1;//Нахождение двух
r2 := dm2 * dth div 1;//числителей
d5 := r1 + r2;//Результат
//Вывод с правилами
Writeln('Сложить дроби: ', don, ' и ', dt, ' Для этого мы должны привести их к Наименьшему Общему Знаменателю');
Writeln(' ', dth, ' ', df);
Writeln('Чтобы найти Наименьший Общий Знаменатель надо:');
Writeln('1) найти НОК знаменателей этих дробей');
Writeln('2) Разделить НОЗ на знаменатели этих дробей(найти доп. множитель)');
Writeln('3) Умножить числитель и знаменатель этих дробей на доп. множитель');
Writeln('Даны дроби: ', don, ' и ', dth);
Writeln(' ', dt, ' ', df);
Writeln('Мы нашли НОК этих дробей:', nok);
Writeln('Теперь мы должны разделить ', nok, ' на ', dt, ' чтобы найти д.множ. 1-й дроби');
Writeln('Результат:', dm1);
Writeln('А теперь найдём дп. множ. 2-й дроби: разделим ', nok, ' на ', df);
Writeln('Результат:', dm2);
Writeln('А теперь умножим числитель 1-й дроби на доп. множ:', don, '*', dm1);
Writeln('Результат:', r1);
Writeln('Теперь числитель второй:', dth, '*', dm2);
Writeln('Результат:', r2);
Writeln('У нас получились две дроби с одинаковым знаменателем-');
Writeln(r1, ' ', r2);
Writeln(nok, ' ', nok);
Writeln('Теперь их надо сложить: чтобы сложить 2 дроби с одинаковыми знаменателями надо:');
Writeln('Сложить числители этих дробей, знаменатели оставить неизменными');
Writeln('Складываем ', r1, ' и ', r2);
Writeln('Результат сложения:', d5);
Writeln('И у нас получилась дробь ');
Writeln(d5);
Writeln(nok); //На тот случай, если дробь неправильная
if d5 >= nok then
begin
Writeln('Это неправильная дробь! Нужно привести её к целой части!');
Writeln('Для этого мы должны 1)числитель разделить на знаменатель и получить целую часть.');
Writeln('2)остаток от деления записать как числитель, а знаменатель оставить тот же');
diviz := d5 div nok;
modert := d5 mod nok;
Writeln('У нас получилась смешанная дробь:', diviz, ' целая и дробь ', modert);
Writeln(' ', nok);
end;
Writeln('Спасибо за использование!');
Readln;
end.

____________________________________________________________________________________________________________________________________________________________________________________
Итак, программа средних размеров, 82 строки. Не пугайтесь, здесь огромный обьём занимает форматирование!

До операторной скобки я указал модуль crt(он нам нужен для очистки экрана) и все переменные. От 25 до 34 строки я указал сообщения для получения информации:1-я дробь, 2-я дробь и НОК. 35-я строка отвечает за очистку экрана(это пригодится нам для удобства). от 36-й по 40-вой строки находится цепочка приравниваний(корень программы). С 42-й по 68-ю находятся строки вывода правилам и обьяснений с данными дробями.  с 70-той до конца процедура, на тот случай, если  конечная дробь неправильная. Вот и всё! Надеюсь вам пригодится! Всем пока! Вступайте в мою группу Программирование Паскаль в одноклассниках

http://ok.ru/group/52676311187674


Есть вопросы? Спроси на нашем форуме!!
Нет комментариев

Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.