Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Автоматизация розрахунку нарахувань заробітної плати будівельному управлінні N 151

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Загальний розмір програми становить 252 246 байт. Програма зовсім позбавлений самораспаковывающихся архівів, файлів, що робить можливість швидкого запуску просто з незахищеною дискети. Але від виробляти запуск з жорсткого диска, оскільки швидкість звернення його й швидкість записи нею вище, ніж в дискети, як і це надійність збереження інформації. У принципі ця програмапримітивна демонстраційна… Читати ще >

Автоматизация розрахунку нарахувань заробітної плати будівельному управлінні N 151 (реферат, курсова, диплом, контрольна)

Державного комітету Російської Федерації за найвищим образованию.

ДЕРЖАВНА АКАДЕМІЯ УПРАВЛІННЯ імені СЕРГО ОРДЖОНИКИДЗЕ.

Інститут управління і підприємництва строительстве.

Кафедра виробничого менеджменту в строительстве.

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

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

Тема проекту: «Автоматизація розрахунку нарахувань заробітної плати будівельному управлінні N 151 «.

Выполнил: Ростовцев А.І., ЛМлад III-2 Перевірив: Сороко Г. Я.

Москва-1997.

1. Запровадження; 2. Экономико-организационная сутність завдання; 3. Вхідні і вихідна інформація, структура файлів; 4. Блок-схема алгоритму виконання завдання; 5. Стислі інформацію про технічному і общесистемному програмному забезпечення; 6. Тексти програм (при застосуванні); 7. Інструкція користувача; 8. Результати виконання завдання на ПЭВМ.

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

За завданням на курсове проектування виробляється автоматизація розрахунку нарахування заробітної плати у будівельному управлінні N 152. Ця завдання реалізується экономистом-бухгалтером відділу бухгалтерського обліку, і звітності будівельного управления.

При автоматизації завдання потрібно враховувати такі основні вимоги: -оптимальне для користувача уявлення вихідної і кінцевої інформації. -простота і зручність в експлуатації програми автоматизации;

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

У конкурсній програмі передбачено розрахунок доплати з колективного фонду оплати праці до зарплати працівника за тарифом й його індивідуальним виплатах, распределяемого відповідно до коефіцієнтом трудового участі (КТУ).Величина цього колективного фонду окреслюється різницю між фондом зарплати сучасний місяць, що визначає керівництво в залежність від виконання виробничої програми, і сумою зарплати по тарифу і індивідуальних виплат за всі ділянкам («ПОСІБНИКИ «і «ЛІКАРНЯНИЙ «при розрахунку виплат з колективного фонду виключаються, оскільки виплачуються зі спеціальних фондов).

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

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

За асиметричного розподілу колективного фонду між робітниками і ІТП передбачається рівність загальної зарплати робочого 5-го розряду (тобто. сума зарплати за тарифом й доплати розподіленої по КТУ не враховуючи індивідуальних нарахувань) загальної зарплаті майстра (при окладі майстра — 250 000).

Доплату з колективного фонду кожного працівника розраховується як твір кількості балів даного працівника і одержувачів відповідного нормативного коэффициента.

Також у програмі розраховуються нарахування в кожному працівникові підсумковій суми зарплати, що включає зарплату за тарифом (зокрема оплату протягом вихідних і сверхурочные), доплату з колективного фонду, й індивідуальні виплати, у своїй «ЛІКАРНЯНИЙ «і «ПОСІБНИКИ «складаються лише визначення спільної суми начислений.

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

