Тема 3. Математические возможности Visual Basic — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Тема 3. Математические возможности Visual Basic

2021-05-27 128
Тема 3. Математические возможности Visual Basic 0.00 из 5.00 0 оценок
Заказать работу

Общие сведения

В Visual Basic, как и в любом современном языке программирования, имеется большой набор стандартных математических операций и встроенных функций. Их список приводится в таблицах.

 

Таблица 3.1

Математические операции

Операция Название Пример Результат
+ Сложение 3 + 5 9
- Вычитание 7 - 4 3
* Умножение 3 * 6 18
/ Деление 5 / 4 1.25
^ Возведение в степень 2 ^ 3 8
\ Целочисленное деление 7 \ 4 1
Mod Остаток от целочисленного деления 7 \ 4 3

 

Таблица 3.2

Математические функции

 

Название Обозначение Запись в Бейсике Пример Результат
1 2 3 4 5
Синус Sin(x) Sin(x) Sin(0) 0
Косинус Cos(x) Cos(x) Cos(0) 1
Тангенс Tg(x) Tan(x) Tan(0.785) 1
Арктангенс ArcTan(x) Atn(x) Atn(1) 0.785
Натуральный логарифм Ln(x) Log(x) Log(10) 2.302585
Модуль числа │x│ Abs(x) Abs(-12) 12
Экспонента ex Exp(x) Exp(1) 2.818282
Целая часть числа   Int(x) Int(-12.34) 13

 


Продолжение таблицы 3.2

 

1 2 3 4 5
Отсечение дробной части числа   Fix(x) Fix(-12.34) 12
Корень квадратный Sqr(x) Sqr(9) 3
Знак числа   Sgn(x) Sgn(3) Sgn(0) Sgn(-3) 1 0 -1

 

Вычисления сложных выражений

Вычисления в сложных выражениях производятся слева направо с учетом приоритета операций. Сначала выполняются операции высшего приоритета, затем более низкого. Если приоритет соседних операций одинаков, то сначала выполняется левая. Операции в порядке уменьшения приоритета располагаются следующим образом:

 

Функции > ^ > * = / = \ = Mod > + = -

Используя круглые скобки можно изменить порядок вычислений

Примеры выражений

Таблица 3.3

Выражение Запись в Visual Basic
х +3 х +3
(x + y)/4
x+y /4
Log(2*x^2)
Exp(-Abs(x))
(x+ 5)^(1/3)
Log(3 *x+ 5)/Log(10)
Sin(x)^2+Cos(x ^2)
(Log(Abs(x ^(5/3))/Log(7))^2

При вычислении сложных выражений удобнее разбить это выражение на ряд простых, вычислить их отдельно и затем вычислить исходное.

Например.

Составить программу для вычисления следующего выражения:

 

Выражение очень сложное. В частности, при его наборе очень легко ошибиться в расстановке скобок. Для снижения вероятности ошибок его можно разбить на три части и вычислить отдельно каждую из них. Тогда текст вычислительной части программы будет иметь вид:

 

A = 1+ Exp(- X^2) + Sqr(Tan(Abs(X)) – 1 / Tan(1 / X))

B = Log(1 + X^4) / Log(3) – (Sin(X) + Cos(X))^(1 / 5)

C = Atn(X / 2) – 3

Y = A / B * C

Задания

Создайте программу, вычисляющую значение функции Y для введенных значений Х.

При создании формы программы помните, что форма является средством диалога человека и машины, т.е. в нашем случае форма должна обеспечивать ввод значения Х и вывод значения функции.

 

Номер задания соответствует номеру студента по классному журналу. Проверочные значения позволяют проверить правильность составленных выражений без калькулятора[1].

Таблица 3.4

 

F(x)=Y

Проверочные значения

a B
1 2 3 4
1 2 4
2 1 3
3 1 3
4 2 5

Продолжение таблицы 3.4

 

1 2 3 4
5 1 4
6 1 5
7 1 4
8 1 2
9 3 5
10 4 6
11 1 3
12 1 5
13 1 3
14 2 5
15 1 5

Тема 4. Ветвления

 

Общие сведения

 

 

В реальных задачах, в зависимости от значений введенных переменных или от результатов промежуточных вычислений, могут потребоваться различные действия. Для реализации подобных процессов в теории алгоритмов используется базовая алгоритмическая конструкция «развилка».

 

Интерпретируется она следующим образом:

- на входе в конструкцию проверяется условие P;

- если условие верно, то выполняется действие S1;

- если условие не верно, то выполняется действие S2.

 

Развилка может быть и не полной.

 

 

В этом случае, если условие не верно, то никакие действия не выполняются.

Для реализации подобных процессов в VB имеется набор операторов.

 

Оператор условного перехода

 

Оператор условного перехода имеет следующий формат:

If <Условие> Then <Действия1> Else <Действия2>

При выполнении условия <Условие> выполняются <Действия1>, иначе - <Действия2>. Действием может быть любая последовательность операторов. Ветвь Else может быть опущена, если в ней нет необходимости.

Имеется две формы оператора If:

а) Строчная.

