krokodilol
11.05.2022 18:47

УМОЛЯЮ НАДО ПРЯМ СЕЙЧАС ! ! ! ! ! ! !

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
тигрица086
18.10.2022 14:40

Это результат использования двух разных стандартов обозначения единиц измерения количества информации (одно и то же обозначение единицы измерения может пониматься по разному).

Производители жёстких дисков пишут их объём в "десятичных" единицах (в них объём диска в цифрах получается больше, потому что сама единица меньше).

Десятичный терабайт:  1 ТБ = 10¹² байт = 1 000 000 000 000 байт

А в операционной системе компьютера обычно этот объём показывается в "двоичных" единицах (и в них значение объёма диска получается меньше, т.к. сама единица больше).

Двоичный терабайт: 1 ТБ = 2⁴⁰ байт = 1 099 511 627 776 байт

Двоичный гигабайт: 1 ГБ = 2³⁰ байт = 1 073 741 824 байт

Значит, ОС покажет объём диска так:

-в терабайтах:  10¹² / 2⁴⁰ ≈ 0,91 ТБ

-в гигабайтах: 10¹² / 2³⁰ ≈ 931,3 ГБ

Также, сколько то гигабайт система может зарезервировать для своих нужд, и доступный пользователю объём будет ещё меньше (как раз около 900 ГБ).

Объяснение:

Двоичные единицы были в компьютерной технике можно сказать с самого начала. И там они "родные", естественные- ведь компьютеры то построены на двоичной логике (почти все).

А отсюда вытекает количество адресуемой памяти- это степень двойки.

Микросхема памяти с четырьмя адресными входами позволяет обратиться к 2⁴ = 16-ти ячейкам памяти.

Шина адреса из 10 линий позволяет адресовать 2¹⁰ = 1024 ячейки.

Отсюда он, двоичный килобайт: 1 КБ = 2¹⁰ = 1024 байта

Близко к тысяче, поэтому стали обозначать по аналогии с приставкой "-кило" (к), но только большой буквой (К), чтобы хоть как то отличать от стандартной приставки СИ.

Уже тут приставки пишутся почти одинаково, но отличаются по значению, ведь стандартная "к" -это тысяча (1 000)

Потом памяти стало больше, и появился мегабайт:

1 МБ = 2²⁰ = 1 048 576 байта

Здесь различие в написании двоичных и десятичных приставок уже пропало полностью, но при этом стандартная приставка "-мега" (М) означает миллион (1 000 000).

Потом гигабайт, терабайт... С каждой следующей отличие от стандартных приставок сильно увеличивалось (для ТБ это уже значительные 10%).

И, был принят стандарт, использующий стандартные (десятичные) приставки (1 кБ = 1 000 Б,  1 МБ = 1 000 000 Б,  итд), а двоичные единицы измерения предлагалось переименовать в КиБ (кибибайт), МиБ (мебибайт), итд.

Но конечно, путаницы стало только ещё больше, причём многократно. Ибо далеко не все хотят переходить на новый стандарт. Причин хоть отбавляй- от странного и длинного названия единиц, до того факта что всё начиная с самых истоков основано на старых единицах и их написании- вся документация, все программы, сама аппаратура даже... Да и людям так привычнее, так удобнее. Мало кто хочет переходить на десятичные единицы, а уж ещё меньше- на переименованные.

Хотя, конечно всё же некоторые переходят, особенно кому это выгодно- те же производители носителей информации- жёстких дисков, DVD-дисков, флешек даже.

И чем больше используют десятичных единиц, тем больше путаницы становится.

P.S. В общем, крепитесь, ребята. Нам в этом компоте всю жизнь придётся вариться. Если что непонятно- смотрите полный размер в байтах (где это доступно, конечно). А недоступно- читайте теорию или справку наконец уж. И да пребудет с вами Сила :)

0,0(0 оценок)
Ответ:
Макушка007
05.10.2021 20:12
Const
  lim = 11;

type
  V = array[1..lim] of integer;

function FirstNegative(a: V; n: integer): integer;
var
  i: integer;
begin
  i := 0;
  Result := 0;
  repeat
    i := i + 1;
    if a[i] < 0 then Result := i
  until (Result > 0) or (i > lim)
end;

procedure InpMass(var a: V; var n: integer; mName: string);
// Организует ввод массива
var
  i, p: integer;
begin
  writeln('Вводите элементы массива ' + mName + '; 7777 - конец ввода');
  i := 0;
  repeat
    read(p);
    i := i + 1;
    if p <> 7777 then a[i] := p;
  until (p = 7777) or (i > lim);
  n := i - 1
end;

var
  a, b: V;
  m, n, p, q: integer;

begin
  InpMass(a, m, 'A');
  InpMass(b, n, 'B');
  p := FirstNegative(a, m);
  q := FirstNegative(b, n);
  if p <= q then writeln('Номер первого отрицательного элемента в массива А: ', p)
  else writeln('Номер первого отрицательного элемента в массива B: ', q)
end.

Тестовое решение:

Вводите элементы массива A; 7777 - конец ввода
37 14 -25 32 30 -29 38 27 7777
Вводите элементы массива B; 7777 - конец ввода
33  -36   23  -17   -3  -16  -33   33  -48  -39   30 7777
Номер первого отрицательного элемента в массива B: 2
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота