Автор: Пользователь скрыл имя, 14 Января 2011 в 13:42, курсовая работа
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчёты и выводит на экран:
- исходные данные в виде таблицы, где указаны наименования книг, цена книги в каждом месяце, кол-во проданных книг за каждый месяц;
- доход по каждой книге за 3 месяца
- доход за каждый месяц по всем книгам;
- общий доход по всем книгам за 3 месяца;
- наименование книги, принёсший наибольший доход
1.Задание………………………………………………………….…………………….. 3
2.Описание переменных………………………………………….…………………… . 4
3.Блок-схема……………………………………………………………………………. 5
4.Описание алгоритма…………………………………………………………………. 8
5.Листинг программы………………………………………………………………….. 9
6.Описание входных данных и результат вычисления……….………………………12
6.1Проверка программы на произвольных данных……………………………...….. 12
6.2Проверка программы на всех НУЛЯХ……………………………………………. 13
6.3Проверка программы на всех ЕДИНИЦАХ………………………………………. 13
7.Список литературы…………………………………………………………………... 14
МИНИСТЕРСТВО
ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО
РОССИЙСКОЙ ФЕДЕРАЦИИ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНДУСТРИАЛЬНЫЙ
УНИВЕРСИТЕТ
ИНСТИТУТ
ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
Курсовая работа
по дисциплине
“Информатика”
Задание: 3.3
Группа: 01Э31п
Студент:
Петров Сергей Викторович
Москва 2004
СОДЕРЖАНИЕ
1.Задание………………………………………………………
2.Описание
переменных………………………………………….………
3.Блок-схема………………………………………………
4.Описание
алгоритма………………………………………………………
5.Листинг
программы………………………………………………………
6.Описание входных данных и результат вычисления……….………………………12
6.1Проверка
программы на произвольных
6.2Проверка программы на всех НУЛЯХ……………………………………………. 13
6.3Проверка программы на всех ЕДИНИЦАХ………………………………………. 13
7.Список
литературы……………………………………………………
1.Задание
Книжный магазин продал за 3 месяца различное количество книг 12 наименований по цене, устанавливаемым в начале каждого месяца (т.е. каждый месяц цены на книги менялись).
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчёты и выводит на экран:
-
исходные данные в виде
- доход по каждой книге за 3 месяца
- доход за каждый месяц по всем книгам;
- общий доход по всем книгам за 3 месяца;
-
наименование книги, принёсший
наибольший доход
2.Описание
переменных
В программе переменные описаны следующим образом:
1) cena(12,3) – стоимость одной книги каждого наименования в каждом месяце, представляет двумерный массив целых чисел
Dim cena(12,3) As
Double
2) koll(12,3) – количество книг каждого наименования, проданных в каждый из трёх месяцев, представляет двумерный массив целых чисел
Dim koll(12,3) As
Integer
3) doh(4) – доход за каждый месяц (от1 до3) и общий доход за весь период, представляет массив дробных чисел
Dim doh (4) As Double
4) koll_n(12) – количество проданных книг каждого наименования за истёкший период, представляет массив целых чисел
Dim kol_n(12) As
Integer
5) nam – порядковый номер наименования книги , принёсший наибольший доход, представляет массив дробных чисел
Dim name As Integer
В программе также были использованы вспомогательные переменные, счётчики циклов, i, p и j, являющиеся целыми числами.
Dim i As Integer,
j As Integer, p As Integer
Переменные
cena(12,3), doh(4), dohod могут быть и не целыми числами,
поэтому они объявлены как действительные.
Переменные koll(12,3), koll_n(12), nam – целые числа,
так как в книжном магазине продаются
только целые книги, а не как половинки.
3. Блок-схема.
В
данной работе использованы следующие
виды блоков:
- квадрат – блок решения;
- эллипс – данный блок используется для обозначения начала и конца алгоритма;
- пятиугольник – данный блок используется для обозначения оператора цикла;
- стрелками обозначен переход от одного действия в другому.
4. Описание
алгоритма
Начало
программы.
Ввод
начальных (нулевых) значений для расчётных
величин (доход по каждой книге за
3 месяца, доход за каждый месяц по всем
книгам и общий доход за весь период, наименование
книги, принёсшей наибольший доход).
Открытие
листа с начальными данными («Нач_д»)
и получение этих данных в рабочие
переменные (двумерные массивы cena
(12,3) и koll (12,3)).
Открытие
листа с результатами, формирование
матрицы входных данных. Организуется
два вложенных цикла (по каждой книге и
месяцу). Во внутреннем цикле (по месяцам,
расчёт по каждому наименованию) суммируется
Расчёт
количества дохода по каждому наименованию
книг за каждый месяц, количество проданных
книг и вывод результатов. Организуется
два вложенных цикла: внешний по наименованиям
книг, внутренний по месяцам. Для оптимизации
процесса расчётная часть совмещена с
выводом: во внутреннем цикле происходит
вычисление дохода по i-му наименованию
в j-ый месяц с выводом результата, во внешнем
цикле (после получения результатов внутреннего
цикла) – вывод дохода по каждому наименованию
и общий доход.
Конец
программы.
5. Листинг
программы
Sub Funct()
'Сначала объявляем
переменные, используемые в программе.
Dim cena(12, 3) As Double 'Стоимость книги
Dim koll(12, 3) As Integer 'Количество (по месяцам)
Dim kol_n(12) As Integer 'Количество книг в месяц
Dim doh(4) As Double 'Доход в месяц
Dim nam As Integer 'Книга с наибольшим доходом
Dim i As Byte, j As Integer, p
As Integer 'Счётчики циклов
For i = 1 To 12
kol_n(i) = 0
Next
For j = 1 To 3
doh(j) = 0
Next
For p = 1 To 3
Next
doh = 0
nam = 0
Sheets("Нач_д").Select
For i = 1 To 12
For p = 1 To 3
cena(i, p) = Cells(3 + i, 1 + p)
Next p
Next i
For i = 1 To 12
For j = 1 To 3
koll(i, j) = Cells(3 + i, 4 + j)
Next j
Next i
Sheets("Результат").Select
Cells(1, 1) = "Количество проданных книг"
Cells(2, 1) = "Наименование"
Cells(2, 2) = "Стоимость"
Cells(2, 5) = "Количество"
Cells(3, 2) = "1 мес"
Cells(3, 3) = "2 мес"
Cells(3, 4) = "3 мес"
Cells(3, 5) = "1 мес "
Cells(3, 6) = "2 мес"
Cells(3, 7) = "3мес"
Cells(4, 1) = "Биология (пособие)"
Cells(5, 1) = "Вилла Белый конь"
Cells(6, 1) = "Властелин колец ч.1"
Cells(7, 1) = "Властелин колец ч.2"
Cells(8, 1) = "Властелин колец ч.3"
Cells(9, 1) = "Гаргантюа и Пантагрюэль"
Cells(10, 1) = "Деловые люди (сборник)"
Cells(11, 1) = "Основы политологии и социологии"
Cells(12, 1) = "Программирование на языке VBA"
Cells(13, 1) = "Угрюм-река"
Cells(14, 1) = "Учебник английского языка ч.1,2"
Cells(15, 1) = "Хоббит
или туда и обратно"
For i = 1 To 12
For p = 1 To 3
Cells(3 + i, 1 + p) = cena(i, p)
Next p
For j = 1 To 3
Cells(3 + i, 4 + j) = kol_n(i)
kol_n(i) = kol_n + koll(i, j)
Next j
Next i
'Ниже происходит ввод названий соответствующих
'столбцов и
строк
Cells(17, 1) = "Результат в денежном эквиваленте"
Cells(18, 1) = "Наименование"
Cells(18, 2) = "Стоимость"
Cells(18, 5) = "Доход"
Cells(18, 8) = "Всего" 'Общий доход за 3 месяца
Cells(18, 9) = "Книга"
Cells(19, 2) = "1 мес"
Cells(19, 3) = "2 мес"
Cells(19, 4) = "3 мес"
Cells(19, 5) = "1 мес"
Cells(19, 6) = "2 мес"
Cells(19, 7) = "3 мес"
Cells(20, 1) = "Биология (сборник)"
Cells(21, 1) = "Вилла Белый конь"
Cells(22, 1) = "Властелин колец ч.1"
Cells(23, 1) = "Властелин колец ч.2"
Cells(24, 1) = "Властелин колец ч.3"
Cells(25, 1) = "Гаргантюа и Пантагрюэль"
Cells(26, 1) = "Деловые люди (сборник)"
Cells(27, 1) = "Основы политологии и социологии"
Cells(28, 1) = "Программирование на языке VBA"
Cells(29, 1) = "Угрюм-река"
Cells(30, 1) = "Учебник английского языка ч.1,2"
Cells(31, 1) = "Хоббит или туда и обратно"
Cells(32, 1) = "Итого"
For i = 1 To 12
For p = 1 To 3
Cells(19 + i, 1 + p) = cena(i, p)
Next p
For j = 1 To 3
Cells(19 + i, 4 + j) = koll(i, j) * cena(i, p)
doh(j) = doh(j) + koll(i, j) * cena(i, p)
doh(4) = doh(4) + koll(i, j) * cena(i, p)
Next j
Cells(19 + i, 8) = cena(i, p) * kol_n(i)
Next i
Cells(18, 8) = "Всего"
Cells(18, 9) = "Книга"
Cells(32,8)=doh(4)
Cells(33,1)=”Общий доход”
Cells(33,5)=doh(4)
Cells(22,9)=nam
End Sub
6.Описание
входных данных и результат
вычисления.
Для
начала создаём документ Microsoft Excel и записываем
на рабочий лист начальные данные. Затем
запускаем редактор Visual Basic, чтобы в нём
написать код программы. Далее сохраняем
изменения в созданном модуле и запускаем
программу. Исправляем допущенные ошибки.
После чего результат работы программы
будет помещён на лист «Результат».