Главная      Лекции     Лекции (разные) - часть 9

 

поиск по сайту            

 

 

 

 

 

 

 

 

 

содержание   ..  682  683  684   ..

 

 

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

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

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

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

ИДО ГОУ МГИУ

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

Задание:№

Группа: №

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

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

Москва 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

 

 

 

 

 

 

 

содержание   ..  682  683  684   ..