Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

Arithmetic Test

program ArithmeticTest;

type
  question = class
    public
      num1: integer;
      num2: integer;
      mode: string;
      answer: real;
      constructor create(n1, n2, m: integer);
  end;

var
  name: string;
  questionNum, answer: integer;
  questions: array [1..10] of question;
  answers: array [1..10] of real;

constructor question.create(n1, n2, m: integer);
begin
  num1 := n1;
  num2 := n2;
  if m = 1 then
    begin
      answer := num1 + num2;
      mode := '+';
    end
  else if m = 2 then
    begin
      answer := num1 - num2;
      mode := '-';
    end
  else if m = 3 then
    begin
      answer := num1 * num2;
      mode := '*';
    end
  else if m = 4 then
    begin
      answer := num1 / num2;
      mode := '/';
    end;
end;

procedure generateQuestion(questionNum: integer);
begin
  questions[questionNum] := question.create(random(20) + 1, random(20) + 1, random(4) + 1);
  writeln('What is ', questions[questionNum].num1, ' ', questions[questionNum].mode, ' ', questions[questionNum].num2, '?');
end;

procedure checkAnswer (questionNum: integer);
var
  inputAnswer, correctAnswer: real;
begin
  inputAnswer := round(answers[questionNum] * 100) / 100;
  correctAnswer := round(questions[questionNum].answer * 100) / 100;
  if inputAnswer = correctAnswer then
    writeln('Question ', questionNum, ': correct')
  else
    writeln('Question ', questionNum, ': incorrect - correct answer is ', correctAnswer:0:2);
end;

begin
  writeln('What is your name?');
  readln(name);
  randomize;
  for questionNum := 1 to 10 do
    begin
      generateQuestion(questionNum);
      readln(answers[questionNum]);
    end;
  for questionNum := 1 to 10 do
    begin
      checkAnswer(questionNum);
    end;
  readln;
end.

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.