|
|
Строка 1: |
Строка 1: |
− | Пример оформления Функций и процедур.
| + | #перенаправление [[Функции и процедуры в языке Перфолента.NET]] |
− | | |
− | | |
− | #ТипСборки КонсольноеПриложение
| |
− | #ИспользоватьСтандартнуюБиблиотеку
| |
− | ИмпортИмён Промкод.Перфолента.Консоль
| |
− | //пример использования Функций и процедур
| |
− | Программа Облигации
| |
− | //--
| |
− | Процедура Старт // основная процедура, точка начала программы
| |
− | // Как рассчитать ROE - Возврат на инвестиции - ВозвратИнвестиций
| |
− | // Собственный капитал (equity) = активы (assets) — обязательства (Долги liabilities)
| |
− | // ROE (return on equity) = прибыль (net income)/собственный капитал (equity)
| |
− | // По сути, ВозвратИнвестиций — это та процентная ставка, под которую в компании работают средства акционеров.
| |
− | // Этот показатель является ключевым для определения эффективности деятельности компании.
| |
− | #Область "Расчёт Возврата инвестиций (ROE)"
| |
− | Перем ВозвратИнвестиций, ПрибыльПослеНалогов, Активы, Долги тип Число // объявление переменных
| |
− | // инициализация переменных
| |
− | ПрибыльПослеНалогов = 100
| |
− | Активы = 200
| |
− | Долги = 600
| |
− |
| |
− | // пример простых вычислений
| |
− | ВозвратИнвестиций = ПрибыльПослеНалогов/(Активы - Долги)
| |
− | // или для акций
| |
− | // ВозратИнвестицийАкции = ДивидендыПослеНалогов/ЦенаПокупкиАкции
| |
− |
| |
− | // 1) есть операторы ВыводСтроки и ВводСтроки (редактор их красным цветом показывает)
| |
− | // после которых не надо круглые скобки ставить.
| |
− | // А есть методы объекта Консоль Вывод и ВыводПС после которых надо круглые скобочки ставить
| |
− | // т.к. это вызов метода, а не оператор...
| |
− | // 2) в стандартной библиотеке уже есть функции для вычисления факториала:
| |
− | // Математика.ФакториалЧ и Математика.ФакториалБЦ... посмотрите в синтакс помощнике объект математика,
| |
− | // там очень много математических функций...
| |
− | // объект Математика можно импортировать, что бы каждый раз это слово не писать...
| |
− | // ИмпортИмён Промкод.Перфолента.Математика
| |
− |
| |
− | ВыводСтроки "Возврат Инвестиций = "+ВозвратИнвестиций
| |
− |
| |
− | #КонецОбласти
| |
− | // 1) разложение целого числа на простые множители
| |
− | РазложениеНаМножители(232)
| |
− | // использование Факториал
| |
− | ЗначениеФакториал = фВычислитьФакториал(15)
| |
− |
| |
− | ВыводСтроки "Факториа 15 = " + ЗначениеФакториал
| |
− | // или так без перевода строки
| |
− | Вывод( "Факториа 15 = " + ЗначениеФакториал)
| |
− | // проверка Функции КоличествоЭмитентов
| |
− | // Несколько переменных, вывод прямо в ВыводСтроки без промежуточных переменных
| |
− | ВыводСтроки "Число Эмитентов = " + фКоличествоЭмитентов(6,10,2) // доходность 6% без риска, 10% с риском дефолта 2х эмитентов
| |
− |
| |
− | Пауза
| |
− | КонецПроцедуры
| |
− | #Область "Примеры Процедуры и Функции"
| |
− | //--Пример процедуры
| |
− | Процедура РазложениеНаМножители(цИсходноеЧисло тип Целое)
| |
− |
| |
− | ТекщийДелитель=2 //текущий делитель - Внутренняя переменная
| |
− | Пока цИсходноеЧисло <> 1
| |
− | Если цИсходноеЧисло % ТекщийДелитель = 0
| |
− | ВыводСтроки ТекщийДелитель
| |
− | цИсходноеЧисло/=ТекщийДелитель //целочисленное деление
| |
− | Иначе
| |
− | ТекщийДелитель++
| |
− | КонецЕсли
| |
− | КонецЦикла
| |
− | КонецПроцедуры
| |
− | // Функция вычисления факториала
| |
− | // название функции фВычислитьФакториал – префикс ф –для удобства чтобы сразу было видно что это функция
| |
− | Функция фВычислитьФакториал(цЧисло тип Целое) тип Число
| |
− | Перем Факториал тип Число = 1 // Факториал - внутренняя переменная
| |
− | Для цИндекс тип Целое = 2 По цЧисло // ц – префикс целого числа
| |
− | Факториал = Факториал * цИндекс
| |
− | // или сокращённая запись Факториал *= Инд
| |
− | КонецЦикла
| |
− | Возврат Факториал
| |
− | КонецФункции
| |
− |
| |
− | #КонецОбласти
| |
− |
| |
− | #Область "Финансы"
| |
− | // НЕПРАВИЛЬНОЕ объявление переменных функции
| |
− | // Функция фКоличествоЭмитентов(ДоходностьБезРиска, Доходность_С_Риском тип Число, цДопустимоеКоличествоДефолтов тип Число) тип Число
| |
− |
| |
− | // ПРАВИЛЬНОЕ объявление переменных функции
| |
− | // Вычисление степени диверсификации эмитентов в зависимости
| |
− | // от доходности с риском и без риска и допустимого количества дефолтов
| |
− |
| |
− | Функция фКоличествоЭмитентов(ДоходностьБезРиска тип Число, Доходность_С_Риском тип Число, цДопустимоеКоличествоДефолтов тип Число) тип Число
| |
− |
| |
− | КоличествоЭмитентов = 100/ ((Доходность_С_Риском - ДоходностьБезРиска)/цДопустимоеКоличествоДефолтов)
| |
− |
| |
− | Возврат КоличествоЭмитентов
| |
− | КонецФункции
| |
− | #КонецОбласти
| |
− | КонецПрограммы
| |
− | | |
− | [[Категория:Описание языка Перфолента.NET]]
| |