Программирование VBA

Автор работы: Пользователь скрыл имя, 27 Января 2013 в 21:56, курсовая работа

Описание

Магазин учебной литературы в течение 3 месяцев продавал учебники по английскому, немецкому и французскому языкам нескольких авторов. Всего продавалось 7 учебников каждого наименования. Цена на учебники устанавливалась в начале каждого месяца и не менялась в течение месяца.
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:
- исходные данные в виде таблицы, где перечислены ФИО авторов учебников, иностранный язык, на котором написан учебник, цена учебника за месяц, количество учебников автора, проданных в каждом месяце;
- ...

Содержание

1. Задание на курсовую работу 3
2. Описание переменных 4
3. Блок – схема 6
4 Описание алгоритма 9
5. Листинг программы 10
6. Описание входных данных и результат вычислений 13javascript:activate_paper(1401006)

Работа состоит из  1 файл

kr.doc

— 1.21 Мб (Скачать документ)

МИНОБРНАУКИ РОССИИ

ФГБОУ ВПО «МГИУ»

 

 

 

 

 

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

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

 

 

 

Задание:№37

Группа: №АЗ10Т21

Студент: Никитина Юлия Викторовна

Руководитель:  Иванов Михаил Николаевич

 

 

 

 

Москва 2012

 

Содержание

 

 

 

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

 

Магазин учебной литературы в течение 3 месяцев продавал учебники по английскому, немецкому и французскому языкам нескольких авторов. Всего продавалось 7 учебников каждого наименования. Цена на учебники устанавливалась в начале каждого месяца и не менялась в течение месяца.

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

  • исходные данные в виде таблицы, где перечислены ФИО авторов учебников, иностранный язык,  на котором написан учебник, цена учебника за месяц, количество учебников автора, проданных в каждом месяце;
  • количество учебников, проданных за 3 месяца;
  • доход за каждый месяц от продажи учебников английского языка;
  • доход, полученный  от продажи  учебников каждого автора за весь период;
  • ФИО автора учебника, продажа которого принесла наименьший

доход.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

 

Исходные данные находятся на листе «Данные» (рис. 1) и содержат следующую информацию: ФИО авторов учебников, иностранный язык, на котором написан учебник, цена учебника за месяц, количество учебников автора, проданных в каждом месяце

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

 

 

 

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

 

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

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

    1. Dim dann(7, 6) As Integer – двумерный массив, куда поместим данные с листа Данные
    2. Dim i, j, l As Integer I,j –целые числа счетчики циклов; l-вспомогательная переменная
    3. Dim S As Integer-целое число, количество проданных учебников
    4. Dim min As Integer- целое число для поиска наименьшего значения

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

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

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

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

Открытие листа с начальными данными («Данные») и получение этих данных в рабочие переменные (массивы) dann(7, 6).

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

Доход за каждый месяц от продажи учебников английского языка. Перебираем столбец, в котором написан язык, если он равен «Английскому», то находим доход за каждый месяц.

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

Для поиска автора, который принес наименьший доход в переменную min запишем доход первого автора. Организуем цикл по авторам и сравним доход каждого автора с min.

 

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

Sub kr_Click()

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

Dim dann(7, 6) As Integer

Dim i, j,l As Integer

Dim S As Long

Dim min As Integer

S = 0

l = 1

min = 0

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

'для этого  используем цикл

For i = 1 To 7

    For j = 1 To 6

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

       Next j

Next i

'выводим  на лист Результаты исходные  данные

Sheets("Данные").Select

For i = 1 To 7

    For j = 1 To 6

       Sheets("Результаты").Cells(3 + i, 2 + j) = dann(i, j)

    Next j

Next i

Sheets("Данные").Select

Sheets("Результаты").Cells(1, 2) = "Количество проданных учебников"

Sheets("Результаты").Cells(3, 1) = "Язык"

Sheets("Результаты").Cells(3, 2) = "Автор"

Sheets("Результаты").Cells(2, 3) = "1 месяц"

Sheets("Результаты").Cells(2, 5) = "2 месяц"

Sheets("Результаты").Cells(2, 7) = "3 месяц"

Sheets("Результаты").Cells(4, 1) = Sheets("Данные").Cells(4, 1)

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

Sheets("Результаты").Cells(6, 1) = Sheets("Данные").Cells(6, 1)

Sheets("Результаты").Cells(7, 1) = Sheets("Данные").Cells(7, 1)

Sheets("Результаты").Cells(8, 1) = Sheets("Данные").Cells(8, 1)

Sheets("Результаты").Cells(9, 1) = Sheets("Данные").Cells(9, 1)

Sheets("Результаты").Cells(10, 1) = Sheets("Данные").Cells(10, 1)

Sheets("Результаты").Cells(4, 2) = Sheets("Данные").Cells(4, 2)

Sheets("Результаты").Cells(5, 2) = Sheets("Данные").Cells(5, 2)

Sheets("Результаты").Cells(6, 2) = Sheets("Данные").Cells(6, 2)

Sheets("Результаты").Cells(7, 2) = Sheets("Данные").Cells(7, 2)

Sheets("Результаты").Cells(8, 2) = Sheets("Данные").Cells(8, 2)

Sheets("Результаты").Cells(9, 2) = Sheets("Данные").Cells(9, 2)

Sheets("Результаты").Cells(10, 2) = Sheets("Данные").Cells(10, 2)

Sheets("Результаты").Cells(3, 3) = "Цена "

Sheets("Результаты").Cells(3, 4) = "Продано"

Sheets("Результаты").Cells(3, 5) = "Цена "

Sheets("Результаты").Cells(3, 6) = "Продано"

Sheets("Результаты").Cells(3, 7) = " Цена"

Sheets("Результаты").Cells(3, 8) = "Продано"

Sheets("Результаты").Cells(11, 1) = "Количество проданных учебников  за 3 месяца"

For j = 1 To 3

    For i = 1 To 7

    S = S + dann(i, j * 2)

    Next i

Next j

Sheets("Результаты").Cells(11, 5) = S

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

Sheets("Результаты").Cells(12, 1) = "Доход от продажи учебников  английского языка:"

Sheets("Результаты").Cells(13, 1) = "за 1 месяц "

Sheets("Результаты").Cells(13, 3) = "за 2 месяц "

Sheets("Результаты").Cells(13, 5) = "за 3 месяц "

For k = 1 To 5 Step 2

doh = 0

For i = 1 To 7

If Sheets("Данные").Cells(3 + i, 1) = "Английский" Then doh = doh + dann(i, k) * dann(i, k + 1)

Next i

Sheets("Результаты").Cells(13, 1 + k) = doh

Next k

'доход,  полученный  от продажи  учебников  каждого автора

Sheets("Результаты").Cells(1, 9) = "Доход от продажи учебников  каждого автора"

For i = 1 To 7

doh_avt = 0

For j = 1 To 5 Step 2

doh_avt = doh_avt + dann(i, j) * dann(i, j + 1)

Next j

Sheets("Результаты").Cells(3 + i, 9) = doh_avt

Next i

'ФИО  автора учебника, продажа которого  принесла наименьший доход

  min = Sheets("Результаты").Cells(4, 9)

  For i = 2 To 7

  If Sheets("Результаты").Cells(3 + i, 9) < min Then

  min = Sheets("Результаты").Cells(3 + i, 9)

  l = i

  End If

  Next i

Sheets("Результаты").Cells(12, 9) = Sheets("Данные").Cells(3 + l, 2)

Sheets("Результаты").Cells(11, 9) = "Наименьший доход принес  автор:"

Sheets("Результаты").Select

End Sub

 

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

 

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

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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


Информация о работе Программирование VBA