Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.09.2014
Сообщений: 3

Создать блок-схему к готовому коду

12.09.2016, 16:46. Показов 928. Ответов 1

Студворк — интернет-сервис помощи студентам
Создать блок-схему по этой программе.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
program Dostup;
  uses crt;
  type TRights=set of (RRead,RWrite,RGrant); { Виды прав }
  const FullRights: TRights=[RRead,RWrite,RGrant]; { Полные права }
        MaxObj=5; { Число объектов }
        MaxUsers=6; { Число пользователей }
        MaxPass=32;{сам пароль}
  var Users: array [1..MaxUsers] of string[20]; { Имена пользователей }
      UserRights: array [1..MaxObj,1..6] of TRights; { Права пользователей }
      i,j,CurrUser: byte; { Счетчики, номер текущего пользователя }
      SCommand: string[20]; { Текущая команда или имя пользователя }
      tmpRight: TRights; { Временное хранилище типа передаваемых прав }
      l: integer;{пароль}
begin
  clrscr;
  { Инициализируем пользователей }
  Users[1]:='Оксана';
  Users[2]:='Женя';
  Users[3]:='Игорь';
  Users[4]:='Настя';
  Users[5]:='Андрей';
  Users[6]:='Лена';
  { Инициализируем права - первый пользователь - админ }
  randomize;
  for i:=1 to MaxObj do begin
    UserRights[i,1]:=FullRights;
    for j:=2 to MaxUsers do begin
      UserRights[i,j]:=[];
      if random(2)=1 then UserRights[i,j]:=UserRights[i,j]+[RRead];
      if random(2)=1 then UserRights[i,j]:=UserRights[i,j]+[RWrite];
      if random(2)=1 then UserRights[i,j]:=UserRights[i,j]+[RGrant];
    end;
  end;
  { Главный цикл - по пользователям }
  CurrUser:=0;
  repeat
    write('Имя пользователя: ');
    readln(SCommand);
    begin 
 writeln('Введите пароль'); 
 read(l); 
 if Users[1]:l=1234 then writeln('Верно'); 
 if l<>1234 then writeln('Пароль неправельный'); 
end;
    { Проверяем выход}
    if SCommand='выход' then break;
    { Проверяем вход пользователя }
    for i:=1 to MaxUsers do
      if Users[i]=SCommand then begin
        CurrUser:=i;
        break;
      end;
    if CurrUser=0 then
      writeln('Неправильное имя пользователя!')
    else begin { Успешный вход }
      { Выводим права }
      for i:=1 to MaxObj do begin
        write('Объект ',i,': ');
        if UserRights[i,CurrUser]=[] then { Нет прав }
          write('Запрет')
        else if UserRights[i,CurrUser]=FullRights then { Полные права }
          write('Полные права')
        else begin
          if RRead in UserRights[i,CurrUser] then write('Чтение, ');
          if RWrite in UserRights[i,CurrUser] then write('Запись, ');
          if RGrant in UserRights[i,CurrUser] then write('Передача, ');
          GotoXY(WhereX-2,WhereY);
          write('  ');
        end;
        writeln;
      end;
      { Цикл по командам пользователя }
      repeat
        write('Жду ваших указаний >');
        readln(SCommand);
        { Проверяем команды }
        if SCommand='выход' then break { Выход }
          else if (SCommand='чтение') or (SCommand='запись') or (SCommand='передача') then begin
            write('Над каким объектом производится операция? ');
            readln(j);
            { Проверим диапазон }
            if j>MaxObj then writeln('Нет такого объекта') else
            begin
              { Команда read }
              if SCommand='чтение' then
                if RRead in UserRights[j,CurrUser] then
                  writeln('Операция прошла успешно') else writeln('Отказ. Нет прав');
              { Команда write }
              if SCommand='запись' then
                if RWrite in UserRights[j,CurrUser] then
                  writeln('Операция прошла успешно') else writeln('Отказ. Нет прав');
              { Команда grant }
              if SCommand='передача' then
                if RGrant in UserRights[j,CurrUser] then begin
                  write('Какое право передается? ');
                  readln(SCommand);
                  { Проверим команды }
                  if (SCommand='чтение') or (SCommand='запись') or (SCommand='передача') then begin
                    { Запомним передаваемое право }
                    if SCommand='чтение' then tmpRight:=[RRead] else
                      if SCommand='запись' then tmpRight:=[RWrite] else tmpRight:=[RGrant];
                    write('Какому пользователю передается право? ');
                    readln(SCommand);
                    { Найдем пользователя }
                    i:=1;
                    while i<=MaxUsers do begin
                      if Users[i]=SCommand then break;
                      inc(i);
                    end;
                    { Если пользователь не найден выведем сообщение }
                    if i>MaxUsers then
                      writeln('Неправильное имя пользователя!')
                    else begin{ Иначе передадим права }
                      UserRights[j,i]:=UserRights[j,i]+tmpRight;
                    end;
                  end else
                    writeln('Неправильно задан вид прав');
                end else writeln('Отказ. Нет прав');
            end;
          end else
            writeln('Неверная команда');
      until false;
      CurrUser:=0;
    end;
  until false;
  { Завершение работы }
  writeln('Пока!');
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2016, 16:46
Ответы с готовыми решениями:

Составить блок-схему к готовому коду
program info_student; uses crt; type Record_Type=Record Fam:String; Name:String; ...

Составить блок-схему к готовому коду
:sorry:Помогите пожалуйста составить блок-схему по коду!!!!!!!!!: Program pr2; uses crt; type prodaza=record ...

Составить блок схему к готовому коду
Доброго времени суток, нужен алгоритм) PROGRAM magichnyi_kvadrat; Uses crt; Var a:array of integer; i,j,n,s,w,k,q,d:integer; ...

1
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
13.09.2016, 05:29
Извините Оксана_32, но создание блок-схем к современному программированию не относится!
В настоящее время с помощью блок-схем описываются только основные алгоритмы и процессы программы.

Если вам так сильно нужно, то попробуйте поискать в интернете „блок-схемы онлайн“.
Я думаю, что он вам поможет ;–)

Или скачайте программу FCMaker…
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.09.2016, 05:29
Помогаю со студенческими работами здесь

Составить блок схему к готовому коду
Помогите, пожалуйста, составить блок-схему по данной задаче. program asdasd; const n=7; m=5; v=2; var a: array of integer; ...

Составить блок-схему по готовому коду
Помогите пожалуйста написать блок-схему по этой задаче. Буду очень благодарен за помощь. program asdd; const n=32; type mas=array...

Написать блок схему по готовому коду в Pascal
program m_1; var x,y,p,i,k:integer; begin writeln('введите 2 числа: x,y(x&gt;y)'); read(x,y); p:=1; k:=0; for i:=x+1 to y-1 do...

Как создать блок-схему по этому коду?
program case1; Procedure Case2(a:integer); begin Writeln ('Ведите число дня недели'); readln(a); while a&gt;5 do begin...

Составить блок схему к готовому коду
Помогите сделать блок схему, кому не сложно uses crt; const n=10; var a:array of integer; i,j,k,r,max:integer; sred:real; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru