Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Доклад практика.doc
Скачиваний:
3
Добавлен:
10.09.2019
Размер:
3.87 Mб
Скачать

2.3. Результат роботи програми на Pascal.

Завдання №3.

Скласти Basic- та Pascal-програми обчислення заробітної платні, податків та створити реестр перерахувань у банк для бригади робітників.

Відпрацьовано днів

Прізвище та денна з/п

% податку

Видати додатково (за допомогою мню)

0-24

  • З Файлу записів

  • з блоку

даних

Якщо з/п <750 гр.- неоподатковувати, від 750 гр. до 1900 гр.-15%, більше 1900 гр. – 24%

  • Список робітників, що отримали меньше 3000 гр.

  • Інформацію за заданим з клавіатури прізвищем.

3.1. Текст програми на Pascal .

uses crt;

type

famil=record

fam:string;

zarpl:real;

day:integer;

polnzar:real;

chiszar:real;

end;

const

rabotn:array[1..10] of string[20]=('Дереновская','Дирявченко','Каплун','Квитко',

'Малая','Миколаенко','Нелипа','Попова','Решетняк','Ткаченко');

var

i,j,nalog:integer;

n:array[1..10] of string[20];

d:array[1..10] of integer;

z,zr,nal:array[1..10] of real;

a:array[1..10] of famil;

k:array[1..10] of real;

nom:array[1..10] of real;

f2:file of famil;

m:integer;

fs:string;

begin clrscr;

assign(f2,'Zarpla.ta');

rewrite(f2);

randomize;

for i:=1 to 10 do begin

n[i]:=rabotn[i];

with a[i] do begin

k[i]:=random*(500);

fam:=rabotn[i] ;

zarpl:=k[i];

end;end;

write (' Программа расчёта зароботной платы работников ');

write('№ Фамилия Дни Дн.Зарп Процент Зарплата');

writeln;

writeln('----------------------------------------------------');

for i:= 1 to 10 do begin

nom[i]:=i;

gotoxy(1,i+2); write(nom[i]:2:0);

with a[i] do begin

gotoxy(5,i+2);

write(fam);

d[i]:=random(25);

gotoxy(15,i+2);

writeln('',d[i]:5);

z[i]:=k[i]*d[i];

gotoxy(20,i+2);

write(z[i]:10:2);

if z[i]<750 then begin

gotoxy(40,i+2);

writeln(z[i]:12:2);

gotoxy(33,i+2);

writeln (nal[i]:4:2,'%');

end else if (z[i]>750) and (z[i]<1900) then begin

gotoxy(40,i+2);

zr[i]:=(z[i]-((z[i]*15)/100));

writeln(zr[i]:12:2);

nal[i]:=z[i]*0.15;

gotoxy(33,i+2); writeln (nal[i]:4:2,'%');

end else if z[i]>1900 then begin

gotoxy(40,i+2);

zr[i]:= (z[i]-((z[i]*24)/100));

nal[i]:=z[i]*0.24;

writeln(zr[i]:12:2);gotoxy(33,i+2); writeln (nal[i]:4:2,'%');

end;

end;

end;

writeln('----------------------------------------------------');

writeln('Список работников которые получили меньше 3000 грн');

for i:=1 to 10 do begin

if zr[i]<3000 then writeln(' ',rabotn[i]);

end;

writeln('----------------------------------------------------');

writeln('введите фамилию:');

readln(fs);

for i:=1 to 10 do

if fs=rabotn[i] then begin

writeln(' ',rabotn[i],' ',d[i],' ',z[i]:4:2,' ',nal[i]:4:2,'%',' ',zr[i]:4:2);

end;

readkey;

end.

3.2. Результат роботи програми на Pascal .

3.3. Текст програми на Qbasic .

CLS

PRINT " Программа расчета заработной платы работников"

PRINT

PRINT " № Фамилия Дневная з\п Дни З\п всего Снято гр К выдаче"

DIM f$(10)

DIM z(10)

DIM day(10)

DIM zar(10)

DIM s(10)

DATA "Петров",150,"Сидоров",170,"Иванов",290,"Шевченко",300,"Зеленов",320,"Котов",280,"Кашин",320,"Нелипа",230,"Попов",330,"Дрягин",240

RANDOMIZE TIMER

FOR i = 1 TO 10

READ f$(i)

READ z(i)

day(i) = INT(25 * RND)

zar(i) = z(i) * day(i)

IF zar(i) < 750 THEN zarp(i) = zar(i)

IF (zar(i) >= 750) AND (zar(i) <= 1900) THEN zarp(i) = zar(i) - ((zar(i) * 15) / 100)

IF (zar(i) > 1900) THEN zarp(i) = zar(i) - ((zar(i) * 24) / 100)

IF zar(i) < 750 THEN nal = 0

IF (zar(i) >= 750) AND (zar(i) <= 1900) THEN nal = 15

IF (zar(i) > 1900) THEN nal = 24

IF (zar(i) >= 750) AND (zar(i) <= 1900) THEN s(i) = zar(i) * .15

IF zar(i) > 1900 THEN s(i) = zar(i) * .24

PRINT USING "## "; i;

PRINT f$(i)

LOCATE i + 3, 15: PRINT USING " ###.##"; z(i);

PRINT USING " ###"; day(i);

PRINT USING " #####.##"; zar(i);

PRINT USING " ####.##%"; s(i);

PRINT USING " #####.##"; zarp(i)

NEXT

PRINT

PRINT "Список работников которые получили меньше 3000 грн"

FOR i = 1 TO 10

IF zarp(i) < 3000 THEN PRINT " "; f$(i)

NEXT

INPUT "Введите фамилию - ", f$

FOR i = 1 TO 10

IF f$ = f$(i) THEN PRINT " "; f$(i), z(i), day(i), zar(i), s(i), zarp(i)

NEXT

END