Скажите пж чего дает ошибку 201? - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. program N_2;
  2. uses crt;
  3. const rrr=100500;
  4. var p: boolean;
  5. ll:integer;
  6. n,m,k,l,q,nnn,w,e,r,t,y,u,i,o,aa,ad,af,ag,ah,aj,ak,al,da,z,x,c,boo,rr,r1,r2,r3,pptk :integer;
  7. begin
  8. p:=false;
  9. randomize;
  10. clrscr;
  11. writeln ('ЏҐ*в*Ј®*®ў§«*¬лў*⥫м. ‚ўҐ¤ЁвҐ Ї*а®«м');
  12. readln (ll);
  13. if (ll=rrr)
  14. then
  15. begin
  16. n:=random(5);
  17. writeln ('');
  18. m:=random (1000);
  19. q:=m div 100;
  20. w:=m mod 100 div 10;
  21. e:=m mod 10;
  22. k:=random (1000);
  23. r:=k div 100;
  24. t:=k mod 100 div 10;
  25. y:=k mod 10;
  26. l:=random (1000);
  27. u:=l div 100;
  28. i:=l mod 100 div 10;
  29. o:=l mod 10;
  30. z:=random (1000);
  31. aa:=z div 100;
  32. ad:=z mod 100 div 10;
  33. af:=z mod 10;
  34. x:=random (1000);
  35. ag:=x div 100;
  36. ah:=x mod 100 div 10;
  37. aj:=x mod 10;
  38. c:=random (1000);
  39. ak:=c div 100;
  40. al:=c mod 100 div 10;
  41. da:=c mod 10;
  42. if (n=0)
  43. then
  44. begin
  45. boo:=m ;
  46. writeln (z,x,m,c,k,l);
  47. end;
  48. if (n=1)
  49. then
  50. begin
  51. boo:=m ;
  52. writeln (m,x,z,k,c,l);
  53. end;
  54. if (n=2)
  55. then
  56. begin
  57. boo:=m ;
  58. writeln (l,m,c,k,z,x);
  59. end;
  60. if (n=3)
  61. then
  62. begin
  63. boo:=m ;
  64. writeln (z,k,c,m,x,l);
  65. end;
  66. if (n=4)
  67. then
  68. begin
  69. boo:=m ;
  70. writeln (l,x,k,z,c,m);
  71. end;
  72. if (n=5)
  73. then
  74. begin
  75. boo:=m; ;
  76. writeln (c,k,x,l,m,z);
  77. end;
  78. pptk:=0;
  79. while (pptk<3) do
  80. begin
  81. writeln ('‚ўҐ¤ЁвҐ Є®¤ ў§«®¬*');
  82. readln (rr);
  83. r1:=rr div 100;
  84. r2:=rr mod 100 div 10;
  85. r3:=rr mod 10;
  86. if (r1=q) and (r2=w) and (r3=e)
  87. then
  88. p:=true;
  89. if (p=false)
  90. then
  91. begin
  92. pptk:=pptk+1;
  93. if (not(r1=q) and (r2=w) and (r3=e)) or ((r1=q) and not(r2=w) and (r3=e)) or ((r1=q) and (r2=w) and not(r3=e))
  94. then writeln ('2');;
  95. if (not(r1=q) and not(r2=w) and (r3=e)) or ((r1=q) and not(r2=w) and not(r3=e)) or (not(r1=q) and (r2=w) and not(r3=e))
  96. then writeln ('1');;
  97. if not(r1=q) and not(r2=w) and not(r3=e)
  98. then writeln ('0');;
  99. end;
  100. end;
  101. end;
  102. readln
  103. end.
P.S. Уже кипит мозг
Задачи как таковой нет, однако чисто ради испробования собственных сил написал чет-типо логической игры - "Пентагоновзламыватель Паскаль"

Решение задачи: «Скажите пж чего дает ошибку 201?»

textual
Листинг программы
  1. const
  2.   defPass = '100500';
  3.   CodeLen = 3; CodeNum=1000; CodeCnt = 6;
  4. var
  5.   Codes: String[CodeCnt*CodeLen];
  6.   Code: String[CodeLen];
  7.   s: String;
  8.   i, n, e: Integer;
  9. begin
  10.   Randomize;
  11.   Write('Пароль: '); ReadLn(s);
  12.   if s=defPass then begin
  13.     Str(Random(CodeNum):CodeLen,Code);
  14.     Codes:=Code; n:=Random(CodeCnt);
  15.     for i:=1 to n do begin
  16.       Str(Random(CodeNum):CodeLen,s); Codes:=s+Codes;
  17.     end;
  18.     for i:=1 to CodeCnt-n-1 do begin
  19.       Str(Random(CodeNum):CodeLen,s); Codes:=Codes+s;
  20.     end;
  21.     for i:=1 to Length(Codes) do if Codes[i]=' ' then Codes[i]:='0';
  22.     WriteLn(Codes); n:=3;
  23.     while (n>0) and (e<CodeLen) do begin
  24.       Dec(n); Write('Код: '); ReadLn(s);
  25.       i:=CodeLen; if i>Length(s) then i:=Length(s);
  26.       e:=0; for i:=i downto 1 do Inc(e,Ord(s[i]=Code[i]));
  27.       if e<CodeLen then WriteLn('Совпало: ',e);
  28.     end;
  29.     if e=CodeLen then WriteLn('Бинго!');
  30.   end;
  31. end.

Объяснение кода листинга программы

Список действий в коде:

  1. Объявление констант и переменных.
  2. Инициализация строки Codes с использованием строки defPass.
  3. Получение пароля от пользователя.
  4. Проверка, совпадает ли введенный пароль со значением переменной defPass.
  5. Генерация кодов с помощью функции Random и добавление их к строке Codes.
  6. Замена пробелов в строке Codes на '0'.
  7. Вывод строки Codes.
  8. Запрос количества цифр, которые нужно проверить (переменная n).
  9. Пока n больше 0 и номер текущей цифры не превышает длину строки Codes, происходит проверка совпадения цифр из строки s с соответствующими цифрами из строки Code.
  10. Если количество совпавших цифр равно длине строки Code, выводится сообщение Бинго!. Ошибка 201 может возникнуть, если введенный пароль не совпадает со значением переменной defPass.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут