Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Teoreticheskie_voprosy_k_ekzamenu_po_informatik...docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
526.79 Кб
Скачать

4. Количество информации. Формула Хартли для определения количества информации. Формула Шенона. Информационная энтропия.

I = log2 N, где N - количество равновероятных событий; I - количество бит в сообщении о том, что любое из N событий произошло.

И нформацио́нная энтропи́я — мера неопределённости или непредсказуемости информации, неопределённость появления какого-либо символа первичного алфавита.

Информационная двоичная энтропия для независимых случайных событий x с n возможными состояниями (от до 1 до n, p — функция вероятности) рассчитывается по формуле:

5.      Системы счисления. Позиционные и не позиционные системы счисления. Двоичная, десятичная, восьмеричная и шестнадцатеричная системы счисления. Запись целых и дробных чисел в позиционных системах счисления.

Система счисления – способ наименования и изображения чисел с помощью символов, имеющих определенное количественное значение. Различают позиционные и не позиционные системы счисления.В позиционных системах счисления один и тот же числовой знак (цифра) в записи числа имеет различные значения в зависимости от того места (разряда), где он расположен. Количество используемых цифр в позиционной системе счисления называется основанием. Место каждой цифры в числе называется позицией

6. Перевод из десятичной системы счисления в р-ную систему счисления (целой и дробной части). Связь двоичной системы счисления с восьмеричной и шестнадцатеричной система счисления.

7. Кодирование чисел. Представление целых чисел. Прямой и дополнительный код. Сложение и вычитание в дополнительном коде.

Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера области памяти, используемой для размещения чисел. В k-разрядной ячейке может храниться 2k различных значений целых чисел. Чтобы получить внутреннее представление целого положительного числа N (прямой код), хранящегося в k-разрядном машинном слове, необходимо: перевести число N в двоичную систему счисления; дополнить слева незначащими нулями до k разрядов. Отрицательные числа в прямом коде В прямом коде первый (старший) разряд отводится под знак числа. Если число положительное, то в левый разряд записывается 0; если число отрицательное, то в левый разряд записывается 1.

Дополнительный код — способ представления отрицательных целых чисел в ЭВМ. Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел. В дополнительном коде, также как и прямом, первый разряд отводится для представления знака числа. Если его значение равно 0, то в остальных разрядах записано положительное двоичное число, совпадающее с прямым кодом. Все остальные разряды отрицательного числа в дополнительном коде сначала инвертируются, т.е. заменяются противоположными (0 на 1, а 1 на 0). Далее следует прибавить единицу к получившемуся инверсией числу.

8. Кодирование чисел. Представление вещественных чисел. Нормализация вещественных чисел.

Представление вещественных чисел знак числа – в бите 15 первого слова; порядок размещается в битах 7-14 первого слова (14 бит-знак порядка); мантисса занимает остальные 23 бита в двух словах (с 0 по 6 бит первого слова и все биты второго слова) Нормализация вещественных чисел Дробные числа могут содержать большой набор цифр. Для удобства вещественные числа приводят к виду нормализованного представления числа. В этом случае число записывается в виде произведения на основание системы счисления, возведенное в ту или иную степень.

Например: 0.345 * 10-4 или 0.109 * 108. Здесь числа 0.345 и 0.109 – мантиссы вещественных чисел, 10 – основание системы счисления, а -4 и 8 – порядки.

9.      Кодирование текста. Алфавит и мощность алфавита. Код символа. Таблицы для кодирования текста. Кодирование звука. Аналоговые и дискретные сигналы и их преобразование. Дискретизация и квантование. АЦП и ЦАП.

Множество символов, используемых при записи текста, называется алфавитом. Количество символов в алфавите называется его мощностью. Каждому символу можно сопоставить целое положительное число и назвать его кодом символа.

Для представления текстовой информации в компьютере чаще всего используется алфавит мощностью 256 символов. Один символ из такого алфавита несет 8 бит информации, т. к. 28 = 256.

Все символы такого алфавита пронумерованы от 0 до 255, а каждому номеру соответствует 8-разрядный двоичный код от 00000000 до 11111111. Этот код является порядковым номером символа в двоичной системе счисления. Таким образом составляется таблица кодировки текста.

