Записка

Резултатите от изчисленията се форматират във вид на записка, която може да разпечатате или отворите с Word. Освен аритметични изрази, може да добавите заглавия, коментари и схеми.

Заглавия

Заглавието е текст, заграден в двойни кавички ("). Той излиза удебелен и с по-големи букви от стандартния текст.

Текст/коментари

Коментарите се заграждат в единични кавички ('). Може да пропуснете затварящата кавичка, ако тя е последния символ на реда. В заглавията и коментарите може да пишете свободен текст, без ограничения. Всичко извън кавичките се третира като аритметичен израз. Ако има обаче формули вътре в кавичките, те няма да бъдат изчислени. Тъй като резултатите се оформят накрая в Html документ, може да използвате Html и CSS в коментарите за да форматирате допълнително записката.

Мерни единици

Настоящата версия поддържа автоматични мерни единици за дължина - m, cm и mm. Необходимо е само да вмъкнете %u на всички места в коментарите, на които желаете да се изписват единиците. Когато генерира уеб форма за попълване, CalcPad проверява дали има %u някъде в записката. Ако има, автоматично добавя падащо меню за избор на мерни единици в началото. При избор от падащото меню, съответните единици се попълват автоматично на всички места, където се среща %u. Изпробвайте по-долу:

Текст Резултат

"Мерни единици

'Дължина - ' l = ? '%u

'Площ - ' A = ? '%u<sup>2</sup>

'Обем - ' V = ? '%u<sup>3</sup>

'Коефициент за мащабиране - 'Units

Мерни единици

Дължина - l = m

Площ - A = m2

Обем - V = m3

Коефициент за мащабиране - Units

Когато изчислите записката, падащото меню за избор изчезва и остават попълнените единици. Програмата създава и служебна променлива Units, която съдържа коефициент за привеждане на избраните единици към метри. Стойността и е 1, 100 и 1000, съответно за m, mm и cm. Може да я използвате директно във формулите за да преобразувате избраните единици. С нейна помощ може да направите условен блок, с който да извлечете избраните единици в тялото на записката:

#if Units ≡ 1
'Избрани са метри
#else if Units ≡ 100
'Избрани са сантиметри
#else if Units ≡ 1000
'Избрани са милиметри
#end if

Форматиране с Html и CSS

По начало, идеята е CalcPad да е придружен с достатъчно голяма библиотека професионално разработени записки, които да ползвате наготово. Ако желаете и вие да разработвате такива, прочетете внимателно следващите редове. Иначе, може спокойно да пропуснете тази точка.

Html (Hyper Text Markup Language) е описателен език, който се използва в Интернет страниците за форматиране на текста. Може да смените шрифта, височината и цвета на буквите, да вмъкнете изображения и др. Това става като добавяте Html елементи - тагове. Те се заграждат в триъгълни скоби. Например, ако искате на направите част от текста удебелен, трябва да го заградите в <b>текст</b>. Дори и да не сте програмист, лесно може да научите основните елементи и да ги прилагате. Ето някои от тях:

Html код Резултат
<b>Удебелен</b> Удебелен
<i>Курсив</i> Курсив
<u>Подчертан</u> Подчертан
<span style="color:red;">В червено</span> В червено
x<sup>степен</sup> xстепен
x<sub>индекс</sub> xиндекс
<span style="font:16pt Times-New-Roman;">С друг шрифт</span> С друг шрифт

На практика, може да направите форматирането да обхване и формулите, като редувате коментари с Html и формули. Например записът:

'<span style="color:red;"> просто като ' 2 + 2 '</span>'

ще даде следния резултат:

просто като 2 + 2 = 4

Тук има два коментара, между които е самият израз. В първия е отварящия таг на елемента '<span style="color:red;">', а във втория е затварящия таг '</span>'. Всичко, което се намира между тях се оцветява в червено. Не забравяйте и кавичките, защото ако извън тях попадне Html, програмата ще даде съобщение за грешка. Изразът style="color:red" всъщност не е Html, а едно полезно допълнение, наречено CSS (Cascading Style Sheets). Така може да закачате стилове на всякакви Html елементи и да променяте тяхното форматиране. Ако искате да научите повече за Html и CSS, може да използвате линковете:

http://www.w3schools.com/html/

http://www.w3schools.com/CSS/

Може да ползвате и някой от многото безплатни Html редактори, които могат да се намерят в Интернет.

Изображения

За да добавите схема към записката, трябва предварително да я начертаете на някоя графична програма и да я запишете на диска като *.png, *.gif или *.jpg файл. Може да използвате Paint, Gimp, InkScape, DraftSight или други безплатни програми. След това, може да я вмъкнете в записката с помощта на Html. Поставете следния текст на желаното място в записката:

'<img style="float:right" src="c:\Users\Me\Pictures\Picture1.png" alt="Picture1.png">'

Разбира се, вместо "c:\Users\Me\Pictures\Picture1.png" трябва да въведете действителния път към файла с картинката. Записът style="float:right" измества картинката вдясно, позволявайки текста да преминава свободно отляво. Иначе, по подразбиране картинката става част от текста и го прекъсва. В някои случаи това също е необходимо, например при по-големи картинки, където отляво остава тясна ивица за текста. В този случай, просто изтрийте този запис.

За улеснение, може да използвате бутона Image. След натискането му се появява диалог за избор на файл. Намерете и посочете картинката и натиснете "Open". Записът се вмъква в началото на страницата, а самата картинка може да видите в прозореца с резултати, след изчисляването.

Условно компилиране

Много често, решението на дадена задача продължава по различен начин, в зависимост от получените междинни резултати. CalcPad предлага мощно средство за управление на хода на решението, аналогично на езиците за програмиране. Използва се блок за условно компилиране, който има следния общ вид:

  • #If условие1
  • текст ако е изпълнено условие1
  • #Else If условие2
  • текст ако е изпълнено условие2
  • #Else If условие3
  • текст ако е изпълнено условие3
  • . . .
  • #Else
  • текст ако никое условие не е изпълнено
  • #end if

Възможни са и съкратени варианти на този запис, като например:

  • #If условие
  • текст ако е изпълнено условието
  • #Else
  • текст ако условието не е изпълнено
  • #end if

или като:

  • #If условие
  • текст ако е изпълнено условието
  • #end if

Символът "#" трябва да е първия на реда. На мястото на условие трябва да стои валиден аритметичен израз. Обикновено се използва сравнение като "#If a < 0", но не е задължително. Ако изразът върне ненулева стойност, условието се счита за изпълнено. Ако резултатът е нула, условието не е изпълнено. За нула се приема резултат, който е ≤ 0.00000001.

Нека да разгледаме отново примера за решаване на квадратно уравнение, даден по-горе. Ако въведем "c = 5", дискриминантата ще бъде по-малка от нула и ще се получи резултат NaN. Това не е много интелигентен начин за завършване на задачата. Може обаче да направим така, че ако "D < 0" да изписва съответното съобщение, а ако не е, тогава да изчислява корените. Това може да стане с условно компилиране, както е показано на схемата:

Sample2

Шаблони

Ако имате сложна задача, която трябва да решавате често или искате да я споделите с друг, най-добре е да направите шаблон. Това става като въведете символа "?" като стойност на променливите, които искате да се въвеждат, например "a = ?". След това вече няма да можете да изчислите задачата директно с бутона Play. Първо трябва да я компилирате като шаблон с бутона Form.

Задачата се зарежда изцяло в прозореца "Резултати", на цялата ширина на прозореца. Текстът и формулите се форматират и вече не са достъпни за редактиране. На мястото на всеки от символите "?" се генерират полета за попълване. Шаблонът е готов за ползване и изглежда по следния начин:

Sample3

Сега трябва да въведете стойностите в полетата и да натиснете Play за да получите резултатите. Те се показват в същия прозорец.

Sample4

За да се върнете обратно на входните данни, натиснете повторно бутона Play за да го изключите. Входните данни остават непроменени в съответните полета. Ако е необходимо да редактирате изходния код на шаблона, трябва да изключите бутона Form. Прозорецът "Задача" се показва отново в лявата страна на екрана. След като направите промените, може отново да компилирате задачата. При това обаче, входните данни се изчистват. Накрая запишете задачата като "*.cpd" файл. При отваряне на такъв файл, задачата автоматично се зарежда в компилиран вид. Той е много по-удобен за ползване отколкото текстовия и има следните предимства:

  • Последователността на решението и формулите са по-прегледни и е по-лесно да откриете възможни грешки;
  • Ясно се вижда кои са необходимите входни данни. Ако има картинки и схеми, те също се виждат. Така е по-ясно за потребителя, особено ако задачата е правена от друг;
  • Текстът е недостъпен за редактиране, освен ако специално не отключите кода на шаблона. Така потребителят няма да изтрие или повреди формулите по невнимание.

С бутона Form може да компилирате и задачи, които не са шаблони. Това може да се използва за преглед на кода във форматиран вид. Тъй като нямате полета за попълване, трябва да се връщате обратно всеки път, когато искате да промените дадена стойност. Освен при параметри, може да вмъкнете "?" и на всяко друго място, където се очаква някаква стойност, например:

2 + ?

След компилиране, на мястото на "?" ще се генерира поле за попълване:

2 +

В него може да въведете стойност и да изчислите резултата. Този начин не е за препоръчване при по-сложни задачи, тъй като записката става неясна и трудна за разбиране.