Реферат: Автоматизация расчета начислений заработной платы в строительном управлении N 151

Государственныйкомитет Российской Федерации

повысшему образованию

ГОСУДАРСТВЕННАЯАКАДЕМИЯ УПРАВЛЕНИЯ

имениСЕРГО ОРДЖОНИКИДЗЕ

Институтуправления и предпринимательства в строительстве

Кафедрапроизводственного менеджмента в строительстве

КУРСОВОЙ ПРОЕКТ

покурсу «Автоматизация и моделирование

процессовуправления»

Темапроекта: " Автоматизация расчета начислений

заработнойплаты в строительном управлении N 151"

Выполнил: Ростовцев А.И.,ПМ- стройIII-2

Проверил:  Сороко Г.Я.

Москва-1997.

Содержание.

1.Введение;

2.Экономико-организационная сущность задачи;

3.Входная и выходная информация, структура файлов;

4.Блок-схема алгоритма решения задачи;

5.Краткие сведения по техническому и общесистемному программному обеспечению;

6.Тексты программ (в приложении);

7.Инструкция пользователя;

8.Результаты решения задачи на ПЭВМ.

Экономико-организационная сущность задачи.

По заданию на курсовоепроектирование производится автоматизация расчета начисления заработной платы встроительном управлении N 152. Данная задача реализуетсяэкономистом-бухгалтером отдела бухгалтерского учета и отчетности строительногоуправления.

При автоматизации задачидолжны быть учтены следующие основные требования:

-оптимальное для пользователя представление исходнойи конечной информации.

 -простота иудобство в эксплуатации программы автоматизации;

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

В программе предусмотренрасчет доплаты из коллективного фонда оплаты труда к зарплате работника потарифу и его индивидуальным выплатам, распределяемого в соответствии скоэффициентом трудового участия (КТУ).Величина этого коллективного фондаопределяется как разность между фондом заработной платы на текущий месяц,который определяет руководство в зависимости от выполнения производственнойпрограммы, и суммой зарплаты по тарифу и индивидуальных выплат по всем участкам(«ПОСОБИЯ» и «БОЛЬНИЧНЫЙ» при расчете выплат изколлективного фонда исключаются, так как выплачиваются из специальных фондов).

При расчете дополнительнойзаработной платы для каждого работника определяется величина набранных им втекущем месяце баллов, которая рассчитывается как произведение зарплаты потарифу (с учетом выходных и сверхурочных) работника и полученного им КТУ.

Далее определяютсянормативные коэффициенты доплаты из коллективного фонда для рабочих и служащих.Величина нормативного коэффициента для рабочих равна отношению частиколлективного фонда на рабочих к сумме баллов по рабочим. Величина нормативногокоэффициента для ИТР равна отношению части коллективного фонда на ИТР к суммебаллов по ИТР.

При распределенииколлективного фонда между рабочими и ИТР предусматривается равенство общейзарплаты рабочего 5-го разряда (т.е. сумма зарплаты по тарифу и доплатыраспределенной по КТУ без учета индивидуальных начислений) общей зарплатемастера (при окладе мастера — 250000).

Доплата из коллективногофонда каждому работнику рассчитывается как произведение количества балловданного работника и соответствующего нормативного коэффициента.

Также в программерассчитываются начисления по каждому работнику итоговой суммы заработной платы,включающей зарплату по тарифу (в том числе оплату за выходные исверхурочные), доплату из коллективного фонда и индивидуальные выплаты, при этом«БОЛЬНИЧНЫЙ» и «ПОСОБИЯ» складываются только дляопределения общей суммы начислений.