В этой форме вся конструкция записывается в одну строчку. При этом если в качестве действий должно выполняться несколько команд, то они записываются через двоеточие. Например:

 

If x > 0 Then a = x ^ 2 - 4: b = y - 6: c = Sin(x) Else a = Cos(x):b = 1 / x

 

б) Блочная

В этой форме ключевые слова конструкции и действия располагаются в разных строках, а сама конструкция завершается ключевым словом End If. Например:

 If x > 0 Then

a = x ^ 2 - 4

b = y - 6

c = Sin(x)

          Else

      a = Cos(x)

       b = 1 / x

End If

 

При большом количестве операторов в каждой ветви вторая форма предпочтительней.

Конструкция If … Then … Else допускает использование других вложенных конструкций, в том числе и самой себя. Например:

 

If x > 0 Then

y = x ^ 2 - 4

           Else If x = 0 Then

           y = 3 * x

             Else

               y = -x

           End if

End if

Использовать эту возможность не рекомендуется, т. к. малейшая невнимательность при составлении таких конструкций может привести к трудно находимым ошибкам в работе программы. В частности, вышеприведенный пример лучше записать в таком варианте:

If x > 0 Then y = x ^ 2 - 4

If x = 0 Then y = 3 * x

If x < 0 Then y = -x

 

В качестве условия может быть любое выражение с логическим результатом. Логические выражения могут быть очень сложными и при их составлении можно использовать следующие логические операторы:

Or - логическое «ИЛИ»;

And - логическое «И»;

Xor - исключающее «ИЛИ»;

Not - логическое «НЕ».

Их применение позволяет иногда резко упростить конструкцию If...Then. Например:

If x > 0 And x < 10 Then

 


Пример1

Составить программу, вычисляющую подоходный налог с физического лица. Допустим, что налог начисляется по следующим правилам:

Если заработная плата ниже прожиточного минимума, то налог не начисляется. Иначе величина налога равна 13% заработной платы. Прожиточный минимум принять равным 1000 руб.

 

 

Алгоритм решения задачи в виде блок-схемы выглядит следующим образом:

 

Обратите внимание, как вводится комментарии к элементам блок-схемы.

Интерфейс программы несложен:

На форме создаются два текстовых окна. Одно для ввода величины заработной платы, второе – для вывода величины налога. К каждому из этих окон для удобства ввода добавлены соответствующие комментирующие надписи – элементы Label (Надпись).

 

 

 

После запуска программы от пользователя требуется ввести в поле «Заработная плата» величину заработной платы и щелкнуть по кнопке «Расчет». В поле «Налог» будет выведено рассчитанная величина подоходного налога.

Кнопка «Выход» предназначена для выхода из программы.

Ниже приведены тексты процедур для соответствующих кнопок.

 

Private Sub CommandButton1_Click()        ‘ Кнопка «Расчет»

Z = Val(TextBox1.Text)

If Z < 1000 Then

               Nalog = 0

           Else

               Nalog =z * 0.13

           End If

TextBox2.Text = Str(Nalog)

End Sub

 

Private Sub CommandButton2_Click()         ‘ Кнопка «Выход»

End

End Sub


Пример 2

Две подружки Лены и Кати очень любят говорить по сотовым телефонам. Лена подключена по тарифу S 1 руб./мин и концу месяца наговорила T 1 мин. Катя подключена по тарифу S 2 руб./мин и концу месяца наговорила T 2 мин. Определить, чьи родители заплатят больше за телефонные переговоры.

