Функции, случайные числа, генераторы тестов для задач
Первая часть разговора про функции.
- Многострочные и необработанные строки
- Вызов функции и фактические параметры
- Задание функции и формальные параметры
Модуль 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
— необязательная тема
— теоретическое задание
— тема для самостоятельного изучения