- •1. Понятие информации, ее свойства. Единицы измерения информации.
- •2. Понятие энтропии. Вычисление количества информации по формулам Шеннона и Хартли.
- •3. Кодирование текстовой информации. Ascii, Unicode (UtF-8, utf-16).
- •4. Кодирование графической информации. Растровая, векторная и фрактальная графика. Палитры rgb, cmyk.
- •5. Кодирование звуковой информации. Теорема Котельникова.
- •6. Позиционные и непозиционные системы счисления.
- •7. Позиционные системы счисления. Основные понятия: алфавит, разряды, весовые коэффициенты.
- •8. Доказательство оптимальной троичной системы счисления.
- •9. Причины использования двоичной системы счисления.
- •19. Прямой, обратный и дополнительный коды.
- •20. Форматы представления чисел с фиксированной запятой.
- •21. Формат представления чисел с плавающей запятой одинарной точности. Мантисса, порядок.
- •22. Способы представления чисел с плавающей запятой одинарной точности ieee 754. Нормализованная и денормализованная формы, преставление бесконечности, нуля, "нечисла" (NaN).
- •23. Перевод чисел в формат с плавающей запятой и обратно.
- •24. Сложение и вычитание чисел с плавающей запятой.
- •25. Умножение и деление чисел с плавающей запятой.
- •26. Ошибки, возникающие при использовании чисел с плавающей запятой.
- •27. Основы логики. Понятия, высказывания, умозаключения.
- •28. Алгебра логики. Функции алгебры логики.
- •29. Способы представления функций алгебры логики.
- •30. Булева алгебра. Аксиомы и теоремы булевой алгебры.
- •31. Теорема о разложении функции алгебры логики по переменным (с доказательством).
- •32. Сднф функций алгебры логики.
- •34. Упрощение логических функций методом Квайна.
- •35. Упрощение логических функций с помощью карт Карио.
- •36. Конечный автомат: определение, разновидности. Способы задания конечных автоматов.
- •38. Автомат Мура. Структурная схема и способы задания.
- •39. Преобразование автомата Мили в автомат Мура и наоборот.
- •40. Машина Тьюринга.
- •41. Алгоритм. Свойства и способы представления.
- •42. Модели жизненного цикла программного обеспечения.
- •43. Императивные и декларативные парадигмы программирования.
- •44. Парадигмы процедурного и структурного программирования.
- •45. Концепции объектно-ориентированного программирования. Абстракция, инкапсуляция, наследование, полиморфизм.
- •46. Структура программы на языке программирования c.
- •47. Процесс трансляции программы на языке c.
- •48. Типы данных в языке программирования c.
- •49. Преобразование типов данных в язык программирования c.
- •50. Реализация разветвляющихся алгоритмов на языке c. Конструкции if и switch.
- •51. Реализация разветвляющихся алгоритмов на языке c. Тернарный оператор.
- •52. Циклы с предусловием, постусловием, со счетчиком.
- •53. Алгоритм вычисления конечных сумм и произведений.
- •54. Алгоритм вычисления итеративных сумм.
- •55. Функции. Объявление, определение и передача параметров.
- •56. Рекурсивные функции.
- •57. Массивы. Объявление, использование, способы ввода и вывода.
23. Перевод чисел в формат с плавающей запятой и обратно.
Формат чисел с плавающей запятой базируется на экспоненциальной форме записи, в которой может быть представлено любое число. Так число А может быть представлено в виде: A=m*n^q, где m - мантисса числа; q - основание системы счисления;
n - порядок числа.
Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001×10^0, 0,001×10^−1, 0,01×10^−2, 0,1×10^−3), поэтому распространена (особенно в информатике) также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно) , а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно) . В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.
Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля.
Преобразуем десятичное число 555,55, записанное в естественной форме, в экспоненциальную форму с нормализованной мантиссой:
555,55 = 0,55555 × 10³ .
Здесь нормализованная мантисса: m = 0,55555, порядок: n = 3.
24. Сложение и вычитание чисел с плавающей запятой.
1. Производится выравнивание порядков чисел. Порядок меньшею (по модулю) числа принимается равным порядку большего числа, а мантисса меньшего числа сдвигается вправо на число S-ичных разрядов, равное разности порядков чисел.
2. Производится сложение (вычитание) мантисс, в результате чего получается мантисса суммы (разности).
3. Порядок результата принимается равным порядку большего числа.
4. Полученная сумма (разность) нормализуется.
Примем, что числа с плавающей запятой имеют основание порядка S = 16.
Первое слагаемое (уменьшаемое) поступает на входной регистр Рг1, второе слагаемое (вычитаемое) — на входной регистр Рг3. Знаки слагаемых хранится в триггерах знаков Тг3н1 и Тг3н2. Смещенные порядки слагаемых пересылаются в регистры РгС и РгD. Схема СОЛО применяется для сравнения и выравнивания порядков слагаемых. Сумматор См, его входные регистры РгА и РгВ и выходной регистр РгСм используются при сложении (вычитании) мантисс, а также при передаче мантисс в процедурах выравнивания порядков и нормализации результата.
Операция сложения (вычитания) может быть подразделена на следующие этапы: 1) прием операндов, 2) выравнивание порядков, 3) сложение мантисс и 4) нормализация результата.
25. Умножение и деление чисел с плавающей запятой.
Умножение чисел в машинах с плавающей запятой производится в четыре этапа:
1. Определение знака произведения путем сложения по модулю два знаковых цифр мантисс сомножителей.
2. Перемножение модулей мантисс сомножителей по правилам для дробных чисел с фиксированной запятой.
3. Определение порядка произведения путем алгебраического сложения порядков сомножителей с использованием либо дополнительного, либо обратного модифицированного кода.
4. Нормализация результата и округление мантиссы в случае необходимости. Поскольку сомножители обязательно являются нормализованными числами, то де нормализация произведения возможна только на разряд и только вправо.
При делении чисел A и В с плавающей запятой мантисса частного МQ определяется путем деления мантиссы делимого на мантиссу делителя МQ = МA/МB. Порядок частного определяется путем вычитания порядков операндов рQ = рA - pB. Если используется смещенный порядок, то вычитание порядков приводит к удалению смещения из порядка результата. Следовательно, для получения смещенного порядка результата к разности должно быть добавлено смещение. После выполнения этих действий необходима проверка на переполнение порядков и потерю значимости.
Деление мантиссы делимого на мантиссу делителя выполняется по правилу деления правильных дробей. При этом положительный остаток в результате пробного вычитания модуля мантиссы делителя из модуля мантиссы делимого дает единицу в разряде целой части, которая не вызывает формирования признака переполнения разрядной сетки. Знак частного определяется путем суммирования по модулю два знаковых разрядов мантисс операндов.
Поскольку мантиссы делимого и делителя нормализованы, абсолютное значение мантиссы частного МQ заключено в следующих пределах: 0,1(2) < |МЧ| < 10(2), т.е. может иметь место нарушение нормализации влево не более чем на один разряд. После деления мантисс операндов результат при необходимости нормализуется путем сдвига мантиссы вместе со знаковым разрядом вправо на один разряд с увеличением порядка рQ на единицу. В процессе нормализации возможно переполнение порядка.
