Составители:
Рубрика:
99
ется лист со значением 12, правая ветвится еще раз. Левая из этих ветвей ве-
дет к листу со значением 32, правая заканчивается пустым списком.
Очередность, в которой элементы связаны друг с другом, начинается с
корня дерева. Лист самой левой ветви дает первый элемент списка. Затем
очередность при посредстве узла правой ветви переходит
на следующую ле-
вую ветвь, на ее листе находится второй элемент списка, 84. Аналогично ну-
меруются и все остальные элементы вплоть до последнего, 32. Так как
больше неупорядоченных элементов не остается, то дерево оканчивается
ветвью с пустым списком.
Внутренние процедуры унификации в Турбо-Прологе соблюдают это
заданное графами направление упорядочивания. Турбо-Пролог
пытается
сопоставить первый элемент с головой списка, а затем продолжает в задан-
ном графом направлении. Изображение в виде бинарного дерева бывает осо-
бенно полезным для наглядной интерпретации процесса отката в виде на-
правленного перебора ветвей дерева.
* Упражнения
5.1. Для списка
games([football,soccer,tennis,baseball])
а) Нарисовать линейный граф. Для упорядочивания элементов ис-
пользуйте
стрелки;
б) Нарисовать бинарный граф.
Сколько узлов будет иметь это дерево ?
5.2. Составьте список, элементами которого являются имена гномов
из сказки "Белоснежка и семь гномов" (сколько вспомните). Какова длина
получившегося списка ?
5.3. Составьте список, состоящий из названий десяти наиболее попу-
лярных видов спорта.
5.4. Различаются ли с точки зрения Турбо-Пролога два
таких списка:
[63,29,24,27,86]
[63,24,29,27,86]
Аргументируйте свой ответ.
5.5. Можно ли назвать корректным следующий список ?
score(["Kennedy High School",6,3,8,9,6.2])
5.6. Корректен ли список
symbols(["*","+","-","?","#","&"])
Если да, то почему ?
5.3 Применение списков в программе
Для того чтобы использовать в программе список, необходимо описать
предикат списка. Ниже приведены примеры таких предикатов:
num([1,2,3,6,9,3,4])
realnum([3.2,4.6,1.1,2.64,100.2])
time(["YESTERDAY","TODAY","TOMORROW"])
ется лист со значением 12, правая ветвится еще раз. Левая из этих ветвей ве-
дет к листу со значением 32, правая заканчивается пустым списком.
Очередность, в которой элементы связаны друг с другом, начинается с
корня дерева. Лист самой левой ветви дает первый элемент списка. Затем
очередность при посредстве узла правой ветви переходит на следующую ле-
вую ветвь, на ее листе находится второй элемент списка, 84. Аналогично ну-
меруются и все остальные элементы вплоть до последнего, 32. Так как
больше неупорядоченных элементов не остается, то дерево оканчивается
ветвью с пустым списком.
Внутренние процедуры унификации в Турбо-Прологе соблюдают это
заданное графами направление упорядочивания. Турбо-Пролог пытается
сопоставить первый элемент с головой списка, а затем продолжает в задан-
ном графом направлении. Изображение в виде бинарного дерева бывает осо-
бенно полезным для наглядной интерпретации процесса отката в виде на-
правленного перебора ветвей дерева.
* Упражнения
5.1. Для списка
games([football,soccer,tennis,baseball])
а) Нарисовать линейный граф. Для упорядочивания элементов ис-
пользуйте стрелки;
б) Нарисовать бинарный граф.
Сколько узлов будет иметь это дерево ?
5.2. Составьте список, элементами которого являются имена гномов
из сказки "Белоснежка и семь гномов" (сколько вспомните). Какова длина
получившегося списка ?
5.3. Составьте список, состоящий из названий десяти наиболее попу-
лярных видов спорта.
5.4. Различаются ли с точки зрения Турбо-Пролога два таких списка:
[63,29,24,27,86]
[63,24,29,27,86]
Аргументируйте свой ответ.
5.5. Можно ли назвать корректным следующий список ?
score(["Kennedy High School",6,3,8,9,6.2])
5.6. Корректен ли список
symbols(["*","+","-","?","#","&"])
Если да, то почему ?
5.3 Применение списков в программе
Для того чтобы использовать в программе список, необходимо описать
предикат списка. Ниже приведены примеры таких предикатов:
num([1,2,3,6,9,3,4])
realnum([3.2,4.6,1.1,2.64,100.2])
time(["YESTERDAY","TODAY","TOMORROW"])
99
Страницы
- « первая
- ‹ предыдущая
- …
- 97
- 98
- 99
- 100
- 101
- …
- следующая ›
- последняя »
