Заполнить циферблат числами по кругу - Pascal
Формулировка задачи:
Уважаемые. Решите, пожалуйста, задачу о циферблате
Заполним циферблат по кругу числами от Nmin до Nmax. Написать всепаскалевскую программу,
которая при задании произвольного числа циферблата, в том числе дробного, возвращает его антипод.
Спасибо
Решение задачи: «Заполнить циферблат числами по кругу»
textual
Листинг программы
var
nmin,nmax,n:word;
d,a:double;
begin
write('Nmin = '); readln(nmin);
write('Nmax = '); readln(nmax);
write('N = '); readln(n);
d:=360/(nmax-nmin);
writeln('degree of n = ',round(d*n));
a:=(d*n)+180;
if a>360 then a:=a-360;
writeln('degree of antipod n = ',round(a));
writeln('it''s ',round(a/d));
readln;
end.
Объяснение кода листинга программы
- В первой строке объявляются три переменные: nmin, nmax и n, которые представляют минимальное, максимальное и текущее значение числа соответственно. Все они представлены типом word, что означает, что они могут содержать только целочисленные значения.
- Во второй и третьей строках считываются значения nmin, nmax и n с помощью функции readln. Значения считываются в числовом формате, но так как тип переменной nmin, nmax и n - целочисленный, то считываемые значения также будут целочисленными.
- В четвертой строке вычисляется значение d, которое представляет собой угол, образованный дугой окружности, на которой расположены числа от nmin до nmax. Значение d вычисляется как отношение 360 к разности nmax и nmin.
- В пятой строке вычисляется значение a, которое представляет собой угол, образованный антиподами дуги окружности. Значение a вычисляется как произведение d и n, а затем добавляется 180. Если значение a превышает 360, то оно уменьшается на 360.
- В шестой строке выводится значение a с помощью функции writeln.
- В седьмой строке выводится значение a в виде десятичной дроби с помощью функции round и оператора деления
/. - В восьмой строке считывается команда readln, чтобы ожидать ввода пользователя.