Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа No

.2.pdf
Скачиваний:
23
Добавлен:
14.03.2016
Размер:
137.98 Кб
Скачать

Лабораторная работа №2 "Альтернативные действия"

Задача

Ф

И

 

 

О

17Формулировка. На шахматной доске стоят черный король и белые ладья и слон (ладья бьет по горизонтали и вертикали, слон – по диагоналям).

 

 

Проверить, есть ли угроза королю и если есть, то от кого

именно.

 

 

Позиция каждой шахматной фигуры задается в обычной нотации, например,

 

 

d7.

 

 

 

 

Формат входных данных: [вертикальная позиция короля] [пробел]

 

 

 

 

[горизонтальная позиция короля] [вертикальная позиция ладьи]

 

 

 

 

[горизонтальная позиция ладьи] [вертикальная позиция слона]

 

 

 

 

[горизонтальная позиция слона]. Пример: a1b2c3

 

 

 

 

Формат выходных данных: [вертикальная позиция той фигуры, которая бьет

 

 

короля] [горизонтальная позиция той фигуры, которая бьет короля]

 

 

 

 

[пробел] [вертикальная позиция той фигуры, которая бьет короля]

 

 

 

 

[горизонтальная позиция той фигуры, которая бьет короля]. Фигуры

 

 

 

 

выводятся в порядке их ввода. Если король не бьется ни одной фигурой,

 

 

то выдается no solution. Пример: b1 c3

 

 

 

 

Модификация:

 

 

 

 

[0.6]

 

 

 

 

[0.9]

 

 

 

 

[1.0]

 

 

 

 

[1.1]

 

 

 

18

На шахматной доске стоят три ферзя (ферзь бьет по вертикали,

 

 

 

горизонтали и диагоналям). Найти те пары из них, которые угрожают друг

 

 

другу. Позиция каждой шахматной фигуры задается в обычной нотации,

 

 

например, d7.

 

 

 

 

Формат входных данных: [вертикальная позиция первого ферзя]

 

 

 

 

[горизонтальная позиция первого ферзя] [вертикальная позиция второго

 

 

ферзя] [горизонтальная позиция второго ферзя] [вертикальная позиция

 

 

третьего ферзя] [горизонтальная позиция третьего ферзя]. Пример:

a1b2c3

 

 

Формат выходных данных: [вертикальная позиция ферзя из одной пары]

 

 

[горизонтальная позиция ферзя из одной пары] [пробел] [вертикальная

 

 

позиция другого ферзя из одной пары] [горизонтальная позиция другого

 

 

ферзя из одной пары] [перевод строки] [вертикальная позиция ферзя из

 

 

другой пары] [горизонтальная позиция ферзя из другой пары] и т.д.

 

 

Фигуры выводятся в порядке их ввода. Если пар нет, то выдается no

 

 

solution. Пример:

 

 

 

 

b2 c3

 

 

 

 

a1 c3

 

 

 

 

Модификация:

 

 

 

 

[0.6]

 

 

 

 

[1.0]

 

 

 

 

[1.1]

 

 

11

Лабораторная работа №2 "Альтернативные действия"

Задача

Ф

И

 

 

О

19В шашечном эндшпиле осталась белая дамка и две черные пешки, позиции которых известны. Ход белых. Сможет ли дамка за один ход срубить одну или сразу обе пешки. Считать, что дамка не может двигаться «зигзагообразно». Позиция каждой шашки задается в обычной нотации,

например, d7.

Формат входных данных: [вертикальная позиция дамки] [горизонтальная позиция дамки] [вертикальная позиция первой черной шашки] [горизонтальная позиция первой черной шашки] [вертикальная позиция

второй черной шашки] [горизонтальная позиция второй черной шашки]. Пример: a1b2d4

Формат выходных данных: [вертикальная позиция той шашки, которую бьет дамка] [горизонтальная позиция той шашки, которую бьет дамка] [пробел] [вертикальная позиция той шашки, которую бьет дамка] [горизонтальная

позиция той шашки, которую бьет дамка]. Шашки выводятся в порядке их ввода. Если дамка не бьет ни одну шашку, то выдается no solution. Пример: b2 d4

Если у дамки несколько варинтов побить шашки, то вместо пробела печатается [пробел] or [пробел]. Пример: b2 or d4

Модификация:

[0.8]

[1.0]

[1.2]

20Найти расстояние между произвольно заданными на плоскости отрезком AB и прямой, проходящей через точки С и D.

Формат входных данных: [x_a] [y_a] [x_b] [y_b] [x_с] [y_с] [x_d] [y_d]. Даны координаты соответствующих точек, которые задаются целыми числами

 

 

в диапазоне ±1000. Пример: 1 5 3 8 4 3 4 5

 

 

 

 

Формат выходных данных: [расстояние]. Расстояние представляется

 

 

