pak1998378
?>

Сортировка. метод выбора. уровень a. массив содержит четное количество элементов. напишите программу, которая сортирует первую половину массива по возрастанию, а вторую – по убыванию. каждый элемент должен остаться в «своей» половине. пример: массив: 5 3 4 2 1 6 3 2 после сортировки: 2 3 4 5 6 3 2 1 и (подробно, т.к я не понимаю) , нужно. 20

Информатика

Ответы

vallium8354
//Обьявляем дополнительные переменные и главный массив, а также два дополнительных - они будут "половинками".
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.
tcmir
1) Определим шанс вытащить подосиновик.
Всего грибов 11+19 = 30, тогда шанс составляет 19/30
2) Существует формула Хартли для оценки количества информации, получаемого при свершении одного из равновероятных событий. Это как раз наш случай - мы наугад вытаскиваем любой гриб. Не будем разбирать эту формулу, её можно найти в учебниках и в Интернет, а воспользуемся практическим нахождения количества информации на её основе.
Нужно просто взять логарифм по основанию 2 от величины, обратной искомому шансу свершения события, т.е. ㏒₂(30/19) ≈ 0.66.
Это и есть количество информации в битах.
Если с логарифмами проблема, можно поставить вопрос иначе: найти такой показатель степени числа 2, после возведения в которую получится 30/19 ≈ 1.579. Мы знаем, что 2⁰=1, 2¹=2, т.е. ответ должен быть где-то между 0 и 1. Если нужен целочисленный ответ - принимаем 1 бит.

ответ: 0.66 бита или 1 бит округленно
Lilykl

1) Вирус  - это вредоносная программа, которая распространяется копируя себя (возможно не полностью). Различаются по попадания на устройство, типу заражаемых объектов распространения и типу вредоносных действий

В среднем жизненный цикл вируса такой: попадание на устройство, активация, поиск объектов для заражения, заражение, распространение

2) Вообще вирус может делать все то же, что и другая программа. Теоретически вирус может быть даже полезным. Но так или иначе он совершает действия не санкционированные самим пользователем или системой

Примеры вредоносных действий

использование ресурсов системы в своих целях (вычисления, Ддос атаки,...)удаление или порча, шифрование файловнарушение работы системы/ОСкража личных данных пользователя (напр. данных банковских карт, паролей)нарушение работы программперегрузка/блокировка линий связиспам, внедрение угрожающих/рекламных сообщений, переходы на нежелательные сайты

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Сортировка. метод выбора. уровень a. массив содержит четное количество элементов. напишите программу, которая сортирует первую половину массива по возрастанию, а вторую – по убыванию. каждый элемент должен остаться в «своей» половине. пример: массив: 5 3 4 2 1 6 3 2 после сортировки: 2 3 4 5 6 3 2 1 и (подробно, т.к я не понимаю) , нужно. 20
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yuraotradnov
uttgroup
Стефаниди
donliolik
amaraks67
filternovo
Lenok33lenok89
stmr29
windless-el
Probitbiz6
ПетровичЖивотовская1245
tobolenecivanov1675
gub191025
Sadovskaya425
Истомин441