Определить количество ковриков, которые покроют весь пол - Free Pascal
Формулировка задачи:
Незнайка решил покрыть пол в своей комнате,имеющий прямоугольную форму,квадратными ковриками по схеме. В магазине имеются коврики различных размеров. Требуется определить количество ковриков,которые покроют весь пол
полностью.(размеры комнаты вводятся с клавиатуры).
Решение задачи: «Определить количество ковриков, которые покроют весь пол»
textual
Листинг программы
- var s:string;
- a,b,a1,b1:longint;
- k:integer;
- begin
- repeat
- writeln('введите длину');
- readln(s);
- val(s,a,k);
- if (k<>0)or(a<=0) then writeln('Некорректные данные,повторите');
- until (k=0)and(a>0);
- repeat
- writeln('введите ширину');
- readln(s);
- val(s,b,k);
- if (k<>0)or(b<=0) then writeln('Некорректные данные,повторите');
- until (k=0)and(b>0);
- a1:=a;
- b1:=b;
- writeln('метод незнайки');
- k:=1;
- while a<>b do
- begin
- if a>b then a:=a-b else b:=b-a;
- k:=k+1;
- end;
- writeln('количество ковров=',k);
- writeln('метод знайки');
- k:=0;
- while a1*b1>0 do
- begin
- if a1>b1 then
- begin
- k:=k+a1 div b1;
- a1:=a1 mod b1;
- end
- else
- begin
- k:=k+b1 div a1;
- b1:=b1 mod a1
- end;
- end;
- writeln('количество ковров=',k);
- readln;
- end.
Объяснение кода листинга программы
- Переменная
s
используется для хранения введенных пользователем данных. Тип данных - строка. - Переменные
a
иb
используются для хранения длины и ширины ковра соответственно. Тип данных - длинное целое число. - Переменная
k
используется для проверки корректности введенных данных. Тип данных - целое число. - Пользователю предлагается ввести длину ковра.
- Если введенные данные некорректны (не является числом или длина меньше или равна нулю), программа выводит сообщение об ошибке и просит повторить ввод.
- Пользователю предлагается ввести ширину ковра.
- Если введенные данные некорректны (не является числом или ширина меньше или равна нулю), программа выводит сообщение об ошибке и просит повторить ввод.
- Переменные
a1
иb1
инициализируются значениями переменныхa
иb
соответственно. - Метод
незнайки
используется для определения количества ковров методом проб и ошибок. - Если длина ковра больше ширины, то длина уменьшается на ширину, иначе ширина уменьшается на длину.
- Если длина ковра равна нулю, то цикл завершается.
- Переменная
k
увеличивается на единицу после каждой итерации цикла. - Метод
знайки
используется для определения количества ковров методом деления с остатком. - Если значение переменной
a1
больше значения переменнойb1
, то остаток от деленияa1
наb1
добавляется к переменнойk
. Затем значение переменнойa1
обновляется на остаток от деления наb1
. - Если значение переменной
a1
меньше или равно значению переменнойb1
, то остаток от деленияb1
наa1
добавляется к переменнойk
. Затем значение переменнойb1
обновляется на остаток от деления наa1
. - Цикл продолжается, пока значение переменной
a1
не станет равным нулю. - Выводится количество ковров, определенное методом
знайки
. - Программа ожидает ввода пользователя, чтобы он мог увидеть результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д