![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Выходные данные
Исходные данные. Пример решения задач с модульным подходом. End. Begin <операторы модуля>
Описательная часть в программе на Паскале может отсутствовать, например:
begin Writeln('Всем привет!') end. Рабочие изготавливают различные изделия. Требуется рассчитать зарплату каждого рабочего, если в каждой заявке на выполнение работы он указывает собственный табельный номер, код изготовленных изделий, количество изготовленных изделий и код качества выполненной работы. Если код качества равен 001, устанавливается надбавка в 50%, а с кодом 002- надбавка 25%. Имеется таблица соответствующих кодов изделий и их стоимостей (таблица расценок). Контрольный пример: Исходные данные: Таблица заявок Табельный код количество код номер рабочего изделия изделий качества 777 005 10 1 101 005 5 3 777 004 5 1 111 003 15 2 101 003 10 3 Таблица расценок Код изделия стоимость 001 7,5 003 10 004 15 005 10
Результат: Ведомость по зарплате Табельный номер зарплата 777 262,5 101 150 111 187,5
В самом общем виде алгоритм решения задачи можно описать следующим образом: 1)Подсчитать стоимость каждой заявки. 2)Суммировть стоимости заявок по одинаковым табельным номерам. Структурноданные задачи представляют собой таблицы, где таблица- это совокупность массивов одинаковой длины, соответствующие элементы которой описывают некоторый объект. В данной задаче присутствуют две исходных таблицы (таблица заявок из четырех массивов и таблица расценок из двух массивов) и одна выходная таблица из двух массивов (ведомость по зарплате).
Описание исходных и выходных данных:
n- количество заявок TABN(n)- табельные номера KODI(n)- код изделия KOLI(n)- количество изделий KODk(n)- код качества работы m-количество изделий в таблице расценок KODIz(m)- код изделия STI(m)- стоимость изделия
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-03; Просмотров: 470; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |