Практикум по курсу "Алгоритмизация и программирование". Часть 1. Андрианова А.А - 17 стр.

UptoLike

17
Задача 6. Пусть пара чисел
( , )xy
задает координаты клетки шахматной
доски. Пусть даны координаты двух клеток. Определить, являются ли они
клетками одного цвета.
После ввода координат клеток следует проверить их корректность.
Шахматная доска имеет размер 8х8. Следовательно, каждая из координат
должна быть целым числом из интервала [1;8]. Если хотя бы одна из
координат окажется некорректной, следует сообщить пользователю о
неправильном вводе.
Заметим, что белые поля шахматной доски имеют четную сумму
координат, т.е.
xy
четное число, а черные поля – нечетную сумму.
Это следует из того, что при переходе от одной клетки некоторого цвета
к другой сумма координат изменится на число, кратное 2. Например, при
движении по горизонтали (вертикали) клетки того же цвета расположены
левее (выше) на 2, 4 и т.д, или правее (ниже) на 2, 4, т.е. меняется одна из
координат на четное число. При движении по диагонали либо сумма
остается неизменной (одна координата увеличивается, другая уменьшается
на одно и то же число движение по стрелке б) на Рис.1.10), либо сумма
координат меняется на четное число бе координаты меняются на одно и то
же число, что означает неизменную разность координат движение по
стрелке а) на Рис.1.10).
Блок-схема решения задачи 6 представлена на Рис.1.11.
Код программы для задачи 6.
using System;
namespace Examples
{
class Program1
{
static void Main(string[] args)
{
int x1,y1,x2,y2;
int s1,s2;
Console.WriteLine("Введите координаты двух клеток
шахматной доски:");
int.TryParse(Console.ReadLine(), out x1);
int.TryParse(Console.ReadLine(), out y1);
int.TryParse(Console.ReadLine(), out x2);
int.TryParse(Console.ReadLine(), out y2);
if ( !(x1 >= 1 && x1 <= 8 && y1 >= 1 && y1 <= 8 &&
x2 >= 1 && x2 <= 8 && y2 >= 1 && y2 <= 8))
{
Console.WriteLine("Неправильно заданы координаты\n");
return;
    Задача 6. Пусть пара чисел ( x, y ) задает координаты клетки шахматной
доски. Пусть даны координаты двух клеток. Определить, являются ли они
клетками одного цвета.
    После ввода координат клеток следует проверить их корректность.
Шахматная доска имеет размер 8х8. Следовательно, каждая из координат
должна быть целым числом из интервала [1;8]. Если хотя бы одна из
координат окажется некорректной, следует сообщить пользователю о
неправильном вводе.
    Заметим, что белые поля шахматной доски имеют четную сумму
координат, т.е. x  y – четное число, а черные поля – нечетную сумму.
    Это следует из того, что при переходе от одной клетки некоторого цвета
к другой сумма координат изменится на число, кратное 2. Например, при
движении по горизонтали (вертикали) – клетки того же цвета расположены
левее (выше) на 2, 4 и т.д, или правее (ниже) на 2, 4, т.е. меняется одна из
координат на четное число. При движении по диагонали – либо сумма
остается неизменной (одна координата увеличивается, другая – уменьшается
на одно и то же число – движение по стрелке б) на Рис.1.10), либо сумма
координат меняется на четное число (обе координаты меняются на одно и то
же число, что означает неизменную разность координат – движение по
стрелке а) на Рис.1.10).
    Блок-схема решения задачи 6 представлена на Рис.1.11.

    Код программы для задачи 6.
    using System;

    namespace Examples
    {
        class Program1
        {
            static void Main(string[] args)
            {
                int x1,y1,x2,y2;
                int s1,s2;
                Console.WriteLine("Введите координаты двух клеток
                                                     шахматной доски:");
                int.TryParse(Console.ReadLine(), out x1);
                int.TryParse(Console.ReadLine(), out y1);
                int.TryParse(Console.ReadLine(), out x2);
                int.TryParse(Console.ReadLine(), out y2);

                if ( !(x1 >= 1 && x1 <= 8 && y1 >= 1 && y1 <= 8 &&
                        x2 >= 1 && x2 <= 8 && y2 >= 1 && y2 <= 8))
               {
                    Console.WriteLine("Неправильно заданы координаты\n");
                   return;
                                        17