коды функции являются числами в диапазоне
Представление целых чисел: прямой код, код со сдвигом, дополнительный код
Выбор способа хранения целых чисел в памяти компьютера — не такая тривиальная задача, как могло бы показаться на первый взгляд. Желательно, чтобы этот способ:
Рассмотрим разные методы представления.
Содержание
Прямой код [ править ]
Достоинства представления чисел с помощью прямого кода [ править ]
Недостатки представления чисел с помощью прямого кода [ править ]
Из-за весьма существенных недостатков прямой код используется очень редко.
Код со сдвигом [ править ]
По сути, при таком кодировании:
Достоинства представления чисел с помощью кода со сдвигом [ править ]
Недостатки представления чисел с помощью кода со сдвигом [ править ]
Из-за необходимости усложнять арифметические операции код со сдвигом для представления целых чисел используется не часто, но зато применяется для хранения порядка вещественного числа.
Дополнительный код (дополнение до единицы) [ править ]
В качестве альтернативы представления целых чисел может использоваться код с дополнением до единицы (англ. Ones’ complement).
Алгоритм получения кода числа:
Достоинства представления чисел с помощью кода с дополнением до единицы [ править ]
Недостатки представления чисел с помощью кода с дополнением до единицы [ править ]
Дополнительный код (дополнение до двух) [ править ]
Чаще всего для представления отрицательных чисел используется код с дополнением до двух (англ. Two’s complement).
Алгоритм получения дополнительного кода числа:
Длинная арифметика для чисел, представленных с помощью кода с дополнением до двух [ править ]
Достоинства представления чисел с помощью кода с дополнением до двух [ править ]
Недостатки представления чисел с помощью кода с дополнением до двух [ править ]
Несмотря на недостатки, дополнение до двух в современных вычислительных системах используется чаще всего.
Разбор демоверсии ЕГЭ по информатике 2022 (6-10 Задание)
Продолжаем разбор демонстрационного варианта ЕГЭ по информатике 2022.
В этой статье разберём с 6-ого по 10 задание.
Удачи на ЕГЭ по информатике 2022!
Определите, при каком наибольшем введённом значении переменной s программа выведет число 64. Для Вашего удобства программа представлена на четырёх языках программирования.
Паскаль | Python | Алгоритмический язык |
---|---|---|
C++ |
Решим задачу методом перебора на языке программирования Python.
Нас спрашивают, какое наибольшее число должен ввести пользователь программы, чтобы программа распечатала число 64. Мы будем подставлять каждое число в диапазоне, к примеру, от 1 до 1000 и попробуем получить на выходе число 64.
Делаем это с помощью цикла. Как только в переменной n будет значение 64, мы печатаем переменную i
Видим, что максимальное число, которое даёт нужный результат это 259.
Для хранения произвольного растрового изображения размером 128 × 320 пикселей отведено 20 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?
Решение:
Узнаем, сколько информации будет весить один пиксель (одна точка).
Теперь воспользуемся главной формулой для 7 задания из ЕГЭ по информатике.
Ответ: 16
Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.
Под каким номером в списке идёт первое слово, которое начинается с буквы Л?
Закодируем в правом столбце буквы цифрами, начиная с нуля.
Дальше кодирование прекращаем, т.к. буквы начинают повторяться.
Если представить список в виде цифр, то получится счёт в пятеричной системе, ведь у нас пять цифр.
1. 0000
2. 0001
3. 0002
4. 0003
5. 0004
6. 0010
В вопросе спрашивают про первое слово, которое начинается с буквы Л. А мы понимаем, что спрашивают про число 10005 в пятеричной системе, потому что это первое число, которое начинается с 1. Длина числа равна 4, т.к. длина слов равна 4.
Переведём число 10005 из пятеричной системы в нашу родную десятичную систему.
0*5 0 + 0*5 1 + 0*5 2 + 1*5 3 = 125
А порядковый номер (столбец слева) отличается от счёта в пятеричной системе на 1. Порядковый номер на 1 больше. Поэтому в ответе напишем 126.
Откройте файл электронной таблицы, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек чисел может являться сторонами треугольника, то есть удовлетворяет неравенству треугольника.
В ответе запишите только число.
Неравенство треугольника заключается в том, что каждая сторона должна быть меньше, чем сумма двух других сторон.
Напротив тех строчек, которые удовлетворяют этому неравенству будем ставить 1, остальным ставим 0.
Сформируем формулу для первой строчки. Кликаем в ячейку D1 и нажимаем кнопку Вставить функцию.
Выбираем функцию ЕСЛИ. Пишем логическое выражение:
И(A1
Если одновременно выполняются три условия, то в ячейку идёт 1, иначе 0.
Распространим формулу на весь столбец. Подведём курсор к правому нижнему углу. Как только загорелся чёрный крестик, кликаем два раза, и формула должна распространится на весь столбец.
Возле тех строчек, которые удовлетворяют условию, будут нули, возле тех, которые нет, будут единицы.
Найдём сумму столбца D. Это и будет количество троек, которые подходят в нашей задаче.
Кликаем по ячейке E1, нажимаем Вставить функцию и выбираем функцию СУММ. Там выбираем столбец D мышкой.
Нажимаем ОК, получается 2453.
С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово «долг» или «Долг» в тексте романа в стихах А.С. Пушкина «Евгений Онегин». Другие формы слова «долг», такие как «долги», «долгами» и т.д., учитывать не следует. В ответе укажите только число.
Открываем соответствующий файл в программе Word. На вкладке «Главная» находится кнопка «Найти«. Кликаем по чёрному треугольнику возле этой кнопки и выбираем «Расширенный поиск«.
На вкладке «Главная» находится кнопка «Найти«. Кликаем по чёрному треугольнику возле этой кнопки и выбираем «Расширенный поиск«.
Далее, нажимаем кнопку «Больше>>«.
Теперь у нас есть все инструменты, чтобы решить 10 задание из ЕГЭ по информатике 2022.
В поле «Найти» пишем наше слово «долг«. Галочку «Учитывать регистр» не ставим, т.к. слово может быть и с большой буквы. Но ставим галочку «Только слово целом«.
Как создать случайные числа в Excel
В статье объясняются особенности алгоритма получения случайных чисел Excel и показано, как использовать функции СЛЧИС и СЛУЧМЕЖДУ для чисел, дат, паролей и других текстовых выражений.
Прежде чем мы углубимся в различные методы производства случайных чисел в Excel, давайте определимся, что они собой представляют. Говоря простым языком, случайные данные – это последовательность цифр, букв или других символов, в которой отсутствуют какой-либо шаблон или закономерность.
Случайность имеет множество различных приложений в криптографии, статистике, лотерее, азартных играх и многих других областях. И поскольку она всегда была востребована, с древних времен существовали различные методы создания случайных чисел, такие как подбрасывание монет, бросание кубиков, тасование игральных карт и так далее. Конечно, мы не будем полагаться на такие «экзотические» техники в этом руководстве и сосредоточимся на том, что может предложить генератор случайных чисел Excel.
Создание случайных чисел в Excel – основы.
Хотя функции случайных чисел Excel удовлетворяют всем стандартным тестам на случайность, они все же не выдают истинные случайные числа. Но это не значит, что Excel для этих целей не годится. Псевдослучайные числа, создаваемые функциями Excel, прекрасно подходят для многих целей.
Давайте подробнее рассмотрим, как это происходит, чтобы вы знали, чего от стандартных функций Excel можно ожидать, а чего нельзя.
Как и большинство компьютерных программ, генератор случайных чисел Excel производит псевдослучайные числа с помощью некоторых математических формул. Для вас это означает, что теоретически эти числа, создаваемые Excel, предсказуемы. Но только при условии, что кто-то знает все детали алгоритма. Это причина того, что это никогда не было задокументировано и вряд ли когда-либо будет сделано.
Итак, как можно создавать случайные числа в Excel?
Это довольно длинное техническое введение закончено, и мы переходим к более практическим и более полезным вещам.
Функция случайного числа — СЛЧИС.
СЛЧИС – это непостоянная функция, означающая, что новое случайное число возникает каждый раз при вычислении рабочего листа. А это происходит часто — когда вы выполняете какое-либо действие, например, редактируете формулу (не обязательно СЛЧИС, даже любую другую формулу на листе), редактируете ячейку или вводите новые данные.
Функция СЛЧИС доступна во всех версиях Excel, начиная с самых ранних.
Поскольку она не имеет аргументов, вы просто записываете её в ячейку, а затем копируете куда это необходимо:
А теперь давайте составим несколько формул СЛЧИС для создания случайных чисел в соответствии с вашими условиями.
Ограничение верхней границы диапазона случайных чисел.
Чтобы создать массив от нуля до любого значения N, вы умножаете функцию СЛЧИС на N:
Например, чтобы создать последовательность чисел, больше или равных 0, но меньше 50, используйте следующую формулу:
Примечание. Значение верхней границы никогда не включается в возвращаемую последовательность. Например, если вы хотите получить случайные числа от 0 до 10, включая 10, правильная формула будет =СЛЧИС()*11.
Обратите также внимание, что количество отображаемых десятичных знаков определяется форматом ячеек. В данном случае установлено 2 знака после запятой, хотя на самом деле их гораздо больше. Об округлении их мы поговорим чуть ниже.
Случайные числа в интервале «от-до».
Чтобы создать случайное число между любыми двумя указанными вами величинами, используйте следующую формулу СЛЧИС:
Например, чтобы записать на ваш лист случайные числа от 10 до 50, вы можете использовать следующую формулу:
Примечание. Эта формула никогда не вернет число, равное максимальному значению указанного диапазона (то есть, B).
Случайные целые числа.
Чтобы функция Excel СЛЧИС выдавала целые числа, возьмите любую из вышеупомянутых формул и оберните ее в функцию ЦЕЛОЕ().
Чтобы создать случайные целые числа от 0 до 50:
Чтобы получить их в интервале от 10 до 50:
А теперь рассмотрим более новую функцию — СЛУЧМЕЖДУ().
Функция Excel СЛУЧМЕЖДУ — как получить случайные целые числа в указанном диапазоне
Как и СЛЧИС, СЛУЧМЕЖДУ в Excel – это непостоянная функция, которая возвращает новый результат каждый раз, когда ваша электронная таблица пересчитывается. А происходит это при любом изменении на листе.
Например, чтобы решить ту же задачу, которую мы рассматривали чуть выше: получить случайные целые числа от 10 до 50 (включая 10 и 50), используйте следующую формулу:
Далее в этом руководстве вы найдете еще несколько примеров формул, демонстрирующих, как использовать функцию СЛУЧМЕЖДУ для записи случайных значений, отличных от целых.
Как создавать случайные числа с нужным количеством десятичных знаков.
Хотя функция СЛУЧМЕЖДУ в Excel была разработана для возврата целых чисел, вы можете заставить ее возвращать случайные десятичные числа с любым количеством знаков после запятой.
Например, чтобы получить список чисел с одним десятичным знаком, вы умножаете нижнее и верхнее значения на 10, а затем делите возвращаемое значение на 10:
СЛУЧМЕЖДУ( нижнее значение * 10; верхнее значение * 10) / 10
Следующая формула СЛУЧМЕЖДУ() возвращает случайные десятичные числа от 1 до 50:
Однако, обратите внимание, что среди полученных результатов встречаются и значения без десятых, то есть десятичный знак может быть равен нулю.
Аналогичным образом, чтобы выдать случайные числа от 1 до 50 с двумя десятичными знаками, вы умножаете аргументы функции СЛУЧМЕЖДУ на 100, а затем также делите результат на 100:
=СЛУЧМЕЖДУ(1*100; 50*100) / 100
Как получить случайные даты в Excel
Как вы знаете, даты в Excel представляют собой числа. Поэтому рассматриваемые нами подходы вполне применимы и к ним.
Чтобы вернуть список произвольных дат в каком-то временном интервале, используйте функцию СЛУЧМЕЖДУ в сочетании с ДАТАЗНАЧ:
СЛУЧМЕЖДУ(ДАТАЗНАЧ( дата начала ), ДАТАЗНАЧ( дата окончания ))
Например, чтобы получить список дат с 1 июня 2015 года по 30 июня 2015 года включительно, введите следующую формулу в свой рабочий лист:
В качестве альтернативы вы можете использовать функцию ДАТА:
Не забудьте применить формат даты, и вы получите список случайных дат, подобный этому:
Как вставить случайное время в Excel
Учитывая, что во внутренней системе Excel время хранится как десятичное число от 0 до 1, вы можете использовать стандартную функцию Excel СЛЧИС для вставки случайных действительных чисел, а затем просто применить формат времени к этим ячейкам:
Чтобы вернуть случайное время в соответствии с вашими критериями, требуются более сложные формулы, как показано ниже.
Случайное время в указанном интервале.
Чтобы вставить случайное время между любыми двумя указанными вами значениями времени, используйте функцию ВРЕМЯ() или ВРЕМЗНАЧ() вместе с СЛЧИС():
Например, чтобы вставить время между 6:00 и 20:30, вы можете использовать любую из следующих формул:
Случайные дата и время.
Чтобы создать список случайных дат и времени, используйте комбинации функций СЛУЧМЕЖДУ и ДАТАЗНАЧ:
СЛУЧМЕЖДУ(ДАТАЗНАЧ( начальная дата) ; ДАТАЗНАЧ( конечная дата )) + СЛУЧМЕЖДУ(ВРЕМЗНАЧ( время начала ) * 10000; ВРЕМЗНАЧ( время окончания ) * 10000) / 10000
Предположим, вы хотите вставить произвольные даты между 1 июня 2021 года и 31 августа того же года со временем между 8:30 и 17:00. Следующая формула подойдет для вас:
=СЛУЧМЕЖДУ(ДАТАЗНАЧ(«1-июн-2021»); ДАТАЗНАЧ(«31-авг-2021»)) + СЛУЧМЕЖДУ(ВРЕМЗНАЧ(«8:30») * 10000; ВРЕМЗНАЧ(«17:00») * 10000) / 10000
Вы также можете указать дату и время, используя функции ДАТА и ВРЕМЯ соответственно:
=СЛУЧМЕЖДУ(ДАТА(2021;6;1); ДАТА(2021;8;31)) + СЛУЧМЕЖДУ(ВРЕМЯ(8;30;0) * 10000; ВРЕМЯ(17;0;0) * 10000) / 10000
Выбирайте тот вариант, который больше подходит для вашей задачи.
Как получить случайные буквы в Excel
Чтобы вернуть случайную букву, требуется комбинация трех разных функций:
В приведенной выше формуле:
Примечание. Так как код ANSI различный для прописных и строчных букв, эта формула чувствительна к регистру.
Если кто-то помнит таблицу кодов символов ANSI, ничто не мешает вам передать коды букв непосредственно в функцию СЛУЧМЕЖДУ.
Например, чтобы получить заглавные буквы между A (код ANSI 192) и Я (код ANSI 223), вы пишете:
Чтобы получить строчные буквы от а (код ANSI 224) до я (код ANSI 255), используйте следующую формулу:
Создание текстовых строк и паролей в Excel
Чтобы создать произвольную текстовую строку в Excel, вам просто нужно объединить несколько функций СИМВОЛ и СЛУЧМЕЖДУ.
Например, чтобы получить список паролей, состоящих из 4 символов, вы можете использовать формулу, подобную этой:
Чтобы сделать запись более компактной, я ввел коды ANSI непосредственно в формулу. Четыре функции возвращают следующие случайные значения:
Текстовые строки, полученные с помощью приведенной выше формулы, будут иметь вид « 4Np# » или « 2Yu& ».
Внимание! Если вы используете аналогичную формулу для создания случайных паролей, они не будут слишком надежными. Конечно, вы можете создавать более длинные текстовые строки, связывая больше функций. Однако невозможно изменить порядок следования, т.е. первая по счёту функция всегда возвращает цифру, вторая функция возвращает заглавную букву и так далее.
Если вы ищете расширенный генератор случайных паролей в Excel, способный создавать текстовые строки любой длины и шаблона, вы можете проверить возможности Advanced Random Generator для тестовых строк.
Кроме того, имейте в виду, что текстовые строки, созданные с помощью приведенной выше формулы, будут изменяться каждый раз, когда ваш рабочий лист пересчитывается. А это автоматически происходит после ввода либо корректировки любого значения либо формулы на листе.
Чтобы гарантировать, что ваши строки или пароли остаются неизменными после их создания, вам нужно будет заблокировать функцию СЛУЧМЕЖДУ от обновления значений, что подводит нас непосредственно к следующему разделу.
Как предотвратить постоянный пересчет формул СЛЧИС и СЛУЧМЕЖДУ.
Если вы хотите получить постоянный набор чисел, дат или текстовых строк, который не будет меняться каждый раз при пересчете таблицы, используйте один из следующих методов:
Как создать уникальные случайные числа в Excel
Также вы можете воспользоваться специальным генератором случайных значений в Excel, в котором есть опция получения случайных цифровых и текстовых значений. Более подробно читайте о нем по этой ссылке.
Прямой, обратный и дополнительный коды двоичного числа
Прямой код двоичного числа
Обратный код двоичного числа
Дополнительный код двоичного числа
Мы знаем, что десятичное число можно представить в двоичном виде. К примеру, десятичное число 100 в двоичном виде будет равно 1100100, или в восьмибитном представлении 0110 0100. А как представить отрицательное десятичное число в двоичном виде и произвести с ним арифметические операции? Для этого и предназначены разные способы представления чисел в двоичном коде.
Сразу отмечу, что положительные числа в двоичном коде вне зависимости от способа представления (прямой, обратный или дополнительный коды) имеют одинаковый вид.
Прямой код
Обратный код
Для неотрицательных чисел обратный код двоичного числа имеет тот же вид, что и запись неотрицательного числа в прямом коде.
Для отрицательных чисел обратный код получается из неотрицательного числа в прямом коде, путем инвертирования всех битов (1 меняем на 0, а 0 меняем на 1).
Для преобразования отрицательного числа записанное в обратном коде в положительное достаточного его проинвертировать.
Арифметические операции с отрицательными числами в обратном коде:
Дополнительный код
В дополнительном коде (как и в прямом и обратном) старший разряд отводится для представления знака числа (знаковый бит).
Арифметические операции с отрицательными числами в дополнительном коде
Вывод:
1. Для арифметических операций сложения и вычитания положительных двоичных чисел наиболее подходит применение прямого кода
2. Для арифметических операций сложения и вычитания отрицательных двоичных чисел наиболее подходит применение дополнительного кода
(34 голосов, оценка: 4,68 из 5)