РефератыОстальные рефератыраработа По дисциплине «Информатика»

работа По дисциплине «Информатика»

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ


РОССИЙСКОЙ ФЕДЕРАЦИИ


ИДО ГОУ МГИУ


Курсовая работа


По дисциплине «Информатика»


Задание:№


Группа: №


Студент: Ф.И.О.


Руководитель: Ф.И.О.


Москва 2009


Содержание


1. Задание на курсовую работу. 3


2. Описание переменных. 4


3. Блок схема. 7


4. Описание алгоритма. 10


5. Листинг программы.. 11


6. Описание входных данных и результат вычислений. 15


7. Список использованной литературы.. 16


1. Задание на курсовую работу


В течение пяти дней (рабочая неделя) рабочий изготавливает детали семи различных типов. Известно количество изготовленных им деталей за каж­дый день и стоимость изготовления одной детали каждого типа (стоимость изготовления детали не меняется).


Написать программу, которая вводит данные, выполняет расчет и выво­дит на экран:


· исходные данные в виде таблицы, где перечислены наименования де­талей, стоимость изготовления, количество деталей, изготовленных за каждый день;


· количество деталей каждого типа, изготовленных за неделю;


· заработок за каждый день;


· день с наибольшим заработком.


2. Описание переменных


Исходные данные находятся на листе «Нач_д» (рис. 1) и содержат сле­дующую информацию:


1) Количество деталей каждого из 7 типов, изготовленных за пять ра­бочих дней.


2) Стоимость изготовления одной детали каждого типа.


Результаты работы программы оформляются на листе «Результат» (рис. 2).



Рис.1. Лист с начальными данными



Рис.2. Полученные результаты


В программе переменные описаны следующим образом:


1) cena(7)
— стоимость изготовления одной единицы каждого изделия представляет массив дробных чисел


Dim
cena
(7)
As
Double


2) koll
(7,5)
— количество деталей каждого вида, изготовленных в каж­ дый из рабочих дней, представляет двумерный массив целых чисел


Dim
koll
(7,5)
As
Integer


3) zar
(6)
— заработок за каждый день (от 1 до 5) и общий заработок за весь период представляет массив дробных чисел


Dim
zar
(6)
As
Double


4) koll
_
n
(7)
— количество деталей каджого вида за истекший период представляет массив целых чисел


Dim
kol
_
n
(7)
As
Integer


5) den
— порядковый номер дня с наибольшим заработком представляет целое число


Dim
den
As
Integer


6) zarpl
— сумма наибольшего заработка за период представляет дроб­ ное число


Dim
zarpl
As
Double


В программе также были использованы вспомогательные переменные, счетчики циклов, i
и j, являющиеся целыми числами.


Dim i As Integer, j As Integer


Переменные cena(7),
zar
(6),
zarpl
могут быть и не целыми числами, поэто­му они объявлены как действительные. Переменные koll
(7,5)
koll
_
n
(7),
den

целые числа, так как мы считаем, что смена рабочего составляет полный день, и он не может изготовить за смену половину детали.


3. Блок схема







Рис.3. Блок-схема




Рис.3. Блок-схема (продолжение)







Рис.3. Блок-схема




Рис.3. Блок-схема (окончание)

4. Описание алгоритма


Начало программы.


Ввод начальных (нулевых) значений для расчетных величин (количество изготовленных деталей за неделю, зарплата по дням и общая, день с наи­большим заработком и величина максимальной зарплаты).


Открытие листа с начальными данными («Нач_д») и получение этих данных в рабочие переменные (массивы сеnа(7) и kоll(7, 5)).


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


Расчет сумм заработков по изделиям за каждый день, количество изго­товленных деталей и вывод результатов. Организуется два вложенных цик­ла: внешний по изделиям, внутренний по дням. Для оптимизации процесса расчетная часть совмещена с выводом: во внутреннем цикле происходит вы­числение суммы заработка по i-му изделию в j-й день с выводом результата, во внешнем цикле (после получения результатов внутреннего цикла) — вы­вод стоимости одной детали и по всем деталям. Расчет заработной платы за каждый день организован в этом же внутреннем цикле.


Определение дня с максимальной заработной платой. Используется алго­ритм сравнения, при равенстве двух и более дневных сумм результативной считается первая сумма.