ASCII - стандартная кодировочная таблица для печатных символов и некоторых специальных кодов. Нижнюю половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю (128—255) — дополнительные символы, включая набор национальных символов.

Юникод или Уникод (англ. Unicode) — стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков.

10.  Алгоритм. Данные. Теория алгоритмов и ее задачи. Свойства алгоритмов.

Алгоритм – точное предписание, которое задает вычислительный процесс, начинающийся с произвольного исходного данного и направленный на получение полностью определенного этим исходным данным результата. Алгоритм – это четкое описание по выполнению некоторого процесса обработки данных, который через разумное конечное число шагов приводит к решению задачи данного типа для любых допустимых вариантов исходных данных. Данные – это информация (числа, факты, характеристики явлений и пр.), представленная в формализованном (конкретном) виде.

Для решения любой задачи необходимо:

1. Ввести исходные данные. 2. Преобразовать исходные данные в результаты (выходные данные). 3. Вывести результаты. Теория алгоритмов — наука, изучающая общие свойства и закономерности алгоритмов и разнообразные формальные модели их представления.

Задачи теории алгоритмов : доказательство алгоритмической неразрешимости задач анализ сложности алгоритмов классификация алгоритмов разработка критериев оценки качества алгоритмов и другие.

Свойства алгоритмов: Дискретность (прерывность) - алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов. Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для вариаций. Результативность (конечность) - алгоритм должен приводить к решению задачи за конечное число шагов.

Детерминированность. После каждого шага необходимо указывать, какой шаг выполняется следующим, либо давать команду остановки Массовость - алгоритм решения задачи разрабатывается в общем виде и должен быть применим для некоторого класса задач, различающихся только входными данными. При этом входные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.

11.  Формы представления алгоритмов. Линейный, разветвляющийся и циклический алгоритмы и их графическое представление с помощью блок- схем. Псевдокод.

Формы представления алгоритмов:

1. Словесная (записи на естественном языке); 2. Графическая (изображения из графических символов); 3. Псевдокоды (описания алгоритмов на условном алгоритмическом языке, включающие в себя элементы языка программирования, фразы естественного языка, общепринятые математические обозначения и др.); 4. Программная (тексты на языках программирования)

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Может быть описана в устной форме, письменной форме на естественном языке, в письменной форме на формальном языке. Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным. Его графическое представление называется схемой алгоритма или блок-схемой. Схемой алгоритма– графическое изображение алгоритма в виде схемы связанных между собой с помощью стрелок блоков, каждый из которых соответствует одному шагу алгоритма.

       В схеме алгоритма каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа.

Линейный алгоритм Линейным называется алгоритм, в котором результат получается путем однократного выполнения заданной последовательности действий при любых исходных данных. Операторы задействованы последовательно, один за другим, в соответствии с их расположений в тексте программы

Разветвляющийся алгоритм Алгоритм называется разветвляющимся, если он содержит несколько ветвей выполнения программы отличающихся друг от друга содержанием вычислений

Циклический алгоритм Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных Данных

Псевдокод - компактный язык описания алгоритмов, использующий ключевые слова языков программирования, но опускающий несущественные подробности и специфический синтаксис.

Особенности: Не приняты строгие синтаксические правила для записи команд, что облегчает запись алгоритма на стадии его проектирования. Имеются некоторые конструкции, присущие формальным языкам. Есть служебные слова, смысл которых определен раз и навсегда. Они выделяются в печатном тексте жирным шрифтом, а в рукописном тексте подчеркиваются. Единого или формального определения псевдокода не существует, возможны различные псевдокоды, отличающиеся набором служебных слов и основных конструкций. К таким конструкциям обычно относят ветвления (если …то … иначе …) и циклы (цикл от … до …, цикл пока, цикл до...).

12.  По каким путям проводится оптимизация алгоритмов? Вычислительная сложность алгоритмов. Верхняя оценка временной трудоемкости. Градации сложности.

Теория сложности, являясь частью теории вычислений, изучает ресурсы или стоимость вычислений, необходимые для выполнения поставленной проблемы.

