Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика задания + решения.doc
Скачиваний:
32
Добавлен:
11.02.2015
Размер:
1.36 Mб
Скачать

Решение:

Такие задачи решаются методом подбора. Используем метод «обратного» анализа. Так как число 22 на 3 без остатка не делится, следовательно, последняя команда может быть только «прибавь 1».  (команда 1). Число 21 кратно трем, поэтому используем команду «умножь на 3». Применение этой команды при любой возможности более рационально, так как она эффективнее, чем команда «прибавь 1», приближает нас к начальному числу (не забывайте, что рассматривается метод «обратного» анализа).  (команда 2). Рассуждая аналогично изложенному выше, получаем:  (команда 1),  (команда 2),  (команда 1), где «1» – исходное число. Так как мы использовали метод «обратного» анализа, команды надо выписать в порядке, обратном их получению: 12121. Ответ: 12121.

Задание B3.

Определите, что будет напечатано в результате работы следующего фрагмента программы:

Решение:

1) Рассмотрим программу. В программе представлен цикл, в котором переменная k увеличивается, начиная с 1, с шагом 2. Цикл завершается, когда текущее значение k, являющееся результатом предыдущего выполнения цикла (это важно, чтобы не ошибиться со значением счетчика цикла), будет больше или равно 25. Переменная s увеличивается, начиная с 3, согласно формуле , где значения s и k берутся из предыдущего выполнения цикла. По окончании цикла значение s выводится на печать. 2) Выясним, сколько раз n будет выполнен цикл. Для этого надо найти, сколько раз по 2 укладывается в 25, округлить в большую сторону (см. выделенное жирным шрифтом в первом пункте решения) и вычесть из полученного числа 1, так как начальное k = 1 (см. фрагмент программы). , то есть цикл будет выполнен 12 раз. 3) Теперь выясним, как меняется значение s. = 0,  s(0) = 3 k=1 = 1,   s(1) = 3 + 1 = 4 = 3 + 1 = s(0) + 1  = 1 + 2 = 3 = 2,   s(2) = 4 + 3 = 7 = 3 + 4 = s(0) + 4  = 3 + 2 = 5 = 3,   s(3) = 7 + 5 = 12 = 3 + 9 = s(0) + 9  = 5 + 2 = 7 = 4,   s(4) = 12 + 7 = 19 = 3 + 16 = s(0) + 16  = 7 + 2 = 9 = 5,   s(5) = 19 + 9 = 28 = 3 + 25 = s(0) + 25   и т.д. Можно с уверенностью написать формулу изменения s:   . Тогда значение s по окончании цикла будет равно: Ответ: 147.

Задание B4.

Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот начало списка: 1. ААААА 2. ААААО 3. ААААУ 4. АААОА … Запишите слово, которое стоит на 240-м месте от начала списка.

Решение:

Заменим буквы А, О, У на 0, 1, 2 соответственно: 00000 00001 00002 00010 00011 00012 00020 00021 00022 00100 … 22222. Видим, что заданные в условии задачи слова фактически являются числами троичной системы счисления, начиная с нуля (это важно для дальнейшего решения), записанными в порядке возрастания. Таким образом, нам надо вычислить, чему будет соответствовать 23910 в троичной системе счисления, ведь именно 239 будет находиться на 240-м месте, если счет идет с нуля. 239 : 3 = 79 (остаток 2) 79 : 3 = 26 (ост. 1) 26 : 3 =   8 (ост. 2) 8 : 3 =   2 (ост. 2) 2 : 3 =   0 (ост. 2). Итак, 23910 = 222123, или, заменяя цифру 1 на букву «О», цифру 2 на букву «У», получается слово УУУОУ. Ответ: УУУОУ.

Задание B5.

Дан фрагмент электронной таблицы: Какое число должно быть записано в ячейке В1, чтобы построенная после выполнения вычислений диаграмма по значениям диапазона ячеек А2 : D2 соответствовала рисунку:

Решение:

Вычислим значения, которые появятся во второй строке таблицы, для известных данных: A2 = (C1 + A1) / 2 = (3 + 3) / 2 = 3, B2 = C1 – D1 = 3 – 2 = 1, C2 = A1 – D1 = 3 – 2 = 1, D2 = B1 / 2 = ? Мы получили два одинаковых значения В2 = С2 = 1. Значение А2 не равно ни В2, ни С2. Так как на заданном графике три доли имеют равный размер, то, следовательно, должно выполняться В2 = С2 = D2. Выполним вычисления: . Ответ: 2.

Задание B6.

Определите значение переменной с после выполнения следующего фрагмента программы:

Решение:

Рассмотрим выполнение фрагмента программы построчно. a := 40,  b := 80, b := –a – 2 * b = –40 – 2 * 80 = –200, a < b,  проверка условия 40 < –200    –  нет, c := a – 2 * b = 40 – 2 * (–200) = 440. Ответ: 440.

Задание B7.

