К1а2т3я456
16.08.2022 22:43

Уколи дома есть гироскутер, 4 мяча и 5 конструкторов «лего». какое наименьшее количество игрушек ему нужно вынести во двор (если брать, что под руку попадётся), чтобы гарантированно среди них
1. был хотя бы один мяч?
8 6 7 5
2. было хотя бы два конструктора?
6 8 9 7
3. был гироскутер?
7 10 9 8

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
H1e1l1p
12.03.2021 07:34
//Обьявляем дополнительные переменные и главный массив, а также два дополнительных - они будут "половинками".
var
  a, b, c: array [1..100] of longint;
  i, min, n, j, t: longint;

begin
  //Читаем количество элементов в нашем массиве.
  readln(n);
 
  //Читаем массив.
  for i := 1 to n do read(a[i]);
 
  //Заполняем первую "половинку".
  for i := 1 to n div 2 do b[i] := a[i];
 
  //Заполняем вторую "половинку". Но раз это уже вторая "половинка" главного массива, то и
  //цикл теперь должен начинаться со второй части массива, а заканчиваться уже в его конце.
  for i := n div 2 + 1 to n do c[i - n div 2] := a[i];
 
  //Теперь отсортируем первую "половинку" методом выбора. Идея этого метода
  //основывается на том, что мы ищем минимальный среди неотсортированных элемент,
  //а затем просто swap-аем его с тем, который стоит сразу после отсортированных.
  for i := 1 to (n - 1) div 2 do
  begin
    min := i;
    for j := i + 1 to n div 2 do
      if b[min] > b[j] then
        min := j;
    if min <> i then begin
      t := b[i];
      b[i] := b[min];
      b[min] := t;
    end;
  end;
 
  //Затем вторую точно также, только стоит обратить внимание на сравнения.
  //Так как надо отсортировать по убыванию, то теперь сравнение перед "swap"-ом
  //будет другим.
  for i := 1 to (n - 1) div 2 do
  begin
    min := i;
    for j := i + 1 to n div 2 do
      if c[min] < c[j] then
        min := j;
    if min <> i then begin
      t := c[i];
      c[i] := c[min];
      c[min] := t;
    end;
  end;
 
  //А теперь просто по очереди выводим готовые "половинки", не забывая ставить
  //пробел после вывода каждого элемента.
  for i := 1 to n div 2 do write(b[i], ' ');
  for i := 1 to n - n div 2 do write(c[i], ' ');
end.
0,0(0 оценок)
Ответ:
vaaaadimg
10.03.2020 17:36

1. Расчертить все поле горизонтальными пунктирными линиями.

НАЧ

ПОКА впереди НЕ стена

НЦ

ДЕЛАЙ линия

ДЕЛАЙ правый переход

ДЕЛАЙ линия

ДЕЛАЙ левый переход

КЦ

КОН

ПРОЦЕДУРА линия

ПОКА впереди НЕ стена

НЦ

ШАГ

ЕСЛИ впереди НЕ стена

ТО

ПРЫЖОК

ВСЁ

КЦ

КОНЕЦ ПРОЦЕДУРЫ

ПРОЦЕДУРА правый переход

ПОВОРОТ

ПОВОРОТ

ПОВОРОТ

ЕСЛИ впереди НЕ стена

ТО

ПРЫЖОК

ПОВОРОТ

ПОВОРОТ

ПОВОРОТ

ВСЁ

КОНЕЦ ПРОЦЕДУРЫ

ПРОЦЕДУРА левый переход

ПОВОРОТ

ЕСЛИ впереди НЕ стена

ТО

ПРЫЖОК

ПОВОРОТ

ВСЁ

КОНЕЦ ПРОЦЕДУРЫ

2) Нарисовать квадраты во всех углах поля.

НАЧ

ДЕЛАЙ квадрат

ДЕЛАЙ переход

ДЕЛАЙ квадрат

ДЕЛАЙ переход

ДЕЛАЙ квадрат

ДЕЛАЙ переход

ДЕЛАЙ квадрат

КОН

ПРОЦЕДУРА квадрат

ШАГ

ПОВОРОТ

ПОВОРОТ

ПОВОРОТ

ШАГ

ПОВОРОТ

ПОВОРОТ

ПОВОРОТ

ШАГ

ПОВОРОТ

ПОВОРОТ

ПОВОРОТ

ШАГ

ПОВОРОТ

ПОВОРОТ

ПОВОРОТ

КОНЕЦ ПРОЦЕДУРЫ

ПРОЦЕДУРА переход

ПОКА впереди НЕ стена

НЦ

ПРЫЖОК

КЦ

ПОВОРОТ

ПОВОРОТ

ПОВОРОТ

КОНЕЦ ПРОЦЕДУРЫ


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