از نسخه 2.5.2eForm ، ما یک عنصر ارزیابی داریم با استفاده از آن میتوانیم فرمولهای پیچیدهای را محاسبه کنیم. در اینجا یک مثال از آن را مشاهده میکنید.
برای شروع لطفا مطالعه کنید.
1-با استفاده از عناصر عددی
ما دو گزینه برای محاسبات عددی ارائه میدهیم. یکی این است که ارزش عددی را به گزینههای عنصر موجود اختصاص دهید، در حالی که دیگری استفاده از یک عنصر نوع عددی است.
1-1- ارزشهای عددی را اختصاص دهید
مقادیر عددی را میتوان به گزینههای عناصر زیر اضافه کرد:
- سوالات چند گزینهای > گزینههای تکی
- سوالات چند گزینهای > گزینههای چندگانه
- سوالات چند گزینهای > گزینههای آبشاری
- سوالات چند گزینهای > ماتریکس
- سوالات چند گزینهای > ماتریکس آبشاری
- عناصر دیگر فرم > گزینههای رادیویی
- عناصر دیگر فرم > گزینههای چک باکس
- عناصر دیگر فرم > گزینه کشویی
- عناصر دیگر فرم > عنصر تکرارپذیر
مقداری که به عنصر عددی گزینه میدهید، برای محاسبه استفاده میشود.
1-2-با استفاده از عناصر عددی
عناصر عددی که در دسترس هستند:
- سوالات چند گزینهای > اسلایدر تکی
- سوالات چند گزینهای > اسلایدر محدودهای
- سوالات چند گزینهای > اسپینرها
- سوالات چند گزینهای > رتبه بندی چندگانه – نوع لغزان / نوع محدوده
- سوالات چند گزینهای > رتبه بندی ستارهای
- سوالات چند گزینهای > رتبه بندی مقیاسی
- ورودی متن و بارگذاری> ورودی متن
- ورودی متن و بارگذاری> ارزیابی ریاضی
- عناصر دیگر فرم > متن کوچک
- عناصر دیگر فرم> صفحه کلید
- عناصر دیگر فرم > چک باکس تکی
برای این عناصر، هر عددی مستقیما میتواند توسط کاربر وارد شود یا گزینهای که انتخاب میکند یک مقدار عددی (مانند رتبه بندی) دارد.
برای عناصر تغییری (گزینه تغییر وضعیت و چک باکس تکی، فقط در نسه 2.5.4) اگر آن را چک کردهاید، مقدار بازگشتی 1، در غیر این صورت 0 است.
هنگام استفاده از ارزیابی ریاضی در یک فرمول مراقب باشید. استفاده از همان عنصر یا وابستگی متقابل (مانند F1 :: M0+F2 و F2 :: M9+F1 ) حلقه بینهایت در مرورگر شما ایجاد میکند.
1-3-عنصر تاریخ زمان
با شروع نسخه 3.7 eForm میتواند روزها را براساس عناصر تاریخ محاسبه کند. از طریق زیر قابل دسترسی است:
- عناصر دیگر فرم > انتخاب تاریخ
اطمینان حاصل کنید که نوع عنصر فقط به تاریخ یا تاریخ و زمان تنظیم شده است. عنصر فقط زمان پشتیبانی نمیشود. شما میتوانید هر گونه قالب بندی زمان تاریخی که میخواهید داشته باشید.
هنگامی که فیلد عنصر انتخابگر تاریخ را در ارزیابی ایجاد میکنید، روزها از زمان (1 ژانویه 1970 00:00:00) در مرورگر محاسبه میشود. از آنجا که زمان محلی ممکن است متفاوت باشد، توصیه میشود از انتخابگر تاریخ برای محاسبه تفاوت بین دو عنصر انتخابگر تاریخ استفاده کنید.
به غیر از این، ما برخی از متغیرهای از پیش تعیین شده داریم که اطلاعات مربوط به تاریخ-زمان را با توجه به منطقه زمانی وردپرس نشان میدهد.
- CURRENTYEAR- سال جاری (مانند 2018).
- CURRENTDATE- تعداد روزها از زمان.
- -CURRENTDAY روز جاری ماه
- -CURRENTMONTH ماه جاری
- CURRENTHOUR- ساعت جاری
- CURRENTMINUTE- دقیقه جاری
- CURRENTSECOND- دومين جريان
- CURRENTWEEK- شماره هفته ISO-8601
- CURRENTEPOC- تعداد روزهای پس از دوره (1 ژانویه، 1970).
برای مثال این فرم را بررسی کنید. در اینجا ما دو فیلد O0 و O1 داریم که به ترتیب عناصر تاریخ-زمان و تاریخ هستند.
- برای محاسبه اختلاف سال بین آنها، ما از floor(abs(O0-O1)/365.25) استفاده میکنیم. چه اتفاقی میافتد:
- O0 تعداد روزهای از زمان اولیه r.t را اول عنصر میدهد.
- O1 تعدادی از روز از زمان اولیه r.t عنصر دوم را میدهد.
- abs(O0-O1) تفاوت در روزها را محاسبه میکند.
- آن را به 25 تقسیم کنیم و با این کار تفاوت را در سالها میبینیم. ما به دلیل سالهای کبیسه به 365.25 تقسیم میکنیم.
- برای پیدا کردن عدد کل، مقدار floor را ببینید.
برای محاسبه تعداد سال از زمان O1، ما از طبقه فرمول floor((CURRENTEPOC-O1)/365.25) استفاده میکنیم.
- CURRENTEPOC تعداد روزهای پس از دوره (از منطقه زمانی سایت وردپرس خود را) میدهد.
- از O1 کم کرده و تعداد روزها از روز O1 را دریافت میکنیم.
- آن را به 25 تقسیم میکنیم و با این کار مقدار سالها را میبینیم.
- به همین ترتیب ارزش floor را نیز میگیریم.
توجه داشته باشید که میتوانید منطقهی زمانی وردپرس خود را از پیشخوان وردپرس > تنطیمات > عمومی تغییر دهید. هنگامی که یک فرم ارسال میشود، eForm زمان را از زمانی که متغیرها محاسبه شدهاند و از زمانی که فرم به روز میشود یا نشان داده میشود، ذخیره میکند. بنابراین این عملیات بین بروز رسانی ارسالیها کاملا ایمن است.
2- افزودن ارزیابی ریاضی
ارزیابی ریاضی را میتوان در عناصر ورودی متن و بارگذاری یافت و با کلیک روی آن، به فرم اضافه میشود.
در اینجا تنظیمات مهم را مشاهده میکنید:
- مقدار قابل ویرایش توسط کاربر: اگر فعال باشد، پس از آن یک ورودی نمایش داده خواهد شد که در آن کاربر میتواند مقدار را ویرایش کند.
- دقت اعشار: تعداد ارقام بعد از عدد اعشاری که مقدار آن گرد میشود.
- پیشوند: HTML قبل از مقدار
- پسوند: HTML بعد از مقدار
2-1-ظاهر عنصر
با شروع نسخه 3.5 عناصر ریاضی میتوانند اکنون ظاهرهای زیر را داشته باشند.
ظاهر ساده. تنظیمات اضافی لازم نیست.
تراز راست (ردیف): این گزینه را فعال کنید تا آنها را در فرمت جدولی ظاهر کنید.
ظاهر فانتزی: این گزینه را فعال کنید تا با نوار ظاهر شود. گزینههای ظاهر دیگری را غیرفعال کنید.
3-فرمول ریاضی با عبارات
ارزیابی کننده بر روی فرمولی که شما نیاز دارید کار میکند. فرمول میتواند هر فرمول ریاضی مناسب با متغیرهای خاص برای بدست آوردن مقادیر از یکی از زمینههای پشتیبانی شده باشد. یک فرمول نمونه (M10*M14)/(M15+M16) میباشد.
3-1-نامگذاری متغیر
قانون نامگذاری متغیر به شرح زیر است: مثالها با توجه به نام متغیر M18R1C1 توضیح داده شده است.
کلمه کلیدی |
کاراکترهای قابل قبول |
تعداد کاراکترها |
توضیحات |
مثال |
نوع عنصر
(اجباری) |
M | O | F |
1 |
این نشانگر نوع عنصر است.
· M: سوالات انتخاب چندگانه
· :Fبازخورد و آپلود
· :Oسایر عناصر فرم |
M18R1 : این به معنی یک سوال انتخاب چندگانه است. |
کلید عنصر
(اجباری) |
[0-9]
فقط اعداد |
+1 |
این نشان دهنده کلید عنصر است. هر دو نوع و کلید را می توان از فرم ساز خود پیدا کرد. |
M18R1 : این به معنای سوال انتخاب چندگانه است که کلید آن 18 است. |
شناسه ردیف
(اختیاری) |
R |
1 |
این نشان میدهد که ما قصد داریم یک ردیف خاص از یک عنصر را انتخاب کنیم. فقط برای عناصر زیر قابل استفاده است:
· طبقه بندی چندگانه
· اسپینرها
· رتبه بندی ستارهای
· رتبه بندی مقیاسی
· ماتریکس
· ماتریکس آبشاری
اگر این در عناصر بالا وجود نداشته باشند، جمع بندی تمام سطرها در نظر گرفته خواهد شد. |
M18R1 : ما قصد داریم ردیف را انتخاب کنیم. |
شناسه بعد از ردیف
(اختیاری) |
[0-9]
فقط اعداد |
1 |
ردیف عنصر. از موقعیت 0 شروع می شود. |
M18R1 : ما در حال بررسی ردیف دوم هستیم. |
شناسه ستون
(اختیاری) |
C |
1 |
این نشان میدهد که ما یک ستون خاص از یک عنصر را انتخاب میکنیم. فقط برای نوع ماتریکس و عناصر قابل تکرار قابل استفاده است.
· عنصر ماتریکس
· ماتریکس آبشاری
· عنصر تکرارپذیر
· محدوده تکی
· طبقه بندی چندگانه (نوع محدوده)
در صورت عدم وجود در عناصر بالا، جمع بندی تمام ستونها در نظر گرفته خواهد شد.
در مورد محدوده تک و درجه بندی چندگانه، C0 معنی مقدار معین و C1 معنی حداکثر مقدار است. در غیاب شناسه ستون، حداقل مقدار در نظر گرفته خواهد شد. |
M18R1C1 : ما میخواهیم یک ستون را انتخاب کنیم. شناسه ردیف قبل از شناسه ستون اختیاری است. M18C1 یک متغیر کاملا قانونی است. |
شناسه بعد از ستون
(اختیاری) |
[0-9]
فقط اعداد |
+1 |
ستون عنصر. از موقعیت 0 شروع میشود. |
M18R1C1: ما در حال بررسی ستون دوم هستیم. |
شناسه ردیف
(اختیاری) |
[0-9]
فقط اعداد |
+1 |
شاخص ردیف عنصر MCQ، از موقعیت 0 شروع میشود. |
M0R0: به اولین چک باکس اشاره میکند.
R1 : M1R1 به آخرین گزینه چک باکس اشاره میکند، با توجه به 4 گزینه با 2 ستون گزینه. |
-اصلاح Syntax
قوانین زیر برای نحو بیان اعمال می شوند.
تجزیه کننده دستور زبان بسیار ساده را میپذیرد. اپراتورها دارای پیش بینی عادی هستند f(x,y,z) (تابع فراخوانی)، ^ (توان رسانی) ، *، /، و % (ضرب، تقسیم و باقی مانده)، و در نهایت +، – ، و || (جمع، تفریق و پیوند رشته) – و از چپ به راست (بله، حتی انعطاف پذیری … سادهتر است).
همچنین یک عملگر “،” (ویرگول) وجود دارد که مقادیر را به یک آرایه پیوند میدهد. این عمدتا برای دادن استدلال به توابع ، از آنجا که همیشه مانند آن چه شما در مورد آرایههای چند بعدی فکر میکنید رفتار نمیکند، مفید است. اگر مقدار سمت چپ آرایه باشد، مقدار درستی را به انتهای آرایه فشار میدهد، در غیر این صورت آرایه جدید ایجاد میشود “[چپ، راست]”. این باعث میشود که یک آرایه با آرایه دیگری ایجاد شود زیرا اولین عنصر است. اپراتورهای عملکرد
تجزیه کننده دارای چندین “توابع” ساخته شده است که در واقع اپراتور هستند. تنها تفاوت در دیدگاه بیرونی، این است که آنها را نمی توان با چندین استدلال فراخوانی کرد و اگر استدلالهایشان ثابت باشند، با روش ساده مورد بررسی قرار میگیرند.
1-Function Description
2-sin(x) Sine of x (x is in radians)
3-cos(x) Cosine of x (x is in radians)
4-tan(x) Tangent of x (x is… well, you know)
5-asin(x) Arc sine of x (in radians)
6-acos(x) Arc cosine of x (in radians)
7-atan(x) Arc tangent of x (in radians)
8-sqrt(x) Square root of x. Result is NaN (Not a Number) if x is negative.
9-log(x) Natural logarithm of x (not base-10). It’s log instead of ln because that’s what JavaScript calls it.
10-abs(x) Absolute value (magnatude) of x
11-ceil(x) Ceiling of x — the smallest integer that’s >= x.
12-floor(x) Floor of x — the largest integer that’s <= x
13-round(x) X, rounded to the nearest integer, using “gradeschool rounding”.
14-exp(x) ex (exponential/antilogarithm function with base e) Pre-defined functions
علاوه بر توابع “اپراتور”، چندین توابع از پیش تعریف شده وجود دارد. شما میتوانید توابع خود را توسط متغیرهای اتصال به توابع جاوااسکریپت معمولی ارائه دهید. اینها ساده نیستند.
1-Function Description
2-random(n) Get a random number in the range [0, n). If n is zero, or not provided, it defaults to 1.
3-fac(n) n! (factorial of n: “n * (n-1) * (n-2) * … * 2 * 1″)
4-min(a,b,…) Get the smallest (“minimum”) number in the list
5-max(a,b,…) Get the largest (“maximum”) number in the list
6-pyt(a, b) Pythagorean function, i.e. the c in “c2 = a2 + b2“
7-pow(x, y) xy. This is exactly the same as “x^y”. It’s just provided since it’s in the Math object from JavaScript
8-atan2(y, x) arc tangent of x/y. i.e. the angle between (0, 0) and (x, y) in radians.
3-3-مثالها
چند نمونه از ارزیابی معتبر ریاضی را مشاهده میکنید.
(M1*(20+M6+M5))+(M2*(15+M8))+(M3*12)+(M4*(10+M9))+((M1*(20+M6+M5))+(M2*(15+M8))+(M3*12)+(M4*(10+M9)))*0.125
که در فرم سفارش غذا استفاده میشود
(M1+M2)+(M8+M9)+(M10+M11)+(M6+M7*2)+(M3+M4R0*10+M4R1*5+M4R2*20+M5)
که در برآورد هزینه خدمات ما استفاده میشود.
4- شاخص ردیف برای عناصر MCQ
با شروع نسخه 4 eForm، میتوان از عنصر MCQ در ارزیابی ریاضی ردیف را ذکر کرد و میتواند از ارزش عنصر خاص برای محاسبه استفاده کند. برای مثال در عناصر چک باکس چندگانه ما میتوانیم M0R0 را داشته باشیم که R0 به ردیف 0 اشاره دارد. اگر آن انتخاب شده باشد، مقدار عددی گزینه را نشان میدهد، در غیر این صورت 0 بازگشت داده میشود.