Школа179: /Информатика//Информатика / Архив/2009//Информатика / Архив / 2009 / 7 Б/20090216 ...

 
Это старая версия Информатика/Архив/2009/7Б/20090216 за 2009-02-18 19:46:26..

7Б 16.02.2009 Задание на робота №07 – измеряем радиацию


Архив с примерами стартовых обстановок: http://www.179.ru/~dk/robot/fields_07.zip


Ваши решения должны быть записаны в файлах с именами:
February/16/07-A.kum
February/16/07-B.kum
и т.д.

Что умеет робот?

Робот может измерять уровень радиации в клетке. Для этого есть встроенная величина радиация, равная уровню радиации в текущей клетке. Данная величина имеет вещественный (действительный) тип. Например, для того, чтобы вывести уровень радиации в каждой клетке горизонтального коридора можно использовать следующий алгоритм:



В данном случае для каждой клетки будет выведено значение радиации в этой клетке, а затем вывод будет осуществлен с новой строки (для этого нужен вывод специального ключевого слова нс, что означает новая строка).


Со значением радиация можно работать, как с обычными величинами при этом величина радиация имеет тип вещ. Величины типа вещ могут принимать вещественные (действительные) значения: 0.5, -1 и т.д.


Например, можно сохранить значение радиации в величине вещественного типа:



Во всех условиях этого листка робот находится в левом конце горизонтального коридора, заканчивающегося тупиками. Клетка, в которой находится робот, считается начальной (безопасной) и не учитывается алгоритмом. Робот должен дойти до правого конца коридора и для каждой клетки (включая самую правую, но исключая начальную клетку) выполнить определенное действие.

Задание 07-A

Пронумеруем клетки слева направо, начиная с 1, не считая начального положения робота (смотрите пример стартовой обстановки). Для каждой клетки выведите строку текста вроде «Уровень радиации в клетке n равен X», заменив n на номер клетки, а X – на значение радиации в этой клетке.


Указание. Заведите величину цел счетчик, которая будет равна номеру клетки. Выводите значение этой величины и величины радиация.

Задание 07-B

Назовем клетку опасной, если уровень радиации в этой клетке строго больше 5. Закрасьте все опасные клетки (на примерах стартовых обстановок они отмечены звездочками).


Указание: если радиация > 5 то

Задание 07-C

Подсчитайте количество опасных и безопасных клеток. Выведите после окончания алгоритма количество опасных и безопасных клеток в следующем виде (X и Y – найденные значения):


Указание: заведите счетчики числа опасных и безопасных клеток.


Ответы к примерам
01: Обнаружено 6 опасных и 9 безопасных клеток
02: Обнаружено 7 опасных и 7 безопасных клеток
03: Обнаружено 9 опасных и 0 безопасных клеток
04: Обнаружено 0 опасных и 9 безопасных клеток


Задание 07-D

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

Указание. Сначала выведите номера опасных клеток. Верните робота назад и выведите номера безопасных клеток. После вывода номера опасной или безопасной клетки нужно вывести строку, содержащую один пробел. нс нужно вывести один раз после вывода списка всех опасных клеток и один раз после вывода всех безопасных клеток.

Задание 07-E

Вычислите среднее значение радиации для всех клеток коридора (кроме начальной). Выведите полученное значение.


Указание: заведите две величины: вещ сумма радиации и цел счетчик клеток.


Ответы к примерам:
01: 4.7
02: 3
03: 4
04: 8.111111

Задание 07-F

Закрасьте все клетки, в которых уровень радиации выше средней величины.

Задание 07-G

Посчитайте количество клеток, в которых радиация выше средней величины.


Ответы к примерам:
01: 5
02: 2
03: 0
04: 3

Задание 07-H

Вычислите две величины – среднее значение уровня радиации в опасных клетках и среднее значение уровня радиации в безопасных клетках. Выведите два найденных значения. Для решения этой задачи робот должен выполнить однократный проход по коридору. Гарантируется, что в коридоре есть как опасные, так и безопасные клетки.


Указание: одновременно за один проход обрабатывать как опасные, так и безопасные клетки.

Задание 07-I

Вычислите две величины – среднее значение уровня радиации в опасных клетках и среднее значение уровня радиации в безопасных клетках. Выведите два найденных значения. Для решения этой задачи робот должен выполнить однократный проход по коридору. Гарантируется, что в коридоре есть как опасные, так и безопасные клетки.


Указание: одновременно за один проход обрабатывать как опасные, так и безопасные клетки.

Задание 07-J

Решите предыдущую задачу при дополнительном условии: если в коридоре нет опасных клеток, робот должен вывести строку «Опасных клеток нет» вместо вывода среднего значения радиации в опасных клетках, аналогично для безопасных клеток.

Задание 07-K

Определите, есть ли в данном коридоре две соседние опасные клетки. Робот должен вывести одно из двух сообщений: либо «В коридоре есть две соседние опасные клетки», либо «В коридоре нет двух соседних опасных клеток».

Задание 07-L

Закрасьте на поле те опасные клетки, рядом с которыми есть другие опасные клетки (т.е. должны быть закрашены все неодиночные опасные клетки).



 
Файлов нет.[Показать файлы/форму]