|Имя |Розмір |Тип | | |файла |файла |файла |Функції файла | | |[байт] | | | |pr1.dp|256 |вихідний |Визначає структуру програми, | |r | | |здійснює її запуск при | | | | |компіляції | | | | |програми. | |pr1.ex|224 768 |робочий |Визначає структуру програми, | |e | | |здійснює її запуск. | |pr1.op|279 |формат- |Визначає взаємодія програми | |t | |ный |з Windows; опції її запуску. | |start.|1951 |вихідний |Відповідає за інтерфейс спілкування з | |pas | | |користувачем, введення додаткової | | | | |інформації з файла base. dat при | | | | |компіляції програми. | |start.|5312 |робочий |Відповідає за інтерфейс спілкування з | |dcu | | |користувачем, введення додаткової | | | | |інформації з файла base.dat. | |start.|1205 |формат- |Відповідає за опції інтерфейсу | |dfm | |ный |користувача, графічну частина | | | | |програми. | |unit1.|1090 |вихідний |Здійснює ідентифікацію | |pas | | |змінних при компіляції програми.| |unit1.|1856 |робочий |Здійснює ідентифікацію | |dcu | | |змінних. | |unit2.|2357 |вихідний |Здійснює введення даних із вхідних | |pas | | |таблиць при компіляції програми. | |unit2.|7440 |робочий |Здійснює введення даних із вхідних | |dcu | | |таблиць. | |unit3.|2432 |вихідний |Здійснює основний розрахунок при | |pas | | |компіляції програми. | |unit3.|7488 |робочий |Здійснює основний розрахунок. | |dcu | | | | |unit4.|918 |вихідний |Здійснює висновок даних в вихід- | |pas | | |ные таблиці при компіляції | | | | |програми. | |unit4.|2848 |робочий |Здійснює висновок даних в вихід- | |dcu | | |ные таблиці. | |base.d|30 |вхідний |Файл, який зберігає додаткову | |at | | |інформацію. | |shapka|1126 |вхідний |Файл, який зберігає шапку вихідний | | | | |таблиці. | |X-1-Y.|изменя-|входной |Таблиці вхідний інформації № 1, де X| |txt |ется | | | | | | |- № ділянки, а Y- № місяці. | |X-2-Y.|изменя-|входной |Таблиці вхідний інформації № 2, де X| |txt |ется | | | | | | |- № ділянки, а Y- № місяці. | |X-Y.tx|изменя-|выходной |Таблиці вихідний інформації, де X- | |t |ется | | | | | | |№ ділянки, а Y- № місяці. |.

Стислі інформацію про технічному і общесистемному програмному обеспечению.

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

— Оболонка чи операційна система: Windows 3.1, Windows 95, 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.

program Pr1;

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.

unit Start;

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; procedure Button1Click (Sender: TObject); procedure FormCreate (Sender: TObject); private.

{ Private declarations } public.

{ Public declarations } end;

var Form1: TForm1;

implementation.

{$R *.DFM}.

procedure TForm1. 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;

procedure TForm1. 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.

unit unit1; 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.

unit unit2;

interface uses unit1;

procedure vvod;

implementation procedure vvod; var i, j, g, h: integer; begin.

{ Зчитування даних із першої таблиці } for i:=1 to 4 do kol_vo[i]: =0; for i:=1 to 4 do begin str (i, s);assign (f, «vhod «+p.s+ «-1- «+mw+ » .txt »);reset (f);

for j:=1 to 7 do readln (f, z); {пропустити шапку таблиці} repeat readln (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); until eof (f); close (f);end;

{ Зчитування даних із другий таблиці }.

for i:=1 to 4 do begin str (i, s);assign (f, «vhod «+p.s+ «-2- «+mw+ » .txt »);reset (f); for g:=1 to 7 do readln (f, z); {пропустити шапку таблиці} for g:=1 to kol_vo [і] 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 do begin 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 do begin 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 do begin 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 unit unit3;

interface uses unit1;

procedure prog;

implementation procedure prog; var i, j, h:integer; begin.

br:=0; bi:=0;

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

if a[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]);

{Выходные} if a[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; {Наднормові} if a[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]; for h:=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));} until round (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);}.

{ Зарплата по КТУ выпл. робочим } for i:=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]);

{ Підсумкове підсумовування }.

