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

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