Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2210.doc
Скачиваний:
9
Добавлен:
13.08.2019
Размер:
973.82 Кб
Скачать

Выполнение лабораторной работы

Для выполнения работы необходимо:

  • формализовать задачу;

  • разработать алгоритм решения задачи;

  • составить блок-схему алгоритма;

  • выбрать и обосновать представление входных, промежуточных и выходных данных;

  • произвести кодирование;

  • разработать набор тестов, на которых будет проверяться программа;

  • продемонстрировать работу программы на наборе тестов;

  • оформить работу и отчитаться по ней.

Методические указания к выполнению лабораторной работы

Задание

Даны координаты двух различных полей шахматной доски x1, y1, x2, y2 (целые числа, лежащие в диапазоне 1-8). Проверить истинность высказывания: «Конь за один ход может перейти с одного поля на другое».

Выполнение

Для выполнения задания необходимо составить логическое выражение, в котором проверяется истинность высказывания: «Конь за один ход может перейти с одного поля на другое».

Логическое выражение включает в себя операторы сравнения: больше, меньше, равно, и логические операторы: И, ИЛИ, НЕ.

Этап 1. Формализация. Для составления общего решения задачи, проанализируем перемещение коня по доске. Конь ходит буквой «Г». Если он располагается на клетке с координатами x1 и y1, то перейти он может на поля с координатами: x1+2 и y1+1, x1+2 и y1-1, x1-2 и y1+1, x1-2 и y1-1, x1+1 и y1+2, x1+1 и y1-2, x1-1 и y1+2, x1-1 и y1-2. Высказывание будет истинным, если среди полей, на которые может перейти конь, окажется поле с координатами x2 и y2. То есть высказывание истинно, если (x2=x1+2 и y2=y1+1) или (x2=x1+2 и y2=y1-1) или (x2=x1-2 и y2=y1+1) или (x2=x1-2 и y2=y1-1) или (x2=x1+1 и y2=y1+2) или (x2=x1+1 и y2=y1-2) или (x2=x1-1 и y2=y1+2) или (x2=x1-1 и y2=y1-2).

Этап 2. Декомпозиция. Производим декомпозицию задачи — выделяем подзадачи. Определяем, что для решения задачи необходимо выполнить следующие подзадачи:

1. Ввести координаты первого поля x1 и y1.

2. Ввести координаты второго поля x2 и y2.

3. Вывести на экран результат логического выражения (x2=x1+2 и y2=y1+1) или (x2=x1+2 и y2=y1-1) или (x2=x1-2 и y2=y1+1) или (x2=x1-2 и y2=y1-1) или (x2=x1+1 и y2=y1+2) или (x2=x1+1 и y2=y1-2) или (x2=x1-1 и y2=y1+2) или (x2=x1-1 и y2=y1-2).

Этап 3. Алгоритмизация. Составляем алгоритм решения задачи. Выстраиваем последовательность выполнения подзадач и конкретизируем решение каждой подзадачи. Используем для записи алгоритма форму блок-схемы (рис.3).

Рис.3

Этап 4. Кодирование. Переводим разработанный алгоритм на язык программирования — составляем программу. Каждому значку блок-схемы ставим в соответствие оператор языка программирования.

Язык программирования Pascal

В языке Pascal в составе логических выражений используются следующие операции:

> - больше;

< - меньше;

= - равно;

<> - неравно;

>= - больше или равно;

<= - меньше или равно;

AND - логическое И;

OR - логическое ИЛИ;

NOT - логическое НЕ.

Руководствуясь блок-схемой, записываем алгоритм на языке Pascal:

begin // начало программы

readln(x1); // ввод переменной

readln(y1); // ввод переменной

readln(x2); // ввод переменной

readln(y2); // ввод переменной

writeln('Vyskazivanie ',((x2=(x1+2)) AND (y2=(y1+1))) OR

((x2=(x1+2)) AND (y2=(y1-1))) OR ((x2=(x1-2)) AND (y2=(y1+1))) OR

((x2=(x1-2)) AND (y2=(y1-1))) OR ((x2=(x1+1)) AND (y2=(y1+2))) OR

((x2=(x1+1)) AND (y2=(y1-2))) OR ((x2=(x1-1)) AND (y2=(y1+2))) OR

((x2=(x1-1)) AND (y2=(y1-2)))); // вывод на экран результата

end. // конец программы

Переменных в нашем алгоритме четыре: x1, y1, y1 и y2. Эти переменные объявлены как целые числа, поскольку поля индексируются целыми числами. В разделе объявления переменных программы, располагающемся перед началом программы, должна содержаться следующая запись:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]