Вычислительная сложность алгоритма — это функция, определяющая зависимость объёма работы, выполняемой некоторым алгоритмом, от свойств входных данных. Объём работы обычно измеряется абстрактными понятиями времени и пространства, называемыми вычислительными ресурсами.

Время определяется количеством элементарных шагов, необходимых для решения проблемы, тогда как пространство определяется объёмом памяти или места на носителе данных.

Центральный вопрос разработки алгоритмов: «как изменится время исполнения и объём занятой памяти в зависимости от размера входа и выхода?».

13.  Алгоритмы вычисления числа Фибоначчи и их сложность.

14.  Алгоритмы возведения в степень и их сложность.

15.  Жизненный цикл. Этапы жизненного цикла по ГОСТ. Стандарт ISO. Процессы жизненного цикла информационной системы по ISO.

Жизненный цикл ИС — это процесс ее построения и развития Жизненный цикл ИС — период времени, который начинается с момента принятия решения о необходимости создания информационной системы и заканчивается в момент ее полного изъятия из эксплуатации.

Стандарт ГОСТ 34.601-90 Стандарт ISO/IEC 12207:1995

Стандарт ГОСТ 34.601-90 Формирование требований к ИС, Разработка концепции ИС , Составление ТЗ, Эскизное проектирование, Технический проект , Рабочая документация , Ввод в действие , Сопровождение АС

Стандарт ISO/IEC 12207:1995 Стандарт «Information Technology — Software Life Cycle Processes» определяет структуру жизненного цикла, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ИС. Каждый процесс разделен на набор действий, каждое действие — на набор задач. Каждый процесс, действие или задача инициируется и выполняется другим процессом по мере необходимости, причем не существует заранее определенных последовательностей выполнения.

Процессы жизненного цикла ИС по ISO Основные: Приобретение, Поставка, Разработка Эксплуатация Сопровождение Вспомогательные Документирование Управление конфигурацией Обеспечение качества Верификация Аттестация Совместная оценка Аудит Разрешение проблем Организационные Управление Создание инфраструктуры Усовершенствование Обучение

16.  Модели жизненного цикла. Основные этапы модель водопада. Подробно этап анализа.

Модель жизненного цикла ИС — структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении жизненного цикла. Модель жизненного цикла зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует. Стандарт ГОСТ Р и ISO не предлагает конкретную модель жизненного цикла. Каскадная модель (модель водопада)

Следуя модели водопада, разработчик переходит от одной стадии к другой строго последовательно: Анализ (определение требований) Проектирование Реализация (конструирование, кодирование) Тестирование и отладка Внедрение (инсталляция) Сопровождение

Анализ требований — это процесс сбора требований к ПО, их систематизации, документирования, анализа, выявления противоречий, неполноты, разрешения конфликтов в процессе разработки ПО. Анализ требований включает три типа деятельности: Сбор требований: общение с клиентами и пользователями, чтобы определить, каковы их требования. Анализ требований: определение, являются ли собранные требования неясными, неполными, неоднозначными, или противоречащими, и затем решение этих проблем. Документирование требований: Требования могут быть задокументированы в различных формах, таких как простое описание, сценарии использования, пользовательские истории, или спецификации процессов.

17.  Этап проектирование программного обеспечения в модели водопада. Нотации при проектировании. Тестирование ПО.

Проектирование ПО — процесс создания проекта ПО, а также дисциплина, изучающая методы проектирования. Проектирование подразумевает выработку свойств системы на основе анализа постановки задачи, а именно: моделей предметной области, требований к ПО, а также опыта проектировщика. Модель предметной области накладывает ограничения на бизнес-логику и структуры данных.

Нотации при проектировании ПО В процессе проектирования ПО для выражения его характеристик используются различные нотации : Блок схемы ER-диаграммы UML-диаграммы DFD-диаграммы Макеты Тестирование ПО — процесс исследования ПО с целью получения информации о качестве продукта. Функциональное тестирование — это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. Тестирование производительности — в инженерии программного обеспечения тестирование, которое проводится с целью определения, как быстро работает система или её часть под определенной нагрузкой. Юзабилити-тестирование — эксперимент, выполняемый с целью определения, насколько хорошо люди могут использовать ПО (БД, web-сайт и т.п.) Тестирование безопасности — оценка уязвимости ПО к различным атакам. Тестирование совместимости — метод, основной целью которого является обеспечение качественной работы конечного продукта с другим ПО

