Функции, случайные числа, генераторы тестов для задач

Первая часть разговора про функции.

Домашнее задание

  1. {i} Прочитать в учебнике про определение функций ( {*} можно и следующую главу), а в документации — про модуль random

  2. Произносимые слова. Сгенерировать несколько «произносимых» слов случайной длины по принципу:
    1. Согласная-гласная-согласная... и т. п.
    2. Слог-слог-слог... и т. п., где каждый слог состоит из разумного числа гласных и согласных
    3. ...то же самое с учётом частоты употребления различных букв
  3. Транспонировать матрицу, т. е. ввести таблицу (список списков или список строк, по желанию) и вывести её отраженной относительно главной диагонали, например:
      />>>>>\              /|||||\
      |  A  |              >  D  <
      | B C |              > B F <
      |D   E| превратить в >A   H<
      | F G |              > C G <
      |  H  |              >  E  <
      \<<<<</              \|||||/
    • оформить в виде функции
    • написать функцию-генератор каких-нибудь красивых таблиц, вроде приведённой
  4. Написать программу, реализующую бинарное возведение в степень для любой заданной функции (например, для возведения в степень и для умножения строки на число путём сложения строк, при этом умножение чисел и сложение строк оформляются как функции)

  5. 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-ую получающуюся последовательность.
    • Это «именная» последовательность, у неё имеется автор. Кто?

Условные обозначения


CategoryClass CategoryVmsh

LecturesVMSH/2011-11-16 (последним исправлял пользователь FrBrGeorge 2011-11-20 12:22:00)