ilviragaraeva2
06.04.2023 06:05

Хелп()()()))
Встановіть відповідність між початковими значеннями змінної х (1-4) і значеннями змінної у після виконання оператора. If x<0 Тhen y := x Else If x <= 5 Then y := sqr(x) Else y := 2*x

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
maks200906
27.10.2020 01:23

type

  base = record

     id: integer;

     ball: integer;

  end;

var

  t: text;

  a: array of array of integer;

  n: integer;

  st, tmp: string;

  err: integer := 1;

  database: base;

begin

  readln(n);

  setlength(a, n);

  for i: integer := low(a) to high(a) do

     setlength(a[i], 2);

  for i: integer := low(a) to high(a) do

  begin

     readln(st);

     tmp := st;

     delete(tmp, pos(' ', tmp, err), tmp.Length - pos(' ', tmp, err) + 1);

     database.id := strtoint(tmp);

     tmp := st;

     delete(tmp, 1, pos(' ', tmp, err));

     database.ball := strtoint(tmp);

     a[i, 0] := database.id;

     a[i, 1] := database.ball;

  end;

  var j: integer := 0;

  assign(t, 'output.txt');

  rewrite(t);

  while (j <= high(a)) do

  begin

     if (j + 1 < high(a)) and (a[j, 1] = a[j + 1, 1]) then

        if (a[j, 0] < a[j + 1, 0]) then begin

           write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

           write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');

        end else begin

           write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');

           write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

        end;

     if (j+1=n) then

        write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');

     inc(j, 2);

  end;

  close(t);

end.

0,0(0 оценок)
Ответ:
artemp20012
01.09.2020 14:49

Месяц находим методом половинного деления.

Двоичная запись числа 366 размещается в 9 битах (в 8 битах размещается только 256 чисел , а в 9 битах - уже 512).

То есть , понадобится задать 8 вопросов и девятой фразой будет ответ.

В году 365 (366) дней. Пусть 366, для 365 рассуждение то же.

Рассмотрим самый худший вариант

Середина года - день номер 366/2=183. Это 1 июля.

Первый вопрос: День рождения в первой половине года?

Допустим, да.

Второй вопрос: День рождения в первом квартале?

Допустим, нет. Следовательно во втором.

Второй квартал - это дни с номерами от 92 до 182. Середина - среднее арифметическое. (92+182)/2=137. Это дата 17 мая.

Третий вопрос: День рождения позднее 17 мая?

Допустим, нет.

Следовательно, интервал дат 1 апреля - 17 мая, 91 день. Опять делим на 2, сужая интервал до 22 дней. Это дата 22 апреля.

Четвертый вопрос: День рождения позднее 22 апреля?

Допустим, нет.

Новый диапазон поиска - 23 апреля - 17 мая. Половиним его.

Пятый вопрос: День рождения позднее 29 апреля?

Допустим, нет.

Поиск сузился до 23 - 29 апреля. Снова берем половину.

Шестой вопрос: День рождения позднее 26 апреля?

Допустим, нет.

Интервал дат 23-26 апреля. Половиним.

Седьмой вопрос: День рождения позднее 24 апреля?

Допустим, да.

Интервал дат 25-26 апреля.

Восьмой вопрос: День рождения 25 апреля?

Допустим, нет

Девятая фраза: Ваш день рождения 26 апреля.

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