|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Результат выполнения программы. Номер Пункт прибытия Время отправленияРасписание поездов Номер Пункт прибытия Время отправления 233 moskva 12-30 257 moskva 22-40 133 armavir 10-20 353 armavir 20-40 353 adler 02-30 413 adler 11-10 256 piter 21-30
б) организовать поиск поезда по пункту назначения. Решение: GOAL write (" Пункт назначения:"), Readln(P), nl, write ("Номер Время отправления"), nl, poezd(N,P,T), write(N," ",T), nl, fail.
Комментарий: Readln –стандартный предикат ввода строкового значения Результат выполнения программы Пункт назначения:armavir
Номер Время отправления 133 10-20 353 20-40 в) вывести информацию о поездах, отправляющихся в заданный временной промежуток Решение: GOAL write(" Время отправления:"),nl, write("c..."), Readln(T1), write("до..."), Readln(T2), nl, write("Номер Пункт назначения Время отправления"), nl,poezd(N,P,T),T>=T1,T<=T2,write(N," ",P," ", T), nl, fail.
Результат выполнения программы Время отправления: c...10-00 до...15-00
Номер Пункт назначения Время отправления 233 moskva 12-30 133 armavir 10-20 413 adler 11-10 Пример 4 Имеется база данных, содержащая данные о спортсменах: имя и вид спорта. Определить возможные пары одного из спортсменов-теннисистов с другими теннисистами. Решение: DOMAINS имя,вид_сп=string PREDICATES играет(имя,вид_сп) спис_спортс CLAUSES играет("Саша",теннис). играет("Аня",волейбол). играет("Олег",футбол). играет("Коля",теннис). играет("Саша",футбол). играет("Андрей",теннис). спис_спортс:- играет(X,теннис),!,играет(Y,теннис), X<>Y,write(X,"-",Y),nl,fail. GOAL write("Пары теннисистов"),nl, спис_спортс. Результат выполнения программы: Пары теннисистов Саша-Коля Саша-Андрей
Пример 5 Студенту в зависимости от набранной в процессе обучения суммы баллов Z присваивается квалификация: магистр (М), если 80<=Z<=100 специалист (S), если 60<= Z< 80 бакалавр (B), если 40<= Z< 60 неудачник (N), если 0<=Z< 40 Составить программу, которая определит квалификацию в зависимости от введенного значения Z Решение: Для решения задачи составим правило grade, устанавливающее связь между количеством баллов (z) и квалификацией (r). Правило состоит из нескольких частей. Первые две части обеспечивают проверку недопустимых значений Z с выводом соответствующего сообщения. Остальные части правила определяют квалификацию в зависимости от значения Z. DOMAINS z=integer r=string PREDICATES grade(z,r) CLAUSES grade(Z,""):-Z<0,!, write("Неверный ввод данных!"). grade(Z,""):-Z>100,!,write("Неверный ввод данных!"). grade(Z,"M"):-Z>=80,!. grade(Z,"S"):-Z>=60,!. grade(Z,"B"):-Z>=40,!. grade(Z,"N"). GOAL write("Z="), readint(Z), grade(Z,R),write(R). Комментарий: readint – стандартный предикат ввода целочисленного значения Результат выполнения программы: 1-й случай: Z=88 M 2-й случай: Z=65 S 3-й случай: Z=39 N 4-й случай: Z=110 Неверный ввод данных! Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |