Выходит ли студент на красный диплом? - Prolog
Формулировка задачи:
Не судите строго, мой первый опыт работы с прологом.
Хочу задать условие типа "если средний бал больше 4, диплом сдан на отлично и в аттестате нет троек - студент получает красный диплом"
Листинг программы
- implement main
- open core, console
- class facts
- student:(string Name, real GPA, integer Diploma, integer Three). % Name - фамилия студента, GPA - средний балл студента, Diploma - если 1 -> защищен на отлично, иначе -> 0, Three - есть ли хоть одна тройка в зачетке
- class predicates
- diplomaWithHonours: (string NameStudent) nondeterm anyflow.
- clauses
- student("Michnevich", 4.5, 0, 1).
- student("Maslov", 4.3, 1, 1).
- student("Permyakov", 4.5, 0, 1).
- student("Nosovytskyy", 4.7, 1, 1).
- student("Olshevskyy", 3.1, 1, 1).
- student("Bernik", 5.0, 1, 1).
- student("Tylakov", 3.8, 1, 1).
- student("Krivenko", 4.7, 1, 0).
- student("Glinskaya", 5.0, 1, 0).
- diplomaWithHonours(NameStudent) :- student(Name, GPA, Diploma, Three), GPA > 4, Diploma <> 0, Three >< 0.
- run():-
- % Как тут делать?
- _=readLine().
- end implement main
- goal
- console::runUtf8(main::run).
Решение задачи: «Выходит ли студент на красный диплом?»
textual
Листинг программы
- student(Name, GPA, 1, 0), GPA > 4
Объяснение кода листинга программы
- У нас есть переменная
Name
, которая содержит имя студента. - У нас есть переменная
GPA
, которая содержит средний балл студента. - У нас есть переменная
Year
, которая содержит год обучения студента. - У нас есть переменная
RedDegree
, которая содержит информацию о том, получает ли студент красный диплом. - Мы используем факт
student(Name, GPA, Year, RedDegree)
, чтобы представить информацию о студенте. - Мы используем условие
GPA > 4
, чтобы определить, может ли студент получить красный диплом. - Если условие истинно, то значение переменной
RedDegree
становится 1, что означает, что студент может получить красный диплом. - Если условие ложно, то значение переменной
RedDegree
остается 0, что означает, что студент не может получить красный диплом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д