// PascalABC.NET 3.1, сборка 1172 от 19.02.2016 begin var s:=ReadInteger('n=').ToString.JoinIntoString(''); Writeln('Цифр в числе- ',s.Length); Writeln('Сумма цифр- ',s.Select(d->Integer.Parse(d)).Sum); Writeln('Последняя цифра- ',s.Last); Writeln('Первая цифра- ',s.First); Writeln('Предпоследняя цифра- ',s[s.Length-1]); var m:=ReadInteger('m='); Write('Сумма ',m,' последних цифр числа- '); Writeln(s.Skip(s.Length-m).Select(d->Integer.Parse(d)).Sum); Write('Цифра 3 в запись числа '); if Pos('3',s)>0 then Writeln('входит') else Writeln('не входит'); Writeln('Число в обратном порядке- ',s.Reverse.JoinIntoString('')); Writeln('Перестановка первой и последней цифр- ', s.Last+Copy(s,2,s.Length-2)+s.First); end.
Тестовое решение: n= 1063 Цифр в числе- 4 Сумма цифр- 10 Последняя цифра- 3 Первая цифра- 1 Предпоследняя цифра- 6 m= 2 Сумма 2 последних цифр числа- 9 Цифра 3 в запись числа входит Число в обратном порядке- 3601 Перестановка первой и последней цифр- 3061
Для записи информации об одном спортсмене требуется log(2)768 ≈ 10 бит.
Объем сообщения о финише 200 спортсменов = 200*10 бит = 2000/8 байт = 250 байт
Объяснение: Для измерения длины есть такие единицы, как миллиметр, сантиметр, метр, километр. Известно, что масса измеряется в граммах, килограммах, центнерах и тоннах. Бег времени выражается в секундах, минутах, часах, днях, месяцах, годах, веках. Компьютер работает с информацией и для измерения ее объема также имеются соответствующие единицы измерения.
Мы уже знаем, что компьютер воспринимает всю информацию через нули и единички. Бит – это минимальная единица измерения информации, соответствующая одной двоичной цифре («0» или «1»).
Байт состоит из восьми бит. Используя один байт, можно закодировать один символ из 256 возможных (256 = 28). Таким образом, один байт равен одному символу, то есть 8 битам:
1 символ = 8 битам = 1 байту.
Изучение компьютерной грамотности предполагает рассмотрение и других, более крупных единиц измерения информации.
В приведенной выше таблице степени двойки (210, 220, 230 и т. д.) являются точными значениями килобайт, мегабайт, гигабайт. А вот степени числа 10 (точнее, 103, 106, 109 и т. п.) будут уже приблизительными значениями, округленными в сторону уменьшения. Таким образом, 210 = 1024 байта представляет точное значение килобайта, а 103 = 1000 байт является приблизительным значением килобайта.
Такое приближение (или округление) вполне допустимо и является общепринятым.
Ниже приводится таблица байтов с английскими сокращениями (в левой колонке):
1 Kb ~ 103 b = 10*10*10 b= 1000 b – килобайт
1 Mb ~ 106 b = 10*10*10*10*10*10 b = 1 000 000 b – мегабайт
1 Gb ~ 109 b – гигабайт
1 Tb ~ 1012 b – терабайт
1 Pb ~ 1015 b – петабайт
1 Eb ~ 1018 b – эксабайт
1 Zb ~ 1021 b – зеттабайт
1 Yb ~ 1024 b – йоттабайт
Выше в правой колонке приведены так называемые «десятичные приставки», которые используются не только с байтами, но и в других областях человеческой деятельности. Например, приставка «кило» в слове «килобайт» означает тысячу байт, также как в случае с километром она соответствует тысяче метров, а в примере с килограммом она равна тысяче грамм.
Возникает вопрос: есть ли продолжение у таблицы байтов? В математике есть понятие бесконечности, которое обозначается как перевернутая восьмерка: ∞.
Понятно, что в таблице байтов можно и дальше добавлять нули, а точнее, степени к числу 10 таким образом: 1027, 1030, 1033 и так до бесконечности. Но зачем это надо? В принципе, пока хватает терабайт и петабайт. В будущем, возможно, уже мало будет и йоттабайта.
Напоследок парочка примеров по устройствам, на которые можно записать терабайты и гигабайты информации. Есть удобный «терабайтник» – внешний жесткий диск, который подключается через порт USB к компьютеру. На него можно записать терабайт информации. Особенно удобно для ноутбуков (где смена жесткого диска бывает проблематична) и для резервного копирования информации. Лучше заранее делать резервные копии информации, а не после того, как все пропало.
begin
var s:=ReadInteger('n=').ToString.JoinIntoString('');
Writeln('Цифр в числе- ',s.Length);
Writeln('Сумма цифр- ',s.Select(d->Integer.Parse(d)).Sum);
Writeln('Последняя цифра- ',s.Last);
Writeln('Первая цифра- ',s.First);
Writeln('Предпоследняя цифра- ',s[s.Length-1]);
var m:=ReadInteger('m=');
Write('Сумма ',m,' последних цифр числа- ');
Writeln(s.Skip(s.Length-m).Select(d->Integer.Parse(d)).Sum);
Write('Цифра 3 в запись числа ');
if Pos('3',s)>0 then Writeln('входит')
else Writeln('не входит');
Writeln('Число в обратном порядке- ',s.Reverse.JoinIntoString(''));
Writeln('Перестановка первой и последней цифр- ',
s.Last+Copy(s,2,s.Length-2)+s.First);
end.
Тестовое решение:
n= 1063
Цифр в числе- 4
Сумма цифр- 10
Последняя цифра- 3
Первая цифра- 1
Предпоследняя цифра- 6
m= 2
Сумма 2 последних цифр числа- 9
Цифра 3 в запись числа входит
Число в обратном порядке- 3601
Перестановка первой и последней цифр- 3061
Для записи информации об одном спортсмене требуется log(2)768 ≈ 10 бит.
Объем сообщения о финише 200 спортсменов = 200*10 бит = 2000/8 байт = 250 байт
Объяснение: Для измерения длины есть такие единицы, как миллиметр, сантиметр, метр, километр. Известно, что масса измеряется в граммах, килограммах, центнерах и тоннах. Бег времени выражается в секундах, минутах, часах, днях, месяцах, годах, веках. Компьютер работает с информацией и для измерения ее объема также имеются соответствующие единицы измерения.
Мы уже знаем, что компьютер воспринимает всю информацию через нули и единички. Бит – это минимальная единица измерения информации, соответствующая одной двоичной цифре («0» или «1»).
Байт состоит из восьми бит. Используя один байт, можно закодировать один символ из 256 возможных (256 = 28). Таким образом, один байт равен одному символу, то есть 8 битам:
1 символ = 8 битам = 1 байту.
Изучение компьютерной грамотности предполагает рассмотрение и других, более крупных единиц измерения информации.
Таблица байтов:
1 байт = 8 бит
1 Кб (1 Килобайт) = 210 байт = 2*2*2*2*2*2*2*2*2*2 байт =
= 1024 байт (примерно 1 тысяча байт – 103 байт)
1 Мб (1 Мегабайт) = 220 байт = 1024 килобайт (примерно 1 миллион байт – 106 байт)
1 Гб (1 Гигабайт) = 230 байт = 1024 мегабайт (примерно 1 миллиард байт – 109 байт)
1 Тб (1 Терабайт) = 240 байт = 1024 гигабайт (примерно 1012 байт). Терабайт иногда называют тонна.
1 Пб (1 Петабайт) = 250 байт = 1024 терабайт (примерно 1015 байт).
1 Эксабайт = 260 байт = 1024 петабайт (примерно 1018 байт).
1 Зеттабайт = 270 байт = 1024 эксабайт (примерно 1021 байт).
1 Йоттабайт = 280 байт = 1024 зеттабайт (примерно 1024 байт).
В приведенной выше таблице степени двойки (210, 220, 230 и т. д.) являются точными значениями килобайт, мегабайт, гигабайт. А вот степени числа 10 (точнее, 103, 106, 109 и т. п.) будут уже приблизительными значениями, округленными в сторону уменьшения. Таким образом, 210 = 1024 байта представляет точное значение килобайта, а 103 = 1000 байт является приблизительным значением килобайта.
Такое приближение (или округление) вполне допустимо и является общепринятым.
Ниже приводится таблица байтов с английскими сокращениями (в левой колонке):
1 Kb ~ 103 b = 10*10*10 b= 1000 b – килобайт
1 Mb ~ 106 b = 10*10*10*10*10*10 b = 1 000 000 b – мегабайт
1 Gb ~ 109 b – гигабайт
1 Tb ~ 1012 b – терабайт
1 Pb ~ 1015 b – петабайт
1 Eb ~ 1018 b – эксабайт
1 Zb ~ 1021 b – зеттабайт
1 Yb ~ 1024 b – йоттабайт
Выше в правой колонке приведены так называемые «десятичные приставки», которые используются не только с байтами, но и в других областях человеческой деятельности. Например, приставка «кило» в слове «килобайт» означает тысячу байт, также как в случае с километром она соответствует тысяче метров, а в примере с килограммом она равна тысяче грамм.
Возникает вопрос: есть ли продолжение у таблицы байтов? В математике есть понятие бесконечности, которое обозначается как перевернутая восьмерка: ∞.
Понятно, что в таблице байтов можно и дальше добавлять нули, а точнее, степени к числу 10 таким образом: 1027, 1030, 1033 и так до бесконечности. Но зачем это надо? В принципе, пока хватает терабайт и петабайт. В будущем, возможно, уже мало будет и йоттабайта.
Напоследок парочка примеров по устройствам, на которые можно записать терабайты и гигабайты информации. Есть удобный «терабайтник» – внешний жесткий диск, который подключается через порт USB к компьютеру. На него можно записать терабайт информации. Особенно удобно для ноутбуков (где смена жесткого диска бывает проблематична) и для резервного копирования информации. Лучше заранее делать резервные копии информации, а не после того, как все пропало.