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

Алгоритмизация решения задач на компьютере

Читайте также:
  1. I. ГИМНАСТИКА, ЕЕ ЗАДАЧИ И МЕТОДИЧЕСКИЕ ОСОБЕННОСТИ
  2. I. Решение логических задач средствами алгебры логики
  3. I. Розв’язати задачі
  4. I. Ситуационные задачи и тестовые задания.
  5. II Съезд Советов, его основные решения. Первые шаги новой государственной власти в России (октябрь 1917 - первая половина 1918 гг.)
  6. II. Основные задачи и функции
  7. II. Решение логических задач табличным способом
  8. II. ЦЕЛИ, ЗАДАЧИ И ПРИНЦИПЫ ДЕЯТЕЛЬНОСТИ ВОИ
  9. II. Цель и задачи государственной политики в области развития инновационной системы
  10. III. Решение логических задач с помощью рассуждений
  11. III. Цели и задачи социально-экономического развития Республики Карелия на среднесрочную перспективу (2012-2017 годы)
  12. IV. Определите, какую задачу взаимодействия с практическим психологом поставил перед собой клиент.

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

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

Этапы решения задач на компьютере:

1. Постановка задачи и ее содержательный анализ:

· сбор информации о задаче;

· формулировка условия задачи;

· определение конечных целей решения задачи;

· определение формы выдачи результатов;

· описание данных (их типов, диапазонов величин, структуры и т.д.).

2. Анализ и исследование задачи, модели:

· анализ существующих аналогов задачи;

· анализ технических и программных средств;

· разработка математической модели;

· разработка структур данных.

3. Разработка алгоритма на основе выбранного метода:

· выбор метода проектирования алгоритма;

· выбор формы записи алгоритма (блок-схемы и др.);

· выбор тестов и метода тестирования;

· проектирование алгоритма.

4. Программирование:

· выбор языка программирования;

· уточнение способа организации данных;

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

5. Тестирование и отладка программы:

· синтаксическая отладка;

· отладка семантики и логической структуры;

· тестовые расчеты и анализ результатов тестирования;

· совершенствование программы.

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

7. Сопровождение программы:

· доработка программы для решения конкретных задач;

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

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

Наиболее эффективную математическую модель можно реализовать на компьютере в виде алгоритмической модели – так называемого вычислительного эксперимента.



Создавая математическую модель для решения задачи, нужно:

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

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

· записать математические соотношения, связывающие результаты с исходными данными.

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

Характеристики алгоритмов:

· понятность;

· правильность (адекватность);

· дискретность. Выполнение алгоритма разбивается на последовательность законченных действий (шагов);

· определенность. Компьютер должен быть в состоянии выполнить каждую команду алгоритма в строгом соответствии с ее назначением;

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

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

Типы алгоритмов:

· линейный – алгоритм, в котором действия выполняются однократно последовательно без проверки каких-либо условий при любых наборах исходных данных;

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

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

‡агрузка...

Способы записи алгоритмов: словесный, формульный, графический (блок-схема), табличный, программа.

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

Обозначение основных графических элементов блок-схемы представлены на рис. 7.1:

 
 

 


Рис. 7.1. Элементы блок-схемы

 

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

Проверка текста программы может происходить с помощью просмотра, проверки и прокрутки с заданием некоторых исходных данных.

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

Тестирование – это испытание, проверка правильности работы программы.

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

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

Программа-отладчик обеспечивает следующие возможности:

· пошаговое выполнение программы с остановкой после каждой команды;

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

· установку в программе «контрольных точек», т.е. точек, в которых программа временно прекращает свое выполнение, так что можно оценить промежуточные результаты.

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

Процесс тестирования можно разделить на три этапа:

· проверка в нормальных условиях (в реальных условиях функционирования программы);

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

· проверка в исключительных ситуациях (условия, на работу в которых программа не рассчитана).

Программа должна отвергать любые данные, которые она не в состоянии обрабатывать правильно.

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

Вопросы для самоконтроля к разделу 7

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

2. Объясните необходимость разработки математической модели при решении задач.

3. Какие требования предъявляются к разрабатываемым алгоритмам решения прикладных задач?

4. Приведите примеры использования различных алгоритмов.

5. Из каких этапов состоит процесс создания программ?

6. Расскажите об основных этапах разработки программ.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 |


Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.013 сек.)