Входная и выходная информация, структура файлов.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Имя файла

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Размер файла [байт]

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Тип

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">файла

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Функции файла

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">pr1.dpr

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">256

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">исходный

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Определяет структуру программы,

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">осуществляет ее запуск при компиляции

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> программы.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">pr1.exe

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">224768

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">рабочий

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Определяет структуру программы,

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> осуществляет ее запуск.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">pr1.opt

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">279

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">формат-

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">ный

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Определяет взаимодействие программы

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> с Windows; опции ее запуска.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">start.pas

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">1951

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">исходный

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Отвечает за интерфейс общения с

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> пользователем, ввод дополнительной

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> информации из файла base.dat при

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> компиляции программы.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">start.dcu

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">5312

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">рабочий

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Отвечает за интерфейс общения с

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> пользователем, ввод дополнительной

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">информации из файла base.dat.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">start.dfm

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">1205

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">формат-

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">ный

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Отвечает за опции интерфейса

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> пользователя, графическую часть

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> программы.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">unit1.pas

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">1090

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">исходный

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Осуществляет  идентификацию

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> переменных при компиляции программы.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">unit1.dcu

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">1856

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">рабочий

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Осуществляет идентификацию

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> переменных.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">unit2.pas

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">2357

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">исходный

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Осуществляет ввод данных из входных

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> таблиц при компиляции программы.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">unit2.dcu

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">7440

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">рабочий

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Осуществляет ввод данных из входных

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> таблиц.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">unit3.pas

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">2432

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">исходный

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Осуществляет  основной расчет при

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black"> компиляции программы.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">unit3.dcu

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">7488

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">рабочий

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Осуществляет основной расчет.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">unit4.pas

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">918

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">исходный

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Осуществляет  вывод данных в выход-

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">ные

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black"> таблицы при компиляции программы.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">unit4.dcu

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">2848

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">рабочий

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Осуществляет вывод данных в выход-

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">ные

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black"> таблицы.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">base.dat

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">30

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">входной

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Файл, хранящий дополнительную информацию.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">shapka

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">1126

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">входной

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Файл, хранящий шапку выходной таблицы.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">X-1-Y.txt

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">изменя-ется

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">входной

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Таблицы входной информации №1, где X

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">- № участка, а Y- № месяца.

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">X-2-Y.txt

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">изменя-ется

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">входной

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Таблицы входной информации №2, где X

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">- № участка, а Y- № месяца.

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">X-Y.txt

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">

<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»; color:black">изменя-ется

<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»;color:black">

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">выходной

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">Таблицы выходной информации, где X-

<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;color:black">№ участка, а Y- № месяца.

Краткие сведения по техническому и общесистемному

программному обеспечению.

Минимальнаяконфигурация компьютера:

— Оболочка или операционная система: Windows 3.1,Windows95, Windows NT или OS/2,MAC(поддержка 16-bit-ногокода и символьной кодировкиWindows 3.1)

— 2 MB RAM

— VGA Card

— Hard Drive 15 Mb

— Floppy drive 1.44 MB

Короткоо программе:

Программа " Автоматизация расчета начисленийзаработной платы в строительном управлении N 151" была написана Delphi 1.0 for Windows 3.1 и скомпилирована в 16-ти битном коде. Предусмотренудобный интерфейс пользователя, возможность запуска программы параллельно сдругими программами, что ускоряет работу пользователя и делает программу болеепрактичной. У программы есть один большой недостаток и в то же времядостоинство: программа работает в кодировке символов Windows, что делает возможнымделать удобную ландшафтную печать из Windows, использовать полученнуюинформацию в других приложениях Windows. Для упрощения программы яне предусмотрел в ней встроенного конвектора для перевода файлов в формат DOS,поэтому для использования результатов в приложениях DOS следует перевести выходныефайлы в нужный формат. Это можно сделать при помощи стандартного редактора WordPad илиWrite.

Общий размер программы составляет 252 246 байт.Программа не содержит самораспаковывающихся архивов, файлов, что делаетвозможность ее быстрого запуска прямо с незащищенной дискеты. Но лучшепроизводить запуск с жесткого диска, так как скорость обращения к нему искорость записи на него выше, чем у дискеты, так же это повысит надежностьсохранения информации. В принципе данная программа- примитивнаядемонстрационная версия, которую можно развить в настоящую хорошую программу:организовать вызов встроенного редактора, вывод на принтер, систему помощи,меню с всплывающими подсказками, «сделать конфетку». Возможности Delphi 1.0 for Windows 3.1 очень велики, при использовании 32-bit-ногокода они почти не ограничены. Существует множество библиотек и модулей, приподключении которых можно сделать настоящего монстра, который будет делать все,что хочешь и будет прост в обращении.

            Программа была написана под Windows 3.1,но может работать и под другими оболочками, эмулирующих работу Windows 3.1 -OS/2;MAC,поддерживающих 16-bit-ный код и кодировку Windows3.1- Windows NT, Windows 95.

Тексты программ (в приложении).

Главный запускающий файл программы.

Pr1.dpr

programPr1;

uses

  Forms,

  Start in 'START.PAS' {Form1},

  unit1 in'UNIT1.PAS',

  unit2 in'UNIT2.PAS',

  unit3 in'UNIT3.PAS',

  unit4 in'UNIT4.PAS';

