- •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. Массивы. Объявление, использование, способы ввода и вывода.
34. Упрощение логических функций методом Квайна.
Метод Квайна позволяет представлять функции в ДНФ или КНФ с минимальным числом членов и минимальным числом букв в членах.
Первый этап (получение сокращенной формы). Пусть заданная функция представлена в СДНФ. Переход к сокращенной форме основан на последовательном применении двух операций: операции склеивания и операции поглощения.
Второй этап (получение минимальной формы). Выражение представляет собой сокращенную форму логического выражения заданной функции, а члены его являются простыми импликантами функции. Переход от сокращенной формы к минимальной осуществляется с помощью импликантной матрицы.
Для получения минимальной формы достаточно выбрать из импликант, не входящих в ядро, такое минимальное их число с минимальным количеством букв в каждой из этих импликант, которое обеспечит перекрытие всех столбцов, не перекрытых членами ядра.
35. Упрощение логических функций с помощью карт Карио.
Одним из способов минимизации логического выражения является использование т.н. карт Карно. Карта Карно – это графическое представление таблицы истинности. Разметка строк и столбцов карты Карно выполняется таким образом, что для любой клетки легко определить соответствующую ей комбинацию переменных по заголовкам строк и столбцов. Карта Карно позволяет упростить минимизацию функции.
Когда составляется карта Карно для заданной функции, в каждую клетку помещается, извлекаемая из строки таблицы истинности с подходящим номером: 0, если функция равняя нулю при соответствующей комбинации входных параметров, и 1 – в противном случае.
Каждая комбинация переменных с единичным значением функции в таблице истинности соответствует минтерму.
Поскольку пара соседних клеток карты Карно, содержащих единицы, указывает на наличие минтермов, различающихся значением только одной переменной, эту пару минтермов можно объединить в один терм-произведениена основании известной теоремы объединения (x y x y x ). В общем случаеx так же может состоять из нескольких элементов.
Т.о. логическое выражение для вышеприведенного примера можно минимизировать следующим образом:
И
окончательное минимальное выражение
будет иметь вид:
36. Конечный автомат: определение, разновидности. Способы задания конечных автоматов.
Конечный автомат — абстрактный автомат, число возможных внутренних состояний которого конечное множество. Конечный автомат является математической моделью реальных дискретных устройств по переработке информации.
Конечным
автоматом называется система
где X; Q; Y – произвольные непустые конечные
множества.
Множество
называется входным алфавитом, а его
элементы – входными сигналами, их
последовательности – входными словами.
Множество
называется множество состояний автомата,
а его элементы – состояниями. Множество
называется выходным алфавитом, его
элементы – выходными сигналами, их
последовательности – выходными словами.
Функция
называется функцией переходов. Функция
называется функцией выходов, т.е.
для
С конечным автоматом ассоциируется воображаемое устройство, которое работает следующим образом. Оно может находиться в состоянии из множества Q, воспринимать сигналы из множества Х и выдавать сигналы из множества Y.
Существует несколько эквивалентных способов задания абстрактных автоматов, среди которых можно назвать три: табличный, геометрический и функциональный.
Из определения автомата следует, что его всегда можно задать таблицей с двумя входами, содержащей m строк и n столбцов, где на пересечении столбца q и строки a стоят значения функций φ(ai;qj); ψ(ai;qj).
Другой способ задания конечного автомата – графический. При этом способе состояния автомата изображают кружками, в которой вписывают символы состояний qj(j=1,…, n). Из каждого кружка проводится m стрелок (ориентированных ребер) взаимно-однозначно соответствующих символам входного алфавита X{a1,…, am}. Стрелке, соответствующей букве ai ϵ X и выходящей из кружка qj ϵ Q, приписывается пара (ai, ψ(ai; qj)), причем эта стрелка ведет в кружок, соответствующийφ(ai, qj).
Полученный рисунок называется графом автомата или, диаграммой Мура. Для не очень сложных автоматов этот способ более нагляден, чем табличный.
Третий способ задания конечного автомата А= (X;Q;Y;φ;ψ), заданного таблицей или диаграммой Мура, состоит в определении системы булевых функций.
Изложим алгоритм этого способа задания.
1. Находим числа k,r,s, удовлетворяющие условиям 2k-1<m<2k; 2r-1<n≤2r; 2s-1<p≤2s, где m = |X|; n = |Q|; p = |Y|.
Очевидно, что k,r,s соответственно равны числу разрядов в двоичном представлении чиселm,n,p. Например, если m = 5, n = 17, p = 3, то k = 3, r = 5, s = 2.
2. Кодирование состояний входных и выходных символов исходного автомата.
Каждому qj ϵ Q взаимно-однозначно ставим в соответствие двоичную последовательность длины r– двоичный код α (q) =z1z2…zr. Аналогично каждому ai ϵ X и каждому bk ϵ Y ставим взаимно однозначно в соответствие двоичные последовательности β(α) = x1x2…xk; γ(b) = y1y2…ys.
Отметим, что кодирование состояний, входных и выходных символов можно провести многими способами. При этом некоторые последовательности (коды) могут оказаться неиспользованными.
Составляем следующую таблицу:
Эта таблица содержит k+r+r+s столбцов и 2k+r строк. В первых k+r столбцах выписаны все наборы длины k+r. Каждый такой набор соответствует паре (β, α), где α – возможный код некоторого состояния, β – код входного символа.
Заполнение последних столбцов в таблице (предыдущий шаг).
Для каждой пары (ai, qj), гдеai ϵ X;qj ϵ Q, находим β(ф)bα(q). По таблице автомата (или диаграмме Мура) определяем φ(a;q)=q’иψ(a;q)=b. Затем находим кодα(q’)=α1’α2’… αr’и код γ(β)=γ1γ2 …γs. В строку таблицы, соответствующую набору
β1, β2, …, βk, α1, α2, …, αr,
дописываем набор
α1’, α2’, …, αr’, γ1, γ2, …, γs.
Определение системы булевых функций.
После выполнения предыдущего шага может оказаться, что не все строки в таблице заполнены. Это произойдет в том случае, если хотя бы одно из чисел m, n не является степенью 2. Таким образом, функции φ1, φ2, …,φr, ψ1, ψ2, …ψs окажутся не полностью определенными – на некоторых наборах их значения не определены. Тогда мы их доопределяем произвольным образом. Как правило, до определение функций производят так, чтобы получившиеся полностью определенные функции удовлетворяли тем или иным условиям оптимальности, например представлялись минимальными ДНФ.
После выполнения этого шага исходный автомат будет задаваться системой полностью определенных булевых функций
{φ1,φ2, …,φr,ψ1,ψ2, …ψs}.
37. Автомат Мили. Структурная схема и способы задания.
Автомат Мили описывается следующими формулами:
1. внутреннее состояние автомата в следующий момент времени зависит от внутреннего состояния автомата в настоящий момент времени и входного сигнала в настоящий момент времени.
2. выходной сигнал автомата в настоящий момент времени зависит от входного сигнала в настоящий момент времени и внутреннего состояния автомата в настоящий момент времени.
Понятие состояния автомата в момент времени t определяется внутренним состоянием автомата и состоянием входа автомата в тот же момент времени.
Автоматы,
для которых функции переходов
и
функции выходов
определены
на всех парах
,
называются полностью
определенными или полными
автоматами. Соответственно,
автоматы, для которых функции переходов
или функции выходов определены не на
всех парах
,
называются недоопределенными
(не полностью определенными)
автоматами. Состояние
М(t) автомата недоопределенного на
соответствующей паре
,
называется неиспользованным
состоянием автомата. Если
на каком-либо определенном состоянии
автомата не определена только функция
выходов, то говорят, что ему соответствует
безразличное состояние выхода.
1. Таблично
2. Диаграммы Мура – граф с n вершинами
3. Функции переходов и выходов можно задать аналитически.
