Функции, случайные числа, генераторы тестов для задач
Первая часть разговора про функции.
- Многострочные и необработанные строки
- Вызов функции и фактические параметры
- Задание функции и формальные параметры
Модуль random
- Проблема генератора тестов
Домашнее задание
Прочитать в учебнике про определение функций ( можно и следующую главу), а в документации ? про модуль random
- Произносимые слова. Сгенерировать несколько ?произносимых? слов случайной длины по принципу:
- Согласная-гласная-согласная... и т. п.
- Слог-слог-слог... и т. п., где каждый слог состоит из разумного числа гласных и согласных
- ...то же самое с учетом частоты употребления различных букв
- Транспонировать матрицу, т. е. ввести таблицу (список списков или список строк, по желанию) и вывести ее отраженной относительно главной диагонали, например:
/>>>>>\ /|||||\ | A | > D < | B C | > B F < |D E| превратить в >A H< | F G | > C G < | H | > E < \<<<<</ \|||||/
- оформить в виде функции
- написать функцию-генератор каких-нибудь красивых таблиц, вроде приведенной
Написать программу, реализующую бинарное возведение в степень для любой заданной функции (например, для возведения в степень и для умножения строки на число путем сложения строк, при этом умножение чисел и сложение строк оформляются как функции)
MCCME. Первая последовательность состоит из одного числа K. Каждая следующая последовательность чисел описывает предыдущую по такому правилу (пример для K=2):
2 Исходная последовательность 1 2 Одна ?двойка? 1 1 1 2 Одна ?единица?, одна ?двойка? 3 1 1 2 Три ?единицы?, одна ?двойка? 1 3 2 1 1 2 Одна ?тройка?, две ?единицы?, одна ?двойка? 1 1 1 3 1 2 2 1 1 2 Одна ?единица?, одна ?тройка?, одна ?двойка?, две ?единицы?, одна ?двойка?
Напишите программу, которая по исходному числу K напечатает N-ую получающуюся последовательность.- Это ?именная? последовательность, у нее имеется автор. Кто?
Условные обозначения
? тема по Linux
?? необязательная тема
? теоретическое задание
? тема для самостоятельного изучения