Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
K- количество рабочих в ведомости по зарплате
TABNZ(k)-табличный номер рабочего в ведомости
Zarp(k)- зарплата рабочего
Программа на языке Бейсик
REM ведомость по зарплате
REM ввод исходных данных
INPUT "введите количество заявок и расценок";n,m
DIM TABN(n), KOD I(n), KOLI(n), KODK(n), STZ(n)
REM STZ(n) – промежуточный массив, стоимость заявки
DIM KODIZ(m), STI(m), TABNZ(n), ZARP(n)
FOR i=1 to n
PRINT "введите";i; "-ю заявку"
INPUT TABN(i), KOD I(i), KOL I(i), KOD K(i)
Next i
FOR i=1 to m
PRINT "введите";i; "-ю расценку"
INPUT KODIZ(i), STI(i)
Next i
REM Часть 1. Вычисление стоимости заявки
FOR i=1 to n
REM Поиск изделий в таблице расценок, p-признак поиска
p=0
FOR j=1 to m
IF KOD I(i)= KOD I Z(j) THEN p=j
NEXT j
IF p>0 THEN
REM вычисление стоимости заявки
ST Z(i)=ST I(p)*KOL I(i)
IF KOD K(i)=1 THEN ST Z(i)=0.5*ST Z(i)
IF KOD K(i)=2 THEN ST Z(i)=0.25*ST Z(i)
ELSE
PRINT «нет изделия с кодом»;KOD I(i)
STOP
END IF
NEXT i
REM Часть2. Подсчёт зарплаты
Рассмотрим подробнее алгоритм формирования ведомости по зарплате.
1) Табельный номер из заявок мы ищем в массиве табельных номеров из ведомости (даже если точно знаем, что их там ещё нет!)
2) Если мы не находим табельный номер в массиве TABNZ, то мы помещаем его в этот массив, а в соответствующий элемент ZARP помещаем стоимость заявки.
3) Если табельный номер найден в массиве TABNZ, то к соответствующему элементу в массиве ZARP прибавляем стоимость заявки.
REM подсчёт зарплаты
K=0 'Количество элементов
FOR i=1 to n
P=0 'признак поиска - не найден
FOR j=1 to k
IF TAB NZ(j)=TAB N(i) THEN p=j
NEXT j
IF p=0 THEN не найден
k=k+1
TAB NZ(k)= TAB N(i)
ZARP(k)=ST Z(i)
ELSE
ZARP(p)=ZARP(p)+STZ(i)
END IF
NEXT i
PRINT " Ведомость по зарплате"
PRINT "Табельный номер", "Зарплата"
FOR i=1 to k
PRINT TAB NZ(i), ZARP(i)
NEXT i
END
Дата публикования: 2015-01-13; Прочитано: 184 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!