{$R*.RES}

begin

  Application.CreateForm(TForm1,Form1);

  Application.Run;

end.

Файл определяющий ввод дополнительной информации черезинтерфейс программы.

Start.pas

unitStart;

interface

uses

  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,

  Forms, Dialogs, StdCtrls,Unit1,Unit2,Unit3,Unit4;

type

  TForm1 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Edit1: TEdit;

    Label4: TLabel;

    Edit2: TEdit;

    Label5: TLabel;

    Edit3: TEdit;

    Label6: TLabel;

    Edit4: TEdit;

    Label7: TLabel;

    Edit5: TEdit;

    Button1: TButton;

    procedureButton1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R*.DFM}

procedureTForm1.Button1Click(Sender: TObject);

begin

    str(n_mes,mw);

    system.assign(f,'vhodbase.dat');

    rewrite(f);

    z:=Edit3.Text;

    writeln(f,z);{val(z,fzp,conv);}{ФЗП}

    z:=Edit2.Text;

    writeln(f,z);{val(z,kol_d,conv);}{Кол-во дней}

    z:=Edit5.Text;

    writeln(f,z);{val(z,tar_rab,conv);}{Тариф рабочего 5-го разряда}

    z:=Edit4.Text;

    writeln(f,z);{val(z,oc_m,conv);}{Оклад мастера}

    z:=Edit1.Text;

    writeln(f,z);{val(z,n_mes,conv);}

    system.close(f);

   Unit2.vvod;

   Unit3.prog;

   Unit4.vivod;

end;

procedureTForm1.FormCreate(Sender: TObject);

begin

   Edit1.Text:='0';

   Edit2.Text:='0';

   Edit3.Text:='0';

   Edit4.Text:='0';

   Edit5.Text:='0';

   system.assign(f,'vhodbase.dat');

   reset(f);

   readln(f,z);val(z,fzp,conv);{ФЗП}

   Edit3.Text:=FloatToStr(fzp);

   readln(f,z);val(z,kol_d,conv);{Кол-во дней}

   Edit2.Text:=IntToStr(kol_d);

   readln(f,z);val(z,tar_rab,conv);{Тариф рабочего 5-го разряда}

   Edit5.Text:=IntToStr(tar_rab);

   readln(f,z);val(z,oc_m,conv);{Оклад мастера}

   Edit4.Text:=FloatToStr(oc_m);

   readln(f,z);val(z,n_mes,conv);

   Edit1.Text:=IntToStr(n_mes);

   system.close(f);

end;

end.

Файл, отвечающий за идентификацию переменных.

Unit1.pas

unitunit1;

interface

    { Раздел констант }

    const mes:array [1..12] of string [8]=('Январь','Февраль','Март','Апрель','Май',

      'Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');

    { Описание переменных }

    VAR n_mes:integer;{Nмесяца}

    conv:integer; {перем.-конвектор}

    f,f1:system.text;

    z,s,mw:string;x,y:real;{дополнительные переменные}

    kol_d,tar_rab: integer; {Исходная информация}

    fzp,oc_m:extended;{Исходная информация}

    kol_vo:array[1..4]of integer; {Количествоработников в группе}

    ktu:array[1..4,1..20]of real; {КТУ}

    fio:array[1..4,1..20]of string[16]; {ФИО}

    a:array[1..4,1..20,3..20]of longint; {Выходная информация}

    t:array[1..4,1..20,1..7]of real; {Тариф/оклад итабель}

    balls:array[1..4,1..20]of extended; {Баллыработников}

    br,bi:extended;{Сумма баллов}

{    i,j,g,h,}c:integer; {переменные-счетчики}

    nkr,nki,p,q:extended;{Нормативные коэффициенты, Доля ИТР, Перем.-счетчик}

    fr,fi:real; {Средства распред. по КТУ рабочим и ИТР}

implementation

end.

Файл, отвечающий за ввод данных из входных таблиц.

Unit2.pas

unitunit2;

interface

usesunit1;

procedurevvod;

implementation

procedurevvod;

vari,j,g,h:integer;

begin

{Считывание данных из первой таблицы }

fori:=1 to 4 do kol_vo[i]:=0;

fori:=1 to 4 do begin

str(i,s);assign(f,'vhod'+s+'-1-'+mw+'.txt');reset(f);

forj:=1 to 7 do readln(f,z);{пропустить шапку таблицы}

repeatreadln(f,z);kol_vo[i]:=kol_vo[i]+1;

       j:=pos('|',z);z:=copy(z,j+1,250); {Пропускаем номер}

       j:=pos('|',z);fio[i,kol_vo[i]]:=copy(z,1,j-1);z:=copy(z,j+1,250); {ФИО}

       j:=pos('|',z);val(copy(z,1,j-1),ktu[i,kol_vo[i]],conv);z:=copy(z,j+1,300);{КТУ}

       {Разряд работника}

       j:=pos('|',z);val(copy(z,1,j-1),a[i,kol_vo[i],6],conv);z:=copy(z,j+1,300);

       {Тариф/оклад работника}

       j:=pos('|',z);val(copy(z,1,j-1),t[i,kol_vo[i],1],conv);z:=copy(z,j+1,300);

       {Табель времени работника}

       j:=pos('|',z);val(copy(z,1,j-1),t[i,kol_vo[i],2],conv);z:=copy(z,j+1,300);

       j:=pos('|',z);val(copy(z,1,j-1),t[i,kol_vo[i],3],conv);z:=copy(z,j+1,300);

       {Выходные работника}

       j:=pos('|',z);val(copy(z,1,j-1),t[i,kol_vo[i],4],conv);z:=copy(z,j+1,300);

       j:=pos('|',z);val(copy(z,1,j-1),t[i,kol_vo[i],5],conv);z:=copy(z,j+1,300);

       { Сверхурочные работника}

       j:=pos('|',z);val(copy(z,1,j-1),t[i,kol_vo[i],6],conv);z:=copy(z,j+1,300);

       j:=pos('|',z);val(copy(z,1,j-1),t[i,kol_vo[i],7],conv);

untileof(f);

close(f);end;

{Считывание данных из второй таблицы }

fori:=1 to 4 do begin

str(i,s);assign(f,'vhod'+s+'-2-'+mw+'.txt');reset(f);

forg:=1 to 7 do readln(f,z);{пропустить шапку таблицы}

forg:=1 to kol_vo[i] do begin

    readln(f,z);j:=pos('|',z);z:=copy(z,j+1,250);

    j:=pos('|',z);z:=copy(z,j+1,250);

    for h:=8 to 10 dobegin j:=pos('|',z);val(copy(z,1,j-1),x,c);

        a[i,g,h]:=round(x);fzp:=fzp-a[i,g,h];z:=copy(z,j+1,250);end;

    j:=pos('|',z);val(copy(z,1,j-1),x,c);

    a[i,g,18]:=round(x);z:=copy(z,j+1,250);

    for h:=11 to 12 dobegin j:=pos('|',z);val(copy(z,1,j-1),x,c);

        a[i,g,h]:=round(x);fzp:=fzp-a[i,g,h];z:=copy(z,j+1,250);end;

    j:=pos('|',z);val(copy(z,1,j-1),x,c);a[i,g,19]:=round(x);

    for h:=13 to 16 dobegin z:=copy(z,j+1,250);j:=pos('|',z);

        val(copy(z,1,j-1),x,c);a[i,g,h]:=round(x);fzp:=fzp-a[i,g,h];end;

end;

close(f);end;

end;

end.

Файл, отвечающийзаосновной расчет.

Unit3.pas

unitunit3;

interface

usesunit1;

procedureprog;

implementation

procedureprog;

vari,j,h:integer;

begin

br:=0;

bi:=0;

fori:=1 to 4 do for j:=1to kol_vo[i] do begin

ifa[i,j,6]=0 then balls[i,j]:=t[i,j,1]*t[i,j,2]/kol_d

              else balls[i,j]:=t[i,j,1]*t[i,j,3];

a[i,j,3]:=round(balls[i,j]);

{Выходные}

ifa[i,j,6]=0 then begin a[i,j,4]:=round(1.5*t[i,j,1]*t[i,j,4]/kol_d);

   balls[i,j]:=balls[i,j]+t[i,j,1]*t[i,j,4]/kol_d;end

   else begin balls[i,j]:=balls[i,j]+t[i,j,1]*t[i,j,5];

   a[i,j,4]:=round(1.5*t[i,j,1]*t[i,j,5]);end;

{Сверхурочные}

