Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы шпора.doc
Скачиваний:
2
Добавлен:
21.08.2019
Размер:
1.46 Mб
Скачать

270 Рекурсия. Преимущества и недостатки. Пример.

Функция называется рекурсивной, если в ее определении содержится вызов этой же функции. Рекурсивная функция может вызывать саму се6я или непосредственно, или косвенно через другую функцию. Рекурсии целесообразно применять в задачах, которые можно разбить на множество меньших подобных задач. Рекурсия в программировании может быть определена как сведение задачи к такой же задаче, но манипулирующей с боле простыми данными.

Рекурсивную программу всегда можно преобразовать в итеративную программу, использующую циклы, которая выполняет те же вычисления. И наоборот, используя рекурсию, можно реализовать, не прибегая к циклам.

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

Преимущества и недостатки рекурсии. Одно из преимуществ рекурсии состоит в том, что она предлагает простейшее решение некоторых задач программирования. Один из недостатков рекурсии заключается в том, что некоторые рекурсивные алгоритмы могут довольно-таки быстро исчерпать ресурс памяти компьютера. Наряду с этим рекурсию трудно документировать и поддерживать.

В то же время для некоторых задач рекурсивные функции вполне оправданы. В частности динамические информационные структуры включают рекурсивность в само определение обрабатываемых данных. Именно для таких данных применение рекурсивных алгоритмов не имеет конкуренции со стороны итерационных методов.

Пример вычисления факториала целого положительного числа, когда есть рекурсия:

int fact (int n) {

if (n == 0)

return 1;

else

return n * fact (n - 1);

}

271 Реляционная модель данных.

Реляционная модель данных- логическая модель данных.

Правила, которым должна удовлетворять СУБД, чтобы называться реляционной.

1. Каждая реляционная система должна быть в состоянии управлять БД используя ее реляционные свойства.

2. Вся информация представляется в виде значений в таблицах.

3. Гарантируется, что каждый элемент данных логически доступен через комбинацию имени таблицы, значения первичного ключа и имени столбца.

4. правило недостающей информации. Null - значения поддерживаются для представления отсутствующей информации систематически и независимо от типа данных.

5. Описание базы данных представляется на логическом уровне так же, как и обычные данные (в виде табл. значений).

6. В системе должен существовать по меньшей мере один язык, который поддерживает: описание данных; описание представлений; манипулирование данными; ограничения целостности; границы транзакций (начало, завершение и откат); права доступа.

7. При изменении некоторых представлений, СУБД должна изменять базовые таблицы, а также изменять представления при изменении базовых.

8. Прикладные программы и терминальные операции не зависят от любого изменения области хранения информации и методов доступа, а также

9. логическая независимость данных. При изменении схемы таблиц другие части, которые не затронуты изменениями остаются неизменными.

10. Распределенная база данных должна выглядеть для пользователя как централизованная.

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