Алгоритм решения задачи представим в словесном виде.

1. Ввести значения S1, N1, S2, N2.

2. Вычислить общую стоимость переговоров у Лены – C1 = S1 * T1

3. Вычислить общую стоимость переговоров у Кати – C2 = S2 * T2

4. Если C1 > C2, то вывести на экран надпись – «У Лены», иначе вывести надпись - «У Кати»

 

Возможный интерфейс программы представлен на рисунке. Рисунок получен в результате копирования экрана с уже работающей программой.

 

Текст программы для кнопки «Расчет» имеет вид:

 

Private Sub CommandButton1_Click()

s1 = Val(TextBox1.Text)

t1 = Val(TextBox2.Text)

s2 = Val(TextBox3.Text)

t2 = Val(TextBox4.Text)

c1 = s1 * t1

c2 = s2 * t2

If c1 > c2 Then

          s = " Лены "

Else

          s = " Кати "

End If

TextBox5.Text = s

End Sub

 

Задания (две подружки)

Номер задания соответствует номеру студента по классному журналу.

1. Катя живет в S1 этажном доме, в котором N1 подъездов, а Лена – в S2 этажном доме, в котором N2 подъездов. Определить в чьем доме больше квартир, если на лестничной площадке каждого подъезда по четыре квартиры.

2. На дискотеке Лена стрельнула глазками окружающим парням N1 раз за T1 минут. Катя сделала то же самое N2 раз за T2 минут. Определить, чья скорострельность больше.

3. На той же дискотеке Катю пригласили на танец N1 раз и при этом пытались договориться о свидании K1 раз. Лену же приглашали на танец N2 раз, а на свидание – K2 раз. Определить у какой из девушек эффективность танцев по части приглашений на свидания больше.

4. Лена пошла на дискотеку ЧГПУ, израсходовав косметики на R1 руб. и была приглашена на N1 танец раз. А Катя при подготовке к походу на ту же дискотеку израсходовала косметики на R2 руб. и была приглашена на танец N2 раз. Определить эффективность чьей косметики по части приглашений на танцы выше.

5. Для того чтобы добраться до института у Кати и Лены есть варианта - на троллейбусе или маршрутке. Троллейбус едет до института T1 минут, а маршрутка – T2 минут. Катя вышла на остановку в 7 часов M1 минут и тут же села в троллейбус. Лена вышла на остановку в 7 часов M2 минут и ей тут же подвернулась маршрутка. Кто из них доедет до института раньше.

6. Поскольку Лена и Катя учились на разных специальностях, то у них было разное количество экзаменов. У Лены было N1 конспектов по S1 страниц каждый, а у Кати N2 конспектов по S2 страниц. Определить, кому из них придется читать больше при подготовке к экзаменам?

7. Согласно учебному плану подружки Лена и Катя были отправлены на педагогическую практику в школы. Лене пришлось вести занятия в N1 лицейских классах, в которых было по M1 учеников. Кате досталось N2 обычных классов, в каждом их которых было по M2 учеников.

Определить, которая из девушек приобретет больший опыт человеческого общения (т.е. пообщается с большим количеством учеников).

8. Согласно плану педагогической практики Кате необходимо было сводить свой класс в музей. Начало экскурсии было назначено в 14 00. Но в 16 00 у нее на другом конце города было назначено свидании с очень симпатичным парнем. Экскурсия длилась T1 минут.

Определить, не опоздает ли Лена на свидание, если маршрутка от музея до места свидания едет T2 минут.

9. У Кати и Лены появились кавалеры, которые как, оказалось, являются страшными компьютерными фанатами. Они предложили им свою помощь в подготовке к экзаменам. Помощь выразилась в сканировании учебников и последующей печати текстов в уменьшенном варианте. В результате получались очень симпатичные шпаргалки площадью 8 см2. Кавалер Кати умудрился втискивать по N1 символов на 1 см2 шпаргалки, а кавалер Лены - по N2 символов. Учебник Кати состоял из S1 страниц по 320 символов на странице, а у Лены учебник состоял из S2 страниц с тем же количеством символов на странице.

Определить, у кого из девушек будет большее количество шпаргалок.

10. Кавалеры Лены и Кати не только помогли им при подготовке к экзаменам, но и открыли для них такое средство Интернета как чаты. Лена просидела в чате T1 часов и пообщалась с N1 абонентами. А достижения Кати выглядят следующим образом: общее время, проведенное в чате - T2 мин и количество абонентов - N2. Определить у кого из них большая эффективность общения.

11. Для ускорения процессов общения в чатах применяются аббревиатуры, а для выражения своих эмоций - эмотиконы (смайлики). Катя освоила А1 аббревиатур и С1 смайликов, а Лена – А2 аббревиатур и С2 смайликов. При обмене информацией о своих достижениях девушки выяснили, что Лена уже знает N1 смайликов и аббревиатур освоенных Катей. А Катя знает N2 новшеств, освоенных Леной. Определить, кто из них при обмене информацией узнал больше нового.

12. При подборе материала для курсовых работ Лене и Кате пришлось обратиться к помощи Интернет. Лена провела в Интернете T1 мин и скачала N1 страниц текстового материала. А Катя на работу в Интернете потратила T2 мин и скачала N2 страниц текстов. Определить, кто из них скачивал данные из Интернета с большей скоростью.

 

Оператор выбора

 

При большом количестве проверяемых условий конструкцию If … Then … Else лучше совсем не применять. Для этого предпочтительней использовать оператор Select Case. Он имеет следующий формат:

 

Select Case <Переменная>

Case <Значение1>

     <Действие1>

Case <Значение2>

    <Действие2>

….

Case <Значение N >

   < Действие N>

Case Else

    < Действие A>

End Select

где <Переменная> - переменная любого типа;

             <Значения> - список или диапазон значений переменной;

  < Действия> - набор операторов, которые должны выполняться при данном значении переменной;

   <Действие A > - альтернативное действие, которое должно выполниться в том случае, когда значение переменной не совпадет ни с одним из заявленных.

Если нет необходимости, то ветвь Case Else может опущена.

Например:

Select Case x

Case 1,2,5 ‘ Значения Х заданы списком

y = x ^2-4

Case 10 to 20 ‘ Значения Х заданы диапазоном

y = x -10

Case Is <=0 ‘ Значения Х заданы условием

y =3* x

Case Else    ‘ Если ни одно из значений не подходит,

y =0     ‘ то значение y приравнивается нулю

End Select

Пример

Составить программу, которая после ввода названия региона выводит его код. Предусмотреть вывод такого сообщения как: «Такого регио на в справочнике нет», если будет введен регион, которого нет среди перечисленных.

 

Алгоритм решения задачи на языке блок-схем можно представить двумя способами.

 

Первый – так, как это приводится в учебной литературе - с использованием набора элементов «развилка»:

 

Второй – согласно рекомендации ГОСТ 19.701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

 

 

 

Интерфейс программы может выглядеть следующим образом:

 

 

На форме создаются два текстовых окна. Одно для ввода названия региона, другое – для вывода найденного кода. К каждому из этих окон для удобства ввода добавлены соответствующие комментирующие надписи – элементы Label (Надпись).

После запуска программы от пользователя требуется ввести в поле «Регион» название региона и щелкнуть по кнопке «Запрос». В поле «Код» будет выведено значение кода. Если введенное название региона отсутствует в справочнике, то в поле «Регион» должно появиться сообщение - "Такого региона нет в справочнике".

Кнопка «Выход» предназначена для выхода из программы.

Ниже приведены тексты процедур для соответствующих кнопок.

Private Sub CommandButton1_Click() ‘ Кнопка «Запрос»

r = TextBox1.Text

Select Case r

Case " Москва "

  TextBox2.Text = "77"

Case " Чувашия "

  TextBox2.Text = "21"

Case " Владимир "

  TextBox2.Text = "33"

Case Else

  TextBox1.Text = "Такого региона нет в справочнике"

End Select

End Sub

Private Sub CommandButton2_Click() ‘ Кнопка «Выход»

End

End Sub

Задания на конструкцию Select Case

 

Нечетные номера решают прямую задачу, четные - обратную.

1 – 2. Задан справочник, содержащий названия городов и их междугородний телефонный код. Составить программу, которая по введенному коду определяет название города.

3. – 4. Задана следующая шкала эффективности внедрения новых технологий (%).

 

0-10 11-25 26-50 51-100 >100
невысокая средняя высокая очень высокая революционная

 

Составить программу, которая по введенной величине эффективности технологии выдает ее словесную характеристику.

5.– 6. Составить программу, которая по введенному названию дню недели выдает его порядковый номер.

7. – 8. Составить программу, которая по введенному времени суток выдает их словесную характеристику в соответствии со следующей шкалой:

 

5.00 - 9.00 9.00 - 19.00 19.00 - 23.00 23.00 - 5.00
Утро День Вечер Ночь

 

9. – 10. Составить программу, которая по введенному времени выводит название мероприятия:

 

7.00 -7.30 7.30 – 8.00 8.00 – 9.00 9.00 – 9.20 9.20 – 12.00 12.00 – 13.00 13.00 – 14.30 14.30 – 14.50 14.50 – 16.00 Оперативное совещание Выдача заданий Селекторное совещание Первый ленч Разработка проектов Обед Анализ проектов Второй ленч Анализ итогов рабочего дня

 

11. – 12. Составить программу, которая по введенному номеру месяца выводит его название.

13. – 14. Составить программу, которая по введенному библиотечному индексу выводит название предметной области в соответствии со следующей таблицей:

 

 

10 История
20 Математика
30 Физика
40 Химия
50 Биология

 


Тема  5. Циклы

 

Общие сведения

В программировании под циклами понимается многократное повторение одних и тех же действий. В теории алгоритмов определено две базовых циклических конструкции.

1. Цикл «ПОКА» - рис.1.

Конструкция интерпретируется следующим образом:

На входе в цикл проверяется условие P и, если оно верно, то выполняются действие S. В противном случае происходит выход из цикла.

По этой причине такой цикл называется также циклом с предусловием.

    2. Цикл «ДО» - рис.2.

Конструкция интерпретируется следующим образом:

Система входит в цикл, выполняет действие S и затем проверяет условие P. Если оно верно, то вновь выполняется действие S. Иначе происходит выход из цикла.

Конструкция называется также циклом с постусловием.

        

В обеих конструкциях действие S называется телом цикла и может состоять из одной или нескольких элементарных операций.

 

В Visual Basic для реализации циклов используются следующие операторы.

1) Оператор While …Wend

Является упрощенным вариантом цикла с предусловием. Общий формат:

While <Условие>

<Действие>

Wend

 

где Действие – любой набор операторов:

  Условие – любое выражение с логическим результатом.

 

2) Оператор Do … Loop

Является циклом с условиями. Применяется в тех случаях, когда число повторений заранее неизвестно. Имеется несколько форматов:

 

a) Do                   < Действие > Loop While < Условие > b) Do                   <Действие> Loop Until <Условие>
c) Do While <Условие>                 <Действие> Loop d) Do Until <Условие>               <Действие> Loop

 

где

Действие – любой набор операторов:

Условие – любое выражение с логическим результатом.

Ключевые слова While и Until определяют вид цикла.

Первое - определяет цикл «Пока». При его использовании цикл выполняется пока условие верно.

Второе – определяет цикл «До тех пор». При его использовании цикл выполняется до тех пор, пока условие не станет верным.

Вариант размещения ключевых слов зависит от программиста и определяется легкостью понимания создаваемого цикла.

 

Из рассмотрения работы циклов следует важное правило организации подобных циклов:

- действия, выполняемые внутри цикла, должны как-то влиять на условие. Если этого не происходит, то цикл станет бесконечным.

 

3) Оператор For…Next

Применяется в тех случаях, когда число повторений заранее известно. Общий формат:

 

For <Начальное значение > To <Конечное значение> Step <Шаг>

<Действие>

Next

где

Начальное и конечное значения – начальные и конечные значения

переменной, управляющей циклом;

Шаг – величина изменения управляющей переменной.

Если величина шага опущена, то он принимается равным +1;

Действие – любой набор операторов.

Например:

For I = 1 To 10

            Print I

Next

 

Или

For I = 10 To 1 Step -1

             Print I

Next

Цикл For.. Next является разновидностью цикла «ПОКА». В учебной литературе его описание на языке блок-схем выглядит следующим образом – рис 3.

Для управления циклом служит некоторая переменная, для которой задаются начальное и конечное значения и шаг изменения.

Работа цикла происходит следующим образом:

1. При входе в цикл текущее значение переменной принимается равным начальному.

2. Если текущее значение переменной больше конечного, то происходит выход из цикла.

3. Если текущее значение переменной меньше конечного, то выполняется тело цикла – S, затем к текущему значению переменной добавляется шаг цикла и система переходит на п.1.

 

Пример

На первый курс факультета было принято K студентов. Из них K 1 студентов были очень большими любителями клуба веселых и находчивых (КВН). Благодаря своей активности они каждый семестр привлекали в свои ряды по N % студентов из числа тех, кто еще не участвовал в работе клуба.

Определить, сколько студентов будет участвовать в работе КВН к концу пятого курса.

 

Алгоритм решения задачи представлен на схеме.

Прокомментируем алгоритм.

1. После ввода исходных данных вычисляется численность студентов, не участвующих в КВН - S.

2. Затем организуется цикл с десятью повторениями (10 семестров!).

3. При каждом проходе цикла (в каждом семестре) к участвующим в КВН (K1) добавляется  N% не участвующих  и вычисляется, сколько же осталось еще не вовлеченных студентов.

4. По окончании цикла выводится результат.

Интерфейс программы

 

Программная реализация

Private Sub CommandButton1_Click() ’Кнопка «Расчет»

K = Val(TextBox1.Text)

K1 = Val(TextBox2.Text)

N = Val(TextBox3.Text)

S = K - K1

For T = 1 To 10

   K 1= K 1+ S * N /100          ‘ Сколько стало КВН-щиков

   S = K - K 1            ‘ Сколько осталось не КВН-щиков

Next

TextBox4.Text = Int(K1)

End Sub

Обратите внимание на последнюю команду процедуры:

 – для того, чтобы не выводить дробное количество людей, использована функция Int (), которая округляет результат вычисления до целого числа.

 

Private Sub CommandButton2_Click() Кнопка «Выход»

End

End Sub

 

Задания

 

Всякие совпадения с реальными лицами являются случайными…

Из титров к американским блокбастерам.

 

Номер задания соответствует номеру студента по классному журналу.

При написании следующих программ Вы должны сначала решить данную математическую задачу для одного семестра (получить ответ, сколько останется студентов на факультете после первой сессии). Полученные формулы вы должны поместить в тело цикла. В теле цикла обязательно должна присутствовать операция присвоения (например, k=k+1 – переменная стоящая справа является «старым» значением переменной, а переменной слева присваивается «новое» значение).

 

Злой декан

На первый курс факультета принимается K студентов. Каждую сессию N% студентов потока получают хотя бы одну двойку. Безжалостный декан всех их тут же отчисляет. Определить сколько студентов останется на потоке к концу пятого курса.

Добрый декан

На первый курс факультета принимается K студентов. Какая-то часть из них во время сессий получают двойки. Но, жалея студентов (особенно мальчиков – им все-таки грозит армия) декан дает возможность всем пересдать свои хвосты. Кроме того, ввиду своей доброты он на каждый курс принимает по N% человек от общего количества студентов на курсе. Определить сколько студентов будет на потоке к концу пятого курса.

Справедливый декан

На первый курс факультета принимается K студентов. Каждую сессию N1% студентов на потоке получают хотя бы одну двойку. Деканат дает возможность пересдачи полученных хвостов. С этой задачей справляются только N2% студентов. Остальных приходится отчислять. Определить сколько студентов будет на потоке к концу пятого курса.

Умный декан

На первый курс факультета принимается K студентов. Каждую сессию N1% студентов получают хотя бы одну двойку. Деканат дает возможность пересдачи полученных хвостов. С этой задачей справляются N2% студентов. Кроме того, для привлечения на факультет денег на каждый курс со стороны принимается по N студентов. Определить сколько студентов получит диплом в конце пятого курса.

Интеллигентный декан

На первый курс факультета принимается K студентов. Каждую сессию N1% студентов на потоке не сдают сессию вовремя. По положению о высшей школе декан должен их отчислять. Но за N2% хвостистов приходят просить родители (или кто-то звонит сверху). Главная беда всех интеллигентов – это неумение говорить «нет». Поэтому декан всех студентов, за которых кто-то хлопочет, восстанавливает на курсе. Остальных приходится отчислять окончательно.

