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 — what a finite state machine is (states, alphabet, transitions, start and accepting states), in your own words (see Lecture 14 — Automata theory).
  4. State design — the transition table or state diagram of your scanner, the character classes used, and which states are emitting. Explain how the machine grows across the four tasks.
  5. Implementation — the source code of the scanner, with brief comments. State the programming language used.
  6. Testing — the results for the example input adfvq3414fn.f143.31f-113.112vwe at all four stages (341414331113112; [3414, 143, 31, 113, 112]; [3414, 143.31, 113.112]; [3414, 143.31, -113.112]) and your own cases: a string with no digits, a number at the very start or end, and a lone . or -.
  7. Complexity — argue that the scanner runs in O(n)O(n) time and uses O(1)O(1) state.
  8. Conclusions — what was implemented, difficulties encountered (especially the roles of . and -), and what you learned about state machines.

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

Laboratory/Laboratory8/5report.md · 1.5 KB · updated 2026-08-01 20:19