В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия

Координаты точек Z3(x1,y1) Z4(x2,y2) Z5(x3,y3) задаются, из кода, необходимо выяснить возможно ли через точку Z5 провести прямую, перпендикулярно прямой, проходящую через точку Z3 и Z4 или нет.

Показать ответ
Ответ:
danil2001334
danil2001334
28.11.2021 09:59

Допустим, мы ведем счет дней недели с воскресенья и присваиваем дням такие номера:

0- Вс, 1- Пн, 2- Вт, 3- Ср, 4- Чт, 5- Пт, 6- Сб.

Определим, когда в январе было первое Вс.

Если 31 был Пн, то 4 недели назад, т.е. 31-28=3 числа тоже был Пн.

А Вс было перед Пн, т.е. 2 января.

Числа от 0 до 6 - это остатки целочисленного деления на 7.

Получается, что остаток деления числа 2 на 7, должен привести нас к нулю. А он равен двум.

Идея: вычтем из остатка 2, чтобы получился ноль.Идея хороша для остатка 2, 3, 4, 5, и 6. Она даст нам значения 0, 1, 2, 3 и 4. А вот для остатков 0 и 1, она даст -2 и -1, что нехорошо.

Внесем корректировку. если получилось отрицательное значение, увеличим его на 7.

Проверим ,будет ли это работать.

1 января - Сб (номер дня 6) алгоритм дает 1-2 = -1 и +7 = 6 - верно

2 января - Вс (номер дня 0) алгоритм дает 2-2 = 0 - верно

3 января - Пн (номер дня 1) алгоритм дает 3-2 = 1 - верно

4 января - Вт (номер дня 2) алгоритм дает 4-2 = 2 - верно

5 января - Ср (номер дня 3) алгоритм дает 5-2 - 3 - верно

6 января - Чт (номер дня 4) алгоритм дает 6-2 = 4 - верно

7 января - Пт (номер дня 5) алгоритм дает 0-2 = -2 и +7 = 5 - верно

8 января - Сб (номер дня 6) алгоритм дает 1-2 = -1 и +7 = 6 - верно9 января - Вс (номер дня 0) алгоритм дает 2-2 = 0 - верно

Все работает.

// PascalABC.NET 3.3, сборка 1625 от 17.01.2018

// Внимание! Если программа не работает, обновите версию!

begin

  var chislo:=ReadInteger('Номер дня в январе 2011 года:');

  chislo:=chislo mod 7-2;

  if chislo<0 then chislo:=chislo+7;

  var y:string;

  case chislo of

  0:y:='Воскресенье';

  1:y:='Понедельник';

  2:y:='Вторник';

3:y:='Среда';

  4:y:='Четверг';

  5:y:='Пятница';

  6:y:='Суббота'

  end;

  Writeln('Это ',y)

end.

Примеры

Номер дня в январе 2021 года: 31 января

Это Воскресенье

Номер дня в январе 2021 года: 15 января

Это Пятница

0,0(0 оценок)
Ответ:
st1rb1t
st1rb1t
30.12.2020 13:05

Шахматную клетку можно идентифицировать несколькими

Например, сериализовать (сделать структуру данных одномерной) и пронумеровать по-порядку, получив значения от 0 до 63 и представив их в двоичной системе счисления. Для этого потребуется 6 бит, ибо 2^6 = 64.

Другой вариант, без сериализации. Мы имеем двумерную структуру данных. Это значит, что для уникальной идентификации единицы данных нам нужно совершить как минимум два независимых измерения. Будем хранить эти измерения по-отдельности: в старших и младших битах.

Значение каждого измерения находится в диапазоне от 0 до 7. Для его кодирования достаточно 3 бит. 2^3 = 8. Мы имеем два измерения, поэтому для записи двух измерений последовательно нам потребуется 6 бит.

Оба подхода дают одинаковый по объёму результат. выбор между ними зависит от замой задачи: какой из двух представлений удобнее использовать при решении, как проще обращаться к элементам структуры, как последовательности или как к элементам на плоскости.

ответ: 6 бит.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота