Задачи на сложные условия "Шахматные задачи" 9 класс

Подписи к слайдам:

Презентация к уроку информатики

9 класс

Автор: Юдин Андрей Борисович

МКОУ Плесская СОШ

PascalABC

8

7

6

5

4

3

2

1

«Шахматные»

задачи

1 2 3 4 5 6 7 8

Задачи на сложные

условия

1

Задача 1.

Даны координаты шахматной доски x и y, (целые числа, лежащие в диапазоне от 1-8). Учитывая, что левое нижнее поле доски (1;1) является черным, проверить, какого цвета поле координаты которого введены с клавиатуры.

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

2

7+3=10

Четная

5+1=6

Четная

8+4=12

Четная

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

3

4+1=5

Не четная

8+5=13

Не четная

4

Program n1;

Uses Crt;

var x,y:Integer;

begin

ClrScr;

write('Введи Х ');Readln(x);

write('Введи Y ');Readln(y);

if ((x+y) mod 2 =0) then writeln ('Черная')

else writeln ('Белая');

end.

5

Задача 2.

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

?

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

6

7

Program n2;

Uses Crt;

var x,y,x1,y1:Integer;

begin

ClrScr;

write('Введи Х ');Readln(x);

write('Введи Y ');Readln(y);

write('Введи Х1 ');Readln(x1);

write('Введи Y1 ');Readln(y1);

if (x=x1) or (y=y1) then writeln ('Попадает')

else writeln ('Не попадает');

end.

8

Задача 3.

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

?

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

9

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

10

7-3=4

5-1=4

11

Program n1;

Uses Crt;

var x,y,x1,y1:Integer;

begin

ClrScr;

write('Введи Х ');Readln(x);

write('Введи Y ');Readln(y);

write('Введи Х1 ');Readln(x1);

write('Введи Y1 ');Readln(y1);

if abs(x-x1)=abs(y-y1)then

writeln ('Попадает')

else

writeln ('Не попадает');

end.

?

12

Задача 4.

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

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

13

14

Program n4;

Uses Crt;

var x,y,x1,y1:Integer;

begin

ClrScr;

write('Введи Х ');Readln(x);

write('Введи Y ');Readln(y);

write('Введи Х1 ');Readln(x1);

write('Введи Y1 ');Readln(y1);

if ((abs(x-x1)=abs(y-y1)) or (x=x1)or (y=y1))

then

writeln ('Попадает')

else

writeln ('Не попадает');

end.

?

15

Задача 5.

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

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

16

x1=x-1 and y1=y

x1=x-1 and y1=y+1

x1=x and y1=y+1

x1=x+1 and y1=y+1

x1=x+1 and y1=y

x1=x+1 and y1=y-1

x1=x and y1=y-1

x1=x-1 and y1=y-1

17

var x,y,x1,y1:Integer;

a,b:boolean;

begin

ClrScr;

write('Введи Х ');Readln(x);

write('Введи Y ');Readln(y);

write('Введи Х1 ');Readln(x1);

write('Введи Y1 ');Readln(y1);

a:=(x1=x-1) and (y1=y) or (x1=x-1) and (y1=y+1) or (x1=x) and (y1=y+1) or (x1=x+1) and (y1=y+1);

b:=(x1=x+1) and (y1=y) or (x1=x+1) and (y1=y-1) or (x1=x) and (y1=y-1) or (x1=x-1) and (y1=y-1);

if a or b then writeln ('Попадает')

else writeln ('Не попадает');

end.

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

18

3,3

4,1

3,1

5,1

4,3

5,3

3,2

5,2

4,2

Тест

?

19

Задача 6.

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

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

20

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

21

x1=x-2 and y1=y+1

x1=x-1 and y1=y+2

x1=x+1 and y1=y+2

x1=x+2 and y1=y+1

x1=x-2 and y1=y-1

x1=x-1 and y1=y-2

x1=x+1 and y1=y-2

x1=x+2 and y1=y-1

22

var x,y,x1,y1:Integer;

a,b:boolean;

begin

ClrScr;

write('Введи Х ');Readln(x);

write('Введи Y ');Readln(y);

write('Введи Х1 ');Readln(x1);

write('Введи Y1 ');Readln(y1);

a:=(x1=x-2) and (y1=y+1) or (x1=x-1) and (y1=y+2) or (x1=x+1) and (y1=y+2) or (x1=x+2) and (y1=y+1);

b:=(x1=x-2) and (y1=y-1) or (x1=x-1) and (y1=y-2) or (x1=x+1) and (y1=y-2) or (x1=x+2) and (y1=y-1);

if a or b then writeln ('Попадает')

else writeln ('Не попадает');

end.

8

7

6

5

4

3

2

1

1 2 3 4 5 6 7 8

23

4,6

5,7

7,7

8,6

4,4

5,3

7,3

8,4

6,5

Тест

25

Список литературы:

1. Основы программирования. И. Г. Семакин, А. П. Шестаков Издательство: Высшая школа, 2001

2. 100 задач по программированию. В. А. Дагене, Г. К. Григас, К. Ф. Аугутис Издательство: Просвещение 1993

3. Паскаль для школьников, Подготовка к ЕГЭ, Кашаев С.М., Шерстнева Л.В., 2011.

4. Книга начинающего шахматиста. Левенфиш Г. Я. Издательство: Москва. «Физкультура и спорт», 1957 г.