9 lines
1.4 KiB
HTML
9 lines
1.4 KiB
HTML
<!doctype html><html lang="en"><meta charset="utf-8"><title>Functions and a clear policy</title><h1>Functions and a clear policy</h1><p>15-minute session: read for 3 minutes, trace for 3, experiment for 7, and complete the check for 2. Spend longer whenever you need.</p><p>A function or subroutine names a reusable calculation. Our policy accepts nonnegative total and completed counts and returns zero when completed reaches or exceeds total. Otherwise it returns their difference. Trace (4,1), (4,4), (4,5), and (0,0). Keep printing separate from calculation. Write down why negative inputs are outside this exercise’s domain, then design an explicit rejection policy before accepting external input.</p><p>Line numbers describe program order. <code>GOSUB</code> visits a subroutine and <code>RETURN</code> resumes the caller. <code>SYSTEM</code> exits this interpreter. BASIC dialects differ: a 6502 or Z80 computer does not automatically run this exact dialect.</p><pre><code class="language-basic">30 LET T=4
|
||
40 LET D=1
|
||
50 GOSUB 200
|
||
60 PRINT R
|
||
70 SYSTEM
|
||
200 LET R=T-D
|
||
210 IF R<0 THEN LET R=0
|
||
220 RETURN
|
||
</code></pre><p><strong>Expected result:</strong> <code>3</code></p><h3>Practice and evidence</h3><p>Keep three notes: your prediction, the actual result, and why they match or differ. The completion check grades understanding; the practice task builds skill.</p><p><a href="https://packages.ubuntu.com/noble/bwbasic">Language reference</a></p></html> |