IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Расчет заработной платы
Гость_Tosha
сообщение 11.03.2004 20:33
Сообщение #1


Гость






Помогите пожалуйста с задачей, а то я совсем почти ничего не понимаю.


Разработать алгоритм и программу расчета заработной платы работников.
Трудового коллектива при условии , что ежемесячная сумма зарплаты про-
порциональна фактическому рабочему времени каждого члена коллектива ,
а также выполнить сортировку полученных результатов.
Указания: 1) решить с использованием процедур и функций.
2) в решении использовать тип данных ЗАПИСЬ с полями :
- порядковый номер ,
- Ф.И.О. ,
- число отработанных часов за месяц,
- часовая расценка,
- зарплата за месяц.



Буду благодарен за любую помощь. Заранее спасибо.
 К началу страницы 
+ Ответить 
pascal65536
сообщение 12.03.2004 9:14
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 62
Пол: Мужской

Репутация: -  1  +


Ну давай вместе создавать... Определимся с типом запись.
Код
type Worker = record
 TabNum : Word;
 FIO : String;
 Hour, RubPerHour, Zarplata : Real;
end;


осталось придумать куда "прикрутить" процедуры и функции

Сообщение отредактировано: volvo - 21.01.2005 20:59
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
UtaH
сообщение 12.03.2004 14:55
Сообщение #3


человек-нерпа
***

Группа: Пользователи
Сообщений: 285
Пол: Женский

Репутация: -  13  +


Можно оформить сортировку как процедуру (дуру... ;) ). Или расчет собственно зарплаты.


--------------------
I am riding a Thesaurus!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atos
сообщение 12.03.2004 15:23
Сообщение #4


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


Ну, сам расчёт зарплаты, если я правильно понял, сделать нетрудно

Код

procedure Money(var W:Worker);
begin
W.Zarplata:=W.Hour*W.RubPerHour;
end;


Создать массив A:array[1..100] of Worker и сортировать по ключу A[i].Zarplata.
Ну и написать процедуру ввода с клавиатуры имени нового сотрудника и всех его полей.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость_Tosha
сообщение 13.03.2004 16:07
Сообщение #5


Гость






Т.е. нужно в качестве процедуры взять расчет заработной платы, запись тоже вроде ясно более менее, а вот с сортировкой туго... Подскажите пожалуйста.
 К началу страницы 
+ Ответить 
AlaRic
сообщение 14.03.2004 8:13
Сообщение #6


...
*****

Группа: Пользователи
Сообщений: 1 347
Пол: Мужской

Репутация: -  3  +


type Worker=record
TabNum:word;
FIO:string;
Hour,RubPerHour,Zarplata:integer;
end;

Вещественный тип в зарплате и часах мне кажется ни к чему!

Цитата
Создать массив A:array[1..100] of Worker и сортировать по ключу A[i].Zarplata.
Ну и написать процедуру ввода с клавиатуры имени нового сотрудника и всех его полей.


А вообще какая должна быть сортировка? По возрастанию или убыванию? По зарплате?

procedure plus;
begin
writeln('ВВести кол-во добавляемых сотрудников');
readln(n);
writeln('Ввести данные сотрудников: ');
for i:=1 to n do begin
writeln('FIO');read(a[ i ].FIO);
writeln('Tab);read(a[ i ].TabNum);
writeln('Hour');read(a[ i ].Hour);
writeln('RubPerHour');read(a[ i ].RubPerHour);
writeln('Zarplata');read(a[ i ].Zarplata);
end;

Что-то типа такого!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость_Tosha
сообщение 14.03.2004 18:04
Сообщение #7


Гость






Спасибо за помощь, а с сортировкой действительно непонятно...Надо будет уточнить.
 К началу страницы 
+ Ответить 
pascal65536
сообщение 16.03.2004 5:19
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 62
Пол: Мужской

Репутация: -  1  +


Про сортировки я уже писал. Посмотри здесь: http://www.pascal.hop.ru/sortir.htm
Думаю метод пузырька вполне подходит.
А сортировать надо по любому полю в любом направлении. Вот тебе и процедура (дура)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 16.03.2004 22:00
Сообщение #9


Гость






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

Код

Procedure sortirovka ( var mass: worker; razmer: word);
Var
    i,m,c: word;
Begin
    for m:= razmer downto 2 do
    begin
        for i:=1 to m-1 do
        begin
           if
           mass[i].zarplata>mass[i+1].zarplata then
           begin
               c:= mass[i];
               mass[i]:= mass[i+1];
               mass[i+1]:=c
           end;
        end;
    end;
end;


А в остальном программа работает нормально.
 К началу страницы 
+ Ответить 
APAL
сообщение 17.03.2004 2:07
Сообщение #10


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


"c" должна быть типа worker...

т.е.:
Код
Var
   i,m: word;
   c   : worker;


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость_Tosha
сообщение 18.03.2004 22:12
Сообщение #11


Гость






Паскалю не нравится вот эта строочка

Код

mass[i].zarplata>mass[i+1].zarplata then
 К началу страницы 
+ Ответить 
Atos
сообщение 20.03.2004 7:37
Сообщение #12


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

Репутация: -  9  +


Тип mass должен быть не worker, а массив of worker.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 20.03.2004 16:13
Сообщение #13


Гость






Да, я уже нашел. Теперь все работает. smile.gif Всем огромное спаибо!!
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.06.2025 23:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"