Raw

5. Report contents / Зміст звіту

The report is submitted together with the source code. It must contain the following sections.

  1. Title block — course, laboratory work number and title, student’s name and group, date.
  2. Objective — a short statement of the goal of the work (see 1purpose.md).
  3. Brief theory — ordered pairs, the Cartesian product A×BA \times B, and the definition of a binary relation as a subset of A×BA \times B, in your own words using standard relation notation (see Lecture 3 — Relations).
  4. Chosen representation — how an ordered pair and a product/relation are stored without built-in set/tuple helpers, and how components are compared.
  5. Implementation — the source code of every implemented function, with brief comments. State the programming language used.
  6. Testing — for each function, a table of test cases and results. Include the examples from 4task.md and your own edge cases: an empty factor (A×A \times \varnothing), the size check A×B=AB|A \times B| = |A|\cdot|B|, a relation that is valid and one that is invalid, and a predicate that selects no pairs.
  7. Achieved tier — state the highest tier you completed and which functions it covers (see the grading bands in 4task.md).
  8. Complexity — the time complexity of cartesianProduct, isRelationValid, findRelations, and filteredCartesianProduct, with one sentence on how a hash-based membership test would affect validation.
  9. Conclusions — what was implemented, the difficulties encountered, and what you learned.

Submission requirements. The source files must compile/run and reproduce the example outputs of 4task.md.

Laboratory/Laboratory2/5report.md · 1.8 KB · updated 2026-07-31 21:14