Ниже на 4-х языках записан алгоритм. Получив на вход число х, этот алгоритм печатает два числа L и M. Укажите наибольшее из таких чисел х, при вводе которого алгоритм печатает сначала 3, а потом 7.

Решение:

В ходе изложения решения задачи будем рассматривать запись алгоритма на языке Паскаль. 1) Для решения задачи необходимо понять, что делает заданная программа. Можно догадаться, что в результате работы программы в переменной L окажется количество разрядов числа, а в переменной M – сумма цифр введенного числа, но это предположение нужно доказать. 2) Как известно, для целого числа x остаток от деления на 10 (x mod 10) – это последняя цифра в десятичной записи числа, а целочисленное деление (x div 10) отсекает последнюю цифру. Например, 123 mod 10 = 3, а 123 div 10 = 12. 3) Рассмотрим заданный цикл (здесь оставлены только те операторы, которые влияют на значение x): . Из приведенного цикла видно, что на каждом шаге от десятичной записи x отсекается последняя цифра до тех пор, пока все цифры не будут отсечены, то есть x не станет равно 0; поэтому цикл выполняется столько раз, сколько цифр в десятичной записи введенного числа. При этом на каждом шаге цикла переменная L увеличивается на 1: . Других операторов, меняющих значение L, в программе нет; поэтому после завершения цикла в переменной L будет находиться число, соответствующее количеству разрядов во введенном числе х. 4) Теперь разберемся с переменной M. Оператор, в котором она меняется, выглядит так: . Учитывая, как указано выше, что (x mod 10) – это последняя цифра десятичной записи числа, а в ходе выполнения цикла выражение (x mod 10) по очереди принимает значения всех цифр исходного числа, то получается что к текущему значению М,  которое сначала равно 0, каждый раз  прибавляется очередная цифра введенного десятичного числа (по порядку справа налево). Таким образом, в переменной M будет находиться сумма всех цифр введенного числа, то есть наша догадка, высказанная в пункте 1 решения, подтверждается. Итак, если = 7 и представляет собой сумму цифр трехзначного числа, то очевидно, что наибольшее трехзначное число, соответствующее этим условиям, – 700. Ответ: 700.

Задание B8.

Укажите сумму всех оснований систем счисления, в которых запись числа 71 оканчивается на 13.

Решение:

1) Знаем, что где  – номер старшего разряда числа,        q – основание системы счисления,        an – цифра в соответствующем разряде. По условию задачи «запись числа 71 оканчивается на 13». Следовательно, основание системы счисления , так как в системах с меньшим основанием нет цифры 3. Поскольку , в интересующих нас числах может быть от 3-х до 4-х цифр. 2) Будем считать, что запись числа 71 в системе с основанием q состоит из трех цифр, причем две младшие (13) нам даны, а одну (обозначим ее через А) нужно найти. Тогда . Покажем, что при большем количестве разрядов эта формула также верна, то есть число 71 можно представить как  при некотором целом А. Действительно, например, для числа с четырьмя разрядами получаем: , где  (из первых двух слагаемых вынесли общий множитель q2). 3) Итак, , где  А – целое неотрицательное число; . Определим наибольшее возможное А с учетом условия . Из уравнения  следует . Очевидно, что чем меньше q, тем больше A. Значение А не должно быть больше  (здесь мы подставили  – наименьшее допустимое значение q). 4) Остается перебрать все допустимые значения  А (от 0 до ), решая для каждого из них уравнение , или равносильное уравнение , относительно q; причем нас интересуют только натуральные числа . При  А = 0 значение = 68. При  = 1, 2 или 3 все решения – нецелые числа. При  = 4 значения q= 4 и q= –4,25; второе решение не подходит. Итак, получаем, что искомая сумма оснований систем счисления равна 68 + 4 = 72. Ответ: 72.

Задание B9.

На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город К?

Решение:

Рассмотрим заданный граф (схему). Составим таблицу, в которую внесем с графической информационной модели следующую информацию: вершина, откуда (из каких вершин графа) в нее можно попасть, число соответствующих путей. Учтем, что если в какую-то вершину графа можно попасть из нескольких вершин, то число путей для этой вершины будет равно сумме всех путей тех вершин, из которых можно попасть в рассматриваемую вершину. Ответ: 12.

Задание B10.

У Кати есть доступ в Интернет по высокоскоростному одностороннему радиоканалу, обеспечивающему скорость получения информации 220 бит в секунду. У Сергея нет скоростного доступа в Интернет, но есть возможность получать информацию от Кати по телефонному каналу со средней скоростью 213 бит в секунду. Сергей договорился с Катей, что она скачает для него данные объемом 9 Мбайт по высокоскоростному каналу и ретранслирует их Сергею по низкоскоростному каналу. Компьютер Кати может начать ретрансляцию данных не раньше, чем им будут получены первые 1024 Кбайт этих данных. Каков минимально возможный промежуток времени (в секундах) с момента начала скачивания Катей данных до полного их получения Сергеем? В ответе укажите только число, слово «секунд» или букву «с» добавлять не нужно.