anser8539
05.05.2020 05:50

Спроектируйте структуру таблицы однотабличной базы данных «Магазин кондитерских изделий». Таблица должна содержать не менее восьми полей с различными типами данных. Укажите ключевое поле.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
nikitinaani19
10.07.2022 14:30
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
  var s:=ReadLines('in.txt').ToArray;
  var n:=StrToInt(s[0]);
  var a:=s[1].ToWords.Select(e->StrToInt(e)).ToArray;
  var f:=OpenWrite('out.txt');
  Writeln(f,n,' - (кол-во чисел)');
  foreach var e in a do Write(f,e,' '); Writeln(f);
  Writeln(f,'Среднее значение четных ',
    a.Where(x->x.IsEven).Average);
  Writeln(f,'Среднее значение нечетных ',
    a.Where(x->x.IsOdd).Average);
  f.Close
end.

Файлы in.txt и out.txt находятся во вложении.

Содержимое файла out.txt:
15 - (кол-во чисел)
-22 49 33 47 -10 -1 20 -18 2 21 2 -25 21 -47 -36
Среднее значение четных -8.85714285714286
Среднее значение нечетных 12.25
0,0(0 оценок)
Ответ:
Glupuj
13.11.2022 18:42
При переводе из системы в систему, дробные части в 99% случаев имеют погрешность и переводить их можно до бесконечности, так что ограничемся 6 знаками после запятой.

В переводе дробной части, делаем на оборот, не деление, а умножение, но умножение только дробной части:
0.43*2=0.86
0.86*2=1.72
0.72*2=1.44
0.44*2=0.88
0.88*2=1.76
0.76*2=1.52
0.52*2=1.04

Так можно продолжать до бесконечности, но мы уже посчитали 6 значений, тут записываем целые части чисел полученных, сверху вниз:
0110111 - это 0.43 в двоичной.

Просто склеим эти два числа через точку и получим:
162.43 = 10100010.0110111

Двоичная -> восьмиричная

Проще всего перевести в восьмиричную из двоичной, все что нужно, это представить число в виде троек:
целая часть:
010'100'010 - целая часть (дописали спереди 0, просто что бы было целая тройка чисел)
011'011'100 - дробная часть (дописали уже два 0 в конце числа, то же что бы было по три цифры)

Теперь дело за малым, смотрим в прикрепленную картинку, берем целую часть, первые три цифры, смотрим по столбику для двоичной системы, ищем там 010, когда нашли, ведем пальчиком по рядочку на соответствующую цифру в столбике для восьмиричной системы, это будет 2. Проделываем ту же операцию для следующих трех цифр: 100 - в восьмиричной это 4, ну и наконец 010 как уже знаем - 2.
Получается число 242 - целая часть.

Абсолютно точно так же считаем дробную часть:
011 - 3
011 - 3
100 - 4
Дробная часть это 334

Склеиваем через точечьку:
242.334
Хотите большую точность? Не вопрос! Делите точно так же как мы переводили из 10чной в 2чную, только теперь не на 2, а на 8, принцип перевода везде одинаковый :)

Двоичная -> Шеснадцатиричная
Теперь попробуем перевести в 16ричную, у вас этого не написанно, но если это ошибка в условии, то не помешает, если ещё и учесть, что это не сложно!
Снова благодарим простой принцип перевода и табличку, ведь всё что нужно сделать на этот раз, это то ж самое, что и при переводе в восьмиричную, с тем лишь изменением, что формируем не тройки чисел а четверки:
Целую часть 10100010 для удобства представим так: 1010'0010
Дробную часть 01101110 тоже запишем вот так: 0110'1100
Тот же алгоритм действий по табличке, только пальцем ведем до столбца с цифрой 16 вверху, получится что 1010 из двоичной в шестнадцатеричной это 'A', ну и так далее:
Целая часть:
1010 = A
0010 = 2
A2

Дробная часть:
0110 = 6
1110 = E
6E

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