Задания для подготовки к работе

 

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) Выходные параметры: нет.

 

Блок-схема функции