Цель работы: получение навыков разработки алгоритмов разветвляющейся структуры, кодирования полученных алгоритмов, отладки и тестирования программ с разветвлениями.
Задания для подготовки к работе
1. Изучите логический тип.
2. Изучите возможности Паскаля для организации ветвлений.
3. Опишите математическое решение задачи соответствующего варианта, если необходимо.
4. Опишите блок-схему алгоритма
5. Закодируйте алгоритм.
6. Подберите наборы тестовых данных с обоснованием их выбора.
Задание варианта № 31
Определить, принадлежит ли точка P ( x, y ) четырехугольнику ABCD (область W).
Решение задачи
Запишем уравнения прямых, отрезки которых являются сторонами четырехугольника ABCD.
AB:y =- x + 1 ,
BC:y = x + 1 ,
CD: y = - x -1,
DA: y = x -1.
Четырехугольник ABCD описывается следующей системой неравенств:
Блок-схема алгоритма
Тестовые данные
№ | Исходные данные | Результаты | |
x | y | Сообщение на экране | |
Точка (1, 0) принадлежит области W | |||
Точка (1, 1) не принадлежит области W |
Текст программы
|
|
Program Point_in_area;
var x, y: real;
begin
write (‘Введите координаты точки ’);
read (x, y);
writeln (‘Точка (‘, x: 3: 2, ’,’, y: 3: 2,’);
if abs (y) >1 - abs (x) then
writeln (‘ не’);
writeln (‘ принадлежит области W ’)
end.
Анализ допущенных ошибок
Перед if была пропущена ";". Это синтаксическая ошибка.
2. Пример оформления лабораторной работы