
- •Вопросы по дисциплине “Программирование на языке высокого уровня”, выносимые на экзамен в зимнюю экзаменационную сессию 2008/2009 учебного года
- •Этапы разработки программы
- •Выбор метода решения
- •Кодирование алгоритма на языке программирования
- •Испытания программы на тестах
- •Краткая характеристика языка
- •Алфавит, лексемы, разделители
- •Операция присваивания
- •Операция вывода
- •Кодирование структуры «Ветвление»
- •Ввод массива с клавиатуры
- •Кон а2. Вывод одномерного массива целых по k чисел в строке
- •А3. Вывод элементов прямоугольной матрицы по строкам
- •А4. Сумма элементов массива:
- •А5. Поиск максимального / минимального элемента
- •А6. Подсчет числа элементов массива, удовлетворяющих условию
- •А7. Выбор элементов по условию
- •А8. Проверка выполнения некоторого условия
- •А9. Поиск номера элемента, удовлетворяющего условию
- •9.1. Множества
- •CountLet : word;{количество букв}
Вопросы по дисциплине “Программирование на языке высокого уровня”, выносимые на экзамен в зимнюю экзаменационную сессию 2008/2009 учебного года
Этапы жизненного цикла программы.
Разработка, использование и утилизация
Этапы разработки программы и их содержание.
Этапы разработки программы
Процесс разработки программы можно разбить на несколько этапов, последовательности выполнения которых рекомендуется строго придерживаться.
Перечислим их:
Постановка задачи
Выбор метода решения
Разработка внешней спецификации программы (или ее сценария)
Разработка алгоритма
Кодирование алгоритма на языке программирования
Испытания программы на тестах и ее отладка.
Результаты должны быть документированы. Минимальная документация на программу должна включать:
Внешнюю спецификацию или сценарий
Систему тестов
Комментарии в тексте программы на языке программирования.
Назначение и правила представления этапов: постановка задачи, выбор метода решения, внешняя спецификация программы.
Постановка задачи
Постановка задачи, в первую очередь должна строго однозначно указать, «что дано?» и «что требуется получить»?
Задача:
<содержательная-формулировка-задачи>
Дано:
<перечисление-исходных-объектов>
Треб.:
<перечисление-требуемых-объектов>
Связь:
<связи-между-требуемым-и-исходным>
При:
<условия-допустимости-исходных-данных>
М
Угловыми скобками в этой форме выделены переменные части постановки, содержание которых зависит от конкретной проблемы, подлежащей решению.
Вообще, формальная постановка задачи необходима для того, чтобы получить возможность объективно проверить правильности разработанной программы:
Проверка правильности программы должна проводиться только относительно допустимых исходных данных. Программа считается правильной, если при всех допустимых исходных значениях она дает решения. И, с другой стороны, программа неправильная, если существуют ситуации, при которых ее результаты не соответствуют исходным значениям. Следовательно, условия допустимости исходных данных должны быть строго и полно сформулированы в постановке задачи.
Выбор метода решения
Цель данного этапа – определить теоретическую возможность решения и, в таком случае, нахождение формального правила получения решения.
Данный этап плохо формализуется. Это связано с чрезвычайно широким многообразием задач и методов их решения.
Метод решения может быть представлен
в виде системы формул (безусловной или условной)
в виде словесного изложения последовательности действий
в виде их комбинаций.
Описание метода может содержать ограничения на исходные данные, накладываемые методом.
ВНЕШНЯЯ СПЕЦИФИКАЦИЯ ПРОГРАММЫ
Внешняя спецификация программы может рассматриваться, с одной стороны, формальной инструкцией по использованию программы, а с другой – формальным техническим заданием на ее разработку.
Разработанные алгоритм и программа считаются правильными, если результаты их выполнения при любых входных данных строго соответствуют требованиям внешней спецификации. Любое несоответствие результатов считается свидетельством ошибки алгоритма или программы.
Внешняя спецификация прикладной программы включает:
назначение программы;
описание входных данных;
описание формы представления результатов при допустимых входных данных;
перечисление аномалий во входных данных и реакций программы на них.
РАЗРАБОТКА АЛГОРИТМА
Алгоритм – упорядоченная совокупность действий, приводящая за конечное число шагов к результатам, соответствующим исходным данным. Любой алгоритм предполагает исполнителя.
Кроме того, язык системы команд – искусственный, и программисты (в первую очередь, непрофессиональные) все равно вначале должны представить алгоритм на естественном и понятном для них языке.
Однозначность алгоритма заключается в однозначности правил его исполнения любым исполнителем. Результативность алгоритма означает, что его исполнение завершается определенными результатами. Результативность алгоритма – наиболее важное свойство алгоритма, поскольку деятельность, не приводящая ни к каким результатам бесполезна. Массовость алгоритма заключается в возможности его применения для решения целого класса задач с различными конкретными исходными данными. Правильность алгоритма заключается в получении результатов, однозначно соответствующих конкретным исходным данным.