Цель лабораторной работы: изучение концепций и освоение технологии структурного программирования, приобретение навыков структурного программирования на языке Турбо Паскаль при решении при решении логических задач.
Задание на программирование: используя технологию структурного программирования разработать разветвляющуюся программу для решения индивидуальной задачи поиска экстремума.
Порядок выполнения работы:
1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные.
2) Разработать математическую модель вычислений.
3) Построить схему алгоритма решения задачи двумя способами:
- с использованием управляющей структуры «Выбор»;
- с использованием управляющей структуры «Обход».
4) Составить программу на языке Турбо Паскаль.
5) Входные данные целого типа Integerвводить с клавиатуры по запросу.
5) Выходные данные (сообщения)выводить на экран в развернутой форме.
6) Подготовить набор тестов для проверки логики работы программы с различными исходными данными. Набор тестов представить в виде таблицы с графами: номер теста, входные данные, выходные данные.
7) Запустить программу на исполнение и проверить ее работу на каждом тесте.
8) Продемонстрировать преподавателю работу программы.
9) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.
Варианты индивидуальных заданий
x = min(a, max(b, c))
x = max(min(a, b), c)
x = min(max(a, c), b)
x = max(c, min(a, b))
x = min(max(b, c), a)
x = max(a, min(b, c))
x = min(max(a, b), c)
x = max(b, min(a, c))
x = max(min(b, c), a)
x = min(b, max(a, c))
x = max(min(a, c), b)
x = min(c, max(a, b))
x = min(a, max(b, c))
x = max(min(a, b), c)
x = min(max(a, c), b)
x = max(c, min(a, b))
x = min(max(b, c), a)
x = max(a, min(b, c))
x = min(max(a, b), c)
x = max(b, min(a, c))
x = max(min(b, c), a)
x = min(b, max(a, c))
x = max(max(a, b) + min(b, c), b+c)
x = min(min(a, c) + max(a, b), a+c)
x = max(min(b, c) + min(a, b), a)
Пример схемы алгоритма и текста программы определения экстремума для варианта задания вида:
x = max(min(a, b), max(c, d))
да нет нет
min = b
да
да нет
нет
max = c
max = d
max = d
да
да нет
нет
x = max
да
Пример программы
Program Extremum;
{Определение максимального или минимального значения
с использованием структур "выбор" и "обход".
Вычислить x = max(min(a,b), max(c,d))}
Var
a,b,c,d:Integer; {исходные данные}
max,min:Integer; {промежуточные значения}
x:Integer; {результат вычисления}
Begin
{Ввод исходных данных}
WriteLn('Введите значения a,b,c,d: ');
ReadLn(a,b,c,d);
{Решение задачи с использованием структуры "Выбор"}
If a<b {Определяем наименьшее значение между a и b}
Then min:=a
Else min:=b;
If c>d {Определяем наибольшее значение между c и d}
Then max:=c
Else max:=d;
If min>max {Определяем наибольшее значение между max и min}
Then x:=min
Else x:=max;
{Вывод результата решения с использованием структуры "Выбор"}
WriteLn('Использование структуры "Выбор": x = ',x);
{Решение задачи с использованием структуры "Обход"}
min:=a; {Определяем наименьшее значение между a и b}
If min>b
Then min:=b;
max:=c; {Определяем наибольшее значение между c и d}
If max<d
Then max:=d;
x:=min; {Определяем наибольшее значение между max и min}
If x<max
Then x:=max;
{Вывод результата решения с использованием структуры "Обход"}
WriteLn('Использование структуры "Обход": x = ',x);