Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (Ведищев) + шпоры к экзамену / Алгоритмические языки.doc
Скачиваний:
51
Добавлен:
20.06.2014
Размер:
557.06 Кб
Скачать

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

Основные этапы решения задач на ЭВМ.

1. Осознание проблемы и формулировка задачи, нацеленной на решение данной проблемы. Каждый этап решения должен быть зафиксирован в виде результата, представленного в определенной форме. Результат представляется на естественном языке.

2. Формальная постановка задачи. Форма представления-- естественный язык и язык математики.

3. Разработка метода и алгоритма решения задачи. Форма представления - язык математики.

4. Разработка структур данных и процедур для работы с ними. Проектирование общей организации программы. Форма представления - псевдоязык программирования.

5. Перевод алгоритма на язык программирования. Форма представления - язык программирования.

6. Разработка системы тестов и отладка программы. Форма представления -язык программирования и машинный язык.

7. Решение поставленной задачи, получение результатов вычислений. Форма представления - язык таблиц, графиков, рисунков.

8. Обработка результатов вычисления и их интерпретация. Форма представления- язык математики и естественный язык программирования.

Постановка задачи и спецификация программ.

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

Способы записи алгоритма.

Графический вид представления алгоритма в текстовом виде на псевдоязыке программирования (естественный язык с ограничениями для записи алгоритмической конструкцией).

Ошибки в программе включают в себя :

1. синтаксические ошибки, определяемые транслятором

2. ошибки этапа выполнения (ошибки арифметических операций (деление на 0), переполнение, потеря значимости…).

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

4. Критерии качества программы (надежность, эффективность, модифицируемость, возможность многократного использования, стиль программирования). 1 час.

Критерии качества программного обеспечения.

К критериям качества относят: правильность программы, надежность, эффективность, модифицируемость, возможность многократного использования, стиль программирования.

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

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

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

Эффективность программного обеспечения может характеризоваться

двумя способами:

1. С учетом объема используемой памяти;

2. С учетом быстродействия программы.

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

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

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

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