Написать программу, чтобы она включила в себя все ниже перечисленные подпрограммы — Pascal(Паскаль)

  1. Разработать алгоритм предложения контролирующего урока по орфографии русского языка (10штук каких-нибудь легких слов с пропущенной буквой)
  2. Разработать алгоритм ввода ответов.
  3. Разработать алгоритм проверки результатов.
  4. Разработать алгоритм информирования учащегося об ошибке
  5. Разработать алгоритм оценивания и сообщения оценки
  6. Предупреждать о некорректном вводе данных
  7. Разработать возможность редактирования слова до момента ввода
  8. Предлагать выполнить еще одно задание.
  9. Разработать механизм запроса и ввода имени учащегося
  10. Вести статистику игры

Дополнительно:
Ввод имени-фамилии сделать вначале программы, задания появляются по мере их выполнения, после выполнения всех 10 предложенных заданий выставляется оценка от 2 до 5 в зависимости от правильно выполненных заданий.
Критерии:
1-3 заданий — оценка 2,
4-5 — оценка 3,
6-8 — оценка 4,
9-10 — оценка 5
если оценка ниже 4, то предложить пройти тест еще раз

program fh;

label 1, 2;

type
  slova = record
    sl: string;
    b: char;
  end;

var
  slovzad: array [1 .. 10] of slova;
  c, imia, fam: string;
  i, oc, n: integer;
  yn: char;

begin
  write('Vvedite VASHY familiiu: ');
  readln(fam);
  write('Vvedite VASHE imia: ');
  readln(imia);
2:
  slovzad[1].sl := 'm*ma';
  slovzad[1].b := 'a';
  slovzad[2].sl := 'p*pa';
  slovzad[2].b := 'a';
  slovzad[3].sl := 'kr*sa';
  slovzad[3].b := 'i';
  slovzad[4].sl := 'mn*go';
  slovzad[4].b := 'o';
  slovzad[5].sl := 'm*nu';
  slovzad[5].b := 'e';
  slovzad[6].sl := 'vod*';
  slovzad[6].b := 'a';
  slovzad[7].sl := 'b*maga';
  slovzad[7].b := 'u';
  slovzad[8].sl := 'dolla*';
  slovzad[8].b := 'r';
  slovzad[9].sl := 'e*ro';
  slovzad[9].b := 'v';
  slovzad[10].sl := 're*ina';
  slovzad[10].b := 'z';

  // *************222**
  writeln('Vvedite BUKVU, kotoraia propuchena:');
  n := 0;
  for i := 1 to 10 do
  begin
  1:
    write(slovzad[i].sl, ':= ');
    readln(c);
    if length(c) > 1 then
    begin
      writeln('ERROR: vvedite TOLIKO 1 bykvy ece raz');
      goto 1;
    end;
    if c = slovzad[i].b then
    begin
      inc(n);
      writeln('[i]');
    end
    else
      writeln('[L]');
  end;
  writeln('___________________________________________________');
  writeln('F.I. uchaschegosya: ', fam, ' ', imia);
  writeln('Kol-vo BALLOV: ', n);
  if n < 4 then
    oc := 2;
  if (n = 4) or (n = 5) then
    oc := 3;
  if (n = 6) or (n = 7) or (n = 8) then
    oc := 4;
  if (n = 9) or (n = 10) then
    oc := 5;
  writeln('Ocenka: ', oc);
  writeln;

  if oc < 4 then
  begin
    writeln('Hotite proyti TEST povtorno? [y/n]: ');
    readln(yn);
    if yn = 'y' then
      goto 2;
  end;

  readln;
  readln;

end.

Leave a Comment

59 − = 53