5 зачем необходимо при отладке программы тестировать все ветви алгоритма

Программирование и основы алгоритмизации: Лабораторный практикум для студентов очной и очно-заочной, заочной форм обучения направления подготовки бакалавров 220400.62 — Управление в технических системах:/ Сост. Филоненко И.Н. – Коломна: КИ (ф) МАМИ, 2015. – 45 с.

Лабораторный практикум составлен в соответствии с Государственными образовательными стандартами высшего профессионального образования по направлению подготовки бакалавров 220400.62 – Управление в технических системах.

Лабораторный практикум одобрен на заседании кафедры «Автоматизации производства и информационных технологий» Коломенского института (филиала) МАМИ, протокол № 1 от 02.02.15 и утвержден учебно-методическим советом.

Содержание

Лабораторная работа № 1 Программирование алгоритмов линейной структуры 5

Лабораторная работа № 2 Программирование алгоритмов разветвляющейся и циклической структуры.. 7

Лабораторная работа №3 Программирование алгоритмов итерационной циклической структуры.. 9

УСКОРЬ СВОЙ КОД В МИЛЛИОН РАЗ | РЕКУРСИЯ | АЛГОРИТМЫ

Лабораторная работа № 4 Обработка одномерных массивов. 12

Лабораторная работа № 5 Обработка матриц. 13

Лабораторная работа № 6 Программирование с использованием подпрограмм пользователя. 16

Лабораторная работа № 7 Обработка файловых структур данных. 19

Лабораторная работа № 8 Множественный тип данных. 24

Лабораторная работа № 9 Организация и использование статической библиотеки (Unit) в Delphi. Использование списков выбора. 26

Лабораторная работа №10 Графические средства в DELPHI 29

Приложение 1 Справка по работе с основным набором визуальных компонентов Delphi, требуемых при выполнении лабораторных работ. 31

Список использованной литературы.. 44

Лабораторная работа № 1
Программирование алгоритмов линейной структуры

Цель работы — овладение практическими навыками раз­работки и программирования вычислительного процесса ли­нейной структуры и навыками по отладке и тестированию программ.

Задания для самостоятельной подготовки

— запись констант, переменных, стандартных функций;

— правила записи арифметических выражений;

— арифметический оператор присваивания;

— организацию простейшего ввода-вывода данных.

2. Разработать алгоритм решения в соответствии с за­данием.

3. Составить программу решения задачи.

4. Подготовить тестовый вариант исходных данных и вы­числить для них вручную или с помощью микрокалькулятора значения вычисляемых в программе величин.

Задание к работе

Вычислить на ЭВМ значения переменных, указанных в табл. 1.1 (вариант задается преподавателем), по заданным расчетным формулам и наборам исходных данных. На печать вывести значения вводимых исходных данных и результаты вычислений, сопровождая вывод наименованиями выводимых переменных.

Вариант задания Расчетные формулы Значения исходных данных

Таблица 1.1 Окончание

Вариант задания Расчетные формулы Значения исходных данных

Основы Программирования — #1 — Логика. Алгоритмы

Контрольные вопросы

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

2. Указать диапазон значений величин целого и действи­тельного типов.

3. Какие имена переменных допустимы в программе? Как задать тип переменной в программе?

Читайте также:
Как правильно удалять программы с ПК

4. Указать имена стандартных функций для вычисления

, e x , sin x, ln x, .

5. Можно ли в качестве операнда в арифметическом выражении использовать: а) имя массива; б) имя стандартной функции, например SIN(Y); в) имя символьной перемен­ной или переменной логического типа?

6. Назвать последовательность действий при выполнении арифметического оператора присваивания. Допустимо ли ис­пользование величин разных типов в арифметическом вы­ражении?

7. Указать старшинство выполнения операций при вы­числении арифметического выражения.

8. Указать средства, имеющиеся в языке программиро­вания для управления размещением данных на строке. Как организовать вывод значений, сопровождая выводимое чис­ловое значение наименованием переменной? Как организо­вать пропуск одной, двух строк при выводе?

9. Как выбрать значения исходных данных для тестово­го варианта счета?

Лабораторная работа № 2
Программирование алгоритмов разветвляющейся и циклической структуры

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

Задания для самостоятельной подготовки

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

— условной и безусловной передачи управления;

— вычислительного процесса разветвляющейся струк­туры

2. Разработать алгоритм решения в соответствии с за­данием.

3. Составить программу решения задачи.

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

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

— вычислительных процессов циклической структуры с известным числом повторений в цикле;

— приема программирования — табулирования функ­ции от одного аргумента (вычисление значении функ­ции при изменении значения аргумента в заданном диапазоне с шагом Дх).

2. Разработать алгоритм табулирования функции, опре­деленной в задании А.

3. Составить программу табулирования функции.

Задание к работе

1. Вычислить значение функции, заданной в табл. 2.1 (в соответствии с вариантом задания). Осущест­вить вывод значений вводимых исходных данных и результат вычисления значения функции, сопровождая вывод наимено­ваниями переменных.

Вариант Функция Условие Исходные данные Диапазон и шаг изменения аргумента

