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

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
(Новая страница: « {{Описание языка Перфолента.NET-Содержание}} == Ссылки == * [http://promcod.com.ua/cat.asp?cat=perfolenta-programmig-…»)
 
м
Строка 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-Содержание}}
 
  
 
== Ссылки ==
 
== Ссылки ==

Версия 20:19, 12 сентября 2020

'Показать Содержание Описание языка Перфолента.NET'

Синтаксис языка Перфолента

2.1 Переменные. Объявление переменных, инициализация и их использование

2.2 Типы данных в языке Перфолента

2.3 Массивы. Создание массивов, заполнение данными, обращения к элементам и другие операции с массивами

2.4 Структура программы на языке Перфолента.Net

2.5 Условный оператор Если

2.6 Циклы в языке Перфолента

2.7 Оператор условного выбора блока кода Выбор Для

2.8 Функции и процедуры в языке Перфолента

2.9 Оператор Попытка. Структурная обработка ошибок

2.10 Работа с файлами

2.11 Директивы препроцессора. Выполнение действий перед компиляцией

Практика программирования на языке Перфолента

3.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/ ((Доходность_С_Риском - ДоходностьБезРиска)/цДопустимоеКоличествоДефолтов)
       
       Возврат КоличествоЭмитентов
   КонецФункции
   
   #КонецОбласти
КонецПрограммы    


Ссылки