
- •1. Классификация программного обеспечения эвм. Прикладное программное обеспечение.
- •2.Инструментальные программные средства для решения прикладных математических задач.
- •3.Понятие операционной системы
- •4. Компьютерные вирусы. Разновидность компьютерных вирусов. Антивирусные средства.
- •5. История эвм. Поколения эвм. Классификация эвм. Принципы фон Неймана. Классическая архитектура компьютера.
- •4. Принцип двоичного кодирования
- •6. Микропроцессор. Система команд и форматы данных мп.
- •7. Алгоритмы и способы записи алгоритмов, свойства и виды алгоритмов.
- •8. Структура и синтаксис языка Turbo Pascal 7
- •9. Представление числовых данных в памяти эвм
- •Структурированные типы данных.
- •10.Динамические структуры
- •11. Программная обработка данных
- •13. Объектно-ориентированное программирование.
- •19. Понятие информации. Представление информации. Количество информации. Свойства информации.
- •22.Информационные технологии
- •23 Основные понятия и определения предметной области-информатизации образования
- •24Повышение эффективности управления региональной системой образования
- •25. Современные направления исследований в области ии.
- •Математика и автоматическое доказательство теорем.
- •26.Данные и знания. Логическая модель представления знаний. Продукционная модель представления данных.
- •27.Общая характеристика экспертных систем. Структура экспертных систем.
- •28.Современные нейронные сети. Основные понятия и задачи.
- •30. Компьютерная сеть. Классификация компьютерных сетей.
- •Одноранговые и иерархические сети
- •31, 32. Протоколы общения компьютеров в сети (ip, tcp, udp, ftp, smtp, http).
- •34. Модель и моделирование. Цели и задачи моделирования.
- •35. Математическая модель. Классификация математических моделей.
- •36. Понятие и виды компьютерного моделирования.
- •Этапы построения компьютерной математической модели
- •Анализ результатов моделирования.
- •37. Понятие информационных систем, базы данных, Автоматизированные информационные системы. Модели данных.
- •Сетевая модель бд.
- •38. Проектирование в терминах «Сущность - связь» или e-r проектирование. Основные понятия и определения. Сущности и связи.
- •Классификация связей
- •39. Состав и функции субд. Язык sql.
7. Алгоритмы и способы записи алгоритмов, свойства и виды алгоритмов.
АЛГОРИТМ - это последовательность команд, ведущих к какой-либо цели.
Это строго определенная процедура, гарантирующая получение результата за конечное число шагов. Это правило, указывающее действия, в результате цепочки которых происходит переход от исходных данных к искомому результату. Указанная цепочка действий называется алгоритмическим процессом, а каждое отдельное действие - его шагом.
Способы записи алгоритмов:
В виде блок-схем
Пример блок-схемы разветвленного алгоритма
Данная блок-схема соответствует задаче нахождения точки внутри окружности.
В виде программ
В виде текстовых описаний (рецепты, например, рецепты приготовления пищи, лекарств и др.).
Блок-схемы алгоритмов - это графическое описание алгоритмов как последовательности действий. Существуют правила изображения блок-схем алгоритмов.
Типы алгоритмов - структурированные, неструктурированные (т.е. с нарушением структуры - с операторами безусловного перехода) и вспомогательные.
Алгоритмы бывают:
1) линейными
2) с ветвлением
3) циклическими, т.е содержащими циклы,
4) с подпрограммами
5) смешанные (т.е. содержащие и циклы, и подпрограммы, и ветвление).
ВЕТВЛЕНИЕ - это команда алгоритма, в которой делается выбор: выполнять или не выполнять какую-нибудь группу команд в зависимости от условия.
ЦИКЛЫ - это команды алгоритма, которые позволяют несколько раз повторить одну и ту же группу команд.
Алгоритмизация - это техника составления алгоритмов и программ для решения задач на компьютере.
Свойства алгоритма
Понятность — алгоритм должен состоять из команд, "понятных" исполнителю (входящих в систему команд исполнителя).
Дискpетность (прерывность, раздельность) — алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов .
Опpеделенность — т.е. каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит формальный хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.
Pезультативность (или конечность)— алгоpитм должен пpиводить к pешению задачи (или к ответу, что решения нет) за конечное число шагов.
Массовость — алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма.
Главная особенность любого алгоритма - формальное исполнение, позволяющее выполнять заданные действия (команды) не только человеку, но и техническим устройствам (исполнителям). Таким образом, исполнителями алгоритмов могут быть, например, человек, компьютер, принтер, робот-манипулятор, станок с числовым программным управлением, живая клетка, дрессированное животное, компьютерная программа, компьютерный вирус, "черепашка" в Логорайтере или Логомирах (геометрический исполнитель) и т.д.
Исполнитель алгоритма - это устройство управления, соединенное с набором инструментов. Устройство управления понимает алгоритмы и организует их выполнение, командуя соответствующими инструментами. А инструменты производят действия, выполняя команды управляющего устройства. Прежде чем составлять алгоритм решения задачи, надо узнать, какие действия предполагаемый исполнитель может выполнить.
Эти действия называются допустимыми действиями исполнителя. Только их и можно использовать.
Исполнитель вычислительных алгоритмов называется вычислителем. Вычислитель может иметь дело с числами и переменными, обозначающими числа. Таким образом, алгоритм - это организованная последовательность действий, допустимых для некоторого исполнителя. Один и тот же исполнитель может быть сымитирован на ЭВМ многими способами.
Сложность алгоритма
Сложность алгоритма позволяет оценить, насколько быстро растет трудоёмкость алгоритма с увеличением объема входных данных. Под трудоемкостью понимается количество элементарных операций, которые необходимо выполнить для решения задачи с помощью данного алгоритма. Обычно оценка сложности алгоритма представляется в виде O(f(N)), где O – функция сложности, а N – число обрабатываемых наблюдений или примеров. Наименее затратными являются алгоритмы, для которых функция сложности имеет вид f(N)=C и f(N)=C*N, где С – константа. В первом случае вычислительные затраты не зависят от количества обрабатываемых данных, а во втором случае – линейно возрастают. Самыми затратными являются алгоритмы, сложность которых имеет степенную и факториальную зависимости от числа обрабатываемых наблюдений.
СОРТИРОВКА
Сортировка представляет собой процесс упорядочения множества подобных информационных объектов в порядке возрастания или убывания их значений. Например, список i из n элементов будет отсортирован в порядке возрастания значений элементов, если i <= i <= ... <= i.
Имеется два вида алгоритмов сортировки: сортировка массивов, которые могут находиться как в операционной памяти, так и на диске в виде файла прямого доступа, и сортировка последовательных файлов, находящихся на дисках или магнитных лентах.
Основное отличие между сортировкой массивов и сортировкой последовательных файлов заключается в том, что каждый элемент массива является доступным в любое время. Это значит, что в любое время любой элемент массива может сравниваться с любым другим элементом массива и любые два элемента массива могут обмениваться местами. Напротив, в последовательном файле в каждый момент времени доступен лишь один элемент. Из-за этих отличий методы сортировки существенно отличаются для этих двух видов сортировки.
В общем случае при сортировке данных только часть информации используется в качестве ключа сортировки, который используется в сравнениях. Когда выполняется обмен, передается вся структура данных.
МЕТОДЫ ПОИСКА
Поиск информации в неотсортированном массиве требует проведения последовательного просмотра массива. Просмотр начинается с первого элемента и завершается либо найденным элементом, либо достижением конца массива. Этот метод должен использоваться для неотсортированных данных, но он также может использоваться для отсортированных данных. Если данные отсортированы, то может использоваться двоичный поиск, который выполняется значительно быстрее.