VbCrLf 'Формирование строки, выводимой в файл
ZpN = ZpN + 1 'Увеличение номера записи на 1
End If 'Конец If
Loop 'Закрываем цикл Do While Not EOF(1)
q: 'Метка
Text6.Text = Srk 'Отображение строки
Close #1 'Закрываем фа1л № 1
Open "E:\Zrpl.txt" For Output As #2 'Открываем файл № 2
Write #2, Srk 'Запись строки во внешний файл
Close #2 'Закрываем файл № 2
End Sub 'Закрываем процедуру
Т еперь, при нажатии кнопки “Зарплата”, в файл D:\Zrpl.txt будут записаны подробные данные о начислении зарплаты каждому работнику в соответствии с условиями, описанными в пункте 1. Кроме того, эта же информация будет отображена в текстовом окне Text6.Text. Откройте файл через проводник и сравните записанную в нем информацию с той информацией, которая содержится в текстовом окне Text6.Text.
Тема: Хранение данных и расчет заработной платы
Процедуры доступа к данным и их обработки являются составной частью информационных процессов, происходящих в автоматизированных системах финансового документооборота. Основу для автоматического формирования отчетов составляет информация, содержащая данные, хранимые в файловых записях. Построить программу, позволяющую записать в файл исходные данные для начисления зарплаты работникам предприятия и вывести в отдельный файл отчет о начисленной каждому работнику зарплате.
1. Условие задачи
Для простоты задачи будем считать, что начисляемая зарплата представляет собой сумму тарифной ставки, которая выплачивается с учетом отработанных часов и набавки за стаж работы, которая выплачивается с учетом отработанных лет, за вычетом подоходного налога, определяемого общим размером начислений. При этом пусть:
- тарифная ставка оплачивается с учетом отработанных дней (из расчета 162 рабочих дня в месяце).
- надбавка за стаж выплачивается из условия: 5 % − если стаж составляет от 5 до 10 лет; 10 % − если стаж составляет от 10 до 20 лет и 25 % − если стаж превышает 20 лет.
- подоходный налог удерживается в размере 12 % − если общий объем начислений не превышает 2500 гривен и 20 % − если размер начислений превышают эту сумму.
2. Способ решения
Введем обозначения TS – тарифная ставка, SJ – стаж работы DH – количество отработанных часов. Кроме того, обозначим коэффициент, учитывающий размер надбавки за стаж как K1, а коэффициент, учитывающий размер налога как K2.
Пусть ST – реально выплачиваемая ставка с учетом отработанных часов, тогда
ST = (TS * DH) / 162.
Пусть NS – надбавка за стаж работы. Тогда ее величина может быть определена следующим образом
Пусть N – удерживаемый подоходный налог. Тогда его величина может быть определена следующим образом
If (NS + ST) <= 2500 Then
K2 = 0.12
Else
K2 = 0.2
End If
N = (NS + ST) * K2
Тогда размер заработной платы (ZP) будет определяться формулой
ZP = ST + NS − N
Для вывода рассчитанных данных в отдельный текстовый файл необходимо использовать процедуру последовательного доступа к данным, при котором в момент открытия файла указатель позиции устанавливается в его начало и информация дописывается в конец файла до самого момента его закрытия. Синтаксис процедуры записи в такой файл выглядит следующим образом.