Функции и процедуры в языке Перфолента — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
м
 
Строка 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]]
 

Текущая версия на 15:07, 2 декабря 2021