fork download
  1. program laba2;
  2. uses crt;
  3. Const A:array[1..3]of string =('Иван','Борис','Сергей');
  4. Const B:array[1..3]of string =('Файл1','Файл2','Файл3');
  5. Const C:array[1..8]of string =('Запрет','Передача прав','Запись',
  6. 'Запись, Передача прав','Чтение','Чтение, Передача прав','Чтение, Запись','Полные права');
  7. var
  8. i,n,k,j,q,p:integer;
  9. u,y1,y2: string;
  10. D:array[1..9,1..3] of integer;
  11. begin
  12. clrscr;
  13. n:=3;
  14. k:=3;
  15. j:=8;
  16. D[1][1]:=8;
  17. D[1][2]:=8;
  18. D[1][3]:=8;
  19. D[2][1]:=1;
  20. D[2][2]:=1;
  21. D[2][3]:=1;
  22. D[3][1]:=3;
  23. D[3][2]:=1;
  24. D[3][3]:=2;
  25. writeln ('Пользователь'); readln(u);
  26. for i:=1 to n do
  27. if u = a[i] then begin q:=i;
  28. writeln ('Идентификация прошла успешно, добро пожаловать в систему', ' ',a[q]); end;
  29. if q = 0
  30. then writeln('Неправильное имя пользователя.')
  31. else begin
  32. writeln('Ваши права:');
  33. end;
  34. for i:=1 to 3 do
  35. writeln(B[i], ' - ', C[D[q][i]], ';');
  36. k:=3;
  37. j:=0;
  38. while(k>5) do begin
  39. readln;
  40. readln;
  41. writeln('Жду ваших указаний :');
  42. readln(y1);
  43. writeln('Над каким объектом производится операция ?');
  44. read(y2);
  45. if y1='Выход'
  46. then k:=0;
  47. for i:= 1 to 4 do
  48. if y1=C[i]
  49.  
  50. then for p:=1 to 3 do
  51. if y2=B[p]
  52. then begin if i=D[q][p]
  53. then begin writeln('Операция прошла успешно'); j:=3; end;
  54. if D[q][p]=8
  55. then begin writeln('Операция прошла успешно'); j:=3; end;
  56. if j<>3
  57. then begin j:=3;writeln('Отказ в выполнении операции. У Вас нет прав для ее осуществления '); end;
  58. end;
  59. if j=0
  60. then writeln('Неправильное имя файла, или команда.');
  61. j:=0;
  62. end;
  63. end.
Success #stdin #stdout 0s 4548KB
stdin
Standard input is empty
stdout
Пользователь
Неправильное имя пользователя.
Файл1 - Файл3;
Файл2 - Файл3;
Файл3 - Файл3;