вещественным числом с точностью до двух знаков. Пример: 1.20

 

 

 

 

Модификация:

 

 

 

 

[0.6]

 

 

 

 

[0.8]

 

 

 

 

[1.0]

 

 

 

21

Формулировка. Из пункта A в пункт B (расстояние между пунктами равно s0

 

 

 

м)

выехал велосипедист со скоростью v0 км/ч. Одновременно

навстречу

 

 

ему из пункта B двинулся «автостопом» другой путник: s1 м он

двигался

 

 

со

скоростью v1 м/ч, s2 м – со скоростью v2 км/ч, s3 м – со

скоростью

 

 

v3 км/ч. Через сколько часов после старта и в какой точке путники

 

 

встретились?

 

 

 

 

Формат входных данных: [s0] [v0] [s1] [v1] [s2] [v2] [s3] [v3].

 

 

Скорость задается вещественными числами в диапазоне [0,15]. Расстояние

 

 

задается целым числом в диапазоне [0,50000]. Пример: 44999 10.2 21300

 

 

3.3 3700 2.3 1000 6.6

 

 

 

 

Формат выходных данных: [время в формате часы:минуты] [пробел]

 

 

 

 

[расстояние от пункта A до места встречи в метрах]. Пример: 0:35 1500

 

 

Если решения нет, то выдается сообщение «no solution». Пример:

no

 

 

solution

 

 

 

 

Модификация:

 

 

 

 

[0.9] км/ч

 

 

 

 

[0.9]

 

 

 

 

[1.2]

 

 

12

Лабораторная работа №2 "Альтернативные действия"

Задача

Ф

И

 

 

О

22Формулировка. Лежит ли точка M(x_m, y_m) внутри прямоугольника (граница считается частью прямоугольника), заданного координатами своих вершин

 

 

A(x_a, y_a), B(x_b, y_b), С(x_с, y_с), D(x_d, y_d) на

плоскости

 

 

(вершины задаются в произвольном порядке)?

Стороны прямоугольника не

 

 

 

параллельны осям координат.

m] [y_m] [x_a] [y_a] [x_b] [y_b] [x_с] [y_с]

 

 

Формат входных данных:

 