for i:=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 do a[i, j,17]: =a[i, j,17]+a[i, j, h]; for h:=17 to 19 do a[i, j,20]: =a[i, j,20]+a[i, j, h]; end;

end; end.

Файл, відповідальний виведення даних в вивідні таблиці. Unit4.pas.

unit unit4;

interface uses unit1;

procedure vivod;

implementation procedure vivod; var i, j, h:integer; begin {Висновок в таблицу}.

for i:=1 to 4 do begin str (i, s);assign (f, «vihod «+p.s+ «- «+mw+ » .txt »);rewrite (f); p. s:= «Таблиця зарплати по «+p.s+ «ділянці на «+mes[n_mes]+ «місяць »; writeln (f, s);

{Створення шапки таблиці} assign (f1, «vhod/shapka »);reset (f1); for j:=1 to 6 do begin 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 do begin 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 do begin 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 -№ місяці; convперем.-конвектор; f, f1 -текстові; z, s, mw:string;x, ylдодаткові перемінні; kol_d, tar_rab, fzp, oc_mВихідна інформація; kol_vo[1.4] -Кількість працівників у групі; ktu[1.4,1.20] -КТУ; fio[1.4,1.20] -Прізвище, Ім'я, Очество працівника; a[1.4,1.20,3.20] -Вихідна інформації з таблиці; t:[1.4,1.20,1.7] -Тариф, оклад і табель; balls[1.4,1.20] of extendedБали працівників; br, biСуми балів робітників і ІТП; i, j, g, h, c; -переменные-счетчики; nkr, nki, p, qНормативні коефіцієнти, Частка ИТР, Перем.-счетчик; fr, fiКошти распред. по КТУ робітникам і ІТП; mesнайменування месецев;

Дополнительно: Програма здійснює порядковий введення з вхідних файлів, опрацьовує з допомогою робочих файлів, роблячи порядковий висновок у вихідні файли. Для функціонування програми використовуються форматні файли. Максимальний обсяг введеної інформації обмежений структурою таблиці. Крім основних, програма використовує стандартні модулі мови Delphi.

Інструкції пользователя.

Создание вхідний информации:

Перед запуском програми необхідно створити відповідні вхідні файли в директорії VHOD з урахуванням вже наявних файлів. Працюючи в Windows, користувачеві рекомендується створювати їх з допомогою стандартного редактора Write (WordPad). Кожному ділянці у кожному місяці відповідає два файла. Формат файлів повинен суворо відповідати формату вже наявних файлів, зберігаючи структуру таблиці. Найменування файлів має відповідати наступним стандартам: -Ім'я першого файла: X-1-Y.txt, де Xномер ділянки, а Yномер місяці. -Ім'я другого файла: X-2-Y.txt, де Xномер ділянки, а Yномер місяці. Запуск программы:

Запуск програми здійснюється після запуску Windows чи эмулятора Windows 3.1 у разі використання OS/2 чи MAC. Що Запускає файлфайл pr1.exe. Після запуску програми перед користувачем з’являється її інтерфейс. Користування программой:

Після успішного запуску користувач задає параметри і коефіцієнти розрахунків. Потому, як відповідні коефіцієнти і параметри визначено, необхідно натиснути клавішу Рахунок на інтерфейсі програми. Інформація буде проаналізована й виведено до таблиць. Перегляд вихідний информации:

Вихідні таблиці перебувають у піддиректорії VIHOD. Кожному ділянці в кожному місяці відповідає певний файл: -Ім'я файла: X-1-Y.txt, де X- № ділянки, а Y- № місяці. Працюючи в Windows, користувачеві рекомендується переглядати їх при допомоги стандартного редактора Write (WordPad), чи Notepad. Додаткові операции:

Додаткові операції над вихідний інформацією, як печатку вихідних таблиць, переклад в кодування DOS та інших., користувачеві рекомендується проводити використовуючи стандартні кошти ОС чи оболочки.

Показати весь текст
Заповнити форму поточною роботою