Создайте свой контрол, отнаследовав его от TabPage, заполните его нужными элементами и затем программно добавляйте его в ваш TabControl через tabControl1.TabPages.Add(...).
Рискну предположить:15 14 6 5 11 13 12 7 1 2 3 16 17 8 9 4 10
Находим для каждой функции значение производной в одной и той же точке (можно численно) и выстраиваем в порядке возрастания.
Что-то странное вы делаете. Мало того, что пытаетесь обратиться к переменной mark до ее инициализации, так еще и сравниваете строку с числом.
Вас не смущает, что сообщение "Введена неверная оценка" появляется до ввода самой оценки?