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

Відомості про масу кожного учня та учениці вашого класу. обчисліть середнє арифметичне, стандартне відхилення, моду й медіану для рядів даних таких вибірок: третина хлопців вашого класу, третина дівчат вашого класу, усі хлопці вашого класу, усі дівчата вашого класу. проаналізуйте отримані результати і запишіть висновки.(сделайте табличку)

Показать ответ
Ответ:
tarasgorodchukowd1fp
tarasgorodchukowd1fp
15.10.2022 11:38

Просто прогоняем бинарный поиск дважды, сначала ищем ближайшее число, не большее нужного, потом не меньшее. Для того, чтобы такие числа были, можно дописать в массив очень большое число и очень маленькое. Затем выбираем из этих двух найденных чисел то, что будет ближе.

Пример реализации:

def bin_search(arr, target, kind="<="):

   assert kind in ["<=", ">="]

   if kind == "<=":

       comp = lambda a, b: a <= b

   else:

       comp = lambda a, b: a < b

   l = 0

   r = len(a) - 1

   while l < r - 1:

       m = (l + r) // 2

       if comp(a[m], target):

           l = m

       else:

           r = m

   if kind == "<=":

       return arr[l]

   else:

       return arr[r]

def nearest(arr, target):

   nearest_le = bin_search(arr, target, "<=")

   nearest_ge = bin_search(arr, target, ">=")

   if nearest_ge - target < target - nearest_le:

       return nearest_ge

   else:

       return nearest_le

_ = input()

a = [int(x) for x in input().split()]

a = [float("-Infinity")] + a + [float("+Infinity")]

for target in map(int, input().split()):

   print(nearest(a, target))

0,0(0 оценок)
Ответ:
davaispi
davaispi
11.01.2020 01:14

pascal

Объяснение:

procedure sortmas(a: array of integer);

var i, j, min, ind: integer;

begin

 for i := 0 to Length(a) - 2 do

 begin

   min := a[i]; ind := i;

   for j := i + 1 to Length(a) - 1 do

     if a[j] < min then

     begin

       min := a[j]; ind := j;

     end;

   a[ind] := a[i]; a[i] := min;

 end;

end;

var a: array of integer;

   n , i: integer;

begin

 WriteLn('Введите размер массива: '); Read(n);

 SetLength(a, n);

 Randomize;

 WriteLn('Содержимое массива:');

 for i := 0 to Length(a) - 1 do

 begin

   a[i] := random(100);

   Write(a[i], ', ');

 end;

 WriteLn;

 sortmas(a);

 WriteLn('Три минимальных элемента: ', a[0], ', ', a[1], ', ', a[2], ', ');

end.

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