Software to Process Survey Data

The program procenq.pas was used to process the data of the surveys held at IOI2000 and IOI2001.
Name
procenq - process survey data
Synopsis
procenq questions-file [ subtitle ]
Description
The procenq program reads a responses-file with responses from standard input and produces a results-file with a table of statistics in HTML format on standard output. The questions are taken from the questions-file. Subtitle is an optional subtitle used in the output file. The subtitle is useful when processing subsets of respondents.

The questions-file is a plain text file with the following format:

  • The first line contains the title of the survey
  • Each subsequent line describes a question:
    • First the number of answers to this question is given,
    • followed by (a short version of) the text of the question (leading and trailing whitespace is trimmed).
  • Empty lines are ignored.
The responses-file is a plain text file with the following format:
  • Each line describes the responses of one respondent:
    • One digit per answer, zero indicating that no answer was given,
  • Blanks (spaces) are ignored.
  • Text after # is ignored (to the end of the line).
  • Empty lines are ignored.
The results-file an HTML text file containing:
  • A header with the title of the survey (from the questions-file)
  • Optionally a subheader with the subtitle (second command-line argument)
  • A legend showing the number of respondents and an explanation of the color coding.
  • A table with a row for each question and a column for each answers (incl. answer 0 for `no answer'); each entry in the table indicates
    • How many respondents gave this answer to this question
    • What percentage this is of the total number of respondents
    • A color indicating the relative importance of this answer:
      • Red: maximum
      • Yellow: between half the maximum and the maximum
      • Lightblue: nonempty and less than half the maximum
      • White: empty
  • The table also contains an additional column in green, which roughly shows where the quartiles of each question are located: 25%, 50% (median), 75%
Examples
Survey Questions (input) Responses (stdin) Results (stdout)
Delegations at IOI'2000 questions.txt responses.txt results.shtml
Competitors at IOI'2001 questions.txt responses.txt results.shtml
Delegations at IOI'2001 questions.txt responses.txt results.shtml
Delegations at IOI'2002 questions.txt responses.txt results.shtml
Diagnostics
The constant TEST controls the output of diagnostics on standard output.
Notes
None
Limitations
Error checking is minimal (e.g. bad format in input files may result in a runtime error).