КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Определение алгоритма. Свойства алгоритма. Способы описания алгоритма. Базовые структуры алгоритмов. Организация линейной, разветвляющейся и циклической структуры алгоритмов
Тема: Основы алгоритмизации юридических задач Лекция № 4. Антивирусная программа-полифаг Dr. Web. Dr. Web (web по-английски - паутина) представляет собой полифаг нового поколения, ориентированный прежде всего на борьбу с поли морфными вирусами, способными “мутировать”, т.е. с помощью различных приемов существенно менять свои внешние признаки. реализованный в данной антивирусной программе специальный алгоритм эвристического анализа позволяет выявлять также и файлы, зараженные новыми типами вирусов. Формат записи команды запуска Dr. Web стандартен: <имя программы><адрес>/ключи При сканировании всех логических устройств используется символ “*”. Значение основных ключей следующее: /A- осуществляется глобальная проверка всех файлов на предмет выявления факта заражения программ с отличными от определенных по умолчанию (COM, EXE, BAT, BIN, DRV, BOO, OV) типами расширений имен файлов; /B - вывод сообщений в монохромном режиме; /F - исправляет зараженные программы и стирает безнадежно испорченные; /N - завершение сеанса работы с дискетой не сопровождается традиционным предложением повторить процедуру проверки следующей дискеты; /P[имя файла] - протокол тестирования и проверки записывается в файл (по умолчанию - в файл REPORT.WEB) /R - сообщения программы выдаются на русском языке; /S[уровень] - подключается эвристический анализ файлов для поиска неизвестных вирусов и их модификаций; “глубина” анализа определяется (необязательным) параметром уровня: 0 - минимальный уровень, 1 - оптимальный уровень (устанавливается по умолчанию), 2 - “параноический” - по определению автора (может отсутствовать, в зависимости от версии программы); /V - осуществляется контроль за заражением тестируемых файлов резидентным вирусом (active resident Virus). 4.1. Определение алгоритма. Свойства алгоритма. Способы описания алгоритма. Базовые структуры алгоритмов. Организация линейной, разветвляющейся и циклической структуры алгоритмов. 4.2. Особенности постановки и решения правовых задач при использовании компьютерных средств. 4.3. Основные этапы решения задач на ПКЭВМ: постановка задачи, выбор метода решения, построение алгоритма, выбор программного средства, реализация алгоритма на ПК, оценка полученного решения. В широком смысле под задачей принято понимать проблему, подлежащую анализу и решению. Для того чтобы решить к.-л. задачу необходимы исходные данные. Все исходные данные разделяются на константы и переменные. Константами называются данные, которые в рассматриваемый период решения задачи имеют фиксированное, неизменяемое значение. Переменными называют данные, которым в процессе решения задачи могут быть присвоены различные значения. Данные могут быть различных типов: числовые, символьные (текстовые) и графические, а также простые и составные. Составные данные — это массивы, строковые переменные и структуры. Массивом называется множество упорядоченных однотипных данных, объединенных одним именем. Так, можно говорить о массиве символов, массиве целых чисел и т.д. Массивы характеризуются их размерностью - наиболее допустимым числом элементов в их составе. На рис. 4 представлен массив целых чисел под именем Name(45).
Рис. 4
Проведем классификацию решаемых с помощью компьютора задач в зависимости от типов данных. Если при решении задачи обрабатываются числовые величины, то соответствующие задачи называются вычислительными или расчетными. Это задачи, которые для своего решения требуют вычисления по некоторым математическим формулам. В зависимости от конкретного вида исследования эти задачи могут характеризоваться различным количеством исходных и выходных данных. В общем виде этот класс задач можно разделить на: научные задачи, задачи оптимизации, задачи обработки данных. Если цель задачи состоит в том, чтобы улучшить некоторые характеристики, признаки свойства, параметры некоторого объекта, действия или исследования или явления, то мы имеем дело с задачами оптимизации. Критерии оптимизации могут быть различны. В том случае, когда цель заключается в переводе системы из одного состояния в другое путем воздействия на параметры ее элементов, решаемая задача является задачей управления. Управляющие воздействия исходят от субъекта управления. Объектом управления (управляемой системой) может быть как техническое устройство, так и социальная группа, например, инспектора уголовного розыска, ведущие поиск преступника по заданию руководства следствием. Задачи обработки данных характеризуются большим количеством исходных данных и сравнительно небольшое число выходных. Такого рода данными применительно к юридической деятельности чаще всего бывает статистическая информация. Ее обработка связана с объединением данных, их группировкой, сортировкой, с расчетом характеристик и параметров статистического анализа; определением средних значений, параметров разброса. построением графиков, гистограмм, нахождением функциональных зависимостей и т.п. В качестве примеров можно привести расчеты, связанные с обработкой анкет при проведении социально-правовых исследований, расчет статистических показателей применительно к расследованию преступлений и др. Если в качестве исходных данных используется символьная информация, а точнее тексты на естественном языке, то такие задачи мы будем относить к классу задач “ обработки текста”. Работа с текстом заключается в его составлении, редактировании, корректировке с цель привести этот текст в соответствие с некоторыми нормативными требованиями, сделать его более понятным потенциальным читателям. придать ему законченную полиграфическую форму. В юридической практике эти задачи решаются постоянно при подготовке текстов законодательных актов решений и приговоров, выносимых судебными органами. Если в качестве исходных данных используется графическое изображение, то эти задачи относят ся к лассу задач по обработке изображений. Характерными операциями таких задач является получение изображения, редактирование, дорисовка деталей, сравнение, измерения, масштабирование. Особый класс задач составляют задачи информационного поиска. Их сущность состоит в отыскивании в некотором массиве или множестве документов или структур, состоящих из числовых и символьных данных таких, которые содержат необходимые факты и сведения. Самостоятельный класс задач составлят логические задачи. Объектом обработки здесь являются утверждения, высказывания, которые можно характеризовать как истинные, ложные или нечеткие, то есть с некоторой степенью достоверности. В процессе решения задачи используются уже не вычислительные формулы, а правила рассуждения, логического вывода, позволяющие оценить истинность (достоверность) некоторого утверждения или высказывания на основе данных об истинности других утверждений и высказываний. Разумеется при решении логических задач могут потребоваться какие-то вычисления, расчеты, оценки. Однако суть задач этого класса заключается именно в выводе логически обоснованных следствий из известных фактов. Независимо от вида задач их решение слагается из ряда этапов, то есть решение любой задачи производится на основе алгоритма. Алгоритмом решения задачи называется определенная конечная последовательность действий (этапов), выполняя которые мы приходим от исходных данных к результатам решения задачи. Каждый алгоритм должен обладать следующими основными свойствами: 1. Дискретность. Это свойство состоит в том, что алгоритм должен представлять процесс решения задачи как последовательность простых шагов. При этом для выполнения каждого шага алгоритма требуется некоторый конечный отрезок времени, т.е. преобразование исходных данных в результат осуществляется во времени дискретно. 2. Определенность. Это свойство состоит в том, что каждая команда алгоритма должна быть четкой, однозначной и не оставлять места для произвола. 3. Конечность. Это свойство состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов. 4. Массовость. Это свойство состоит в том, что алгоритм решения задачи разрабатывается не для одной конкретной задачи, а целого класса однотипных задач, различающихся лишь исходными данными. Этап результатом которого является разработка алгоритма решения задачи, часто называют алгоритмизацией, понимая под этим сведение задачи к последовательности этапов, выполняемых последовательно друг за другом. Разработанный алгоритм можно зафиксировать несколькими способами, например: · на естественном языке; · в виде схемы (блок-схемы); · на специальном языке (алгоритмическом языке). Запись алгоритма на естественном языке не требует детальных разъяснений и полной формализации. Она обычно используется для алгоритмов, ориентированных на исполнителя – человека. Команды алгоритма нумеруются, чтобы иметь возможность на них ссылаться. Форма записи команд не формализуется. В командах помимо слов могут использоваться символы и формулы. Важно лишь то, чтобы каждая команда была понятна исполнителю, точно определяла его действия и могла бы быть им выполнена. Запись алгоритма в виде схемы. Схемой называется наглядное графическое изображение алгоритма, когда отдельные действия (этапы) алгоритма изображаются при помощи различных геометрических фигур (блоков), а связи между этапами указываются при помощи стрелок, соединяющих эти фигуры.
вычисления
начало, конец
ввод исходных данных вывод данных
Рис. 5. Условные обозначения
В настоящее время существует технология разработки программ без использования блок-схем. Однако независимо от этого на начальном этапе изучения программирования использование схем при разработке алгоритма целесообразно. Использование схем обеспечивает приобретение прочных нвыков разработки алгоритмов с использованием типовых структур алгоритмов, являющихся основой так называемого стрктурного подхода, особенно плодотворного при постановке и решении сложных задач на ЭВМ. Основные структуры алгоритмов – это ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий. К основным структурам относятся: 1. Следование. Последовательное размещение блоков и групп блоков. Программа реализуется последовательным выполнением команд. 2. Цикл До (рис. 6). Применяется при необходимости выполнить какие-либо вычисления несколько раз до выполнения некоторого условия. Особенностью этого цикла является то, что он выполняется хотя бы один раз. Тело цикла – это та последовательность команд, которая может выполняться многократно (в цикле). Начальные присвоения – задания начальных значений тем переменным, которые используются в теле цикла. 3. Цикл Пока (рис. 7). Цикл Пока отличается от цикла До тем, что проверка условия проводится до выполнения тела цикла, и если при первой проверке условие выхода из цикла выполняется, то тело цикла не выполняется ни разу. Рис. 6 Рис. 7
4. Разветвление (рис. 8). Применяется, когда в зависимости от условия нужно выполнить либо одно, либо другое действие. Команда 1 или команда 2 может в свою очередь содержать несколько этапов.
Рис. 8 Рис. 9
5. Обход (рис. 9). Частный случай разветвления, когда одна ветвь не содержит никаких команд. 6. Множественный выбор (рис. 10). Является обобщением разветвления, когда в зависимости от значения переменной I выполняется одно из нескольких команд. Особенностью всех приведенных структур является то, что они имеют один вход и один выход, и их можно соединять друг с другом в любой последовательности. В частности, каждая структура может содержать любую другую структуру в качестве одного из блоков. Обычно при составлении схемы блоки размещаются друг под другом в порядке их выполнения.
Рис. 10
Одним из приемов разработки алгоритма решения более сложных задач является метод пошаговой детализации, когда первоначально продумывается и фиксируется общая структура алгоритма без детальной проработки отдельных его частей, но при этом используются лишь основные структуры алгоритмов. Блоки требующие дальнейшей детализации, обозначаются пунктирной линией. Далее разрабатываются (детализируются) отдельные блоки, не детализированные на предыдущем шаге. То есть на каждом шаге разработки уточняется реализация фрагмента алгоритма (или программы), и, таким образом, на каждом шаге мы имеем дело с более простой задачей. Полностью закончив детализацию всех блоков, мы получим решение задачи в целом. Описанный метод пошаговой детализации называется также программированием сверху вниз. Любой алгоритм может быть построен с помощью базовых конструкций: следования, ветвления и цикла.
Дата добавления: 2014-01-05; Просмотров: 1020; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |