Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






В.2. Этапы решения задач






 

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

Тогда общая схема решение «простейших задач», ориентированная на разработку процедур (методов) включает в себя следующие основные этапы, часть из которых осуществляются до использования компьютера:

1) Постановка задачи. Этап включает в себя: сбор информации о задаче; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных.

2) Анализ и исследование задачи. На этом этапе анализируются существующие аналогичные задачи; разрабатывается математическая модель задачи; осуществляется формализация; определяются структуры данных.

3) Разработка алгоритма. Этап заключается в выборе формы записи алгоритма и в последующем процессе разработки алгоритма и его описания.

4) Программирование (Разработка программного кода). На этом этапе вначале осуществляется выбор алгоритмического языка и уточнение способов организации данных, а затем разрабатывается программный код, описывающий разработанный алгоритм.

5) Тестирование и отладка. При тестировании и отладке выявляют синтаксические, семантические (смысловые) и логические ошибки, допущенные при разработке алгоритма и программировании. Анализ результатов тестирования позволяет устранить все выявленные семантические и логические ошибки.

6) Анализ результатов решения задачи. На этом этапе осуществляется прогон программы при реальных исходных данных. В результате анализа результатов расчета возможно уточнение математической модели и повторение этапов 2-5.

 

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

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

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

· детерминированность – однозначность получения результата при одних и тех же исходных данных;

· результативность – обязательность получения искомого ре­зультата за конечное число шагов;

· массовость – возможность получения результата при различ­ных исходных данных рассматриваемого класса задач;

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

 

Существуют различные способы описания алгоритмов. На прак­тике наиболее распространены следующие формы представления алгоритмов:

· словесная– последовательность действий, описанная на естественном языке;

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

· программная – текст программы на языке программирования.

 

Рассмотрим некоторые формы представления алгоритмов подробнее.

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

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

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным представлением.

При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление называется схемой алгоритма. В схеме алгоритма каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. В соответствии с логикой решения конкретной задачи, блоки связы­вают друг с другом линиями, которые называются линиями потока. Использование этого способа описания алгоритма особенно полезно на начальном этапе изучения языка программирования. На рис. В.2-1 приведен перечень основных обозначений, принятых в схемах алгоритмов.

 

Наименование Обозначение Назначение  
Пуск/останов Начало или конец обработки данных.  
Ввод/вывод Ввод исходных данных или вывод результатов.
  Процесс   Выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположения данных.
  Решение Выбор направления выполнения алгоритма в зависимости от значения логического условия
Модификация Начало регулярной циклической структуры.
Предопределенный процесс Использование ранее созданных и отдельно описанных алгоритмов.
Линии потока Указание последовательности связей между блоками.
Соединитель Указатель связей между прерван­ными линиями потока.
Комментарий Пояснения элементов схемы.
Межстраничный соединитель   Указатель связей между страницами, если схема алгоритма занимает несколько листов.

Рис. В.2-1. Основные обозначения, принятые в схемах алгоритмов

 

 

Пример В.2-1. Рассмотрим запись алгоритма нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида) с помощью схемы алгоритма.

Из выше перечисленных способов описания алгоритмов самым распространенным и наиболее наглядным является графический способ, поэтому в дальнейшем все алгоритмы будут изображаться графически, в виде схем алгоритмов, реализованные средствами графической программы Visio [10] и см. Приложение 2 настоящего пособия.

Рис В.2-2. Пример графического описания алгоритмов

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.