Calcpad e безплатен математически софтуер с отворен код, създаден от инж. Неделчо Ганчовски през 2014 г. Той е разработен предимно за инженерни изчисления и оформянето им в техническа документация. Софтуерът разполага със собствен програмен език с опростен и лесен за използване синтаксис, предназначен за инженери без специализирани познания по програмиране.

Възможности

Възможностите на системата включват изчисления с реални и комплексни числа, мерни единици, създаване на потребителски променливи, функции и макроси, числени методи за интерполация, намиране на корени на уравнения, екстремуми на функции, числено диференциране и интегриране, векторни и матрични изчисления, графики на функции и др. Поддържа се четене и запис на данни към текстови, включително CSV файлове и електронни таблици. Софтуерът намира широко приложение в различни области на инженерната практика и обучението.

Програмният език е интерпретиран с частично компилиране (до IL) на кодовете за многократно изпълнение като например тяло на функция или цикъл. Включва прости структури за управление на програмния поток като условни разклонения и цикли. Кодът може да бъде разпределен и в отделни файлове (модули). Calcpad да взаимодейства с Python чрез специален интерфейс за програмиране. Чрез допълнителен плъгин, разработен през 2025 г. от Damian Pacheco, езикът може да се ползва и в среда на Grasshopper/Rhino.

За въвеждане на данни може да се генерира HTML формуляр. Получените резултати се документират автоматично в HTML формат. Текстовете се въвеждат в кавички, а за тяхното форматиране може се използва Markdown или HTML/CSS. С помощта на JavaScript съдържанието може да се направи интерактивно. Чрез вграждане на Calcpad променливи в координати на обекти от SVG изображения могат да се генерират параметрични векторни чертежи и анимации. Резултатите от изчисленията могат да се запишат и като PDF или DOCX файл за Microsoft Word.

Примерна програма Изходен код на примерна програма за изчисляване на прости греди:

"Изчисляване на проста греда" 'Дължина -'L = 6m #if L ≤ 0m '<p class="err">Невалидна стойност:'L'</p> #break #end if 'Натоварване -'q = 10kN/m^2 '<!--'PlotHeight = 100'--> 'Напречна сила -'V_0 = q*L/2 V(x) = V_0 - q*x $Plot{V(x) @ x = 0m : L} 'Огъващ момент -'M_max = q*L^2/8 M(x) = V_0*x - q*x^2/2 $Plot{-M(x) @ x = 0m : L}

Източници

Вижте също MATLAB Mathematica

Външни препратки

Категория:Математически софтуер Категория:Езици за програмиране Категория:Свободен софтуер