शिक्षक उत्तर कुंजी

स्थिति वाले एल्गोरिदम

चार प्रकार के प्रमाण लें: संबंधित स्थिति का अनुमान; सीमाओं सहित अलग मामलों में व्यवहार; रिकॉर्ड और स्थिति से व्याख्या; तथा एक अंतर का तर्कपूर्ण सुधार। कागज़ या विद्यालय की स्वीकृत प्रक्रिया में हर पहलू को शुरुआती, सहायता से या स्वतंत्र रूप से दर्ज करें। चुनौती पास होना मशीन के व्यवहार का प्रमाण है, लेखन का या पूरी समझ का नहीं। समान रूप से सही प्रोग्राम स्वीकार करें; सार्वजनिक कुंजी एक उदाहरण है, एकमात्र उत्तर नहीं।

सार्वजनिक शिक्षण सामग्री। समाधान उदाहरण हैं; अन्य समान रूप से सही प्रोग्राम भी वास्तविक जाँच पास कर सकते हैं।

16. फैक्टोरियल और लूप की अपरिवर्तनीय शर्त

गुणन संचायक का उपयोग करें और समझाएँ कि 0! क्यों 1 है।

यह पाठ खोलें →

1. अनुमान और निष्पादन क्रम

प्रयोग प्रोग्राम चलाने से पहले आउटपुट अनुमान करें और पहले तीन चलाए निर्देशों का क्रम लिखें। आवश्यक रजिस्टर, फ्लैग या मेमोरी दर्ज करें। फिर एक-एक कदम चलाकर मिलाएँ।

LOAD 4 R1
LOAD 1 R2
LOOP 4
LOAD R2
MUL R1
COPY R0 R2
LOAD R1
SUB 1
COPY R0 R1
RETURN
LOAD R2
PRINT
HALT

इनपुट कतार में रखें: कोई नहीं

मेमोरी शुरू करें: शुरू में सभी बाइट शून्य

प्रयोग अनुमान कुंजी

आउटपुट: 24

निर्देशपहले PCबाद में PCपहले R0बाद में R0संबंधित स्थितिआउटपुट
LOAD0100{"registers":[0,4,0,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]}कोई नहीं
LOAD1200{"registers":[0,4,1,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[],"memoryReads":[],"memoryWrites":[]}कोई नहीं
LOOP2300{"registers":[0,4,1,0,0,0,0,0],"flags":{"zero":false,"negative":false,"overflow":false},"sp":255,"stack":[],"callStack":[],"loopStack":[{"start":2,"end":9,"remaining":4,"callDepth":0}],"memoryReads":[],"memoryWrites":[]}कोई नहीं

2. बनाएँ और जाँचें

0 से 6 तक N पढ़ें और N! छापें। लूप और गुणन संचायक उपयोग करें।

ज़रूरी निर्देश प्रकार: INPUT, LOOP, MUL

चुनौती समाधान उदाहरण

INPUT
COPY R0 R1
COPY R0 R3
LOAD 1 R2
LOOP R3
LOAD R2
MUL R1
COPY R0 R2
LOAD R1
SUB 1
COPY R0 R1
RETURN
LOAD R2
PRINT
HALT

वास्तविक जाँच मामले

मामला 1
इनपुट
0
शुरुआती मेमोरी
शुरू में सभी बाइट शून्य
अपेक्षित आउटपुट
1
मामला 2
इनपुट
4
शुरुआती मेमोरी
शुरू में सभी बाइट शून्य
अपेक्षित आउटपुट
24
मामला 3
इनपुट
6
शुरुआती मेमोरी
शुरू में सभी बाइट शून्य
अपेक्षित आउटपुट
720

3. मशीन समझाएँ

गुणन संचायक 1 से क्यों शुरू होता है?

तर्क और शिक्षण टिप्पणी

1 गुणा का तत्समक है; शून्य चक्कर 0!=1 देते हैं। 0 से शुरू करने पर हर गुणनफल 0 होता।