М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
valeriya210322
valeriya210322
16.12.2020 00:31 •  Информатика

. На бесконечном поле имеется стена, длины отрезков стены неизвестны. Стена состоит из одного вертикального и трёх горизонтальных отрезков (отрезки стены
расположены буквой «Е»). Все отрезки неизвестной длины. Робот находится в клетке,
расположенной непосредственно над верхней стеной. На рисунке указан один из
возможных расположения стен и Робота (Робот обозначен буквой «»).
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные справа у
вертикальной стены в верхней части буквы «Е». Робот должен закрасить только
клетки, удовлетворяющие данному условию. Например, для приведённого справа
рисунка Робот должен закрасить следующие клетки (см. рисунок).
Конечное расположение Робота может быть произвольным. При исполнении алгоритма
Робот не должен разрушиться. Алгоритм должен решать задачу для произвольного
размера поля и любого допустимого расположения стен ссылка на задание ниже
https://f1.school.mosreg.ru/get.aspx/52/1f26810c2fd74932afab16d26ae59e1e.pdf

ТОМУ КТО ПРАВИЛЬНО И БЫСТРО РЕШИТ НАКИНУ

👇
Открыть все ответы
Ответ:
ольга240387
ольга240387
16.12.2020

pascalabc:

program f0rwardirop;

var r, x,y: real;

b: boolean;

begin

  writeln('*   alphaeus is   *');

  write('ok, введите r =');   readln(r);

  write('теперь введите х =');   readln(x);

  write('и, наконец, введите y =');   readln(y);

  if x> =0 then  

      if (x*x+y*y < = r*r) then b: = true else b: =false

    else

      if (abs(x) < =r) and (abs(y) < =r) and (abs(x) < = abs(y)) then b: = true else b: =false;

  if b then   writeln('точка (',x,',',y,') принадлежит закрашенной области')

      else   writeln('точка (',x,',',y,') не принадлежит закрашенной области');

end.

4,4(25 оценок)
Ответ:
nodir9842446
nodir9842446
16.12.2020

p := sign(y + 13 * a) * power(abs(y + 13 * a), 1/3);

Объяснение:

Единственная проблема тут - как записать кубический корень. В паскале есть функция power(a, p), которая возводит a в степень p, но если p не целое, оно работает только для положительных (для p > 0 неотрицательных) a. Кубический корень же определён для всех a.

Решение такое: посчитать кубический корень для модуля \sqrt[3]{|a|}=|a|^{1/3}, а потом поставить такой же знак, что и под корнем.

Полностью программа может выглядеть, например, так:

var p, y, a: real;

begin

 read(y, a);

 p := sign(y + 13 * a) * power(abs(y + 13 * a), 1/3);

 write(p)

end.

4,8(40 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