[x_

 

 

[x_d] [y_d]. Координаты задаются целыми числами в диапазоне ±1000.

 

 

Пример:

3

3

1

5 3 3

4

5

6 3

 

 

 

 

 

 

 

 

 

 

 

Формат выходных данных:

[признак принадлежности точки прямоугольнику]:

 

 

0 – не принадлежит, 1 - принадлежит. Пример:

0

 

 

 

 

 

 

 

Модификация:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[0.7]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[0.9]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[1.2]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

Лежит ли точка M(x_m, y_m) между

прямоугольником ABCD

(граница

 

 

 

считается

частью прямоугольника), заданным

координатами своих вершин

 

 

A(x_a, y_a), B(x_b, y_b), С(x_с, y_с), D(x_d, y_d) на плоскости, и

 

 

описывающей его окружностью (граница считается частью окружности)?

 

 

Стороны

 

прямоугольника

параллельны

осям

координат.

 

Стороны

 

 

 

прямоугольника параллельны

осям координат (ошибочность этого

условия не

 

 

 

проверять)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формат входных данных: [x_m] [y_m] [x_a] [y_a] [x_b] [y_b] [x_с] [y_с]

 

 

[x_d] [y_d]. Координаты задаются целыми числами в диапазоне ±1000.

 

 

Пример:

3

3

1

5 3 3

4

5

6 3

 

 

 

 

 

 

 

 

 

 

 

Формат выходных данных:

[признак того, что точка лежит между

 

 

 

 

 

 

прямоугольником и окружностью]: 0 – не лежит, 1 – лежит. Пример: 0

Модификация:

[0.9]

[1.2]

[1.2]

24Найти расстояние от заданной точки M (x_m, y_m) до треугольника, заданным координатами своих вершин A(x_a, y_a), B(x_b, y_b), С(x_с,

y_с).

Формат входных данных: [x_m] [y_m] [x_a] [y_a] [x_b] [y_b] [x_с] [y_с]. Координаты задаются целыми числами в диапазоне ±1000. Пример: 1 5 3 8 4

3 4 5 Формат выходных данных: [расстояние]. Расстояние – вещественное число,

с точностью до двух знаков. Пример: 1.00

Модификация:

[0.8]

[0.9]

[0.9]

13

Лабораторная работа №2 "Альтернативные действия"

Задача

Ф

И

 

 

О

25Формулировка. Найти расстояние между прямой, проходящей через две точки K(x_k, y_k) и М(x_m, y_m), и треугольником на плоскости, заданным

координатами своих вершин A(x_a, y_a), B(x_b, y_b), С(x_с, y_с). Формат входных данных: [x_k] [y_k] [x_m] [y_m] [x_a] [y_a] [x_b] [y_b]

[x_с] [y_с]. Координаты задаются целыми числами в диапазоне ±1000. Пример: 0 0 1 5 3 8 4 3 4 5 Формат выходных данных: [расстояние]. Расстояние представляется

вещественным число с точностью до двух знаков. Пример: 1.23

Модификация:

[1.0]

[1.1]

[1.2]

26Формулировка. Найти расстояние между заданными на плоскости треугольником и окружностью. Между треугольником и окружностью можно

провести разграничительную

линию (это

условие не

проверять).

Треугольник задается вершинами

A(x_a, y_a),

B(x_b, y_b) и

С(x_с, y_с).

Окружность задается центром M (x_m, y_m) и радиусом r.

Формат входных данных: [x_a] [y_a] [x_b] [y_b] [x_с] [y_с] [x_m] [y_m]

[r]. Координаты задаются целыми числами в диапазоне ±1000. Радиус задается целым числом в диапазоне [1, 100]. Пример: 0 0 1 5 3 8 4 3 22 Формат выходных данных: [расстояние]. Расстояние представляется вещественным число с точностью до двух знаков. Пример: 9.21

Модификация:

[0.7]

[0.8]

[1.0]

27Даны действительные положительные числа a, b, c, d. Выяснить, можно ли построить четырехугольник с такими длинами сторон.

Формат входных данных: [a] [b] [с] [d]. Длины сторон заданы вещественными числами в диапазоне (0, 25]. Пример: 0.1 22.0 3.89 23.33 Формат выходных данных: [можно/нельзя построить четырехугольник]: 0 – нельзя построить, 1 – можно построить. Пример: 1

Модификация:

[0.6]

[0.7]

[1.2]

14

Лабораторная работа №2 "Альтернативные действия"

Задача

Ф

И

 

 

О

28Формулировка. Имеются две стены, отстоящие друг от друга на n метров. Пол между ними является зеркальным. С высоты k метров одной из стены

испускается луч лазера под углом b (0 ≤ b ≤ π) к этой стене в вертикальной плоскости (см. рис.). Найти на какой высоте луч лазера попадет в другую стену.

b

Формат входных данных: [n] [k] [b]. Расстояния задаются вещественными числами в диапазоне (0, 15]. Угол задается вещественным числом в

диапазоне [0, π]. Пример: 11.2 1.20 0.33 Формат выходных данных: [высота в метрах]. Представляется вещественным

числом с точностью до двух знаков. Если луч не попадает на противоположную стену, то выведите сообщение no solution. Пример: 1.30

Модификация:

[0.8]

[1.0]

[1.1]

29 Формулировка. Выяснить, сможет ли прямоугольник со сторонами k и l целиком уместиться в параллелограмме ABCD, заданном своими вершинами A(x_a, y_a), B(x_b, y_b), С(x_с, y_с) и С(x_d, y_d). Проверку

параллелограмма на правильность не выполнять.

Формат входных данных: [k] [l] [x_a] [y_a] [x_b] [y_b] [x_с] [y_с]

 

 

[x_d]

[y_d]. Координаты задаются целыми числами в диапазоне ±1000.

 

 

Длины

сторон задаются вещественным числом в диапазоне (0, 100]. Пример:

 

 

34.45

45.01

1

5 3 8

4

3

22

55

 

 

 

Формат выходных данных:

[признак]: 0 – прямоугольник не помещается в

 

 

параллелограмм, 1 - прямоугольник помещается в параллелограмм. Пример:

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

Модификация:

 

 

 

 

 

 

 

 

 

[0.6]

 

 

 

 

 

 

 

 

 

 

[0.8]

 

 

 

 

 

 

 

 

 

 

[1.0]

 

 

 

 

 

 

 

 

 

30

Формулировка. На плоскости заданы 4 точки A (x_a, y_a), B (x_b, y_b), C

 

 

 

(x_c, y_c), D (x_d, y_d), принадлежащие прямой. Определить минимальное

 

 

расстояние между двумя точками.

 

 

Формат входных данных:

 

[x_a] [y_a] [x_b] [y_b] [x_c] [y_c] [x_d] [y_d].

 

 

Координаты задаются целыми числами в диапазоне ±1000. Пример: 1 2 3 4 5

 

 

6

7

8

 

 

 

 

 

 

 

 

 

 

Формат выходных данных: [расстояние между точками]. Расстояние

 

 

представляется вещественным число с точностью до двух знаков. Пример:

 

 

2.89

 

 

 

 

 

 

 

 

 

 

 

Модификация:

 

 

 

 

 

 

 

 

 

[0.8]

 

 

 

 

 

 

 

 

 

 

[0.9]

 

 

 

 

 

 

 

 

 

 

[1.0]

 

 

 

 

 

 

 

 

15