Создайте программу, которая запрашивает длины двух отрезков и выводит на экран эти отрезки - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Создайте программу, которая запрашивает длины двух отрезков и выводит на экран эти отрезки ( в масштабе 1 ед.=5 пикселей) и их "общую меру" (отрезок максимальной длины, который целое число раз укладывается в заданных отрезках); Пример:

Решение задачи: «Создайте программу, которая запрашивает длины двух отрезков и выводит на экран эти отрезки»

textual
Листинг программы
uses graphABC,crt;
var a,b,c,x,y:integer;
begin
repeat
writeln('Введите длины двух отрезков от 1 до ',windowwidth div 5);
readln(a,b);
until(a>0)and(a<=windowwidth div 5)and(b>0)and(b<=windowwidth div 5);
x:=a;
y:=b;
while x<>y do
if x>y then x:=x-y
else if y>x then y:=y-x;
c:=x;
hidecursor;
clearwindow;
textout(0,10,'Длины отрезков: '+inttostr(a)+' '+inttostr(b));
textout(0,30,'Общая мера= '+inttostr(c));
line(30,60,30+a*5,60);
line(30,80,30+b*5,80);
setpencolor(clRed);
line(30,100,30+c*5,100);
end.

Объяснение кода листинга программы

  1. В начале кода подключаются необходимые модули graphABC и crt.
  2. Переменные a, b, c, x и y объявлены как целочисленные.
  3. Запускается цикл repeat, который будет выполняться до тех пор, пока пользователь не введет длины отрезков, удовлетворяющие условиям (от 1 до windowwidth div 5).
  4. Внутри цикла считываются длины отрезков a и b с помощью функции readln.
  5. Переменные x и y инициализируются значениями a и b соответственно.
  6. Запускается цикл while, который будет выполняться до тех пор, пока x не станет равным y.
  7. Внутри цикла while происходит сравнение значений x и y и, если x больше y, то x уменьшается на y, а если y больше x, то y уменьшается на x.
  8. Переменная c инициализируется значением x.
  9. С помощью функции hidecursor скрывается курсор, а с помощью функции clearwindow очищается окно.
  10. Выводится текст с длинами отрезков и их общей мерой с помощью функций textout и inttostr.
  11. С помощью функции line рисуются три линии: первая соединяет точки (30,100), (30+a5,100), (30+b5,100), вторая - (30,80), (30+b5,80), (30+c5,80), третья - (30,60), (30+a5,60), (30+c5,60).
  12. С помощью функции setpencolor устанавливается цвет пера в красный.
  13. Цикл while завершается, когда x становится равным y.
  14. Программа заканчивается с помощью функции end.

Оцени полезность:

7   голосов , оценка 3.429 из 5
Похожие ответы