Построить диаграмму Компонентов на тему: «Система начисления зарплаты»
Подсказка для задания:
Перед информационной службой компании поставлена задача создания новой системы начисления зарплаты взамен морально устаревшей существующей системы. Новая система должна предоставлять служащим возможность записывать электронным информацию из карточки учета рабочего времени и автоматически формировать чеки на оплату, учитывающие количество отработанных часов и общий объем продаж (для служащих, получающих комиссионное вознаграждение).
Новая система должна предоставлять служащим возможность вводить информацию из карточки учета рабочего времени, вводить заказы на поставку, изменять свои параметры (такие, как оплаты за работу), и формировать различные отчеты. Система должна работать на персональных компьютерах служащих всей компании. В целях обеспечения безопасности и аудита служащие должны иметь возможность доступа и редактирования только своих собственных карточек учета рабочего времени и заказов на поставку.
В системе должна храниться информация обо всех служащих компании в различных странах. Система должна обеспечивать правильную и своевременную оплату работы каждого служащего в соответствии с указанным им Компания из соображений экономии расходов желает сохранить без изменений одну из существующих баз данных (БД управления проектами), которая содержит всю информацию относительно проектов и тарифов. БД управления проектами функционирует в среде DB2 на мейнфрейме IBM. Новая система может читать данные из БД управления проектами, но не может обновлять их.
Некоторые служащие получают почасовую зарплату. Она начисляется на основе карточек учета рабочего времени, каждая из которых содержит дату и количество часов, отработанных в соответствии с конкретным тарифом. Если какой-либо служащий отработал в день более 8 часов, сверхурочное время оплачивается с коэффициентом 1.5. Служащие-почасовики получают зарплату каждую пятницу.
Некоторые служащие получают фиксированный оклад, однако они тоже представляют свои карточки учета рабочего времени. Благодаря этому система может вести учет количества часов, отработанных в соответствии с конкретными тарифами. Такие служащие получают зарплату в последний рабочий день месяца.
Некоторые из служащих с фиксированным окладом также получают комиссионное вознаграждение, учитывающее объем продаж. Они представляют заказы на поставку, отражающие дату и объем продаж. Процент комиссионного вознаграждения определяется индивидуально для каждого служащего и может составлять 10%, 15%, 25% или 35%.
Одной из наиболее часто используемых возможностей новой системы является формирование различных отчетов. За количество отработанных часов, суммарную зарплату, оставшееся время отпуска и т.д.
Служащие могут выбирать оплаты за работу. Они могут получать свои чеки на оплату по почте, на счет в банке или на руки в офисе. Администратор системы ведет информацию о служащих. В его обязанности входит ввод данных о новых служащих, удаление данных и изменение любой информации о служащем, такой, как имя, адрес и оплаты, а также формирование различных отчетов для руководства.
Приложение начисления зарплаты запускается автоматически каждую пятницу и в последний рабочий день месяца, рассчитывая в эти дни зарплату соответствующих служащих. Начисление зарплаты должно производиться автоматически, без ручного вмешательства.
Program YouName;
Uses crt; // Использование модуля crt.
Const e = 2.71828; // Объявление константы e.
Var // Раздел для описания переменных.
m,n: Integer; // Объявляем целочисленные переменные.
x,u,y: Single; // Объявляем дробные переменные.
Label check1, check2; // Объявляем метки для оператора Goto.
Begin // Начало "тела" программы.
check1: // Метка для без условного перехода с оператора Goto.
write('Введите m: '); // Вывод текстового сообщения на экран консоли.
// {$I-} - это деректива, которая перехватывает вывод ошибок.
// т.e., если во время выполнение программы между {$I-} и {$I+} не будет ошибок,
// то значение IOResult будет равно 0. Если во время выполения программы произойдет ошибка,
// то программа не остановится, а задаст значение IOResult неравное 0.
// {$I+} соответственно отключает дерективу.
{$I-} // Включение директивы.
readln(m); // Ввод значения переменной m.
{$I+} // Отключение директивы
If IOResult <> 0 then // Если IOResult не равно 0 (т.е есть ошибки во время включенной директивы $I), то..
Begin // Начало подпрограммы.
writeln('Вы ввели неизвестный символ.'); // Вывод текстового сообщения на экран консоли.
writeln('Введите число'); // Вывод текстового сообщения на экран консоли.
Goto check1; // Переход на метку check1
End; // Конец подпрограммы.
check2: // Метка для без условного перехода с оператора Goto.
write('Введите n: '); // Вывод текстового сообщения на экран консоли.
{$I-} // Включение директивы.
readln(n); // Ввод значения переменной n.
{$I+} // Отключение директивы.
If IOResult <> 0 then // Если IOResult не равно 0 (т.е есть ошибки во время включенной директивы $I), то..
Begin // Начало подпрограммы.
writeln('Вы ввели неизвестный символ.'); // Вывод текстового сообщения на экран консоли.
writeln('Введите число'); // Вывод текстового сообщения на экран консоли.
Goto check2; // Переход на метку check2
End; // Конец подпрограммы.
x:=(m*n-exp(ln(e)*((-m)*0.7)))/(2.67); // Вычисление x
y:=ln(2)*(m+1); // Вычисление y
u:=0.125*sqrt(x/y)+exp(ln(e)*cos(x-y)); // Вычисление u
writeln(u:0:4); // Вывод текстового сообщения на экран консоли.
// u:0:4 - это задает переменной u четыре знака после запятой.
End. // Конец "тела" программы.
ө мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп калайсындар мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп калайсындар мен Бахтыбай Абылай хан атындағы қазақ ұлттық университетінің журналистика факультетін бітірген қазақ халқының саны жөнінен де бар білгені жөн бе әлде қоладан ба не истеп