Zero and First Conditionals in Technical Documentation
0 / 5 completed
1 / 5
Which sentence uses a zero conditional correctly to describe a system behaviour?
Option B is correct. The zero conditional uses simple present in both clauses: "if + present, present". It describes universal, always-true behaviours — laws of the system, not predictions. "If memory usage exceeds 90%, the OOM killer terminates a process" is a factual statement about Linux kernel behaviour that is always true. Option A uses "will" in the result clause, which shifts it to a first conditional (a prediction for a specific future event). Option C puts "will" in the condition clause, which is always wrong in conditionals. Option D mixes past in the condition with present in the result. In system documentation, use zero conditional for invariant behaviours.
2 / 5
A deployment guide reads: "If you push to the main branch, the CI pipeline __ a new staging deployment." Should the blank use zero or first conditional form?
Option A is correct. Use the zero conditional ("triggers") here because the CI pipeline behaviour is not a prediction — it is a configured, deterministic system rule. Every push to main always triggers the pipeline; this is not contingent on circumstances. The zero conditional is more authoritative in documentation: it states a fact. The first conditional "will trigger" introduces a hint of uncertainty or personal prediction that is inappropriate when describing a CI/CD configuration that the reader can rely on absolutely. Reserve the first conditional for warnings, recommendations, and genuinely context-dependent outcomes.
3 / 5
Which sentence correctly uses the first conditional in a security warning?
Option B is correct. The first conditional uses "if + present simple, will + infinitive". It describes a specific, realistic future scenario and its likely consequence — ideal for security warnings where the risk is real but not universal. Option A is the zero conditional ("attackers gain access") — this is also defensible if the vulnerability is a guaranteed outcome, but the first conditional is preferred in warnings because "will gain" carries stronger urgency. Option C incorrectly uses "will" in the condition clause. Option D mixes past condition with "will" result, which is a second conditional structure used for hypotheticals, not real security risks.
4 / 5
A README has both these sentences. Which conditional type has been used correctly for each?
"If the PORT variable is not set, the server uses port 8080." "If you run the tests with --coverage, a report will be generated in coverage/."
Option C is correct. The first sentence uses the zero conditional correctly: the fallback to port 8080 is an invariant default — it always happens, no exceptions. The second sentence uses the first conditional correctly: running with --coverage is a specific deliberate action with a predictable future result ("will be generated"). This distinction is common in READMEs — system defaults are described with zero conditionals (always true), while optional commands and their effects are described with first conditionals (if you do this specific thing, here is what will happen).
5 / 5
A developer writes this error message documentation: "If the API key is invalid, you will receive a 401 Unauthorized error." A reviewer suggests changing "will receive" to "receive". Who is correct?
Option B is correct. For guaranteed, deterministic API behaviours — like error codes returned for invalid inputs — the zero conditional is more authoritative and conventional. "If the key is invalid, you receive a 401" reads as a system fact. "You will receive" hedges slightly, as if the outcome depends on circumstances. Major API documentation (Stripe, Twilio, GitHub) consistently uses the zero conditional for error response tables and conditional behaviour descriptions. The first conditional "will receive" is appropriate when the outcome involves a process with some variability ("if you retry, the request will eventually succeed").