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

Найти среднемесячную заработную плату для инженеров (Visual Prolog 5.2)

05.12.2011, 01:29. Показов 3735. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дали задание для Visual Prolog 5.2 (версию менять нельзя): создать БД, содержащую сведения: Ф.И.О., профессия, зарплата.
Необходимо найти среднемесячную заработную плату для инженеров.

С БД вроде как разобрались.
Проблема в том, что нет понимания, как из внутренней БД получить все данные и как потом по ним пробежаться, чтобы собрать статистику и выдать ответ.
Вот что найдёно было по книге "Логическое программирование на языке Visual Prolog. Учебное пособие." О.П. Солдатова, И.В.Лёзина (soldatova_lezina.pdf):
-- есть предикат findall, который позволяет из внутренней БД вытянуть сведения и создать список (в книге есть пример создания списка при помощи findall).
Где бы подсмотреть пример кода, как по списку пробежаться, чтобы собрать статистику о зарплатах по профессии.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2011, 01:29
Ответы с готовыми решениями:

По исходным данным подсчитать заработную плату для каждого рабочего и суммарную заработную плату
По указанным данным : Ф.И.О часаовая тарифная ставка(руб) ...

Найти заработную плату
найти фамилию работников данного предприятия ,чья заработная плата за месяц ниже средней по этому...

Найти прогнозируемую среднюю заработную плату служащего за год
"Заработная плата служащего в январе составляет Z руб. По прогнозу она будет увеличена в феврале на...

Рассчитать заработную плату
Создайте оригинальную конфигурацию для автоматизации расчета заработной платы для организации,...

2
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
05.12.2011, 21:09 2
А не пробывали ли Вы просто поиском воспользоваться? findall используется часто и примеров найдеться куча. Ну или давайте делайте самостоятельно все, кроме этого предиката, выкладывайте, и я помогу.
1
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 5
11.12.2011, 03:41  [ТС] 3
Спасибо за отклик :) Но разобрались.
Вот что получилось в результате. Книга помогла, что указал в первом сообщении.
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
     domains
        i=integer
        okl = integer
        list = okl*
 
     database
        men(symbol,symbol,symbol,symbol,integer).
        counter(i).
 
     predicates
nondeterm repeat.
nondeterm inbase.
nondeterm count(i,i).
          sumlist(list, okl, i).
 
     clauses
        repeat. repeat :- repeat.
        count(X,Y) :- counter(X),Y=X+1, retract(counter(X)), assert(counter(Y)).
        inbase:-
                write("Kol-vo chelovek = "),
                readint(Z),
                repeat,
                write("*******"), nl,
                write("Familija: "), readln(Surname),
                write("Imja: "), readln(Name),
                write ("Otchestvo: "), readln(Name2),
                write ("Doljnost': "), readln(Dolg),
                write ("Oklad: "), readint(Okl),
                assert(men(Surname,Name,Name2,Dolg,Okl)),
                count(_,Y), Y=Z.
 
       sumlist([], 0, 0).
       sumlist([H|T], Sum, N) :- sumlist(T, S1, N1), Sum=H+S1, N=1+N1.
 
     goal
        assert(counter(0)), inbase,
        findall(Oklad, men(_,_,_,"ingener",Oklad), L), sumlist(L, Sum, N), Ave = Sum/N, write("Aver =", Ave), nl,!.
0
11.12.2011, 03:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2011, 03:41
Помогаю со студенческими работами здесь

Рассчитать заработную плату
Дана сумма начислений з/р. Из этой суммы необходимо удержать 12 % на подоходный налог, 1% на...

Рассчитать заработную плату
Привет всем))))) У меня почти выполнено задание...только я не представляю как я должна найти ...

Вычислить заработную плату
Помогите написать программу 2. Оклад служащего составляет Х рублей. Для выбранного района...

Задача про 4-х инженеров (на Strawberry Prolog)
Добрый вечер! Помогите пожалуйста написать программу решения логической задачи на Strawberry...

Расчитать заработную плату переводчика
Написать программу, которая начислит заработную плату переводчика, который перевел с одного языка...

помогите посчитать заработную плату
нужно из начисленной з/п вычесть удержанную и получить итоговую з/п, и составить отчет. не знаю как...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru