На территории Автодрома СПб в ходе проведения мероприятия 01.06.2013.
Задача: Отримати список студентів, які здобули оцінку «добре» з дисципліни «математика» на основі фактів бази даних, що записані у вигляді: student (4151, petrov, [physics/5, mathematics/4, c++/5, oop/3]). student(4152, veselkov, [physics/4, mathematics/3, c++/4, oop/5]). Рішення: Для отримання списку напишемо правило з використанням вбудованого предикату setof, тому що одностайно список буде упорядкованим. Однак, у зв’язку з тим, що setof в процесі пошуку рішення враховує значення інших аргументів (див. табл. 7.2), потрібно скласти окремий предикат для отримання прізвища студента, що одержав оцінку «добре» з математики: p_stud(X):- student(_, X, [ _,mathematics/4 |_ ]). Правило містить у правої частині ціль для співставлення з фактами student/3. Зверніть увагу на те, що застосована анонімна зміна для тих аргументів, які у даному випадку не потрібні. Тоді правило для отримання списку запишемо у наступному вигляді: good_math(L):- setof (X,.p_stud(X), L). Для виводу списку напишемо рекурсивне правило: % термінальне правило, виведення загальної кількості студентів print_list([],N):-write(‘Всього ‘),write(N), write(‘ студентів’),!. % рекурсивне правило. Виведення голови списку… print_list([X|T], N):- write(N), write(‘.’), tab(2), write(X),nl, % … рекурсивний виклик для виведення хвосту з наступним номером рядка K is N + 1, print_list[T, K). Напишемо заключне правило (предикат): p:- good_math(L),print_list(L,1). Контрольні запитання: 1) Визначення списку, правила запису списку 2) Рекурсивна обробка списків. 3) Навести приклади процедур обробки списків 4) Обробка структур, способи вибору потрібних даних з структури. 5) Вбудовані предикати накопичення рішень у списках.
на территории Автодрома СПб в ходе проведения мероприятия 01.06.2013.
СХЕМА ПРОВЕДЕНИЯ СВОБОДНЫХ ЗАЕЗДОВ НА ТЕРРИТОРИИ АВТОДРОМА:
a. Свободно передвигаться на автомобиле в зоне формирования очереди с любым количеством пассажиров, в пределах вместимости автомобиля; b. Заезжать в предстартовую зону в качестве водителя в составе пары для последующего заезда, без пассажиров. c. Дает право пешего прохода в предстартовую зону, зону нахождения водителей и гостей с браслетами. 2. Для получения прав равнозначных водительским, иному лицу, въезжающему на территорию поведения Свободных заездов в качестве пассажира, необходимо приобрести дополнительный браслет.
a. медленно подъезжает к линии старта, пока не загорятся Огни «ПреСтейдж» (№1) и «Стейдж» (№2) b. в случае, если по каким то причинам огонь «Стейдж» или огонь «Престейдж» погас, участник ос-танавливается, сдает назад на расстояние в 1 метр и начинает постановку на старт заново. c. когда загораются оба белых огня (огонь «ПреСтейдж» №1 и огонь «Стейдж»№2) – участник находится на стартовой линии d. когда оба участника находятся на стартовой линии (на обе дорожки горят огни «ПреСтейдж» и «Стейдж») начинается отсчет времени до старта. e. Через 3 секунды после постановки обоих участников на старт одновременно загораются все Жел-тые огни «Готовность» (№3) - Стартовать еще рано! f. Через 0,4 секунды после загорания Желтых огней «готовность» (№3) загорается Зеленый огонь «Старт» - Старт Заезда!
|