Упражнения на работу с иерархическими структурами
Задать в dbf таблице следующей структуры (номер элемента, код родительского элемента, наименование узла, сумма узла) 15-20 записей. Написать программу для соответствующего варианта задагий с помощью рекурсивных процедур.
Вариант 1.
1. Получить количество корневых элементов.
2. Вычислить сумму дочерних узлов.
3. Результат записать в файл txt.
Вариант 2.
1. Получить количество дочерних узлов.
2. Получить сумму узла по ключу.
3. Результат записать в файл doc.
Вариант 3.
1. Получить ключ корневого элемента по порядковому номеру.
2. Вычислить сумму дочерних узлов и заменить сумму в соответствующем родительском элементе новой суммой.
3. Результат записать в файл xls.
Вариант 4.
1. Получить ключ дочернего элемента по порядковому номеру.
2. Заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл dbf.
Вариант 5.
1. Добавить 2 дочерних узла.
2. Получить по ключу название заданного узла.
3. Результат записать в файл txt.
Вариант 6.
1. Получить количество дочерних узлов.
2. Если у узла есть дочерние узлы, то для всех дочерних узлов вычислить сумму, сравнить с суммой в родительском узле и если они различаются, то заменить сумму в родительском узле на вычисленную.
3. Результат записать в файл doc.
Вариант 7.
1. Получить количество корневых элементов.
2. Если дочерних узлов нет, оставить сумму родительского узла без изменения.
3. Результат записать в файл xls.
Вариант 8.
1. Получить ключ корневого элемента по порядковому номеру.
2. Заменить сумму в родительском узле суммой дочерних узлов.
3. Результат записать в файл dbf.
Вариант 9.
1. Получить ключ дочернего элемента по порядковому номеру.
2. Если у узла есть дочерние узлы, то заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл txt.
Вариант 10.
1. Добавить 3 дочерних узла.
2. Вычислить сумму дочерних узлов и заменить сумму в родительском узле, если она отличается от суммы, вычисленной в дочерних узлах.
3. Результат записать в файл doc.
Вариант 11.
1. Получить количество дочерних узлов.
2. Заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл xls.
Вариант 12.
1. Получить количество корневых элементов.
2. Если у узла есть дочерние узлы, то заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл dbf.
Вариант 13.
1. Получить ключ корневого элемента по порядковому номеру.
2. Вычислить сумму дочерних узлов.
3. Результат записать в файл txt.
Вариант 14.
1. Получить ключ дочернего элемента по порядковому номеру.
2. Если у узла есть дочерние узлы, то заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов, если суммы отличаются.
3. Результат записать в файл doc.
Вариант 15.
1. Получить количество дочерних узлов.
2. Заменить сумму в узле с заданным номером суммой дочерних узлов.
3. Результат записать в файл xls.
Вариант 16.
1. Получить ключ корневого элемента по порядковому номеру.
2. Вычислить сумму дочерних узлов и заменить сумму в родительском элементе, если она отличается от вычисленной суммы в дочерних узлах.
3. Результат записать в файл dbf.
Вариант 17.
1. Получить ключ дочернего элемента по порядковому номеру.
2. Заменить сумму в узле с заданным номером суммой дочерних узлов.
3. Результат записать в файл txt.
Вариант 18.
1. Добавить 3 дочерних узла.
2. Если у узла есть дочерние узлы, то заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл doc.
Вариант 19.
1. Получить количество дочерних узлов.
2. Заменить сумму в узле суммой дочерних узлов.
3. Результат записать в файл xls.
Вариант 20.
1. Получить количество корневых элементов.
2. Если у узла есть дочерние узлы, то заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл dbf.
Вариант 21.
1. Получить ключ дочернего элемента по порядковому номеру.
2. Вычислить сумму дочерних узлов.
3. Результат записать в файл txt.
Вариант 22.
1. Получить ключ корневого элемента по порядковому номеру.
2. Если у узла есть дочерние узлы, то заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл doc.
Вариант 23.
1. Получить ключ дочернего элемента по порядковому номеру.
2. Заменить сумму в узле суммой дочерних узлов.
3. Результат записать в файл xls.
Вариант 24.
1. Получить количество корневых элементов.
2. Заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл dbf.
Вариант 25.
1. Получить количество дочерних узлов.
2. Если у узла есть дочерние узлы, то заменить значение в узле с родительским кодом на новую сумму, состоящую из суммы всех дочерних узлов.
3. Результат записать в файл txt.