2.3 Разработка алгоритма программы

2.3.1 Понятие алгоритма, виды алгоритмов

Слово «Алгоритм» происходит от algorithmi - латинского написания имени аль-Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783-850 гг. В своей книге «Об индийском счете» он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, - процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. Другое дело - реализация уже имеющегося алгоритма. Ее можно поручить субъекту или объекту, который не обязан вникать в существо дела, а возможно, и не способен его понять. Такой субъект или объект принято называть формальным исполнителем. Примером формального исполнителя может служить стиральная машина-автомат, которая неукоснительно исполняет предписанные ей действия, даже если вы забыли положить в нее порошок. Человек тоже может выступать в роли формального исполнителя, но в первую очередь формальными исполнителями являются различные автоматические устройства, и компьютер в том числе. Каждый алгоритм создается в расчете на вполне конкретного исполнителя. Те действия, которые может совершать исполнитель, называются его его допустимыми действиями. Совокупность допустимых действий образует систему команд исполнителя. Алгоритм должен содержать только те действия, которые допустимы для данного исполнителя.

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

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

Алгоритм решения задачи имеет ряд обязательных свойств:

1.          Дискретность (прерывность, раздельность) - алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.

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

3.         Результативность (конечность) - алгоритм должен приводить к решению задачи за конечное число шагов.

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

5.         Формализованность – предписания алгоритма должны быть записаны на некотором формальном (искусственном) языке.

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

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

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

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

1) Механические алгоритмы, или иначе детерминированные, жесткие (например алгоритм работы машины, двигателя и т.п.);

2) Гибкие алгоритмы, например стохастические, т.е. вероятностные и эвристические.

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

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

4) Эвристический алгоритм (от греческого слова «эврика») – это такой алгоритм, в котором достижение конечного результата программы действий однозначно не предопределено, так же как не обозначена вся последовательность действий, не выявлены все действия исполнителя. К эвристическим алгоритмам относят, например, инструкции и предписания. В этих алгоритмах используются универсальные логические процедуры и способы принятия решений.

5) Линейный алгоритм – набор команд (указаний), выполняемых последовательно во времени друг за другом.

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

7) Циклический алгоритм – алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов.

Цикл программы – последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.

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

2.3.2 Алгоритм работы программы

Программа «Информационная система ГИБДД» выполняется по следующему алгоритму:

1.          Загрузка программы в оперативную память;

2.         Ожидание реакции пользователя;

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

4.         При выборе базы данных «Справочник частных владельцев» пользователь может просмотреть информацию о владельце, редактировать таблицу, добавить новые номера и закрыть эту форму.

5.         При выборе базы данных «Справочник организации» пользователь также сможет редактировать таблицу, просмотреть информацию или закрыть эту форму.

6.         При выборе базы данных «Регистрация ДТП» загружается форма базы данных ДТП, где пользователь может редактировать таблицу, просмотреть информацию или закрыть эту форму.

7.         При выборе базы данных «Угон автомобилей» загружается форма, в которой хранятся данные об угонах или скрывшихся с места ДТП автомобилях. Здесь пользователь также может редактировать таблицу, просмотреть информацию или закрыть эту форму.

8.         При выборе пункта меню «Справка » отобразится окно с подсказками по работе в программе.

9.         При выборе пункта «О программе» будет выведена информация о разработчике программы.

10.       При нажатии кнопки «Выход» загружается форма, предупреждающая о действительности выхода из программы. При нажатии кнопки «нет» пользователь вернется в главную форму, а при нажатии кнопки «да» пользователь выйдет из программы.


2.3.3 Блок - схема программы


2.4 Инструментальные средства разработки

2.4.1 Анализ инструментальных средств

При выборе программных средств, для разработки программы «Информационная система ГИБДД», необходимо учитывать возможности описания структуры данных, определение модулей программы и связи между ними, оценки развитости аппарата структур и типов данных.

Учёт этих возможностей позволит сделать программу легкодоступной для использования, позволит предупредить возникновение логических ошибок, обеспечить надёжность программного обеспечения и его модифицируемость.

Для написания программы «Информационная система ГИБДД» была выбрана среда программирования Delphi.

Существует несколько способов решения поставленной задачи:

- Flash-программирование;

- языки программирования (Паскаль, Си, Visual Basic);

- среда объектного визуального программирования Delphi;

Flash – программирование

Macromedia Flash – очень мощное, при этом простое в использовании, средство создания анимированных проектов на основе векторной графики с встроенной поддержкой интерактивности.

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

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

Для разработки интерактивных элементов во Flash используют три основных компонента: событие (event), порождающее определённое действие; действие (action), порождающее тем или иным образом событием; целевой объект (target), выполняющий действие или изменяемый событием.

Языки программирования

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

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

Существуют также другие среды программирования, с помощью которых можно было бы разработать данную программу. Такие как:

- среда программирования С++ - это универсальный язык программирования, который позволяет разрабатывать программы в соответствии с разными типами программирования: процедурным, объектно-ориентированным, параметрическим.

- система программирования Microsoft Visual Basic for Windows, обладая простыми в обращении средствами визуального проектирования, позволяет в полной мере использовать преимущества графической системы Windows и быстро конструировать эффективные приложения.


Информация о работе «Информационная система ГИБДД»
Раздел: Информатика, программирование
Количество знаков с пробелами: 75290
Количество таблиц: 2
Количество изображений: 13

Похожие работы

Скачать
15912
0
0

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

Скачать
50309
5
0

... знаниях об образе представителей данной профессиональной группы среди населения. Представленный анализ позволяет нам задаться вопросом, а какова репрезентация образа сотрудника ГИБДД в представлении автолюбителей и есть ли зависимость содержания представлений об образе сотрудников у автолюбителей с разным водительским стажем? Если есть, то в чем состоит различие? Эти вопросы стали предметом ...

Скачать
115887
8
11

... функциональное моделирование; -           информационное моделирование; -           динамическое моделирование; В процессе работы будет решена задача моделирования информационной системы по распределению автотранспорта инвалидам и созданию отчетов. Трудоёмкость разработки информационной модели шагов процесса характеризуется, наряду с прочим, объёмом входной информации. Носителями этой ...

Скачать
58646
2
4

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

0 комментариев


Наверх