18.  Спиральная и итерационная модель проектирования ПО. Стратегии и методы проектирования ПО. Вертикальные стратегии. Структурное проектирование и на основе структур данных. Компонентное проектирование.

Спиральная модель проектирования ПО

При использовании этой модели ИС создается в несколько итераций (витков спирали) методом прототипирования. Прототип — действующий компонент ИС, реализующий отдельные функции и внешние интерфейсы. Каждая итерация соответствует созданию фрагмента или версии ИС, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации. Итеративный подход — выполнение работ параллельно с непрерывным анализом полученных результатов и корректировкой предыдущих этапов работы. Проект при этом подходе в каждой фазе развития проходит повторяющийся цикл: Планирование — Реализация — Проверка — Оценка

Стратегии и методы проектирования ПО Стратегия проектирования сверху-вниз, Стратегия проектирования снизу-вверх, Объектно-ориентированный подход, Функциональное-ориентированное (структурное) проектирование, Проектирование на основе структур данных, Компонентное проектирование

Вертикальные стратегии При разработке ПО используются два подхода: проектирование сверху вниз, при котором разработка приложения начинается с определения основных функций и задач, и проектирование снизу вверх, при котором сначала проводится анализ данных и определение их структуры.

Проектирование снизу вверх. Метод основан на создании базовых простейших элементов, на основе которых строятся более сложные. Проектирование сверху вниз. В этом методе сначала создается структура программы. Каждый элемент представлен моделью «черного ящика». Далее детально прорабатывается каждый элемент. Структурное проектирование и на основе структур данных Структурное проектирование - метод проектирования, в котором декомпозиция сфокусирована на идентификации основных программных функций и, затем, детальной разработке и уточнении этих функций “сверху-вниз” При проектировании на основе структур данных фокус сконцентрирован в большей степени на структурах данных, которыми управляет система, чем на функциях системы. Компонентное проектирование Программные компоненты являются независимыми единицами, которые обладают однозначно-определенными интерфейсами и зависимостями (связями) и могут собираться и развертываться независимо друг от друга.

Цель такого подхода заключается в повышении эффективности повторного использования разработанных компонент.

19.  Объектно-ориентированное программирование. Понятие объекта и класса. Создание экземпляров класса. Поля, свойства, методы, события. Доступ к полям и методам.

Объектно ориентированные языки реализуют концепцию ООП. ООП — парадигма программирования, основанная на представлении предметной области в виде системы взаимосвязанных абстрактных объектов и их реализаций. Основной проблемой процедурного программирования является то, что данные и функции их обработки не были связаны. С появлением концепции ООП появилась новая структура данных - Класс. Это по сути дела тип данных, в котором кроме данных (свойств) также содержались функции их обработки (методы).

20.  Отношения между классами в ООП. Объектные модели. Наследование. Описание родительского класса и класса потомка.

Наследование. Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка. Наследование призвано отобразить такое свойство реального мира, как иерархичность.

21.  Основные принципы ООП. Абстрагирование. Инкапсуляция. Полиморфизм.

Полиморфизм. Полиморфизмом называют явление, при котором все классы-потомки имеют в наличии однотипные методы. Такие методы совпадают по форме (название, параметры, возвращаемые значения), но отличаются по реализации. Это позволяет обрабатывать объекты классов-потомков как однотипные объекты. Инкапсуляция — это принцип, согласно которому внутри класса можно совмещать данные (свойства) и описание действий (методы), через которые можно обращаться к свойствам.

22.  Программное обеспечение. Системное и прикладное ПО. Схема системного ПО.

Системное ПО используется для разработки выполнения программных продуктов, а также для предоставлению пользователю определенных услуг. Системное ПО необходимое дополнение технических средств. Прикладное ПО служит для решения определенных целевых задач или класса задач.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]