ifa[i,j,6]<>0 then begin balls[i,j]:=balls[i,j]+t[i,j,1]*(t[i,j,6]+t[i,j,7]);

   a[i,j,5]:=round(t[i,j,1]*(1.5*t[i,j,6]+2*t[i,j,7]));end

      else begin balls[i,j]:=balls[i,j]+t[i,j,1]*(t[i,j,6]+t[i,j,7])/8/kol_d;

   a[i,j,5]:=round(t[i,j,1]*(1.5*t[i,j,6]+2*t[i,j,7])/8/kol_d);end;

{Расчетбаллов}

        balls[i,j]:=balls[i,j]*ktu[i,j];

        if a[i,j,6]<>0 then br:=br+balls[i,j]else bi:=bi+balls[i,j];

forh:=3 to 5 do fzp:=fzp-a[i,j,h];{Уменьшение ФЗП}

end;

{writeln ('  bi: ',round(bi),'  br: ',round(br));}

{Надбавка по КТУ }

nkr:=0.75*fzp/br;nki:=0.25*fzp/bi;

{writeln('fzp  ',round(fzp));}

p:=0;

q:=1;

{Цикл оптимизации}

repeat

    if round (oc_m+oc_m*1.5*nki)> round(tar_rab*8*kol_d+tar_rab*8*kol_d*1.5*nkr)

    then begin p:=p+q;q:=q/10; end;

    p:=p-q;

    nkr:=(1-p)*fzp/br;

    nki:=p*fzp/bi;

 {   writeln (round(oc_m+oc_m*1.5*nki),'   ',round(tar_rab*8*kol_d+tar_rab*8*kol_d*1.5*nkr));

    writeln ('oc_m  ',round(oc_m),' nki   ',round( nki));

    writeln ('oc_m  ',round(oc_m),' nkr   ',round( nkr));}

untilround (oc_m+oc_m*1.5*nki)<> round(tar_rab*8*kol_d+tar_rab*8*kol_d*1.5*nkr);

{writeln ('ok ',round (oc_m+oc_m*1.5*nki),'   ',round(tar_rab*8*kol_d+tar_rab*8*kol_d*1.5*nkr));

writeln('ok nkr: ',round(nkr) ,' nki:  ',nki);}

{ Зарплатапо КТУ выпл. рабочим }

fori:=1 to 3 do

    for j:=1 to kol_vo[i] do a[i,j,7]:=round(nkr*balls[i,j]);

{Зарплата по КТУ выпл. ИТР }

    for j:=1 to kol_vo[i] do a[4,j,7]:=round(nki*balls[4,j]);

{Итоговое суммирование }

fori:=1 to 4 do

    for j:=1 to kol_vo[i] do begin

        a[i,j,17]:=0;a[i,j,20]:=0;

        for h:=3 to  5 do a[i,j,17]:=a[i,j,17]+a[i,j,h];

        for h:=7 to 16 doa[i,j,17]:=a[i,j,17]+a[i,j,h];

        for h:=17 to 19 doa[i,j,20]:=a[i,j,20]+a[i,j,h];

        end;

end;

end.

Файл, отвечающийзавывод данных в выводные таблицы.

Unit4.pas

unitunit4;

interface

usesunit1;

procedurevivod;

implementation

procedurevivod ;

vari,j,h:integer;

begin

{Выводв таблицу}

fori:=1 to 4 do begin

    str(i,s);assign(f,'vihod'+s+'-'+mw+'.txt');rewrite(f);

    s:='Таблицазаработной платы по ' +s+' участку на '+mes[n_mes]+' месяц';

    writeln(f,s);

    {Создание шапки таблицы}

    assign(f1,'vhod/shapka');reset(f1);

    for j:=1 to 6 dobegin readln(f1,z);writeln(f,z);end;close(f1);

    for j:=1 to kol_vo[i] do begin{Вывод данных в таблицу}

        write(f,'|');write(f,j:2);write(f,'|');

        write(f,fio[i,j]:16);write(f,'|');

        for h:=3 to 5 dobegin write(f,a[i,j,h]:8);write(f,'|');end;

        str(round(balls[i,j]),s);write(f,s:8);write(f,'|');

        for h:=7 to 20 dobegin write(f,a[i,j,h]:8);write(f,'|');end;

    write(f,j:2);writeln(f,'|');

    end;

    close(f);

end;

{readln;}

end;

end.

Списокидентификаторов, используемых в программе:

n_mes-№&igra

еще рефераты
Еще работы по программированию, базе данных