Таблица 2.1 Окончание

Вариант Функция Условие Исходные данные Диапазон и шаг изменения аргумента

Контрольные вопросы

1. Перечислить действия, реализуемые при выполнении условного оператора.

2. Какие действия выполняются оператором перехода?

3. Что такое вычислительный процесс разветвляющейся структуры? Как организовать разветвление вычислений: а) на две ветви; б) на три ветви?

4. Составить последовательность операторов для вычис­ления величины z = 0, если х < -2;z = 1, если ; z = -1, если х >2.

5. Зачем необходимо при отладке программы тестиро­вать все ветви алгоритма?

6. Указать последовательность действий, выполняемых при организации циклических участков программы с задан­ным числом повторений.

7. Указать назначение и правила организации цикла.

8. Перечислить возможные способы организации цикла с заданным числом повторений в изучаемом языке програм­мирования.

Лабораторная работа №3
Программирование алгоритмов итерационной
циклической структуры

Цель работы — овладение практическими навыками разработки и программирования алгоритмов итерационной циклической структуры; приобретение дальнейших навыков по отладке и тестированию программ.

Читайте также:
Алгоритм разработки рабочей программы

Задания для самостоятельной подготовки

— организацию итерационных циклов;

— возможности языка программирования для органи­зации таких циклов;

— приемы программирования — вычисление суммы членов бесконечного ряда, накопления суммы.

2. Разработать алгоритм решения задачи для задания.

3. Составить программу решения задач и для задания.

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

Задание к работе

Вычислить на ЭВМ значение суммы чле­нов бесконечного ряда (табл. 3.1) с заданной точностью е. На печать вывести значение суммы и число членов ряда, вошедших в сумму.

Сравнить полученное на ЭВМ значение суммы членов ряда со значением, вычисленным вручную.

Вариант Сумма членов ряда Значение Точность вычисления
0,20 10 -5
0,10
0,15 10 -3
0,12 10 -4
0,70 10 -4
10 -4
1,5

Таблица 3.1 Окончание

Вариант Сумма членов ряда Значение Точность вычисления
1,7 10 -3
0,75
0,62 10 -4
0,20 10 -4
0,30 10 -5
0,25 10 -4

Контрольные вопросы

1. Указать отличия в организации циклов с заданным числом повторении и итерационных.

2. Какие средства языка целесообразно использовать для организации циклов с заданным числом повторений?

3. Указать, какие операторы составляют тело цикла.

4. В чем состоят преимущества использования операто­ров цикла в программах?

Лабораторная работа № 4
Обработка одномерных массивов

Цель работы — овладение практическими навыками ра­боты с массивами, особенностями их ввода и вывода, приобре­тение дальнейших навыков по организации программ цикли­ческой структуры с использованием приемов программирования.

Источник: megalektsii.ru

8 Вопрос. Отладка алгоритмов. Тестирование алгоритмов.

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

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

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

При использовании структурного тестирования для построения тестовых наборов данных возможно использование следующих критериев:

1) набор данных должен обеспечивать выполнение каждого оператора, по крайней мере, один раз;

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

Читайте также:
Как открыть программу bin

3) тестовые наборы данных в узлах ветвления с более чем одним условием должны обеспечивать перебор всех возможных сочетаний значений условий в одном узле ветвления.

9. Вопрос. Линейный алгоритм. Методика составления линейных алгоритмов

Простейшие задачи имеют линейный алгоритм решения (имееют структуру»следование»).

Алгоритм линейной структуры представляет собой последовательность действий и не содержит каких-либо условий

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

На практике линейные алгоритмы в чистом виде встречаются редко: при расчете арифметических и алгебраических выражений, при расчете по формулам, при решении ряда бытовых задач.

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

10. Вопрос. Разветвляющиеся алгоритмы. Методика составления разветвляющихся алгоритмов

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

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

В логических выражениях используется операция сравнения: < (меньше), >(больше), = (больше или равно), = (равно), <> (не равно). Часто встречаются задачи, в которых используются не отдельные условия, а совокупность связанных между собой условий (отношений). Для связи используются AND и (или) OR.

Алгоритм предполагает выполнение Действия 1, если записанное условие истинно (выполняется), и выполнение Действия 2, если условие ложно (не выполняется) – это полная развилка.

Если в алгоритме отсутствует Действие 2, т.е. если записанное условие истинно, то выполняется Действие 1, а если условие ложно, то никаких действий не выполняется – это не полная развилка.

Источник: studfile.net

1) зачем необходимо при отладке программы тестировать все ветви алгоритма. 2) может ли оператор if входить в другой if и как в этом случаи он работает?

Картинка с текстом вопроса от пользователя YANIS SHEVCHENKO

⭐⭐⭐⭐⭐ Лучший ответ на вопрос «1) зачем необходимо при отладке программы тестировать все ветви алгоритма. 2) может ли оператор if входить в другой if и как в этом случаи он работает?» от пользователя YANIS SHEVCHENKO в разделе Экономика. Задавайте вопросы и делитесь своими знаниями.

Открой этот вопрос на телефоне — включи камеру и наведи на QR-код!

Источник: shpora.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru