Операторы цикла. Право-на участие в управлении АО (право голоса).Б)Получение В)На часть имущества при ликвидации.(Ликвидационая квота)

Лекция 5

По характеру отношений

Виды ценных бумаг:

1)Долевые

2)Долговые (Облигации векселя)

Право-на участие в управлении АО (право голоса).Б)Получение В)На часть имущества при ликвидации.(Ликвидационая квота).

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

Облигация (Именная и предъявительская) Удостоверяет наличие найма. Владелец в праве на получение её номинальной стоймости А так же фиксированого в ней процента. Правом выпуска облигации обладает юр лица и государства.

-Вексель-ценная бумага с обязательством выплатить определенную сумму в срок владельцу векселя (веселе держателю).Вексель может быть простым когда векселедатель является лицом обязанным произвести выплату.

Трактат когда обязательства произвести выплаты лежит на другом лице.

Виды не имущественных прав:

1)Направленные на (Имя честь достойнство)

2)Направленные на обеспечение личной не прикосновенности(право на жизнь здоровье).

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

1. Цикл for

В общем виде цикл for выглядит следующим образом:

for ( Инициализация; Условие; Порядок выполнения ) Действие;

После оператора for в скобках указываются три оператора, разделенных точ­кой с запятой:

Инициализация - начальное значение переменной счетчика;

У словие - пока это условие возвращает истину, действие будет выпол­няться;

Порядок выполнения - команда, которая должна увеличивать счетчик.

Итак, пока условие, указанное в скобках, верно, будет выпол­няться укачанное действие. Обратите внимание, что циклически будет вы­полняться только одна команда. Если необходимо выполнить несколько дей­ствий, то их нужно заключить в фигурные скобки.

Действия, которые выполняет цикл, еще называют телом цикла.

Пример 1. Рассчитаем факто­риал числа 5.

Можно явно прописать эту формулу, но это слишком просто и не универ­сально. Более эффектным решением будет использование цикла.

int F = 1, max = 5;

for (int i = 2; i >= max; i++)

{

F*=i;

}

Console.WriteLine (F);

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

Переходим к рассмотрению цикла.

Обратите внимание, что в скобках оператора for в первом операторе объявлена переменная i, которой присваивается значение 2. Действительно, здесь можно объявлять переменные, но тут нужно сказать про область видимости такой переменной. Она будет доступна только внутри цикла. За пределами цикла переменная не будет видна.

Например, следующий код будет ошибочным:

int F = 1, max = 5;

for (int i = 2; i <= max; i ++)

F *= i;

Console.WriteLine (i);

После цикла вызывается метод WriteLine (), который пытается вывести в консоль значение переменной i. Если попытаться скомпилировать этот проект, то компилятор выдаст ошибку и сообщит нам, что переменной i не существует.

Если необходимо видеть переменную и за пределами цикла, то ее нужно объявить перед циклом:

int F = 1, max = 5, i;

for (i = 2; i <= max; i++)

F * =i;

Console.WriteLine (“i= “+i+” F= “+F);

Теперь переменная i объявлена до цикла, а в скобках оператора for только задается значение. Значение переменной будет доступно и за пределами цикла, и код будет корректным.

Почему цикл начинается с 2, а не с нуля или единицы? На ноль умножать нельзя, иначе результата не будет, а на единицу бесполезно, результат не изменится.

Возвращаемся к примеру.

Второй оператор цикла for - это условие (i <= max). Это значит, что цикл будет выполняться от 2 (это мы задали в первом параметре) и до тех пор, пока значение переменной i не станет больше значения переменной max. В условии не обязательно использовать переменную, можно написать просто i<=5.

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

Когда начинает выполняться цикл, то переменная i изначально равна 2, а переменная F равна 1. Это зна­чит, что выполнив действие: F *= 1 (это то же самое, что написать F = F * i), в переменную F будет записан результат перемножения 1 на 2.

Потом программа увеличит значение счетчика i на единицу (т. е. выполнит операцию i++). После увеличения счетчика происходит проверка, если счет­чик превысил значение max, то цикл прерывается, и выполнение программы продолжается. В нашем случае счетчик на втором шаге становиться равным 3, а значит, нужно продолжать выполнение цикла. Снова выполняется дейст­вие F *= i. После выполнения первого шага цикла переменная sum равна 2, а значит, произойдет умножения этого числа на значение счетчика, т. е. на 3. Результат (6) будет записан в переменную F.

Снова увеличиваем счетчик на 1 и производим проверку. И снова счетчик еще не превысил значение max. Что произойдет дальше, уже не сложно дога­даться.

Таким образом, тело цикла выполняется от 2 до 5, т. е. 4 раза со значениями счетчика 2, 3, 4, 5. Как только счетчик станет равным 6, он превысит значе­ние переменной max, и его выполнение прервется.

Значение счетчика можно наращивать и в теле цикла.

Пример 2:

int F = 1, max = 5;

for (int i = 2; i <= max;)

{

F *= i;

i++;

}

Console.WriteLine (F);

Обратите внимание, что в скобках после for третий параметр пуст, и счетчик не увеличивается циклом. Зато он изменяется в теле цикла. Вторая команда тела цикла как раз и увеличивает счетчик.

2. Цикл while

Цикл while выполняется, пока условие верно.

В общем виде while выглядит следующим образом:

while ( условие )

Действие;

Цикл while имеет одно ограничение - если условие заведомо неверно, то действие не будет выполнено вообще ни разу.

Цикл выполняет только одно действие. Если нужно выполнить несколько действий, то их необходимо объединить фигурными скобками:

while (условие)

{

Действие 1;

Действие 2;

}

Пример 3. Расчет факториала с помощью цикла while:

int F = 1, max = 5;

int i = 2;

while (i <= max)

{

F *= i;

i++;

}

Console.WriteLine (F);

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

Посмотрите на следующий код и попробуйте определить ошибку, и к чему она приведет:

int F=l, max=5; int i = 2;

{

while (i<=max)

F *=i;

i++;

}

Console.WriteLine (F);

Фигурные скобки поставлены так, что они не несут теперь никакой смысловой нагрузкии ни на что не влияют. После цикла нет фигурных скобок, а значит, будет выполнятьсятолько одно действие - увеличение Fв i раз. Увеличе­ниепеременной i не будет происходить, а значит, она никогда непревысит число 5, и цикл никогда не завершится,он станет бесконечным. Вывод?Надо быть внимательным при написании циклов и обязательно убедиться, что ко­гда-нибудь наступит ситуация, при которой цикл прервется.

3. Цикл do..while

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: