Выходит ли студент на красный диплом? - Prolog

Узнай цену своей работы

Формулировка задачи:

Не судите строго, мой первый опыт работы с прологом.
Листинг программы
  1. implement main
  2. open core, console
  3. class facts
  4. student:(string Name, real GPA, integer Diploma, integer Three). % Name - фамилия студента, GPA - средний балл студента, Diploma - если 1 -> защищен на отлично, иначе -> 0, Three - есть ли хоть одна тройка в зачетке
  5. class predicates
  6. diplomaWithHonours: (string NameStudent) nondeterm anyflow.
  7. clauses
  8. student("Michnevich", 4.5, 0, 1).
  9. student("Maslov", 4.3, 1, 1).
  10. student("Permyakov", 4.5, 0, 1).
  11. student("Nosovytskyy", 4.7, 1, 1).
  12. student("Olshevskyy", 3.1, 1, 1).
  13. student("Bernik", 5.0, 1, 1).
  14. student("Tylakov", 3.8, 1, 1).
  15. student("Krivenko", 4.7, 1, 0).
  16. student("Glinskaya", 5.0, 1, 0).
  17. diplomaWithHonours(NameStudent) :- student(Name, GPA, Diploma, Three), GPA > 4, Diploma <> 0, Three >< 0.
  18. run():-
  19. % Как тут делать?
  20. _=readLine().
  21.  
  22. end implement main
  23. goal
  24. console::runUtf8(main::run).
Хочу задать условие типа "если средний бал больше 4, диплом сдан на отлично и в аттестате нет троек - студент получает красный диплом"

Решение задачи: «Выходит ли студент на красный диплом?»

textual
Листинг программы
  1. student(Name, GPA, 1, 0), GPA > 4

Объяснение кода листинга программы

  1. У нас есть переменная Name, которая содержит имя студента.
  2. У нас есть переменная GPA, которая содержит средний балл студента.
  3. У нас есть переменная Year, которая содержит год обучения студента.
  4. У нас есть переменная RedDegree, которая содержит информацию о том, получает ли студент красный диплом.
  5. Мы используем факт student(Name, GPA, Year, RedDegree), чтобы представить информацию о студенте.
  6. Мы используем условие GPA > 4, чтобы определить, может ли студент получить красный диплом.
  7. Если условие истинно, то значение переменной RedDegree становится 1, что означает, что студент может получить красный диплом.
  8. Если условие ложно, то значение переменной RedDegree остается 0, что означает, что студент не может получить красный диплом.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы