Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
-1 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 39

Написал калькулятор с менюшкой. Выдает ошибку "clause for the same predicate should be group"

19.10.2014, 16:37. Показов 2145. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишет ошибку 415 clause for the same predicate should be group
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
domains
    
    s=integer
 
predicates
check_1(real)
    check_3(real,real)
    check2(real,real)
    
    vvedennya(s)
    menu    
 
clauses 
    
 
    menu:-clearwindow,write("1.Dodavannya"),nl,write("2.Widnimannya"),nl,write("3.Mnojennya"),nl,write("4.Dilennya"),nl,write("5.Exit"),nl;write("FAIL!"),nl.
    vvedennya(1):-clearwindow,write("Dodavannya:"),nl,nl,write("Vvedit chislo: "),
            readreal(A), nl, check_1(A), !.
check_1(0):-write("Nepravulno vvedeno chuslo"). 
            check_1(A):-
            write("Vvedit chislo: "),
            readreal(B), nl, check_3(A,B), !.
            
        check_3(_,0):-
                write("Nepravulno vvedeni chusla").
                check2(A,B):- Y=A+B, write(Y),nl, !.
    vvedennya(2):-clearwindow,write("Widnimannya "),nl,nl,write("Vvedit chislo: "),
            readreal(A), nl, check_1(A), !.
check_1(0):-write("Nepravulno vvedeno chuslo"). 
            check_1(A):-
            write("Vvedit chislo: "),
            readreal(B), nl, check_3(A,B), nl,!.
            
        check_3(_,0):-
                write("Nepravulno vvedeni chusla").
                check2(A,B):- Y=A-B, write(Y).
    vvedennya(3):-clearwindow,write("Mnojennya "),nl,nl,write("Vvedit chislo: "),
            readreal(A), nl, check_1(A), !.
check_1(0):-write("Nepravulno vvedeno chuslo"). 
            check_1(A):-
            write("Vvedit chislo: "),
            readreal(B), nl, check_3(A,B),!.
            
        check_3(_,0):-
                write("Nepravulno vvedeni chusla").
                check2(A,B):- Y=A*B, write(Y).         
    vvedennya(4):-clearwindow,write("Dilennya "),nl,nl,write("Vvedit chislo: "),
            readreal(A), nl, check_1(A), !.
check_1(0):-write("Nepravulno vvedeno chuslo"). 
            check_1(A):-
            write("Vvedit chislo: "),
            readreal(B), nl, check_3(A,B),!.
            
        check_3(_,0):-
                write("Nepravulno vvedeni chusla").
                check2(A,B):- Y=A/B, write(Y).    
vvedennya(5):- exit.
goal
    menu,readint(X),vvedennya(X)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2014, 16:37
Ответы с готовыми решениями:

Mixing of GROUP columns (MIN(),MAX(),COUNT(),.) with no GROUP columns is illegal if there is no GROUP BY clause
Такая ошибка: КОД: $result=mysql_query("SELECT description, min(schedule.date) as date FROM schedule where...

Правильно написал программу?ошибку выдает
uses GraphABC; var i,x0,y0,x1,y1,k,a: integer; x,y: real; procedure Draw(x0,y0,k: integer); var i:integer; ...

Ошибка: "Syntax error in clause body, predicate call expected"
Начал только изучать, выкидывает ошибку "Syntax error in clause body, predicate call expected". В чем проблема? DOMAINS list =...

5
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
19.10.2014, 17:32
Ошибка действительно присутствует: правила для предикатов check_1, check2, check_3 идут вперемешку. А должны идти строго блоками: сначала один предикат целиком, потом другой.

Но проблема в том, что простой перегруппировкой правил тут положение не спасешь
Скажу честно - странная программа со странной логикой.
Можете словами пояснить, что именно Вы хотели сделать?
0
-1 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 39
19.10.2014, 18:06  [ТС]
мне нужно написать калькулятор на 4 действия(без скобок) и написать к ней меню.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
19.10.2014, 18:39
Вы это сами писали?
Что должны делать предикаты check_1, check2, check_3 ?
Зачем несколько раз повторяется правило
Prolog
1
2
check_3(_,0):-
                write("Nepravulno vvedeni chusla").
0
-1 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 39
19.10.2014, 19:12  [ТС]
я взял этот кусок с другой программы .я так понимаю что если будет нажата клавиша ноль то выведет что не правильно введено число
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
19.10.2014, 20:31
Цитата Сообщение от Влад1824 Посмотреть сообщение
я взял этот кусок с другой программы
Оно и видно.. Намешали всякой фигни совершенно без понимания.. Проще заново переписать.

Вот работающий кусок для сложения.
Нажмите для просмотра кода
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
predicates
 
menu
loop
process(integer)
 
clauses 
    
menu :-
    clearwindow,
    write("-------------------"), nl,
    write("1.Dodavannya"), nl,
    write("2.Widnimannya"), nl,
    write("3.Mnojennya"), nl,
    write("4.Dilennya"), nl,
    write("5.Exit"), nl,
    write("> "),
    readint(Choise),
    process(Choise),
    !.
menu :-
    write("Nepravulno vvedeno chuslo"), nl,
    loop.
    
loop :-    
    write("Press ENTER"),
    readln(_),
    menu.
    
process(1) :-    
    clearwindow,
    write("Dodavannya:"),nl,nl,
    write("Vvedit chislo A: "), 
    readreal(A),
    write("Vvedit chislo B: "), 
    readreal(B),
    Y = A+B, write("A + B = ", Y), nl,
    loop.
    
process(5) :-
    clearwindow,
    write("Exiting.."),nl,nl.
    
goal
    menu.

Для остальных действий уж напишите сами правила process(2), process(3), process(4), взяв за образец process(1).
И сообщения можете перевести с английского
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2014, 20:31
Помогаю со студенческими работами здесь

Ошибка: "Strange predicate as a head in clause 0"
Strange predicate ,_2),_3(_1,_4)),conc(_4,,_2)] as a head in clause 0. что эт за ошибка???

Написал код чтобы получился рисуночек, но он выдает ошибку
unit MainWnd; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,...

Full predicate form, clause form
Дано: Blop is a trained bulldog and Bob is Blop's master. Dogs that are trained are obedient, and obedient dogs are always with their...

Написал программу в Visual Studio но выдаёт ошибку на месте ввода символа |
Скриншот Вот сам код и скриншот ошибки #include <iostream> // std::cout #include <algorithm> // std::sort #include...

Ошибка: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ''...
Пытаюсь сделать выборку из таблицы следующим образом $r=$mysqli->query("SELECT * FROM `test` GROUP BY `session`"); `session`...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru