Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диагностическая Работа.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
147.96 Кб
Скачать

Тема 10. Комбинаторика.

Тип 1. Вася составляет 6-буквенные слова, в которых есть только буквы К, А, Н, Т, причём буква К используется в каждом слове ровно 2 раза. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?

Тип 2. Сколько слов длины 5, начинающихся с согласной буквы и заканчивающихся гласной буквой, можно составить из букв К, У, М, А? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.

Тип 3. Все 5-буквенные слова, составленные из букв П, О, Р, Т, записаны в алфавитном порядке и пронумерованы. Вот начало списка:

1. ООООО

2. ООООП

3. ООООР

4. ООООТ

5. ОООПО

……

Какое количество слов находятся между словами ТОПОР и РОПОТ (включая эти слова)?

Тип 4. Все 4-буквенные слова, составленные из букв М, А, Р, Т, записаны в алфавитном порядке. Вот начало списка:

1. АААА

2. АААМ

3. АААР

4. АААТ

……

Запишите слово, которое стоит на 250-м месте от начала списка.

Тип 5. Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка:

1. ААААА

2. ААААК

3. ААААР

4. ААААУ

5. АААКА

……

Укажите номер слова УКАРА.

Тип 6. Вася составляет 6-буквенные слова, в которых есть только буквы С, Л, О, Н, причём буква С используется в каждом слове ровно не менее 2х раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?

Тип 7. Необходимо составить таблицу кодовых слов для передачи секретного сообщения. В качестве кодовых слов используются 5-буквенные слова, в которых присутствуют только буквы из слова РАКУШКА, причем первая буква должна быть либо Р, либо К; последняя буква должна быть гласной. В каждом слове должно быть не менее трех гласных букв. Сколько различных кодовых слов можно использовать?

Тип 8. Сколько существует различных символьных последовательностей длины 3 в четырёхбуквенном алфавите {A,B,C,D}, если известно, что одним из соседей A обязательно является D, а буквы B и C никогда не соседствуют друг с другом?

Тема 11. Рекурсия.

Тип 1. Ниже записаны две рекурсивные процедуры: F и G:

procedure F(n: integer); forward;

procedure G(n: integer); forward;

procedure F(n: integer);

begin

if n > 0 then

G(n - 1);

end;

procedure G(n: integer);

begin

writeln('*');

if n > 1 then

F(n - 2);

end;

def F(n):

if n > 0:

G(n - 1)

def G(n):

print('*')

if n > 1:

F(n - 2)

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(11)?

Тип 2. Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:

F(0) = 1, F(1) = 1

F(n) = 2*F(n–1) + F(n-2), при n > 1

Чему равно значение функции F(6)? В ответе запишите только целое число

Тип 3. Алгоритм вычисления значений функций F(n) и G(n), где n – натуральное число, задан следующими соотношениями:

F(1) = 1; G(1) = 1;

F(n) = 2*F(n–1) – G(n–1),

G(n) = 2*F(n–1) + G(n–1), при n >=2

Чему равно значение величины F(5)-G(5)? В ответе запишите только целое число.

Тип 4. Дан рекурсивный алгоритм

procedure F(n: integer);

begin

writeln('*');

if n > 0 then begin

F(n-2);

F(n-2);

F(n div 2);

end

end;

def F(n): print('*') if (n > 0): F(n - 2) F(n - 2) F(n // 2)

Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(6)?

Тип 5. Дан рекурсивный алгоритм:

procedure F(n: integer);

begin

if n > 0 then begin

writeln('*');

F(n-2);

F(n-1);

F(n-1);

end;

writeln('*');

end;

def F(n): if (n > 0): print("*") F(n - 2) F(n - 1) F(n - 1) print("*")

Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(5)?

Тип 6. Дан рекурсивный алгоритм

procedure F(n: integer);

begin

writeln(n);

if n < 6 then begin

writeln(n);

F(n+1);

F(n+2);

F(n*2)

end

end;

def F(n): print(n) if (n < 6): print(n) F(n + 1) F(n + 2) F(n * 2)

Найдите сумму чисел, которые будут выведены при вызове F(1)

Тип 7. Ниже записаны две рекурсивные функции, F и G:

function F(n: integer): integer;

begin

if n > 2 then

F := F(n - 1) + G(n - 2)

else F := n;

end;

function G(n: integer): integer;

begin

if n > 2 then

G := G(n - 1) + F(n - 2)

else

G := n+1;

end;

def F(n):

if n > 2 :

return F(n - 1) + G(n - 2)

else:

return n

def G(n):

if n > 2 :

return G(n - 1) + F(n - 2)

else:

return n+1

Чему будет равно значение, вычисленное при выполнении вызова F(6)?

Тип 8. Дан рекурсивный алгоритм:

function F(n: integer): integer;

begin

if n < 6 then

F:= n+F(n+3) * F(2*n)

else

F:= n*2;

end;

def F(n): if (n < 6): return n + F(n + 3) * F(2 * n) else: return n * 2

Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(3)?