5.
Листинг программы


Sub Function()


'Сначала объявляем переменные, используемые в программе.


'стоимость детали


Dim cena(7) Аs Double


'количество (по дням)


Dim koll(7,5) As Integer


'зарплата в день


Dim zar(6) As Double


'количество деталей за неделю


Dim
koll_
n
(7) As Integer


'день с наибольшей з/пл.


Dim den As Integer


'
сумма
наибольшей
з
/
пл
.


Dim zarpl As Double


'
счетчики
циклов


Dim i As Integer, j As Integer


‘Далее всем переменным присваивается нулевое значение.


For i = 1 То 7


kol_
n(i) = 0


Next


For j=1 То 6 zar(j) = 0


Nехt


zarpl = 0 den = 0


'В этом фрагменте кода происходит считывание начальных
данных с листа «Нач_
д», и в каждую ячейку массива cena(7) записывается стоимость каждой детали, а в
ячейках двумерного массива
koll
(7,5) теперь находится
количество деталей каждого вида, изготовле

нных в
каждый из рабочих дней.


Sheets(''Нач_
д " ).Select


For i = 1 То 7


сеnа(i) = Cells(3 + i, 2)


Next


For i = 1 Тo 7


For j = 1 Тo 5


koll(i, j) = Cells(3 + i, 2 + j)


Next j


Next i


'Далее на листе «Результат» в ячейку с определенным номером вводится ее название.


Sheets(«Результат»).Select


Sheets("Результат").Cells(1, 1) = "Количество изготовленных деталей"


Sheets("Результат").Cells(2, 1) = "Наименование изделия"


Sheets("Результат").Cells(2, 2) = "Стоимость 1 шт."


Sheets("Результат").Cells(2, 3) = "Изготовлено"


Sheets("Результат").Cells(3, 3) = "1-й день"


Sheets("Результат").Cells(3, 4) = "2-й день"


Sheets("Результат").Cells(3, 5) = "3-й день"


Sheets("Результат").Cells(3, 6) = "4-й день"


Sheets("Результат").Cells(3, 7) = "5-й день"


Sheets("Результат").Cells(3, 8) = "Всего"


Sheets("Результат").Cells(4, 1) = "болт"


Sheets("Результат").Cells(5, 1) = "винт"


Sheets("Результат").Cells(6, 1) = "гайка"


Sheets("Результат").Cells(7, 1) = "шайба"


Sheets("Результат").Cells(8, 1) = "шуруп"


Sheets("Результат").Cells(9, 1) = "гвоздь"


Sheets("Результат").Cells(10, 1) = "скрепка"


'В этом фрагменте происходит вывод на рабочий лист
сумм заработков по изделиям в каждый день и
количество изготовленных деталей за неделю.


For i = 1 То 7


Sheets("Результат").Сеlls(3 + i, 2) = cena(i)


For j = 1 То 5


Sheets("Результат").Сеlls(3 + i, 2 + j) = koll(i, j)


koll_
n (i) = koll_
n (i) + koll(i, j)


Next j


Sheets("Результат").Сеlls(3 + i, 8) = koll_n(i)


Next i


'Ниже происходит ввод названий соответствующих
столбцов и строк.


Sheets("Результат").Сеlls(12,1) = «Результат в денежном эквиваленте»


Sheets("Результат").Сеlls(13,1) = «Наименование изделия»


Sheets("Результат").Сеlls(13,2) = «Стоимость 1 шт.»


Sheets("Результат").Сеlls(13,3) = «Заработано»


Sheets("Результат").Сеlls(14,3) = «1-й день»


Sheets("Результат").Сеlls(14,4) = «2-й день»


Sheets("Результат").Сеlls(14,5) = «3-й день»


Sheets("Результат").Сеlls(14,6) = «4-й день»


Sheets("Результат").Сеlls(14,7) = «5-й день»


Sheets("Результат").Сеlls(14,8) = «Всего»


Sheets("Результат").Сеlls(15,1) = «болт»


Sheets("Результат").Сеlls(16,1) = «винт»


Sheets("Результат").Сеlls(17,1) = «гайка»


Sheets("Результат").Сеlls(18,1) = «шайба»


Sheets("Результат").Сеlls(19,1) = «шуруп»


Sheets("Результат").Сеlls(20,1) = «гвоздь»


Sheets("Результат").Сеlls(21,1) = «скрепка»


Sheets("Результат").Сеlls(22,1) = «ИТОГО»


'Во внутреннем цикле происходит вычисление суммы заработка по
i
-му изделию в
j
-й день с выводом результата, а во внешнем цикле (после получения результатов внутреннего цикла) происходит вывод
стоимости одной детали и по всем деталям. Расчет
'заработной платы за каждый день организован в
этом же внутреннем цикле.


For i = 1 То 7 For j = 1 То 5


Sheets("Результат").Сеlls(14 + i, 2 + j) = koll(i, j) * сеna(i)


zar(j) = zar(j) + koll(i, j) * сеna(i)


zar(6) = zar(6) + koll(i, j) * сеnа(i)


Next j


Sheets("Результат").Сеlls(14 + i, 2) = сеnа(i)


Sheets("Результат").Сеlls(14 + i, 8) = сеnа(i) * koll_
n (i)


Next i


'Здесь описан алгоритм сравнения некоторой заработной платы с заработной платой, полученной в один из пяти рабочих дней. Если рассматриваемая больше другой, то сумме наибольшего заработка присваивается текущее значение, а днем с максимальным заработком становится день под номером
j
.


For j = 1 То 5


Sheets("Результат").Сеlls(22, 2 + j) = zar(j)


If zar(j) > zarpl Then


zarpl = zar(j)


den = j


End If


Next


'Ниже выводится на лист с результатом работы программы заработок рабочего за неделю, день максимального заработка и сколько он заработал в этот день.


Sheets("Результат").Сеlls(22,8) = zar(6)


Sheets("Результат").Сеlls(23,1) = «Заработок за неделю»


Sheets("Результат").Сеlls(23,5) = zar(6)


Sheets("Результат").Сеlls(24,1) = «День с максимальным заработком»


Sheets("Результат").Сеlls(24,5) = den


Sheets("Результат").Сеlls(24,6) = «Заработано»


Sheets("Результат").Сеlls(24,8) = zarpl


End Sub


6. Описание входных данных и результат вычислений


Проверка программы на всех единицах:




Проверка на всех нулях:




Проверка на произвольных данных:




Исходные данные для задания № представлены на Рис.№1., решение – на Рис.2..



7. Список использованной литературы


1. MS Office XP, 2003 Word, Excel, Access, Outlook, PowerPoint, FrontPage, MS Project/ А. К. Гультяев: Корона-Век, 2006


2. VBA. Практическое программирование/ Туркин Олег: Солон-пресс,2007


3. VBA/ Кузьменко В.Г.: Бином,2008.


4. Измерение, управление и регулирование с помощью макросов VBA в Word и Excel/ Берндт Г.-Й.: КОРОНА-Век, 2008


5. Информатика. Методические указания по выполнению практических работ в компьютерном классе (Access, Internet) / Гришин М.П., Юрасов А.Б. М.: МГИУ, 2003.


6. Информатика. Методическое пособие по выполнению практических работ в компьютерном классе (Word, Excel) / Гришин М.П. М.: МГИУ, 2005.


7. Информатика. Часть 1. Введение в информатику: учебное пособие / Гришин М.П., Иванов М.Н., Носова Т.К., Суворов С.В. М.: МГИУ, 2008.


8. Информатика. Часть 2. Программирование: Учебно-методическое пособие / Иванов М.Н., Суворов С.В. М.: МГИУ. 2006.


9. Моделирование с помощью Microsoft Excel и VBA. Разработка систем поддержки принятия решений/ Кристиан Олбрайт: Вильямс, 2005


10. Профессиональная разработка приложений Excel/ Стивен Буллен, Роб Боуви, Джон Грин: Вильямс, 2005


11. Самоучитель VBA/ Андрей Гарнаев: БХВ-Петербург,2004


12. Самоучитель программирования на VBA в Microsoft Office/В. Д. Хореев: Юниор, 2001


13. Электронные таблицы Microsoft Excel. Проблемы и решения/ Лори Анн Ульрих: Эком, 2002

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: работа По дисциплине «Информатика»

Слов:1609
Символов:15535
Размер:30.34 Кб.