12 lines
1.5 KiB
HTML
12 lines
1.5 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><code>std::cout</code> writes output. <code>std::vector</code> manages a growing sequence and releases its storage when its lifetime ends. The lab selects C++17; an example that compiles under a different standard needs its settings recorded.</p><pre><code class="language-cpp">#include <iostream>
|
|
#include <vector>
|
|
#include <string>
|
|
#include <cassert>
|
|
|
|
int main() {
|
|
std::vector<int> minutes{1, 2, 3};
|
|
int total = 0;
|
|
for (int value : minutes) total += value;
|
|
std::cout << total << "\n";
|
|
}
|
|
</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://isocpp.org/get-started">Language reference</a></p></html> |