Определить сколько студентов останется на потоке к концу пятого курса.

Деловой декан

На первый курс факультета принимается K студентов. Каждую сессию N1% студентов на потоке не сдают сессию вовремя. По положению о высшей школе декан должен их отчислять. Но у N2% хвостистов (почему-то одних и тех же) родители крутые бизнесмены. Они приходят в деканат и договариваются о спонсорской помощи факультету.

В результате такой договоренности хвостисты благополучно продолжают учиться дальше, а на факультете появляются отделанные под евростандарт учебные классы.

Определить сколько современных классов появится на факультете к концу пятого курса.

Принципиальный декан

На первый курс факультета принимается K студентов. Каждую сессию N1% студентов на потоке не сдают сессию вовремя. По положению о высшей школе декан должен их отчислять. У N2% хвостистов очень крутые родители. Они пытаются (сами или через кого-то) договорится с деканом о поблажках для своего чада. Но декан, с его устаревшими принципами, стоит насмерть и отчисляет всех, невзирая на лица.

Определить сколько жалоб на этого декана накопится в ректорате к концу пятого курса, если учесть, что жалобы пишут только крутые родители.

Наивный декан

После каждой сессии на факультете численностью K студентов остается по M% не пересданных вовремя двоек. Декан вызывает всех несдавших и берет с них слово, что они свои хвосты пересдадут в течение последующих сессий. Все естественно это дружно обещают. Разумеется, что все обещания тут же забываются, как только закрывается дверь деканата.

Пользуясь неразберихой в документообороте, такие студенты благополучно добираются до конца пятого курса. Здесь выясняется, что диплом они получить не могут пока не будут ликвидированы все академические задолженности. Для пересдачи хвостов срочно мобилизуются все преподаватели.

Подсчитать сколько времени придется сидеть этим преподавателям, если на пересдачу одного экзамена уходит 15 минут.

Спортивный декан

На первый курс факультета принято N студентов, из которых K человек являются спортсменами. Каждую сессию N1% студентов на потоке получают хотя бы одну двойку. Декан (сам бывший спортсмен) очень заботится о спортивной славе факультета. Поэтому, если хвостист является спортсменом, то декан, используя все свое влияние, организует для них гарантированную пересдачу. Остальных он просто отчисляет.

Определить сколько студентов останется на потоке к концу пятого курса, если среди двоечников N2% спортсменов.

Несовременный декан

На первый курс факультета принимается K студентов на коммерческой основе. Каждую сессию N% из них не сдают сессию вовремя. Следуя привычкам советских времен декан благополучно отчисляет этих студентов.

Определить какую сумму недобирает вуз из-за не современности декана (т.е. разницу между суммами, которые мог бы получить факультет, если бы никого не отчисляли и реально полученными суммами). Плата за обучение равна S руб./семестр.

Женщина декан

Жила-была преподавательница вуза. И все у нее было – и вовремя защищенная диссертация, и муж, и прекрасные дети. Но однажды некая шустрая студентка по имени Татьяна увела у нее мужа. Рухнувшее семейное счастье она заменила тем, что с головой ушла в работу и довольно быстро стала деканом. 

Одним из следствий этих событий стало, то что, если очередной хвостист был девушкой по имени Татьяна, то она немедленно отчислялась. Остальным же давалась возможность пересдачи.

Определить сколько Тань останется на факультете к концу пятого курса при следующих условиях:

- на первом курсе было K студентов из них K1 девушек с именем Таня;

- каждую сессию N1% студентов получают двойки;

- доля Татьян среди хвостистов пропорциональна их доле на факультете.

Мужчина декан

Некий декан питал слабость к имени Наташа – так звали его первую любовь. Поэтому, если очередную двоечницу звали Наташей, то он делал все, чтобы она осталась в вузе. Остальные двоечники и двоечницы отчислялись по всем правилам.

Определить долю Наташ на пятом курсе при следующих условиях:

- на первый курс принималось K студентов и среди них было N девушек с именем Наташа;


Поделиться с друзьями:

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.337 с.