Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен 2015 МТ8-11 / ReshayuBilety (1).docx
Скачиваний:
248
Добавлен:
12.01.2015
Размер:
1.17 Mб
Скачать

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

Технология разработки алгоритмов.

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

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

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

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

Правила разработки алгоритмов:

1. Необходимо задать множество объектов, с которыми будет работать алгоритм. Формализованное (закодированное) представление этих объектов носит название данных . Алгоритм приступает к работе с некоторым набором начальных данных, которые называют входными . В результате работы выдает данные, называемые выходными . Т.о., алгоритм преобразует входные данные в выходные.

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

В языках программирования распределение памяти осуществляется декларативными операторами (операторами описания переменных).

3. Дискретность . Алгоритм строится из отдельных шагов (действий, операций, команд). Множество шагов, из которых составлен алгоритм, конечно.

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

5. Сходимость (результативность). Алгоритм должен завершать работу после конечного числа шагов. При этом необходимо указать, что считать результатом работы алгоритма.

Разработка алгоритма методом пошаговой детализации заключается в следующем:

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

Достоинства метода пошаговой детализации:

1. Сохраняется концептуальная целостность программы: от сложного к простому.

2. Проектирование программы, кодирование, проверку и документирование можно делать параллельно.

3. В каждый момент времени (даже в начале разработки) имеется работающий вариант программы.

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

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

Существуют три фундаментальные формы структур управления. (3 Базисные Структуры)

1(Следование) Последовательность, которая состоит из операторов, перечисленных в определенном порядке. Ее выполнение состоит в выполнении каждого из этих операторов в том же порядке.

2(Цикл с предусловием?) Цикл, который содержит последовательность операторов, выполняемую многократно.

3(Ветвление?) Выбор, состоящий из условия и двух последовательностей операторов. Выполнение состоит из выполнения либо одной, либо другой последовательности, в зависимости от того, принимает ли условие — булевское выражение — значение True или False. Структура может быть обобщена на случай выбора из нескольких возможностей.

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

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

Язык программирования - это строго формализованный язык для описания процесса решения задачи на ЭВМ, представляет собой совокупность ограниченного набора символов и строгих правил их использования.

В процессе создания любой программы можно выделить несколько этапов.

1. Постановка

2. Анализ задачи и

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

4. Проектирование общей структуры программы

5. Кодирование

6. Отладка и тестирование программы.

7. Анализ результатов

8. Публикация результатов работы, передача заказчику для эксплуатации.

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

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

10. Тестирование и отладка программ. Этапы и методы отладки программ. Виды и свойства тестов. Примеры составления тестов. Средства и методы получения информации о процессе прохождения программы. Отладочная печать. ПРИМЕРЫ.

Отладка программы является итеративным процессом обнаружения и исправления ошибок и обычно требует последовательного выполнения четырех этапов:

• выявления ошибки;

• локализации ошибки в тексте программы;

• установления причины ошибки;

• исправления ошибки.

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

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

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

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

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

Соседние файлы в папке Экзамен 2015 МТ8-11