A general way of describing multiple-choice questionnaires for on-line presentation is described. Some of the important features supported include random ordering of and sampling among questions, substitution of specific-question text into boilerplate question and response formats, a limited ability to bypass irrelevant questions, experimenter editing of response arrays, and automatic production of hard-copy versions of the questionnaire for use during computer breakdowns and for archival documentation. All editing operations on both questionnaires and response data create audit trails for future reference.One of the oldest uses for computers in psychology is the automation of the presentation and scoring of multiplechoice questionnaires, especially of the type used in clinical settings. (Similar questionnaires used in educational applications are beyond the scope of this paper.) The programming of a simple questionnaire may be a straightforward exercise in a language such as Pascal or BASIC: an inner loop that displays responses is nested within an outer loop that displays questions, and consecutive responses are saved in a simple vector. The implementation questions become more interesting, though, when one wants to efficiently present, score, and document a variety of questionnaires, especially when some violate the simple computer structures of nested loops and singly subscripted vectors.As part of a general redesign of software for measuring psychopharmacological effects on behavior, I am currently implementing a general form-based tool for defining, presenting and scoring, and documenting the classes of questionnaire most useful to us.