Files
agila-learning-examples/en/objectivec-foundations-20261101/lesson-2/lesson.html
T

12 lines
1.6 KiB
HTML

<!doctype html><html lang="en"><meta charset="utf-8"><title>Values and decisions</title><h1>Values and decisions</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 decision chooses which statements run. The policy here is “ready at 80 or higher.” Trace 85, 79, 80, and 81 before running each case. The comparison includes 80. A program that prints the right answer for 85 may still be wrong at the boundary. Add a separate check rejecting scores below 0 or above 100; rejection and needing practice mean different things.</p><p>Square brackets send a message to a receiver: <code>[plan completed]</code>. <code>@interface</code> declares methods and <code>@implementation</code> defines them. These GNUstep exercises use explicit memory management, not Apple ARC.</p><pre><code class="language-objectivec">#import &lt;Foundation/Foundation.h&gt;
#include &lt;stdio.h&gt;
#include &lt;assert.h&gt;
int main(void) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSInteger score = 85;
puts(score &gt;= 80 ? &quot;Ready&quot; : &quot;Practice&quot;);
[pool drain];
return 0;
}
</code></pre><p><strong>Expected result:</strong> <code>Ready</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://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html">Language reference</a></p></html>