Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lektsii_po_infe_1.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
284 Кб
Скачать
☆

45)Системы управления бд и их состав

Работа с БД сводится к выполнению следующих операций:

  1. запись (заполнение базы);

  2. просмотр;

  3. редактирование (добавление, удаление, исправления);

  4. выборка (запросы, отчеты).

Эти операции накопления и манипулирования данными выполняет специальная программа – система управления БД (СУБД). СУБД – совокупность программных и языковых средств.

  1. Языковые средства обеспечивают взаимодействие пользователя с БД. К ним относят:

  1. языки определения данных (ЯОД) – языки, предназначенные для создания схемы БД (описание типов данных, структуры базы, взаимодействия и связей элементов;

  2. языки манипулирования данными (ЯМД) – языки запросов к БД. Представляют собой систему команд (выборка, запрос, вставка, удаление и т. д.).

  1. Программные средства обеспечивают организацию ввода, обработки и хранения данных и взаимодействие всех частей системы при ее функционировании (настройка, тестирование и т. д.).

Современные СУБД включают в свой состав прикладные программы, позволяющие работать с БД неквалифицированному пользователю, который использует при взаимодействии с БД свой (человеческий) язык.

44)Схема взаимодействия пользователя с бд:

Пользователь

(неквалифицированный)

СУБД

(например, access)

БД

1) 2)

  1. Общение на естественном языке

  2. Общение на ЯОД и ЯМД

Некоторые приемы программирования

Приемы будут рассмотрены на примерах обработки одномерных числовых массивов в ЯП Pascal. Дан массив А[N]

  1. Накопление суммы и произведения:

…

S:=0;

P:=0;

FOR I:=1 TO N DO

BEGIN

S:=S+A[I];

P:=P*A[I];

END;

…

  1. Нахождение MAX (MIN):

…

IMAX:=1;

FOR I:=2 TO N DO IF A[I]>A[IMAX]

THEN

IMAX:=I;

WRITELN(‘MAX=’,A[IMAX],’его номер’,IMAX);

…

  1. Удаление из массива К-го элемента:

…

FOR I:=K TO N-1 DO

A[I]:=A[I+1];

N:=N-1;

…

  1. Вставка в массив нового элемента В на К-е место:

…

N:=N+1;

FOR I:=1 DOWNTO K+1 DO

A[I]:=A[I-1];

A[K]:=B;

…

  1. Метод сортировки:

  1. Метод пузырька:

…

FOR I:=1 TO N-1 DO

FOR J:=1 TO N-1 DO

IF A[J]>A[J+1]

THEN

BEGIN

BUF:=A[J];

A[J]:=A[J+1];

A[J+1]:=BUF;

END;

…

  1. 46)Ускоренный метод пузырька:

  • уменьшение количества сравнивания соседей на каждом последующем проходе по массиву:

…

FOR I:=1 TO N-1 DO

FOR J:=1 TO N-I DO

IF A[J]>A[J+1]

THEN

BEGIN

BUF:=A[J];

A[J]:=A[J+1];

A[J+1]:=BUF;

END;

…

что равносильно другой записи:

…

FOR J:=N-1 TO 1 DO

FOR I:=1 TO J DO

IF A[J]>A[J+1]

THEN

BEGIN

BUF:=A[J];

A[J]:=A[J+1];

A[J+1]:=BUF;

END;

…

  • прекращение проходов по массиву при окончательном упорядочивании:

…

K:=N;

REPEAT

PORYADOK:=TRUE;

K:=K+1;

FOR J:=1 TO K DO

BUF:=A[J];

A[J]:=A[J+1];

A[J+1]:=BUF;

PORYADOK:=FALSE;

END;

UNTIL PORYADOK;

…

  1. 47)Метод сортировки выбором (метод выбора). Суть : при сортировке по возрастанию находится min элемент в диапазоне от 1-го до последнего и меняется местами с первым, затем находится min элемент в диапазоне от 2-го до последнего и меняется местами со вторым и т. д.

…

FOR I:=1 TO N-1 DO

BEGIN

MIN:=A[I];

IMIN:=I;

FOR J:=I+1 TO N DO

IF A[J]<MIN

THEN

BEGIN

MIN:=A[J];

IMIN:=J;

END;

A[IMIN]:=A[I];

A[I]:=MIN;

END;

…

  1. 48)Метод вставки. Суть: считается, что массив разделен на две части: отсортированную (в начале массива) и не отсортированную (в оставшейся части массива). (В самом начале отсортированная часть состоит из одного элемента.) Из не отсортированной части выбирается 1-й элемент (его номер I) и вставляется в отсортированную часть без изменения порядка возрастания (в позицию J).

…

FOR I:=2 TO N DO

BEGIN

BUF:=A[I];

J:=1;

WHILE BUF>A[J] DO

J:=J+1;

FOR K:=I DOWNTO J+1 DO

A[K]:=A[K-1];

A[J]:=BUF;

END;

…

  1. Поиск в массиве искомого элемента:

  1. 49)Метод перебора. Суть метода: элемента массива, начиная с первого,

сравниваются с искомым до тех пор, пока не произойдет совпадение или не будет просмотрен весь массив.

…

NAIDENO:=FALSE;

I:=0;

REPEAT

I:=I+1;

IF A[I]=ISKOMOE

THEN

NAIDENO:=TRUE;

UNTIL NAIDENO OR (I=N);

IF NAIDENO

THEN

WRITELN(‘Элемент найден, его номер:’,I)

ELSE

WRITELN(‘Элемент не найден’);

…

  1. 50)Метод бинарного поиска (деления пополам). Примечание: используется только для упорядоченных массивов. Суть метода: находится центральный (серединный) элемент массива. Искомое сравнивается с этим элементом; если они равны, поиск прекращается. В противном случае, если центральный элемент меньше искомого (при сортировке по возрастанию), то из рассмотрения исключаются элементы массива, начиная с первого до центрального. Иначе из рассмотрения исключаются элементы массива, начиная с центрального до последнего. В оставшейся половине массива находится центральный элемент и сравнивается с искомым и так далее до тех пор, пока не произойдет совпадение, или область поиска не сузится до 0.

…

NA:=1; //номер первого элемента в рассмотренном диапазоне

KO:=N;

NAIDENO:=FALSE;

REPEAT

SR:=NA+(KO-N) DIV 2;

IF A[SR]=ISKOMOE

THEN

NAIDENO:=TRUE

ELSE

IF A[SR]<ISKOMOE

THEN

NA:=SR+1

ELSE

KO:=SR-1

UNTIL NAIDENO OR (NA>KO);

IF NAIDENO

THEN

WRITELN(‘Элемент найден, его номер:’,SR)

ELSE

WRITELN(‘Элемент не найден’);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]