Робота з операціями

Лічильник в шаблон Команд (далі Шаблон Команд буде іменуватися ШК) операції «Заміна-Вставка» - фактично це просто числова змінна, простіше кажучи, осередок пам'яті, де зберігається заданий користувачем ціле або дробове число. В процесі виконання операції заміни-вставки це число може автоматично перетворювати всі по заданій в параметрах лічильника формулою, наприклад кожен крок операції до нього може автоматично додаватися будь-яке інше число, або над ним може проводитися будь-яка інша математична операція, наприклад множення або ділення . Отриманий результат, званий «поточним значенням лічильника». може бути використаний для вставки в текст УП або заміни їм якого-небудь числового виразу в тексті УП.

В ШК лічильники завжди задаються всередині квадратних дужок, наприклад [G: 20/1 | @ - | F0.1]. Структура лічильника в ШК має наступний вигляд:

[Ім'я: Початкове значення / приріст | @ Вид операції | Fформат результату | Вид зміщення]

Опис елементів структури лічильника:
  1. Ім'я лічильника - ШК може містити більше одного лічильника, якщо бути точним, максимальна кількість лічильників, яке може бути в ньому задано - це 37. Тому ім'я є важливим параметром лічильника, програма «UP Corrector» при виконанні операції заміни-вставки розрізняє лічильники саме по іменах. Ім'я лічильника завжди складається з одного символу, яким може бути будь-яка цифра або латинська буква. Цим і визначається максимально можливе число лічильників в ШК: 26 латинських букв + 10 цифр + ще один додатковий лічильник за замовчуванням. у якого немає імені - тобто всього 37.
  • Початкове значення - число (дробове або ціле, позитивне або негативне), яке буде поточним значенням лічильника при виконанні першого кроку операції заміни-вставки. Тобто якщо у вас, наприклад, задано в ШК вставляти нову стоку кожен крок операції, і цей рядок має містити число, задане в лічильнику, в першій такій вставленої рядку буде число, що дорівнює початковому значенню лічильника. Якщо в процесі виконання операції заміни-вставки в ручному (покроковому) режимі користувач змінює в ШК початкове значення якого-небудь лічильника, його нове початкове значення автоматично стає його поточним значенням.
  • Приріст - це число (дробове або ціле, позитивне або негативне), що використовується для зміни поточного значення лічильника кожен раз після виконання чергового кроку операції заміни-вставки. Яким чином буде здійснюватися ця зміна (яка математична операція буде застосована), задається в параметрі «@ Вид операції». Приклад: Якщо в якості початкового значення лічильника у вас задано «100», а приріст одно «10», і «@ вид операції» задає додавання, то при виконанні першого кроку операції поточне значення лічильника дорівнюватиме «100», при виконанні другого - «110», третього - «120», і т.д. В ШК приріст має відділятися від початкового значення символом «/», наприклад «100/10». Якщо після збільшення задані додаткові параметри лічильника (вид операції та формат), вони повинні бути відокремлені від збільшення символом «|», наприклад: «100/10 | @ *»
  • @ Вид операції - задає, яка математична операція буде використана для зміни поточного значення лічильника кожен раз після виконання чергового кроку операції заміни-вставки. Першим операндом (числом, що піддаються зміні за допомогою даної математичної операції) є поточне значення лічильника, другим (тим, яке використовується для зміни першого числа, але сама не змінюється) є приріст лічильника. Наприклад, якщо задана операція множення, кожен крок циклу операції заміни-вставки поточне значення лічильника буде множитися на приріст, і отриманий результат буде ставати новим поточним значенням лічильника. Наприклад, якщо початкове значення лічильника одно «2», приріст «5», і вид операції задає множення, в перший крок циклу поточне значення лічильника дорівнюватиме «2», у другій «10», в третій «50», в четвертий « 250 »і т.д.
    У версії 1.0 «UP Corrector» набір операцій, доступних для використання в якості виду операції лічильників, складається з 4-х операцій:

  • Як можна бачити, вид операції завжди починається з символу «@», після якого йде власне сам символ використовуваної математичної операції.
    Вид операції відноситься до необов'язковим параметрам, тобто тим, які можуть бути опущені. За замовчуванням (якщо вид операції у лічильника не заданий) вид операції вважається рівним «@ +». Якщо після виду операції заданий параметр «FФормат результату», він повинен бути відділений від виду операції символом «|», наприклад «@ - | F0.1»
  • FФормат результату - задає формат, в якому поточне значення вставлятиметься в текст УП. Простіше кажучи, за допомогою формату ви може вказати, вставляти його в текст, як ціле або дробове число, і якщо як дробове, не більше скількох символів після коми це число повинне містити. При цьому підгонка числа під заданий формат здійснюється математично, а не символьно, тобто проводиться не відкидання зайвих символів, а округлення числа до заданого числа символів після коми. Слід мати на увазі, що округлення здійснюється саме при вставці числа в текст УП, в самому ж лічильнику число залишається незмінним (неокруглённим).
    Параметр формату результату можна поділити на 4 складові, кожна з яких задається одним символом:
    • F - ознака наявності параметра формату результату, простіше кажучи, за наявністю даного символу лічильник розпізнає, що параметр формату результату у нього заданий.
    • Формат цілого - цифра, вказує, мінімум з скількох цифр повинна складатися ціла частина вставляється в текст числа. При меншій кількості символів число буде доповнюватися незначущими нулями, за винятком випадків, коли цим числом є 0. Наприклад, якщо формат цілого заданий рівним 5, а поточне значення лічильника дорівнює «1.02», то в текст буде вставлено число «00001.02», якщо ж поточне значення лічильника рано 0, в текст буде вставлено не "00000», а «0». Якщо формат цілого заданий рівним 0, число вставляється «як є», без додавання незначних нулів. За замовчуванням (якщо формат цілого не заданий), формат цілого вважається рівним 0.
    • . - символ, що розділяє «формат цілого» і «формат дрібного» в параметрі Формату результату. Допускається, щоб замість символу точки як роздільник форматів цілого і дробового використовувалася кома.
    • Формат дрібного - цифра, яка вказує максимум скільки цифр може мати число після коми. За замовчуванням вважається рівним 3. Якщо цифр після коми менше, ніж задано в форматі дрібного, число вставляється «як є», якщо ж цифр більше, число округляється до заданого числа цифр. Таким чином якщо формат дрібного заданий рівним 0, число буде округлятися до цілого. На відміну від цифр 0-8, цифра 9 як значення формату дрібного задає не конкретне допустиму кількість цифр після коми, а дозволяє використовувати максимально можливу кількість цифр після коми, яке у лічильника формально нічим не обмежена (ну, скажімо, може досягати більше 9000 цифр), але в практичному плані обмежена точністю в 18 значущих цифр (тобто з усіх цифр числа тільки його перші або останні 18 цифр можуть містити цифри, відмінні від 0 - для розуміння вищесказаного вам слід ознайомитися з розділом «формат чисел з плаваючою з апятой операції Заміна-Вставка »).

    Формат результату є необов'язковим параметром. Якщо він опущений, він вважається рівним «F0.3». Так само допускається опускати формат цілого або формат дрібного при завданні параметра формату результату. Приклади формату результату:
    «F2.5», «F1» (формат дрібного опущений, що рівнозначно «F1.3»), «F.2» (формат цілого опущений, що рівнозначно «F0.2»).
  • Вид зміщення - задає, як буде здійснюватися зміна поточного значення лічильника після кожного кроку операції, тобто чи буде воно виконуватися автоматично відповідно до заданих параметрів "Приріст" і "@ Вид операції" лічильника, або ж користувач повинен керувати ним "вручну" за допомогою додавання в ШК спеціальної команди математичного перетворення (див. "команду @" в описі команд ШК) . Вид зміщення є односимвольних параметром, тобто задається за допомогою одного символу: "!". Якщо цей параметр заданий, вид зміщення є "ручним", якщо відсутній - автоматичним. Наприклад [1: 2/1 |!] - це лічильник з ручним зміщенням, а [1: 2/1] - з автоматичним.
  • Лічильник за замовчуванням - це лічильник, початкове значення і приріст якого задаються не в ШК, а виведені в вікно операції «Заміна-Вставка» і задаються в полях «Лічильник поч / крок» її налаштувань. Крім того, на відміну від всіх інших лічильників, лічильник за замовчуванням не має імені. Таким чином, цей лічильник задається в ШК з мінімальним набором параметрів, а то і зовсім без них, наприклад, якщо вставити в ШК просто порожні квадратні дужки "[]", це означатиме лічильник за замовчуванням, у якого видом операції є операція за замовчуванням (складання) і форматом результату є формат за замовчуванням (тобто F0.3).
    Лічильник «за замовчуванням» введений для спрощення створення ШК і спрощення використання лічильників в ШК - якщо в створюваному вами ШК буде задіяно не більше 1-го лічильника (а таке ймовірно матиме місце в більшості випадків), лічильник за замовчуванням дозволить зробити ШК більш компактним і простіше сприймаються.

    Слід зауважити, поля «Лічильник поч / крок» вікна операції «Заміна-Вставка» можуть містити числа, що складаються не більше ніж з 9-ти символів (включаючи знак мінуса і кому розділяє цілу і дробову частини числа), цим лічильник за замовчуванням відрізняється від інших лічильників, у яких і початкове значення і приріст задаються в ШК і тому не мають настільки суворих обмежень в довжині прийнятих чисел.

    Лічильник з одним і тим же ім'ям може бути вказаний в ШК більше 1-го разу. Однак існує різниця між першою згадкою лічильника в ШК і всіма подальшими його згадками. Перше (найближче до початку тексту ШК) згадка лічильника в ШК, в тому числі, задає цей лічильник, і значить має містити всі його параметри: початкове значення, приріст, вид операції, формат результату. При повторних згадках лічильника в ШК знову ставити йому параметри не потрібно, так як вони вже задані, слід вказати тільки ім'я лічильника, наприклад: [S:]. Повторне згадка лічильника дозволяє операції заміни-вставки використовувати поточне значення вказаного лічильника повторно для якихось інших дій, ніж в першій згадці цього лічильника.

    Приклад 1: [1: 100,01 / 3 | @ / | F.2]
    Опис прикладу: Ім'я - «1», початкове значення - «100,01», приріст - «3», вид операції - поділ, формат результату: ціла частина числа «як є», подрібнена - не більше 2-х знаків після коми .

    Приклад 2: [S: -12/1]
    Опис прикладу: Ім'я - «S», початкове значення - «-12», приріст - «1», вид операції - операція за замовчуванням, тобто складання, формат результату: формат за замовчуванням «F0.3», тобто ціла частина числа «як є», подрібнена - не більше 3-х знаків після коми.

    Приклад3: [F2]
    Опис прикладу: Ім'я - відсутній (використовується лічильник «за замовчуванням»), початкове значення і приріст - задані в полях вікна операції «Заміна-Вставка» для лічильника за замовчуванням, вид операції - операція за замовчуванням, тобто складання, формат результату: ціла частина числа - не менше 2-х цифр, дробова не задана, значить дорівнює формату дрібного за замовчуванням, тобто не більше 3-х цифр після коми.

    Схожі статті