Задания для подготовки к работе. 1. Изучить логический тип, правила вычисления значений логических выражений в языке Турбо Паскаль.
1. Изучить логический тип, правила вычисления значений логических выражений в языке Турбо Паскаль.
2. Изучить возможности языка Паскаль для организации бинарного и множественного ветвлений.
3. Разработать алгоритм и составить программу для решения задачи соответствующего варианта.
4. Подобрать наборы тестовых данных.
Задание варианта № 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. Пример оформления лабораторной работы из числа работ №5 – №18
ЛАБОРАТОРНАЯ РАБОТА № 5
Использование подпрограмм при работе с двумерными массивами
Цель работы: получение навыков работы с подпрограммами и двумерными массивами.
Задания для подготовки к работе
1. Изучить способы описания и использования многомерных массивов; назначение подпрограмм, их описание и обращение к подпрограммам.
2. Разбить задачу соответствующего варианта на подзадачи таким образом, чтобы решение каждой подзадачи описывалось подпрограммой, а основная программа состояла бы из последовательности вызовов подпрограмм. Размеры матриц задать константами.
3. Для каждой подзадачи описать спецификацию и блок-схему алгоритма. Спецификация содержит заголовок подпрограммы, назначение, входные и выходные параметры.
4. Подобрать наборы тестовых данных.
Задание варианта № 31
Дана целочисленная матрица. Определить количество строк данной матрицы, упорядоченных по неубыванию элементов.
Блок-схема алгоритма
Описание структур данных
Число строк m и число столбцов n матрицы – константы.
Для хранения матрицы используем массив строк. Строка – одномерный целочисленный массив длины n.
const m=5;
n=4;
type t_diap=1..n;
t_row=array[t_diap] of integer;
t_matr=array[1..m] of t_row;
Описание подпрограмм
1. Спецификация.процедуры Read_matr.
1) Заголовок: procedure Read_matr (var a:t_matr).
2) Назначение. Ввод целочисленной матрицы а размером m´n (m=5, n=4).
3) Входные параметры: нет
4) Выходные параметры: a.
Блок-схемапроцедуры
2. Спецификация функции sort_arr.
1) Заголовок: function sort_arr (const a:t_row): boolean; .
2) Назначение. Возвращает true, если массив a размера n=4 упорядочен по неубыванию, и false - в противном случае.
3) Входные параметры: a.
4) Выходные параметры: нет.
Блок-схема функции