From Test-Scratch-Wiki
() का () एक ऑपरेटर ब्लॉक और एक रिपोर्टर ब्लॉक है। ब्लॉक किसी दिए गए नंबर पर एक निर्दिष्ट कार्य करता है और परिणाम की रिपोर्ट करता है। ड्रॉप-डाउन मेनू का उपयोग करके फ़ंक्शन को बदला जा सकता है।
ध्यान दें कि अधिकांश मामलों में ब्लॉक इनपुट दिए गए फ़ंक्शन के केवल अनुमान की रिपोर्ट कर सकता है, क्योंकि स्क्रैच, अधिकांश प्रोग्रामिंग भाषाओं की तरह, सभी वास्तविक संख्याओं को परिमेय के रूप में दर्शाता है। (विशेष रूप से, स्क्रैच फ्लोटिंग-पॉइंट नंबर का उपयोग करता है।) इस वजह से, २.० से पहले के स्क्रैच के संस्करण NaN या इन्फिनिटी के बजाय ९० के टैन के परिणाम १६३३१२३९३५३१९५३७० के रूप में रिपोर्ट करेंगे।
स्क्रैच २.० से पहले, ब्लॉक केवल १२ अलग-अलग गणितीय कार्यों की गणना कर सकता था, हालांकि किसी मूल्य के फर्श और छत की गणना करने की ब्लॉक की क्षमता में v१४५ जोड़ी गई थी।
उदाहरण उपयोग
स्क्रैच में, उन्नत कैलकुलेटर () के () ब्लॉक के बिना प्रोग्राम करना मुश्किल होगा; यह कई कार्य करता है जिन्हें अन्य ब्लॉकों के साथ दोहराना मुश्किल हो सकता है।
() के () ब्लॉक के लिए कुछ सामान्य उपयोग हैं:
- कैलकुलेटर स्क्रिप्ट
- अप्रत्याशित मान बनाने के लिए संख्याओं पर कार्य करना
- गणितीय सूत्र
- पेन से पैटर्न बनाना
- खेलों के लिए स्कोर की गणना
- बिंदुओं के बीच की दूरी की गणना
- बहुभुजों (विशेषकर त्रिभुजों) की भुजाओं की लंबाई और कोण माप का निर्धारण
- दशमलव के अलावा अन्य संख्यात्मक आधारों में कार्य करना
कार्य
एब्स
"एब्स" "एब्सोल्यूट वैल्यू" का संक्षिप्त रूप है। किसी संख्या का निरपेक्ष मान ० से उसकी दूरी है। निरपेक्ष मान का वर्णन करने का एक सरल तरीका यह है कि यह किसी भी संख्या को गैर-नकारात्मक बना देता है। यदि यह नकारात्मक है, तो यह सकारात्मक हो जाता है, और यदि यह सकारात्मक है, तो यह वैसा ही रहता है।
उदाहरण के लिए, -३ का निरपेक्ष मान ३ है। ४.५ का निरपेक्ष मान ४.५ है। निरपेक्ष मान लिखने का दूसरा तरीका संख्या के दोनों ओर एक लंबवत रेखा है, जैसे . वैसा ही है जैसा कि .
स्क्रैच १.२ में इस ब्लॉक को पेश करने और इसे इसमें शामिल करने से पहले, निरपेक्ष मूल्य फ़ंक्शन मूल रूप से अपने आप में एक ब्लॉक था। यह इस तरह दिखता था:
abs ()::operators reporter
वर्ग
“ वर्ग” "वर्गमूल" का संक्षिप्त रूप है। एक संख्या जिसका वर्ग किया जाता है, अपने आप से गुणा हो जाती है। उदाहरण के लिए, जब २ का वर्ग किया जाता है, तो उत्तर २×२ होता है, जो कि ४ होता है। जब किसी संख्या का वर्गमूल किया जाता है, तो उत्तर वह संख्या होती है जिसका वर्ग करके उसे प्राप्त किया जाता है। तो, ४ का वर्गमूल २ है। इसी तरह, २ का वर्गमूल लगभग १.४१४२१३५६२३७३०९५ है क्योंकि १.४१४२१३५६२३७३०९५ २ (१.४१४२१३५६२३७३०९५ × १.४१४२१३५६२३७३०९५) २ के करीब है।
स्क्रैच काल्पनिक संख्या का समर्थन नहीं करता है, जो नकारात्मक संख्याओं के वर्गमूल हैं। किसी ऋणात्मक संख्या का वर्गमूल ज्ञात करने का प्रयास करने से स्क्रैच १.४ में एक स्क्रिप्ट त्रुटि उत्पन्न हो जाएगी, जो इसमें मौजूद स्क्रिप्ट को तोड़ देगी और "त्रुटि!" लौटा देगी। स्क्रैच २.० और ३.० में, इसके बजाय NaN
(कोई संख्या नहीं) परिणाम मिलता है। निम्नलिखित स्क्रिप्ट का उपयोग यह पता लगाने के लिए किया जा सकता है कि क्या एक ऋणात्मक संख्या को वर्गमूल में डाला गया है और परिणाम को गणितीय रूप से सही बनाया जा सकता है।
if <(input) < [0]> then set [input v] to ((0) - (input)) //इसे संख्या को सकारात्मक मान में बदलने की आवश्यकता है। यह संख्या के निरपेक्ष/सकारात्मक मान के साथ भी किया जा सकता है। set [output v] to (join ([sqrt v] of (input)) [i]) //आउटपुट को अब-पॉजिटिव इनपुट के वर्गमूल i * पर सेट करता है else set [output v] to ([sqrt v] of (input)) end
ध्यान दें कि एक काल्पनिक इकाई है, जिसे के रूप में परिभाषित किया गया है।
सिन, कॉश , और टैन
सिन्, कॉश, और टैनत्रिकोणमितीय कार्य कहा जाता है। वे एक समकोण त्रिभुज की भुजाओं के बीच का अनुपात हैं। ब्लॉक में डाला गया मान एक कोण (डिग्री में) है, जो त्रिभुज के कोणों में से एक है।
स्क्रैच में इस ब्लॉक का उपयोग करने से परिणाम डिग्री में आउटपुट होगा। इसे रेडियन में बदलने के लिए, मान को ०.०१७४५३२९२५१ से गुणा करें (जो के बराबर है)।
सिन
"सिन" "साइन" का संक्षिप्त रूप है। किसी कोण की ज्या त्रिभुज के विपरीत (पार) वाली भुजा की लंबाई और कर्ण की लंबाई (समकोण के सामने वाली भुजा) के बीच का अनुपात है। उपरोक्त चित्र में, कोण ए की ज्या "विपरीत" भुजा के बराबर होती है जो भुजा "कर्ण" से विभाजित होती है।
कॉश
"कॉश" "कोसाइन" का संक्षिप्त रूप है। किसी कोण की कोज्या त्रिभुज पर उसके बगल वाली भुजा की लंबाई और कर्ण की लंबाई के बीच का अनुपात है। उपरोक्त चित्र में, कोण ए की कोज्या भुजा "आसन्न" को भुजा "कर्ण" से विभाजित करने के बराबर है।
टैन
"टैन" "स्पर्शरेखा" का संक्षिप्त रूप है। किसी कोण की स्पर्शरेखा उसके समीपवर्ती भुजा की लंबाई और उसके विपरीत भुजा के बीच का अनुपात है। उपरोक्त चित्र में, कोण ए की स्पर्श रेखा "विपरीत" भुजा को "आसन्न" भुजा से विभाजित करने के बराबर है।
असिन, एकोस, और एटन
असिन, एकोस, और एटन "व्युत्क्रम त्रिकोणमितीय कार्य हैं।" जबकि सिन, कॉश , और टैन कोणों से अनुपात ज्ञात करते हैं, असिन, एकोस, और एटन अनुपातों से, डिग्री में, कोण ज्ञात करते हैं। असिन और एकोस के डोमेन (स्वीकृत इनपुट) -१ से १ तक जाते हैं, जबकि एटन किसी भी संख्या (अनंत सहित) को स्वीकार करता है। फ़ंक्शंस के लिए आउटपुट की सीमा -९० से ९० डिग्री तक जाती है।
असिन
"असिन" "आर्कसीन" का रूप है और कभी-कभी इसे के रूप में भी लिखा जाता है। जब किसी समकोण त्रिभुज के विपरीत भुजा और कर्ण की लंबाई का अनुपात (दशमलव रूप में) दिया जाता है, तो यह कोण ज्ञात होता है।
एकोस
"एकोस" "अरकोसिने" का संक्षिप्त रूप है और इसे कभी-कभी के रूप में भी लिखा जाता है। जब किसी समकोण त्रिभुज की आसन्न भुजा और कर्ण की लंबाई का अनुपात (दशमलव रूप में) दिया जाता है, तो यह कोण ज्ञात करता है।
एटन
"एटन" "आर्कटेंजेंट" का संक्षिप्त नाम है और इसे कभी-कभी के रूप में भी लिखा जाता है। जब किसी समकोण त्रिभुज की विपरीत भुजा और आसन्न भुजा की लंबाई का अनुपात (दशमलव रूप में) दिया जाता है, तो यह कोण ज्ञात करता है।
e^ और १० ^
e^ और १० ^ दोनों "घातीय कार्य" या "शक्ति कार्य" हैं।
e^
"e" "यूलर नंबर" का संक्षिप्त रूप है, जो लगभग 2.718 है। e^ फ़ंक्शन के साथ, e को मान संख्या से कई बार गुणा किया जाता है। उदाहरण के लिए, यदि मान ३ है, तो उत्तर , या होगा, जो लगभग २०.०८६ है।
१० ^
१० ^ कार्य अपने आप में मान संख्या को १० गुना गुणा कर देता है। उदाहरण के लिए, यदि मान ६ था, तो उत्तर होगा (अर्थात् ), जो कि १,०००,००० है।
एलएन और लॉग
एलएन और लॉग "लघुगणकीय कार्य" हैं। वे घातांकीय फलन के बिल्कुल विपरीत कार्य करते हैं।
ध्यान दें कि काल्पनिक संख्याओं के लिए स्क्रैच के समर्थन की कमी के कारण, यदि कोई संख्या ० से कम दर्ज की जाती है तो इस ब्लॉक का परिणाम NaN
होगा।
एलएन
एलएन "प्राकृतिक लॉग" है। यह पता लगाता है कि मूल्य प्राप्त करने के लिए e को स्वयं से कितनी बार गुणा करना होगा। उदाहरण के लिए, यदि मान १४८.४ था, तो उत्तर लगभग ५ होगा क्योंकि () लगभग १४८.४ है।
लॉग
"लॉग" "लघुगणक" का संक्षिप्त रूप है। लॉग फ़ंक्शन यह पता लगाता है कि मान प्राप्त करने के लिए १० को कितनी बार गुणा किया जाना चाहिए। उदाहरण के लिए, यदि मान १,००० है, तो उत्तर ३ है क्योंकि () १,००० है।
गोलाई
मंजिल
यह हमेशा संख्या को उस संख्या से कम या उसके बराबर की सबसे बड़ी पूर्ण संख्या तक पूर्णांकित करता है। उदाहरण के लिए, मंजिल(१.७३ ) = १ और मंजिल(- २.७४) = -३. इसे के रूप में भी लिखा जा सकता है।
छत
यह हमेशा संख्या को उस संख्या से बड़ी या उसके बराबर की सबसे छोटी पूर्ण संख्या तक पूर्णांकित करता है। उदाहरण के लिए, छत(३.१४ ) = ४ और छत( ७.६८) = ८। इसे छत(x) या के रूप में भी लिखा जा सकता है।
पूर्णांक
"पूर्णांक" (पूर्णांक का संक्षिप्त रूप) ब्लॉक के ड्रॉपडाउन में एक विकल्प था जिसे "मंजिल" और "छत" विकल्पों के साथ स्क्रैच २.० अल्फा के v१४५ में जोड़ा गया था। इस विकल्प का चयन करने से संख्या का दशमलव भाग छोटा हो जाएगा। ध्यान दें कि यह फ़्लोर फ़ंक्शन से भिन्न है, क्योंकि फ़्लोर फ़ंक्शन हमेशा संख्या को नीचे की ओर पूर्णांकित करेगा (जबकि संख्या नकारात्मक होने पर "पूर्णांक" फ़ंक्शन में पूर्णांकित की जाएगी)। इस ड्रॉपडाउन को बाद में स्क्रैच २.० अल्फा के v१९४ में हटा दिया गया।
समाधान
मंजिल और छत
मंजिल को round((. . .:: grey)-(0.5))
से बदला जा सकता है, और छत को (round((. . .:: grey)+(0.5)))-<(round(. . .:: grey)) = (. . .:: grey)>
से बदला जा सकता है।
एब्स
यदि एब्स विकल्प चाहिए, तो ब्लॉक को दोहराने के लिए निम्नलिखित कोड का उपयोग किया जा सकता है:
if <(. . .:: grey) < (0)> then set [abs v] to ((0) - (. . .:: grey)) else set [abs v] to (. . .:: grey) end
एक रिपोर्टर के रूप में काम करने के लिए इसे संशोधित किया जा सकता है:
(. . .:: grey)*((1)-(<(. . .:: grey)<(0)>*(2)))
निम्नलिखित स्क्रिप्ट का उपयोग रिपोर्टर के रूप में भी किया जा सकता है:
([sqrt v] of ((. . .:: grey) * (. . .:: grey)))
यह काम करता है क्योंकि n * n का वर्गमूल n होगा, और किसी ऋणात्मक संख्या को स्वयं से गुणा करने पर एक धनात्मक संख्या प्राप्त होगी।
१० ^, e^, लॉग, एलएन
किसी संख्या को निश्चित बार गुणा करके घातों को दोहराया जा सकता है:
[10 ^ v] of (. . .:: grey)
कारगर युक्ति:
set [result v] to [1] repeat (. . .:: grey) set [result v] to ((result) * (10)) end
[e ^ v] of (. . .:: grey)
कारगर युक्ति:
set [result v] to [1] repeat (. . .:: grey) set [result v] to ((result) * (2.718281828459045)) end
ध्यान दें कि ये वर्कअराउंड केवल सकारात्मक पूर्णांकों के साथ काम करते हैं।
एक अन्य उपाय यह है:
([e ^ v] of ((. . .:: grey) * ([ln v] of (10))))
वास्तव में, यह समाधान स्वयं ब्लॉक से अधिक उपयोगी हो सकता है, क्योंकि यह किसी भी शक्ति को किसी भी सकारात्मक संख्या की गणना करने की क्षमता प्रदान करता है। उदाहरण के लिए, को इस प्रकार लिखा जा सकता है:
([10 ^ v] of ((x) * ([log v] of (2.718281828459045))))
इस प्रकार लिखा जा सकता है:
([10 ^ v] of ((x) * ([log v] of (0.36787944117144233))))
और इस प्रकार लिखा जा सकता है:
([10 ^ v] of ((x) * ([log v] of (0.1))))
वर्ग
वर्गमूल ज्ञात करने के लिए हेरॉन की विधि का उपयोग करके वर्गमूल पाया जा सकता है:
set [result v] to [1] repeat (25) set [result v] to (((result) + ((x) / (result))) / (2)) end
क्योंकि , वर्गमूल को घातांक को हल करने की विधि का उपयोग करके भी पाया जा सकता है, ([e ^ v] of (([ln v] of (x)) / (2)))
या ([10 ^ v] of (([log v] of (x)) / (2)))
।
सिन, कॉश , और टैन
साइन, कोसाइन और स्पर्शरेखा के लिए कई समाधान हैं। यहां "कोण" मान का प्रतिनिधित्व करता है और ० गणितीय सूत्र में एक कोण है।
त्रिकोणमितीय पहचान
त्रिकोणमितीय सर्वसमिकाओं का उपयोग करके इन कार्यों को फिर से लिखने के कई तरीके हैं।
सिन और कॉश एक दूसरे के सापेक्ष ९०° स्थानांतरित होते हैं, इसलिए उन्हें इस प्रकार लिखा जा सकता है
([cos v] of ((90) - (angle)))
साइन के लिए, और
([sin v] of ((90) - (angle)))
कोसाइन के लिए।
आप भी प्रयोग कर सकते हैं
([sqrt v] of ((1) - (([cos v] of (angle)) * ([cos v] of (angle)))))
या
((0) - ([sqrt v] of ((1) - (([cos v] of (angle)) * ([cos v] of (angle))))))
साइन के लिए, उसके चिह्न पर निर्भर करता है और
([sqrt v] of ((1) - (([sin v] of (angle)) * ([sin v] of (angle)))))
या
((0) - ([sqrt v] of ((1) - (([sin v] of (angle)) * ([sin v] of (angle))))))
कोसाइन के लिए, इसके चिह्न पर भी निर्भर करता है क्योंकि
इसी प्रकार स्पर्शरेखा को इस प्रकार पुनः लिखा जा सकता है
(([sin v] of (angle)) / ([cos v] of (angle)))
क्योंकि
असिन, एकोस, और अतान
मानक त्रिकोणमितीय कार्यों की तरह, व्युत्क्रम त्रिकोणमितीय कार्यों को अन्य कार्यों के संदर्भ में फिर से लिखा जा सकता है।
व्युत्क्रम त्रिकोणमितीय सर्वसमिकाएँ
असिन और एकोस दोनों को व्युत्क्रम त्रिकोणमितीय पहचान के साथ फिर से लिखा जा सकता है।
असिन को इस प्रकार पुनः लिखा जा सकता है
(90)-([acos v] of (length))
और इसी तरह, एकोस को इस प्रकार फिर से लिखा जा सकता है
(90)-([asin v] of (length))
क्योंकि
त्रिकोणमितीय कार्य वाली रचनाएँ
व्युत्क्रम त्रिकोणमितीय कार्य को अन्य व्युत्क्रम त्रिकोणमितीय फलनों के साथ फिर से लिखा जा सकता है।
असिन को इस प्रकार पुनः लिखा जा सकता है
(((length)*(([acos v] of ([sqrt v] of ((1)-((length)*(length)))))/([abs v] of (length))))+(0)
क्योंकि
इसी प्रकार, एकोस को इस प्रकार पुनः लिखा जा सकता है
(((length)*(([asin v] of (([sqrt v] of ((1)-((length)*(length))))-(90)))/([abs v] of (length))))+(90)
क्योंकि
अतन को इस प्रकार पुनः लिखा जा सकता है
([asin v] of ((length)/([sqrt v] of ((1)+((length)*(length))))))
क्योंकि