- •Примерные ответы на профильные билеты е.А. Еремин, а.П. Шестаков
- •Билет № 1
- •Литература
- •2. С помощью электронной таблицы смоделировать 100 исходов бросания игрального кубика. Сравнить результаты опыта с теоретическими значениями.
- •3. Построить таблицу истинности для заданного логического выражения (логическое выражение должно содержать не менее четырех логических операций, в том числе импликацию).
- •Билет № 2
- •Литература
- •2. В векторном графическом редакторе построить чертеж, иллюстрирующий условие планиметрической задачи.
- •Билет № 3
- •3. Построить логическую схему для заданной таблицы истинности (таблица задана для трех переменных).
- •Вероятностный подход к измерению информации
- •Алфавитный (объемный) подход к измерению информации
- •Литература
- •2. С использованием электронной таблицы произвести обработку данных с помощью статистических функций
- •Варианты заданий
- •3. Решить текстовую логическую задачу (необходимо использовать не менее четырех переменных)
- •Варианты заданий
- •Билет № 4
- •2. Средствами почтовой программы обеспечить автоматическое уведомление отправителя о получении от него письма
- •Билет № 5
- •1. Язык программирования. Типы данных. Реализация основных алгоритмических структур на языке программирования. Основные этапы разработки программ
- •2. Сформировать и выполнить запрос к готовой базе данных для поиска группы записей по заданным критериям
- •3. Подсчитать размер текстового файла при заданной кодовой таблице, формате страницы и количестве страниц. Оценить размеры того же текста в других изученных форматах текстовых редакторов
- •Билет № 6
- •1. Технология программирования. Структурное и объектно-ориентированное программирование. Процедуры и функции. Локальные и глобальные переменные
- •2. Средствами почтовой программы создать фильтр для автоматического распределения входящих писем по почтовым папкам в зависимости от темы письма
- •Служба mail.Ru
- •3. Задание на подсчет полного набора символов (мощности алфавита), используемого при кодировании информации
- •Билет № 7
- •1. Типы данных. Структуры данных. Обработка массивов. Итеративные и рекурсивные алгоритмы обработки массивов. Многомерные массивы
- •3. Определить информационный объем переданного сообщения за определенный период времени при заданной пропускной способности канала.
- •Билет № 8
- •1. Основные понятия и операции формальной логики. Законы логики. Логические переменные. Логические выражения и их преобразования. Построение таблиц истинности логических выражений
- •2. С помощью электронной таблицы вычислить значение функции, заданной рекуррентным соотношением
- •.3. Представить на языке программирования вычислительный алгоритм, записанный в виде блок-схемы. (Получить результат в виде значения переменной.)
- •Билет № 9
- •1. Логические элементы и схемы. Типовые логические устройства компьютера: полусумматор, сумматор, триггеры, регистры. Описание архитектуры компьютера с опорой на составляющие ее логические устройства
- •2. С помощью электронной таблицы построить график функции
- •3. Записать на языке программирования алгоритм для вычисления значения функции при заданных значениях аргументов. Произвести вычисления
- •Билет № 10
- •2. Найти на компьютере все файлы, удовлетворяющие заданному критерию, и объединить их в архив, защищенный паролем. Распаковать архив в заданный каталог
- •1. Поиск файлов
- •2. Архивирование файлов с защитой паролем
- •3. Разархивирование файлов
- •3. Написать программу, вычисляющую значение n-го члена последовательности, заданной по алгоритму. Произвести ввод и отладку программы, проанализировать полученный результат
- •Билет № 11
- •2. Найти на указанном диске все файлы, удовлетворяющие заданному критерию, объединить в самораспаковывающийся архив и записать на компакт-диск.
- •3. Написать программу на поиск элементов массива по заданному условию. Произвести ввод и отладку программы. Проанализировать полученный результат
- •Билет № 12
- •Билет № 13
- •1. Компьютерные сети. Аппаратные средства компьютерных сетей. Топология локальных сетей. Характеристики каналов (линий) связи. Профессии, связанные с обеспечением эксплуатации сетей
- •2. С помощью электронной таблицы решить уравнение с заданной точностью и представить решение графически
- •3. Написать программу для вычисления количества сочетаний (формулируется как комбинаторная задача, решаемая в общем случае). Произвести ввод и отладку программы. Проанализировать полученный результат
- •Билет № 14
- •2. В готовом текстовом документе отформатировать заголовки различного уровня соответствующими стилями. Выполнить автоматическое формирование оглавления.
- •3. Вычислить информационный объем сообщения исходя из вероятностного подхода.
- •Билет № 15
- •Взаимосвязь аппаратного и программного обеспечения компьютера
- •Многообразие операционных систем
- •Понятие о системном администрировании
- •Программные и аппаратные средства для решения различных профессиональных задач
- •2. С помощью электронной таблицы решить задачу табулирования заданной функции. Результат представить в табличной и графической форме.
- •3. Построить модель заданного физического процесса и реализовать ее на компьютере. Проанализировать полученный результат.
- •Билет № 16
- •Специализированное программное обеспечение для защиты программ и данных
- •Технологии и средства защиты информации в глобальной и локальной компьютерных сетях от разрушения, несанкционированного доступа
- •2. Отсканировать страницу текста, выполнить его распознавание и (при необходимости) корректировку. Результат сохранить в текстовом документе.
- •3. Построить имитационную модель заданной системы и реализовать ее на компьютере. Проанализировать полученный результат.
- •Билет № 17
- •Файловый принцип организации данных
- •Понятие файла
- •Файлы прямого и последовательного доступа
- •Типы файлов
- •Операции с файлами
- •Аппаратное обеспечение хранения данных и функционирования файловой системы
- •2. С помощью системы проверки орфографии исправить ошибки в готовом текстовом документе.
- •3. Написать и отладить программу обработки массива (суммирование элементов, сортировка и пр.). Проанализировать полученный результат.
- •Варианты заданий
- •Билет № 18
- •2. Создать компьютерную презентацию из 3–5 слайдов на заданную тему, содержащую текст, графику и элементы анимации.
- •3. Определить скорость работы модема исходя из времени передачи сообщения и его информационного объема (желательно преобразование единиц измерения).
- •1. Могилев а.В., Пак н.И., Хеннер е.К. Информатика: Учебное пособие для педагогических вузов / Под ред. Е.К. Хеннера. М.: Академия, 2004, 848 с. Билет № 19
- •2. Создать две взаимосвязанные web-страницы на заданную тему, содержащие текст, графику, гиперссылки и простые элементы управления (кнопки, переключатели, списки).
- •3. Рассчитать, какое количество страниц текста можно сохранить на дискете в виде архива при заданных размерах страницы, кодовой таблице и коэффициенте сжатия.
- •Билет № 20
- •Билет № 21
- •2. С помощью электронной таблицы вычислить прибыль по вкладу при заданной доходности (сложные проценты).
- •3. Для заданного логического выражения определить множества значений переменных, при которых выражение истинно или ложно. (Выражение содержит не менее трех логических переменных.)
- •Билет № 22
- •2. Написать и отладить программу обработки целочисленных данных.
- •Варианты заданий
- •3. По заданной таблице истинности записать и упростить логическое выражение. (Таблица задается для трех логических переменных.)
- •Билет № 23
- •2. Написать и отладить программу обработки вещественных данных.
- •Задания
- •3. Построить таблицу истинности для заданной логической схемы (логическая схема должна содержать не менее трех входов).
- •Реляционная модель
- •Билет № 24
- •Иерархическая модель
- •Сетевая модель
- •Системы управления базами данных
- •3. Написать и отладить программу обработки символьных данных. Проанализировать полученный результат.
- •Варианты заданий
- •Билет № 25
- •2. По заданному документу создать реляционную базу данных из трех таблиц, исключив при этом дублирование информации.
- •3. Рассчитать объем звукового файла при заданной продолжительности звучания, частоте дискретизации и заданном формате файла.
3. Построить таблицу истинности для заданного логического выражения (логическое выражение должно содержать не менее четырех логических операций, в том числе импликацию).
Построить таблицу истинности для данного логического выражения:
Для решения задачи будем согласно приоритету операций строить таблицу истинности последовательно, получив в конечном итоге результат для заданного выражения
Варианты заданий
Построить таблицу истинности для заданного логического выражения:
Билет № 2
1. Понятие о кодировании информации. Универсальность дискретного (цифрового) представления информации. Позиционные и непозиционные системы счисления. Алгоритмы перевода из десятичной системы счисления в произвольную и наоборот. Связь между двоичной, восьмеричной и шестнадцатеричной системами счисления. Двоичная арифметика.
Как мы уже знаем (см. билет № 1), предметом изучения для комплекса наук, называемого информатикой, является информация. Разные дисциплины информатики рассматривают те или иные аспекты действий над информацией — ее получение, передачу, обработку и т.д.; в современных учебниках информатики их принято называть информационными процессами.
Для любой операции над информацией (даже такой простой, как сохранение) она должна быть как-то представлена (записана, зафиксирована). Следовательно, прежде всего необходимо договориться об определенном способе представления информации, т.е. ввести некоторые обозначения и правила их использования (порядок записи, возможности комбинации знаков и др.). Когда все это аккуратно определено, используя указанные соглашения, информацию можно записывать, причем с уверенностью, что она будет однозначно воспринята. Вследствие важности данного процесса он имеет специальное название — кодирование информации.
Кодирование информации необычайно разнообразно. Указания водителю автомобиля по проезду дороги кодируются в виде дорожных знаков, а также специальных индикаторных устройств (светофоров и всевозможных светящихся табло около них). Музыкальное произведение кодируется с помощью знаков нотной грамоты, для записи шахматных партий и химических формул также созданы специализированные нотации (системы записи). Менее стандартными, но легко интуитивно понимаемыми являются комбинации изображений солнышка и облаков, компактно описывающие погоду. Весьма специфическую азбуку флажков придумали моряки. Устная речь человека, которая служит одним из важных каналов передачи информации, состоит из стандартного набора звуков (имеющего свои особенности для каждого национального языка) в различных сочетаниях. Любой грамотный компьютерный пользователь знает о существовании кодировок символов ASCII, Unicode и некоторых других. Правила записи чисел в десятичной системе — это тоже способ кодирования, предназначенный для произвольных чисел. Географическая карта по определенным правилам кодирует информацию о рельефе местности и относительном расположении объектов, электрическая схема или сборочный чертеж — о соединении деталей. Высота столбика термометра или отклонение стрелки амперметра на фоне нарисованной шкалы представляют данные о температуре или силе тока и т.д.
Понятие кодирования используется в информатике необычайно широко, причем существуют даже разные уровни кодирования информации. Например, из практики известна проблема с выбором кодировки русских текстов; это своего рода теоретическая проблема — какие коды выбрать для каждой буквы. А вот пример другого свойства: при наличии некачественных дисководов и дискет информация где-то читается, а где-то нет. Здесь имеет значение другой уровень кодирования — физический: записываемая на дискету двоичная информация (в том числе представляющая собой те же тексты!) кодируется с помощью интенсивности намагничивания определенных мест магнитной поверхности, а проблемы возникают при попытке найти и распознать эти “магнитные пятна”. Подчеркнем, что если сопоставить приведенные примеры, то отчетливо видно, что проблема кодирования далеко не всегда непосредственно связана с рассмотрением какого-либо конкретного материального носителя. Если читатели пожелают подробнее познакомиться с “оттенками” использования термина кодирование в информатике, советуем обратиться к детальному аналитическому обзору А.Г. Гейна, опубликованному в газете в прошлом году (см. ссылку в списке литературы).
Теория кодирования информации является одной из дисциплин, которые входят в состав информатики. Она занимается вопросами экономичности (архивация, ускорение передачи данных), надежности (обеспечение восстановления переданной информации в случае повреждения) и безопасности (шифрование) кодирования информации.
Закодированная информация всегда имеет под собой какую-либо объективную основу, поскольку информация есть отражение тех или иных свойств окружающего нас мира. В то же время, одну и ту же информацию можно закодировать разными способами: число записать в десятичной или двоичной системе, данные о выпуске продукции по годам представить в виде таблицы или диаграммы, текст лекции записать на магнитофон или сохранить в печатном виде, собрание сочинений классика перевести и издать на всех языках народов мира. Существует два принципиально отличных способа представления информации: непрерывный и дискретный. Если некоторая величина, несущая информацию, в пределах заданного интервала может принимать любое значение, то она называется непрерывной. Наоборот, если величина способна принимать только конечное число значений в пределах интервала, она называется дискретной. Хорошим примером, демонстрирующим различия между непрерывными и дискретными величинами, могут служить целые и вещественные числа. В частности, между значениями 2 и 4 имеется всего одно целое число, но бесконечно много вещественных (включая знаменитое p).
Для наглядного представления о сути явления дискретности можно также сравнить таблицу значений функции и ее график, полученный путем соединения соответствующих точек плавной линией.
Очевидно, что с увеличением количества значений в таблице (интервал дискретизации сокращается) различия существенно уменьшаются, и дискретизированная величина все лучше описывает исходную (непрерывную). Наконец, когда имеется настолько большое количество точек, что мы не в состоянии различить соседние, на практике такую величину можно считать непрерывной.
Компьютер способен хранить только дискретно представленную информацию. Его память, как бы велика она ни была, состоит из отдельных битов, а значит, по своей сути дискретна.
В заключение заметим, что сама по себе информация не является непрерывной или дискретной: таковыми являются лишь способы ее представления. Например, давление крови можно с одинаковым успехом измерять аналоговым или цифровым прибором.
Принципиально важным отличием дискретных данных от непрерывных является конечное число их возможных значений. Благодаря этому каждому из них может быть поставлен в соответствие некоторый знак (символ) или, что для компьютерных целей гораздо лучше, определенное число. Иными словами, все значения дискретной величины могут быть тем или иным способом пронумерованы.
Примечание. Рассмотрим такую, казалось бы, “неарифметическую” величину, как цвет, обычно представляемую в компьютере как совокупность интенсивности трех базовых цветов RGB. Тем не менее, записанные вместе, все три интенсивности образуют единое “длинное” число, которое формально вполне можно принять за номер цвета.
Значение сформулированного выше положения трудно переоценить: оно позволяет любую дискретную информацию свести к единой универсальной форме — числовой. Не случайно поэтому в последнее время большое распространение получил термин “цифровой”, например, цифровой фотоаппарат. Заметим, что для цифрового фотоаппарата важно не столько существование дискретной светочувствительной матрицы из миллионов пикселей (в конце концов “химическая” фотопленка также состояла из отдельных зерен), сколько последующая запись состояния ячеек этой матрицы в числовой форме.
В свете сказанного выше вопрос об универсальности дискретного представления данных становится очевидным: дискретная информация любой природы сводится тем или иным способом к набору чисел. Кстати, данное положение лишний раз подчеркивает, что каким бы “мультимедийным” не выглядел современный компьютер, “в глубине души” он по-прежнему “старая добрая ЭВМ”, т.е. устройство для обработки числовой информации1 .
Примечание. Здесь было бы очень уместно привести некоторые примеры методов дискретного кодирования данных: текстов, графики, звука. Для экономии мы не будем этого делать, лишь сошлемся на билеты № 19–21, где данные вопросы будут обсуждаться подробно. Тем, кто планирует свой будущий ответ на экзамене, советуем продумать примеры, которыми вы дополните свой рассказ.
Таким образом, проблема кодирования информации для компьютера естественным образом распадается на две составляющие: кодирование чисел и способ кодирования, который сводит информацию данного вида к числам. Согласно вопросу, мы здесь рассмотрим подробнее только первое направление.
Теоретической основой кодирования чисел является подробным образом развитая в математике теория систем счисления. Система счисления — это способ записи чисел с помощью фиксированного числа знаков. Последние имеют общепринятое название — цифры.
Системы счисления весьма разнообразны. Прежде всего они делятся на позиционные и непозиционные. Позиционной называется система счисления, в которой количественный эквивалент цифры зависит от ее положения в записи числа; в противном случае система является непозиционной. Большинство используемых на практике систем позиционно, поскольку именно для них обеспечивается наиболее простая арифметика. В частности, используемая в быту система представления чисел позиционная (сравните значение цифры 2 в записи чисел 132 и 123!). Что же касается непозиционных систем, то сюда относятся хорошо известный римский способ записи чисел, а также унарная система, с которой вы, вероятно, встречались в первом классе (вспомните счетные палочки!).
В основе большинства систем счисления лежит принцип разложения по степеням некоторого целого числа2 , которое называется основанием системы счисления. Для используемой в быту системы основанием служит число 10 и его степени (сотни, тысячи и т.д.); математики называют ее десятичной, или системой счисления с основанием 10. Попутно заметим, что для построенных рассматриваемым традиционным способом систем счисления основание равняется количеству различных цифр, требуемых для изображения произвольных чисел.
Важно понимать, что десятичная система счисления лишь одна из возможных и не имеет никаких принципиальных преимуществ перед системами с другими основаниями3 . Например, двенадцатеричная денежная система значительно удобнее десятичной: английский шиллинг удается поровну разделить между двумя, тремя, четырьмя, шестью и двенадцатью людьми, тогда как 10 рублей справедливо распределяется только на двоих, пятерых или десятерых.
Для производства электронной вычислительной техники значительное удобство представляет двоичная система. Для инженеров существенно проще создать электронные элементы с двумя устойчивыми состояниями, соответствующими базовым цифрам системы 0 и 1. Кроме того, все арифметические и логические (булевские) операции наиболее просто реализовываются именно на двоичной основе, а их теория разработана в мельчайших деталях. Заметим, что на преимущества двоичной системы при разработке ЭВМ Джон фон Нейман указывал в своей классической работе еще в 1946 году.
Кроме перечисленных достоинств, двоичная система имеет, конечно, и недостатки, среди которых в первую очередь необходимо назвать необходимость перевода данных из “человеческой” (десятичной) системы счисления в “машинную” (двоичную) и обратно, а также громоздкость записи двоичных чисел. Рассмотрим названные проблемы подробнее.
Поскольку с математической точки зрения системы счисления с любыми основаниями равноправны, существует единый алгоритм перевода чисел из одной системы счисления в другую. Он заключается в последовательном делении рассматриваемого числа на основание системы счисления. К сожалению, алгоритм требует проведения арифметических действий в той системе счисления, в которой представлено исходное число, поэтому удобен лишь для перевода из десятичной системы в произвольную, но не наоборот.
Частным случаем указанного выше способа является перевод из десятичной системы счисления в двоичную, который нужен, чтобы узнать представление в компьютере произвольного десятичного числа. Опуская подробности4 , напомним, как выглядит процесс перевода числа 2010 в двоичный код:
Остается “собрать” итоговое двоичное число из остатков от деления, не забывая при этом, что старшие разряды получаются всегда позднее, чем младшие. В итоге получим: (20)10 = (10100)2.
Что касается обратного перевода из двоичной системы в десятичную, то универсальный алгоритм деления на основание системы здесь также возможен, но, как уже говорилось, его непосредственная арифметическая реализация неудобна. Поэтому на практике используется иной алгоритм, базирующийся на другом универсальном свойстве, о котором уже упоминалось в связи с определением основания системы счисления. Речь идет о том, что запись произвольного числа в любой системе счисления суть его разложение по степеням основания. Для интересующего нас сейчас случая двоичной системы вычисления будут выглядеть, например, так:
(10100)2 = 1 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 0 x 20 =
= 16 + 4 = (20)10.
Подчеркнем, что в приведенных выше примерах рассматривалась связь десятичной системы именно с двоичной только потому, что последняя применяется в компьютерах5 . С математической точки зрения вместо двоичной можно взять систему с любым другим основанием.
Обратимся теперь к проблеме громоздкости двоичного кода. Если посмотреть на двоичное число, представляющее собой представление некоторого десятичного с весьма умеренным числом цифр (например, трех- или четырехзначного числа), то обнаружится, что выглядит это чрезмерно длинно. Более того, длинная “однообразная” цепочка из нулей и единиц очень плохо воспринимается глазами. Чтобы облегчить ситуацию, для более компактной записи используется восьмеричная или шестнадцатеричная система счисления. Особенностью данных оснований является тот факт, что и 8, и 16 есть степени двойки, а значит, перевод между ними и двоичной системой максимально прост. Учитывая, что 8 = 23, а 16 = 24, получаем, что каждая восьмеричная цифра объединяет ровно 3 двоичных разряда, а шестнадцатеричная — 4.
Отсюда немедленно следует алгоритм перевода из двоичной системы в восьмеричную (шестнадцатеричную):
··сгруппировать двоичные разряды справа налево по три (четыре); если в старшей (т.е. самой левой) группе битов не хватает, их можно дополнить слева незначащими нулями;
··заменить каждую из полученных групп соответствующей ей восьмеричной (шестнадцатеричной) цифрой.
Например:
110102 = 0001 1010 = 1A16.
Обратный переход еще проще: достаточно каждую восьмеричную (шестнадцатеричную) цифру заменить ее двоичным представлением, дополняя его при необходимости до трех (четырех) двоичных цифр нулями слева.
Для облегчения процессов перевода удобно составить таблицу соответствия между восьмеричными или шестнадцатеричными цифрами и их двоичными кодами.
Остается обсудить вопросы, связанные с двоичной арифметикой. Отметим, что арифметические действия в системах счисления с любыми основаниями производятся по одинаковым правилам. Единственное отличие состоит в том значении, при превышении которого возникает перенос в следующий разряд. В общепринятой десятичной системе “критическое” значение равно 10 (вспомните: “8 + 7 = 15, 5 пишем, 1 в уме”). В двоичной системе, где нет никаких цифр, кроме 0 и 1, перенос наступает, когда в разряде получается результат, равный 2 (или больше). Нетрудно сообразить, что минимальное значение, при котором возникает перенос, равно количеству цифр и, следовательно, основанию системы счисления.
В свете последнего вывода можно сформулировать правила арифметических операций, которые не зависят от применяемой системы счисления. Покажем, как это сделать на примере сложения.
Сложение двух чисел в системе счисления
с основанием N осуществляется поразрядно
от младших разрядов к старшим (“справа
налево”, если смотреть на запись числа).
Когда сумма данного разряда S не превышает
значения N, результат сложения является
окончательным. Если же S
N,
то происходит перенос в старший (“более
левый”) разряд, причем каждая единица
переноса уменьшает значение S на величину
N.
Можно сформулировать аналогичные правила и для остальных арифметических операций. После этого достаточно положить N = 2, и мы получим правила арифметики для двоичной системы.
или в десятичной системе 6 + 10 = 16
Для выполнения арифметических операций (сложение, вычитание, умножение, деление) в системе счисления с основанием P необходимо иметь соответствующие таблицы сложения и умножения. Для P = 2 таблицы представлены ниже.
