- •1. Информация и её свойства.
- •2. В чём измеряется информация, количество информации. Формула Шеннона.
- •3. Системы счисления. Общие понятия, позиционная и непозиционная системы счисления.
- •4. Десятичная, восмиричная, двоичная, шестнадцатиричная системы счисления, основание, алфавит, развернутая форма записи числа.
- •5. Перевод целого числа из десятичной системы в любую другую позиционную систему счисления
- •6. Перевод дробного числа из десятичной в другие системы счисления. Перевод смешанных чисел.
- •7. Перевод чисел из восмиричной и шестнадцатиричной в двоичную систему счисления и обратно.
- •8. Операционная система (общие понятия, управление файловой системой, командный процессор, драйвера устройств, сервисные программы, графический интерфейс пользователя).
- •9. Загрузка ос.
- •10. Программная обработка данных, файлы.
- •11. Технология обработки текстовой информации.
- •12. Технология обработки графической информации
- •13. Форматы графических файлов.
- •14. Основные понятия шифрования и кодирования
- •15. Криптографическая система
- •16. Информационная безопасность, компьютерные вирусы и антивирусы
- •17. Алгебра, высказывания, предикаты, булевая функция, аксиомы алгебры предикатов
- •18. Таблица истинности, логические операции, упрощение логического выражения
- •19. Инфологическая задача
- •20. Логический вентиль, инвертор, дизъюнктор, конъюнктор, принципы работы.
- •21. Логические схемы, сумматор, «черный ящик».
- •Сумматор
- •22. Понятие алгоритма, его свойства, запись алгоритма, примеры записи.
- •23. Базовые команды языка Паскаль, базовые алгоритмические структуры на Паскале. (из лекции)
- •24. Данные, тип данных, стандартные типы.
- •Стандартные типы
- •Сложные типы данных:
- •25. Массивы. Примеры использования
- •26. Методы проектирования алгоритмов.
- •27. Тестирование и верификация алгоритма. Трассировка.
- •28. Структура алгоритмического обеспечения. Формы использования алгоритмов.
- •29. Исполнители алгоритма – человек и автомат.
- •30. Законы функционирования автомата Мили и Мура. Примеры.
- •31. Компьютер как совокупность взаимодействующих конечных автоматов.
- •32. Принципы фон Неймана. Арифметико-логическое устройство. Устройство управления.
- •33. Использование Автотекста в Word. Понятие о шаблоне документа.
- •34. Понятие о шаблоне документа.
- •35. Передвижение по документу, выделение содержимого, перенос, копирование, повтор набранного. Использование тезауруса Word.
- •36. Стили, стили абзацев, символов, использование стилей. Выбор стиля в Word.
- •37. Вложенные списки.
- •38. Автоформат в Word.
- •39. Создание собственных стилей. Разработка нового стиля.
- •40. Понятие о полях в Word.
- •41. Вставка графики в документ. Вставка подписи. Автоматическая вставка подписи.
- •42. Перекрёстные ссылки.
- •43. Списки иллюстраций
- •44. Вставка специальных списков (списки таблиц, формул,подсказок, примечаний, врезок).
- •45. Сборка списка всех элементов с подписями
- •46. Построение предметного указателя
- •47. Основы построения полей. Просмотр инструкций и значений полей.
- •48. Работа с закладками в Word.
26. Методы проектирования алгоритмов.
Методы проектирования алгоритмов включают: нисходящее проектирование, модульность, структурное программирование.
Нисходящее проектирование предполагает последовательное разбиение исходной задачи на подзадачи до такой конкретизации, когда подзадача сможет быть реализована одним оператором выбранного для программирования языка. По ходу нисходящего проектирования та или иная подзадача может сформировать самостоятельный модуль. Тогда может быть применен принцип модульного программирования. Он обеспечивает легкость составления алгоритмов и отладки программ, легкость сопровождения и модификации, а также возможность одновременной разработки различных модулей разными специалистами с использованием разных языков программирования.
При работе над модулем можно применить принцип структурного программирования. Его цель – повышение читабельности и ясности алгоритма (и программы), более высокой производительности программистов и упрощение отладки. В соответствии с этим принципом для построения любого алгоритма (программы) требуются три типовых блока:
ф ункциональный. Используется для представления линейных алгоритмов. Описывается языком графических символов следующим образом:
циклический. Используется для представления циклических алгоритмов. Описывается языком графических символов одним из двух способов:
конструкция принятия двоичного решения. Применяется для представления разветвляющихся алгоритмов. Описывается языком графических символов следующим образом:
В качестве примера разработаем блок-схему для задачи учета абитуриентов из примера, используя принципы нисходящего проектирования, модульности и структурного программирования.
Выделим в поставленной задаче три основных подзадачи и введем необходимые комментарии:
ввод и размещение в памяти компьютера списка абитуриентов и их оценок по аттестату. При этом количество абитуриентов заранее неизвестно, поскольку документы принимаются у всех желающих;
ввод и анализ оценок по каждому экзамену по каждому абитуриенту. В результате анализа возможно исключение абитуриента из списка. Число абитуриентов известно после решения первой подзадачи. Количество экзаменов известно заранее;
у порядочение списка абитуриентов в зависимости от оценок. Здесь возможно использовать не сами оценки, а средний балл по аттестату и средний балл за вступительные экзамены;
определение нужного подмножества абитуриентов для зачисления. Число студентов набора известно заранее.
В соответствии с выделенными подзадачами определим четыре модуля, взаимосвязь которых представлена на рисунке:
27. Тестирование и верификация алгоритма. Трассировка.
Тестирование алгоритма позволяет выявить логические ошибки построения алгоритма. Подобные ошибки можно обнаружить при тестировании алгоритма на большом количестве различных тестовых наборов данных, так как далеко не при каждом сочетании входных данных логические ошибки построения алгоритма дают о себе знать. Следовательно, эффективное проектирование текстовых наборов данных - задача достаточно сложная.
Верификация — проверка, проверяемость, способ подтверждения, проверка с помощью доказательств, каких-либо теоретических положений, алгоритмов, программ и процедур путем их сопоставления с опытными (эталонными или эмпирическими) данными, алгоритмами и программами. Принцип верификации был выдвинут Венским кружком.
Структурное тестирование основывается на детальном изучении логики алгоритма и подборе тестов, позволяющих обеспечить максимально возможное количество проверяемых операторов, логических ветвлений и условий.
При функциональном тестировании логика алгоритма не учитывается, а обращается внимание лишь на входные и выходные спецификации.
Верификация — проверка, проверяемость, способ подтверждения, проверка с помощью доказательств, каких-либо теоретических положений, алгоритмов, программ и процедур путем их сопоставления с опытными (эталонными или эмпирическими) данными, алгоритмами и программами. Принцип верификации был выдвинут Венским кружком
Трассировка – это метод пошаговой фиксации динамических составляющих алгоритма на некотором тексте (проверка переменных и их значений). Часто осуществляется с помощью трассировки таблиц, в которых каждая строка соответствует определённому шагу, а столбец определяет состояние параметров (переменных). Отличает отладку.
Некоторые скрытые ошибки в сложных программах могут выявиться только в процессе их эксплуатации, на этапе сопровождения. На этом этапе также уточняют, улучшают и обучают профессоры пользователя.
Процесс поиска и исправления ошибок – отладка.