Партию игры на шахматном поле записали в виде последовательности выполненных ходов. Сравнить два
кодирования:
a)
традиционное название клеток
(пример одного хода: a1-b2);
b)
нетрадиционное именование клеток, при котором
клетки имеют «сквозную» нумерацию каждой клетке
соответствует одно число
(пример хода: 62-18).
Решите эту задачу для двух видов полей: 8х8 и 10х10 клеток
Привет!
Периметр:
program x;
var
y,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16:integer;
begin
writeln('Введите длины всех сторон шестнадцатиугольника, см: ');
readln(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16);
y:=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16;
writeln('Периметр данного шестнадцатиугольника,см= ',y);
readln;
end.
Площадь:
var a : integer;
S : real;
function SquareTr(a : integer) : real;
begin
SquareTr := (sqrt(3)*a)/2
end;
BEGIN
writeln('Введите сторону шестнадцатиугольника: ');
ReadLn(a);
S := 16 * SquareTr(a);
Writeln('Площадь шестнадцатиугольника со стороной а, равна ', S:16:16);
end.
ответ: блок схема во вложении.
Объяснение:
1. заполняем массив А размерностью 20 целыми числами. устанавливаем начальное значение параметра цикла = 2, то есть цикл будет начинаться со 2-го элемента. устанавливаем флаг b в true. от нужен для проверки "на возрастаемость"
2. начинаем цикл со 2 до 20 элемента
3. если текущий элемент больше предыдущего, то делаем инкремент параметра i и переходим на повторение цикла.
4. если текущий элемент НЕ больше предыдущего, то сбрасываем флаг b и выходим из цикла. Условие возрастаемости нарушено, дальнейшее сканирование не имеет смысла.
5. проверка флага b: в том случае если весь цикл пройден, от равен true, иначе, если был совершен выход из цикла по причине п.4, то равен false
6. в зависимости от состояния флага b выводим соответствующее сообщение.
блок-схема может редактировать через сайт: https://www.draw.io