Files

11 lines
1.6 KiB
HTML

<!doctype html><html lang="en"><meta charset="utf-8"><title>Collections and repeated work</title><h1>Collections and repeated work</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 collection stores related values. The loop visits 1, 2, and 3, updating the total from 0 to 1, then 3, then 6. Record this trace rather than guessing. Identify the first and last valid positions in this language: Pascal can declare a 1-based array, while many other examples use zero-based containers. Add another value and update the bounds correctly. Explain what an empty collection should produce.</p><p>Object Pascal classes and Objective-Pascal are distinct. First learn <code>class</code>, construction, and <code>Free</code> using the Linux lab. Objective-Pascal adds Objective-C interoperability through mode switches; this lab does not provide that Apple runtime.</p><pre><code class="language-objectpascal">program AgilaStudy;
{$mode objfpc}{$H+}{$assertions on}
var Minutes: array[1..3] of Integer; I, Total: Integer;
begin
Minutes[1] := 1; Minutes[2] := 2; Minutes[3] := 3;
Total := 0;
for I := Low(Minutes) to High(Minutes) do Total := Total + Minutes[I];
writeln(Total);
end.
</code></pre><p><strong>Expected result:</strong> <code>6</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://docs.freepascal.org/daily/doc/ref/refse74.html">Language reference</a></p></html>