УДК 372.862
ББК 74.202.4
О-74
Р е ц е н з е н т
С. О. Иванов, руководитель отдела математики
издательства «Легион»
В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных
техническими средствами защиты авторских прав, правообладатель
вправе требовать от нарушителя возмещения убытков или выплаты
компенсации.
ISBN 978-5-9966-1951-1
© ООО «Легион», 2023
Стр.3
Содержание
§ 1. Системы счисления . . . . . . . . . . . . . . . . . . . . 11
1.1. Позиционные системы счисления. . . . . . . 11
1.2. Перевод чисел из десятичной
системы счисления . . . . . . . . . . . . . . . . . . . . . 12
1.3. Перевод чисел в десятичную
систему счисления . . . . . . . . . . . . . . . . . . . . . 17
1.4. Общие свойства позиционных
систем счисления . . . . . . . . . . . . . . . . . . . . . . 20
1.5. Сложение и вычитание чисел в
разных системах счисления. . . . . . . . . . . . . 22
§ 2. Кодирование информации . . . . . . . . . . . . . 31
2.1. Основные понятия . . . . . . . . . . . . . . . . . . . . . 31
2.2. Условие Фано . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3. Построение префиксного кода с
помощью кодового дерева . . . . . . . . . . . . . . 34
Стр.4
4
Содержание
§ 3. Дискретное (цифровое)
представление информации . . . . . . . . . . . 40
3.1. Единицы измерения информации . . . . . . . 40
3.2. Информационный объём
(алфавитный подход) . . . . . . . . . . . . . . . . . . . 41
3.3. Представление текстовой информации . 45
3.4. Представление графической
(растровой) информации . . . . . . . . . . . . . . . 47
3.5. Представление звуковой информации . . 52
§ 4. Основные формулы комбинаторики . . . 54
4.1. Количество комбинаций из двух величин 54
4.2. Количество перестановок . . . . . . . . . . . . . . 55
4.3. Количество размещений . . . . . . . . . . . . . . . . 56
4.4. Количество сочетаний . . . . . . . . . . . . . . . . . . 57
4.5. Количество размещений с повторениями 59
§ 5. Элементы алгебры логики . . . . . . . . . . . . . 63
5.1. Основные логические операции . . . . . . . . 64
5.2. Приоритет логических операций . . . . . . . . 68
Стр.5
Информатика.Карманныйсправочник
5
5.3. Свойства логических операций . . . . . . . . . 72
§ 6. Файловые системы . . . . . . . . . . . . . . . . . . . . . 74
6.1. Основные понятия . . . . . . . . . . . . . . . . . . . . . 74
6.2. Маски имён файлов . . . . . . . . . . . . . . . . . . . . 76
§ 7. Электронные таблицы . . . . . . . . . . . . . . . . . 79
7.1. Адресация в электронных таблицах . . . . 79
7.2. Относительные ссылки . . . . . . . . . . . . . . . . . 80
7.3. Абсолютные ссылки . . . . . . . . . . . . . . . . . . . . 83
7.4. Смешанные ссылки . . . . . . . . . . . . . . . . . . . . 84
7.5. Диапазоны ячеек . . . . . . . . . . . . . . . . . . . . . . . 84
7.6. Наиболее часто используемые функции 87
§ 8. Сети . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.1. Ссылки на файлы . . . . . . . . . . . . . . . . . . . . . . 95
8.2. Поисковые запросы . . . . . . . . . . . . . . . . . . . . 97
§ 9. Графы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
9.1. Матрица смежности . . . . . . . . . . . . . . . . . . . . 102
9.2. Взвешенные графы . . . . . . . . . . . . . . . . . . . . . 106
§ 10. Алгоритмы и программирование . . . . . . 108
Стр.6
6
Содержание
10.1. Исполнитель «Робот» . . . . . . . . . . . . . . . . . . 108
10.2. Структура программы языка Паскаль . . 116
10.3. Основные типы данных языка Паскаль . 118
10.4. Операции консольного ввода
и вывода данных языка Паскаль . . . . . . . . 118
10.5. Операции файлового ввода
языка Паскаль . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.6. Оператор присваивания . . . . . . . . . . . . . . . . 125
10.7. Арифметические операции
языка Паскаль . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.8. Составной оператор (блок)
языка Паскаль . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.9. Логические выражения языка Паскаль . 131
10.10. Условный оператор языка Паскаль . . . . . 133
10.11. Оператор цикла с предусловием
языка Паскаль . . . . . . . . . . . . . . . . . . . . . . . . . 137
10.12. Цикл с параметром языка Паскаль . . . . . 138
Стр.7
Информатика.Карманныйсправочник
7
10.13. Подпрограммы (функции) языка
Паскаль. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
10.14. Массивы (статические) в языке
Паскаль. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
10.15. Массивы (динамические)
в языке Паскаль . . . . . . . . . . . . . . . . . . . . . . . 149
10.16. Строки в языке Паскаль . . . . . . . . . . . . . . . 157
10.17. Структура программы языка C++ . . . . . . 160
10.18. Основные типы данных языка C++. . . . . 165
10.19. Операции консольного ввода
и вывода данных языка C++ . . . . . . . . . . . 165
10.20. Операции файлового ввода
языка C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
10.21. Оператор присваивания . . . . . . . . . . . . . . . . 171
10.22. Арифметические операции
языка С++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10.23. Составной оператор (блок)
языка C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Стр.8
8
Содержание
10.24. Логические выражения языка С++. . . . . 176
10.25. Условный оператор
языка C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.26. Оператор цикла с предусловием
языка C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10.27. Цикл с параметром языка C++. . . . . . . . . 183
10.28. Подпрограммы (функции) языка С++ . . 186
10.29. Массивы (статические) в языке C++ . . . 189
10.30. Массивы (динамические) в языке
C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
10.31. Строки в языке С++ . . . . . . . . . . . . . . . . . . . 203
10.32. Структура программы языка Python . . . . 208
10.33. Основные типы данных языка Python . . 210
10.34. Операции консольного ввода
и вывода данных Python . . . . . . . . . . . . . . . . 211
10.35. Операции файлового ввода
языка Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
10.36. Оператор присваивания . . . . . . . . . . . . . . . . 215
Стр.9
Информатика.Карманныйсправочник
9
10.37. Арифметические операции
языка Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
10.38. Составной оператор (блок)
языка Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
10.39. Логические выражения языка Python. . . 220
10.40. Условный оператор языка Python . . . . . . 222
10.41. Оператор цикла с предусловием
языка Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.42. Цикл с параметром языка Python. . . . . . . 226
10.43. Подпрограммы (функции) языка Python 228
10.44. Массивы (списки) в языке Python . . . . . . 230
10.45. Строки в языке Python . . . . . . . . . . . . . . . . . 239
10.46. Примеры заданий на анализ программ . . 244
10.47. Подсчёт суммы всех значений . . . . . . . . . . 251
10.48. Нахождение наибольшего среди
всех значений . . . . . . . . . . . . . . . . . . . . . . . . . . 254
10.49. Нахождение второго максимума
(нестрогий вариант) . . . . . . . . . . . . . . . . . . . . 258
Стр.10
10
Содержание
10.50. Подсчёт количества значений,
удовлетворяющих условию . . . . . . . . . . . . . 263
10.51. Нахождение минимума значений,
удовлетворяющих условию . . . . . . . . . . . . . 266
10.52. Алгоритм Евклида . . . . . . . . . . . . . . . . . . . . . 271
10.53. Разложение на простые множители. . . . . 273
10.54. Проверка числа на простоту . . . . . . . . . . . . 276
10.55. Нахождение количества цифр
в записи числа . . . . . . . . . . . . . . . . . . . . . . . . . 279
10.56. Подсчёт значений . . . . . . . . . . . . . . . . . . . . . . 282
10.57. Сортировка простым обменом . . . . . . . . . . 288
10.58. Рекурсивные алгоритмы . . . . . . . . . . . . . . . . 293
Стр.11
§ 1. Системы счисления
1.1. Позиционные системы счисления
Основание системы счисления — количество
цифр, используемых в данной системе счисления.
Свойство основания системы счисления —
значения двух соседних разрядов отличаются в количество
раз, равное основанию данной системы счисления.
Пример.
В десятичной системе счисления основание
равно 10 (цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Соседние
разряды отличаются по своим значениям также в
10 раз (например, после десятков идут сотни, за ними
— тысячи и т. д.).
Системы счисления обычно называются по своему
основанию. Например, двоичная (основание 2),
троичная (основание 3), восьмеричная (основание 8).
Стр.12