В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Мария178930
Мария178930
14.11.2021 11:23 •  Информатика

Решить контрольную по-информатике за 9 класс

Показать ответ
Ответ:
moiznaniya1112
moiznaniya1112
14.03.2020 17:50

Деректер қорын басқару жүйелері

Өз ойыңызбен бөлісіңіз

Біз үлкен көлемдегі деректерді қалай сақтап, өңдейміз?

Деректер қоры дегеніміз не?

Деректер қорын жасау не үшін қажет?

Деректер қорын жинақтауға арналған қандай программаларды білесіңдер?

Кез келген кәсіпорын немесе ұжым Деректер қорын басқару жүйелерін (ДҚБЖ) жасайды. Олардың көмегімен Деректер қорын жасау­ға, ақпараттармен толықтыруға және жұмыс істеуге болатын программалар жинауға болады. Деректер қорын басқару жүйелерінің бірнеше ондаған түрлері бар, олардың көпшілігі – шындығына келгенде басқару жүйелері емес, арнайы дайындалған программалау тілдері. Осы тілді меңгерген әрбір адам қолданушыға ыңғайлы құрылымдағы, кез келген деректер қорын жасап алуына және оларға қажетті басқару элементтерін енгізуіне болады.

ДҚБЖ (Деректер Қорын Басқару Жүйесі) – деректер қорынан деректерді құру, сақтау және алуды автоматтандыруға арналған программалар жиынтығы.

ДҚБЖ үш негізгі функциясы

1) Деректрді анықтау (деректер қорының сипаттамасы);

​2) Деректерді өңдеу;

​3) Деректерді басқару.

Осы функциялардың барлығын Microsoft Access-те толықтай қолдануға болады.

Тағы да осы тақырып бойынша Басқа іс-әрекеттер

Деректер қорына қойылатын талаптар  

✔ мәліметтер қорының мазмұнын көшіруді болдырмау немесе азайту;

​✔пайдаланушы топтардың құқықтары мен талаптарына сәйкес, деректер қорының жекелеген ақпараттық элементтерге енуін жеделдетуді қамтамасыз ету;

​✔ үнемі өсіп отыратын талаптарды қанағаттандыру үшін деректер қорының кеңейтілу мүмкіншіліктерін қамтамасыз ету;

​✔ тек қана дұрыс, алдын ала тексерілген ақпараттарды пайдалануды қамтамасыз етуге мүмкіндік беретін деректер қорының тұтас­тығын сақтау;

​✔деректер қорының, тұтынушылардың жекелеген санаттарының жұмыс істеуіне қажетті белгілі бір ақпараттық элементтерге енуіне ғана рұқсат беру;

​✔ қорға енуді, деректер қорына ақпараттар қосу мен түзетуді тек қана авторлық құқығы бар тұтынушылардың орындауы;

​✔ деректер қорын пайдаланушылардың талабына сәйкес, деректердің элементтерін, түзету, бейнелеу және есептеу құрылғыларын құрудың қарапайымдылығын қамтамасыз ету.

Есіңізде сақтаңыз

Деректерді сақтау – компьютердің маңызды функцияларының бірі. Оның ең көп тараған құралы – Деректер қоры (ДҚ). ДҚ – берілген құрылымдағы ақпараттардан тұратын арнайы форматтағы файл. Берілгендер кесте түрінде дайындалады.

Деректер қоры (ДҚ) – анықталған облысқа жататын деректерді басқару, сақтау және сипаттаудың жалпы ұстанымдарын анықталған ережелер бойынша қарастыратын ұйымдастырылған деректер жиынтығы.

Тағы да осы тақырып бойынша Басқа іс-әрекеттер

Деректердің арасындағы байланыстарды ұйымдастырудың түрлері

Деректердің арасындағы байланыстарды ұйымдастырудың келесі түрлері бар:

1) Иерархиялық;                                                          ​2) Желілік;                                                     ​3) Реляциялық.

Көптеген ДҚ кестелік құрылымда болады. Кестелік құрылымда берілгендердің адрестері жол мен бағананың қиылысуымен анықталады. Кестелерді жобалау кезінде олардың құрылымдарын алдымен қағазда жасаған ыңғайлы. Кестедегі әрбір өріс оның тақырыбына сәйкес болатын жеке мәліметтен тұрады. Әртүрлі кестедегі берілгендерді байланыстыру үшін, әрбір кестедегі жазбаның өзіндік жеке мәнін бере алатын өріс не өрістер жиынтығы болуы тиіс. Мұндай өріс не өрістер жиынтығын негізгі кілт деп атайды.

Объяснение:

0,0(0 оценок)
Ответ:
золотое5руно
золотое5руно
17.12.2021 13:24
Для начала попробуем разобрать один из решения подобных задач.

Рассмотрим контрольный пример.
Входные данные:
5 - это количество врачей, т.е. нижеследующих строчек.
2 3 5 - 1-й врач. У него 2 предшественника - врачи 3 и 5
2 3 5 - 2-й врач. У него 2 предшественника - врачи 3 и 5
1 5 - 3-й врач. У него 1 предшественник - врач 5
3 1 3 5 - 4-й врач. У него 3 предшественника - врачи 1, 3 и 5
0 - 5-й врач. У него нет предшественников.
Вариант результата: 5 3 1 2 4 - в таком порядке посещаются врачи.

