Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1) Постановка задачи в виде текста, или информационных таблиц, или математических формул, или в любой другой форме, корректно описывающей задачу данной предметной области, например:
Задача: Посчитать объем выпускаемой продукции за некоторый промежуток времени, если известна производительность труда в каждый момент этого промежутка.
Задача: Рассчитать демографию населения на ближайшие 10 лет.
Задача: Решить квадратное уравнение.
2) Составление математической модели задачи. Задача должна быть максимально формализована и описана в виде математических формул, например:
W – объем продукции;
t0,t1 – начальное и конечное значения времени t;
T = t1 – t0;
Z(t) – производительность труда.
Производительность можно вычислить при помощи интеграла на промежутке от t до t1. интеграл от Z(t) по dt:
3)Выбор численного метода решения задач. Для численного нахождения интеграла существуют различные численные методы, например, метод прямоугольников или трапеций.
4)Составление алгоритма решения задач – четко обозначенная последовательность действий по решению конкретной задачи. Каждый алгоритм обладает следующими свойствами:
a. Конечность алгоритма, то есть решение задачи должно быть получено за конечное количество операций;
b. Определенность алгоритма (на каждом этапе алгоритма должно быть четко известно, какую операцию надо выполнить и какую операцию надо выполнить дальше.).
c. Массовость алгоритма (алгоритм должен предложить решение не данной конкретной задачи, а класса подобных задач).
Одним из наиболее распространенных языков записи алгоритмов являются блок-схемы. Блок-схема это последовательность геометрических фигур, внутри которых записана операция, а сами фигуры соединены стрелками, показывающими порядок выполнения операций. Простейшими из геометрических фигур являются следующие.
Порядок выполнения операций:
…………
Арифметический блок (или блок присваивания):
Условный блок:
нет да
Остановимся подробней на этапе составления алгоритма. Пусть дана задача: решить квадратное уравнение. Очевидно, что её математической моделью будет уравнение вида ax² +bx+c=0. Анализ задачи позволяет выявить следующие численные операции для нахождения решения:
a) x1,x2 = (-b±(b²-4ac)½)/2a, D=b²-4ac>0
a≠0
b) a≠0, D<0 – нет решений
c) a=0 => bx+c=0 => x= (-c)/b
b≠0
d) a=0 и b=0 => c=0
e) a=0, b=0 и c=0 – x- любое действительное число
f) a=0, b=0, c≠0 – нет решений.
Тогда алгоритм решения задачи можно представить в виде следующей блок-схемы:
5) Программирование – это запись алгоритма решения задачи на каком-либо языке программирования.
Языки программирования:
1-ЯВУ-языки высокого уровня; приближены к естественным языкам (Бейсик, Паскаль). Их задача: как можно быстрее запрограммировать.
2-ЯНУ-языки низкого уровня; приближены к машинным языкам. Они делятся на: а) МЯ-машинные языки;
b) МОЯ-машинно-ориентированные языки (выполняют машинные команды);
c) ЯСК-языки символического кодирования (это машинные языки, но записывающие с помощью символов).
В настоящее время ЯНУ получили общее название – ассемблеры.
6) Трансляция - это перевод с символического на машинный.
символическая команда -> машинная команда
Трансляция ЯВУ: символическую программу заменяют последовательностью машинных команд.
Существует 2 типа трансляторов:
1) интерпретатор: процесс перевода программы по шаговым методам (по одной команде) с непосредственным исполнением только что переведенной команды. Интерпретаторы совмещают в себе последовательные этапы решения задачи: компоновка и выполнение. После получения результата исходный текст программы остается без изменения. Режим интерпретации используется в работе с учебными программами, так как в этом режиме удобно выполнять еще один этап: отладка.
2) Компилятор. При компиляции исходная символьная программа рассматривается как единое исходное данное для компилятора, а результатом работы компилятора является программа пользователя, записанная в машинном коде (файл с расширеием.obj-объектная программа пользователя)
При трансляции осуществляется поиск синтаксических ошибок в операторах программ. При обнаружении ошибки трансляция прекращается и выдается сообщение об ошибке.
7) Компоновка-это процесс преобразования объектной программы в программу, способную работать в данной вычислительной системе. На этапе компоновки к объектной программе пользователя (obj) присоединяются программы операционной системы, необходимые для работы программного пользователя в данной вычислительной среде. На этом этапе возможно выявление ошибок, связанных, например, с обращением программного пользователя к устройствам или программам, не существующих в данной вычислительной системе.
8) Отладка-это процесс поиска ошибок во время исполнения программы. Для отладки программы обычно используют следующие приемы:
а) создание контрольного примера, просчитанного вручную и сравнение результата работы;
b) если результаты не равны, то поиск ошибки осуществляется методом трассировки;
с) просмотр промежуточных результатов вычисления.
Трассировка-это отслеживание порядка выполнения операторов программ. Этот способ реализуется путем вставки в программу промежуточных операторов печати. Существуют автоматические способы трассировки.
При отладке могут быть обнаружены ошибки 2-х типов:
-ошибки алгоритма;
-ошибки вычисления.
При обнаружении ошибки возможно вернуться на любой из предыдущих этапов.
9) Выполнение.
На этом этапе так же могут быть обнаружены ошибки. Как правило, существует договоренность между программистом и заказчиком по обслуживанию программы и устранению ошибок.
Дата публикования: 2015-01-13; Прочитано: 288 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!