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

ol / материалы для учителей

.doc
Скачиваний:
17
Добавлен:
23.02.2015
Размер:
57.34 Кб
Скачать

Материалы для проведения школьного этапа олимпиады

по информатике, 2010-2011 учебный год

  1. Задача «Ход конем».

Оценка 15 баллов

На пустой шахматной доске в одной из клеток стоит шахматный конь.

Напишите программу, которая выводит на экран список клеток, которые конь может достичь за один ход из данной клетки.

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

На вход программы с клавиатуры поступают два целых числа x и y через пробел- координаты клетки, где стоит конь (1 <= x , y <= 8).

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

На выходе программы должен быть выведен в столбик список пар целых чисел –координаты клеток, достижимых конем из исходной клетки за один ход.

Примеры входных и выходных данных:

ввод

вывод

2 2

  1. 4

3 4

4 1

4 3

Тест

Ответ

Ответ участника

Баллы за тест

Баллы участника

1

1 1

  1. 3

  2. 2

3

2

8 8

6 7

7 6

3

3

4 4

2 3

2 5

  1. 2

3 6

5 2

5 6

6 3

6 5

3

4

6 7

  1. 6

4 8

5 5

7 5

8 6

8 8

3

5

1 2

2 4

3 1

3 3

3

Методические рекомендации учителю:

Разность соответствующих координат клеток, соединенных ходом коня, равна 1 и 2 по модулю.

Решение:

var n,i,j,k,x,y,d1,d2:integer;

begin

readln(x,y);

for i:=1 to 8 do

for j:=1 to 8 do

begin

d1:=abs(i-x);

d2:=abs(j-y);

if ((d1=1) and (d2=2)) or ((d1=2) and (d2=1)) then writeln (i,' ',j);

end;

readln

end.

  1. Задача «Кубы».

Оценка 10 баллов

Имеется некоторое прямоугольное помещение и кубы, которые предполагается в это помещение сложить.

Напишите программу, которая определяет, сколько кубов войдет в помещение

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

С клавиатуры вводится четыре числа через пробел D, A, B, C, обозначающие соответственно длину ребра куба, длину, высоту и ширину помещения

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

На экран вывести в виде числа количество кубов, вмещающихся в помещение

ввод

вывод

1 3 3 3

27

2 4 4 8

16

Тест

Ответ

Ответ участника

Баллы за тест

Баллы участника

1

2 6 8 4

24

1

2

2 3 5 9

8

3

3

5  100  100 1

0

3

4

4 50 40 5

120

3

Методические рекомендации учителю:

Kol=(A div D) * (B div D)*(C div D)

Решение:

var d,a,b,c,k:integer;

begin

readln(D,A,B,C);

k:=(a div d)*(b div d)*(c div d);

writeln(k);

readln

end.

  1. Задача «Зарплата сотрудников».

Оценка: 10 баллов.

В фирме «Арго» 10 сотрудников. В базу данных фирмы заносится информация о зарплате сотрудников.

Напишите программу, которая определяет величину самой большой зарплаты сотрудников и выводит количество сотрудников с этой максимальной зарплатой.

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

С клавиатуры вводятся 10 чисел, обозначающих зарплату 10 сотрудников в рублях.

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

На экран вывести в виде числа количество сотрудников с максимальной зарплатой.

ввод

вывод

24 21 23 22 25 24 21 24 25 23

2

Тест

Ответ

Ответ участника

Баллы за тест

Баллы участника

1

10 9 8 7 10 9 8 7 10 9

3

5

2

1 2 3 4 5 6 7 8 9 10

1

5

Методические рекомендации учителю:

Решение задачи может быть организовано как с помощью массива, так и без него.

Решение:

const n = 10;

var i, countmax, maxz: integer;

date: integer;

begin

read (date);

maxz := date;

countmax := 1;

for i := 2 to n do

begin

read (date);

if maxz < date then

begin

maxz := date;

countmax := 1

end

else if date = maxz then inc (countmax)

end;

writeln (countmax);

end.