Изобразим эти данные графически. В кружочках проставим номера врачей и соединим кружочки стрелками, отображающими взаимосвязи (первое вложение). Полученный рисунок - ни что иное, как ориентированный граф.

Решение будет состоять в поиске порядка посещения всех вершин графа ("врачей") в соответствии с доступными путями ("очередностью").
Очевидно, что первой нужно посетить вершину, из которой пути только выходят. Если ни одной такой вершины нет - задача решения не имеет. В нашем случае такая вершина есть - номер 5 и она помечена зеленым. После посещения мы удаляем эту вершину и все ведущие из нее пути. Получаем картину, представленную вторым вложением. Повторяем наше рассуждение и находим вершину 3. Снова удаляем её и выходящие из нее пути. В третьем вложении мы видим, что доступны сразу две вершины - 1 и 2. Их можно посетить в любом порядке, т.е. решение не единственное. Будем придерживаться порядка возрастания и и вычеркнем 1 с путём, а затем и 2. В чевертом вложении остается свободная вершина 4. Посещаем её, вычеркиваем - граф исчез, задача решена. И порядок посещения совпал с контрольным решением.

Теперь, когда "ручное" решение понятно, можно строить алгоритм.
Мы использовали граф, а граф в программировании представляется парой множеств: множеством вершин и множеством путей, их соединяющих.
Эти множества классически представляются двумя матрицами - матрицей смежности (отображает вершины и наличие связей) и матрицей инцидентности (отображает направление связей и, возможно, длины путей). Другие варианты - списки или деревья, но они требуют набора процедур для соответствующих манипуляций.

В связи с относительной простотой задачи был выбран собственный вариант отображения графа на квадратную матрицу размера (n+1)×n, где n- количество вершин (врачей). Первая строка матрицы является служебной, остальные отображают граф. В пятом вложении приведена принятая схема отображения. Собственно, из этой схемы понятна основная идея реализации. Создаем матрицу, расписываем её нулями, затем заносим единицы, создавая связи. Решение состоит в последовательном переборе колонок до нахождения столбцов, содержащих все нули. Найденный столбец "вычеркивается" (записывается 1 в нулевой строке), а его номер - это номер посещенной вершины. Процесс повторяется, пока в служебной строке не будут все единицы, либо пока не будет n раз сделан проход по столбцам (от зацикливания при отсутствии решения).

Поскольку программа может показаться нетривиальной, в нее внесены операторы отладки, позволяющие по шагам проследить решение. Как управлять отладкой, ясно из комментариев. Если отладка не нужна, достаточно из программы удалить все строки, отмеченные \\-

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger; // первая строка - число врачей
  var a:=MatrFill(n+1,n,0); // матрица посещений
  var t:integer;
  for var i:=1 to n do begin // цикл ввода по каждому врачу
    var k:=ReadInteger; // количество врачей-предшественников
    for var j:=1 to k do begin
      Read(t);
      a[t,i-1]:=1
      end;
    end;
  t:=0;
  var res:='';
  var debug:=true; //- debug:=false блокирует отладочную выдачу
  if debug then begin //-
    Writeln('исходная матрица'); //-
    a.Println(2); Writeln //-
    end; //-
  for var m:=1 to n do begin
    for var j:=1 to n do begin
      var c:=a.Col(j-1);
      if c[0]=0 then begin
        if c.All(x->x=0) then begin
          Res+=j+' ';
          if debug then Writeln(Res); //-
          a[0,j-1]:=1;
          for var i:=0 to n-1 do a[j,i]:=0;
          if debug then begin //-
            a.Println(2); Writeln //-
            end //-
          end
        end;
      end;
    if a.Row(0).All(x->x=1) then begin t:=1; break end;
    end;
  if t=0 then Writeln(-1)
  else Writeln(Res)
end.

Пример решения с выключенной отладкой
5
2 3 5
2 3 5
1 5
3 1 3 5
0
5 3 1 2 4

Пример со включенной отладкой (можно исходные данные для удобства все писать в одной строке)
5 2 3 5 2 3 5 1 5 3 1 3 5 0
исходная матрица
 0 0 0 0 0
 0 0 0 1 0
 0 0 0 0 0
 1 1 0 1 0
 0 0 0 0 0
 1 1 1 1 0

5
 0 0 0 0 1
 0 0 0 1 0
 0 0 0 0 0
 1 1 0 1 0
 0 0 0 0 0
 0 0 0 0 0

5 3
 0 0 1 0 1
 0 0 0 1 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0

5 3 1
 1 0 1 0 1
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0

5 3 1 2
 1 1 1 0 1
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0

5 3 1 2 4
 1 1 1 1 1
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0

5 3 1 2 4

Максу требуется пройти медкомиссию, состоящую из n различных врачей. уже у стойки регистрации макс п
Максу требуется пройти медкомиссию, состоящую из n различных врачей. уже у стойки регистрации макс п
Максу требуется пройти медкомиссию, состоящую из n различных врачей. уже у стойки регистрации макс п
Максу требуется пройти медкомиссию, состоящую из n различных врачей. уже у стойки регистрации макс п
Максу требуется пройти медкомиссию, состоящую из n различных врачей. уже у стойки регистрации макс п
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота