Информатика, программирование

Автор работы: Пользователь скрыл имя, 13 Мая 2012 в 21:11, курсовая работа

Описание работы

Магазин “Виртуальный мир” продал за 1 месяц (3 декады) некоторое количество компьютеров различных типов (6 типов). Цена на компьютеры устанавливалась в начале каждой декады.
Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран:
• исходные данные в виде таблицы, де перечислены все типы компьютеров и цены на них количество проданных компьютеров в течение каждой декады;
• доход от каждого компьютера за месяц;
• доход от всех компьютеров за каждую декаду;

Содержание работы

1) Задание на курсовую работу
2) Описание переменных
3) Блок-схема
4) Описание алгоритма
5) Листинг программы
6) Описание входных данных и результат вычислений

Файлы: 1 файл

курсовая работа по информатике.doc

— 659.50 Кб (Скачать файл)

 

 

 

 

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

 

 

по специальности « Высокоуровневые методы информатики и программирования»

 

на тему «Информатика. Программирование»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Содержание

 

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

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

3)     Блок-схема

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

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

 

 

     Магазин Виртуальный мир продал за 1 месяц (3 декады) некоторое количество компьютеров различных типов (6 типов). Цена на компьютеры устанавливалась  в начале каждой декады.

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

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

      доход от каждого компьютера за месяц;

      доход от всех компьютеров за каждую декаду;

      общий доход от продажи за 1 месяц;

      тип компьютера, принесшего наибольший доход за месяц.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

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

1)     6 типов компьютеров.

2)     Цены за каждый тип компьютеров, устанавливаемые в начале каждой декады.

3)     Количество проданных компьютеров в течение каждой декады.

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

 

 

 

 

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

 

 

 

 

 

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

 

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

    

   1)  cena(3, 6) – цена одного компьютера

Dim cena(3, 6) As Double

2)     koll(3, 6) – количество проданных компьютеров

Dim koll(3, 6) As Integer

     3)  cena_mes(6) – доход от каждого компьютера за месяц

Dim cena_mes(6) As Double

     4) cena_dec(3) - доход от всех компьютеров за каждую декаду

Dim cena-dec(3) As Double

     5)  cena_obshобщий доход от продажи за месяц

Dim cena_obsh As Double

     6)  cena_pc(3, 6) – цена проданных компьютеров одного типа за декаду

Dim cena_ pc(3, 6) As Double

 

 

7)     num_pc – номер компьютера

Dim num_pc As Integer

 

8)     type_pc – тип компьютера

Dim type_pc As String

9)     maxнаибольший доход от проданных компьютеров одного типа за месяц

Dim max As Double

10)   i, j – счётчики циклов

Dim i As Integer, j As Integer

 

    Переменные koll(3, 6), num_pc, i, j - целые числа.  Переменная type_pc строковая переменная, остальные переменные могут быть целыми числами, поэтому они объявлены как действительные.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блок-схема

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

             

             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                         Нет

 

 

                       Да

 

 

 

 

 

 

             

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

 

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

 

   Открытие листа с начальными данными (”Нач_д”) и получение этих данных в рабочие переменные (массивы cena(3, 6) и koll(3, 6)).

 

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

 

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

 

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

 

   Определение типа компьютера, принесшего наибольший доход за месяц. Используется алгоритм сравнения. При равенстве двух и более доходов за месяц результатом считается первый доход. По найденному номеру типа компьютера определяется тип компьютера с помощью оператора Select Case. Затем осуществляется вывод результата.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Листинг Программы

 

 

Option Explicit

 

Public Sub Выполнить()

 

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

 

    Dim cena(3, 6) As Double        ' цена одного компьютера

    Dim koll(3, 6) As Integer       ' количество проданных компьютеров

    Dim cena_mes(6) As Double       ' доход от каждого компьютера за месяц

    Dim cena_dec(3) As Double       ' доход от всех компьютеров за декаду

    Dim cena_obsh As Double         ' общий доход от продажи

    Dim cena_pc(3, 6) As Double     ' цена проданных компьютеров одного типа за декаду

    Dim num_pc As Integer           ' номер компьютера

    Dim type_pc As String           ' тип компьютера

    Dim max As Double               ' наибольший доход от одного типа компьютера

    Dim i As Integer, j As Integer  ' счётчики циклов

 

    ' Всем переменным присваивается нулевое значение

 

    For i = 1 To 6

        cena_mes(i) = 0

    Next

 

    For j = 1 To 3

        cena_dec(j) = 0

    Next

 

    cena_obsh = 0

    type_pc = 0

 

    ' Считывание начальных данных с листа "Нач_д" в каждую ячейку массивов

 

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

 

    For i = 1 To 3

        For j = 1 To 6

            cena(i, j) = Cells(3 + j, 2 * i)

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

        Next j

    Next i

 

    ' Ввод названий соответствующих столбцов и строк исходных данных на листе "Результат"

 

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

 

    Cells(1, 1) = "Начальные данные"

    Cells(2, 1) = "Компьютеры"

    Cells(2, 4) = "Месяц"

    Cells(3, 2) = "Цена"

    Cells(3, 3) = "1 декада"

    Cells(3, 4) = "Цена"

    Cells(3, 5) = "2 декада"

    Cells(3, 6) = "Цена"

    Cells(3, 7) = "3 декада"

    Cells(4, 1) = "Тип 1"

    Cells(5, 1) = "Тип 2"

    Cells(6, 1) = "Тип 3"

    Cells(7, 1) = "Тип 4"

    Cells(8, 1) = "Тип 5"

    Cells(9, 1) = "Тип 6"

   

    ' Вывод в ячейки исходных данных

   

    For i = 1 To 3

        For j = 1 To 6

            Cells(3 + j, 2 * i) = cena(i, j)

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

        Next j

    Next i

 

    ' Ввод названий соответствующих столбцов и строк на листе "Результат"

 

    Cells(11, 1) = "Результат в денежном эквиваленте"

    Cells(12, 1) = "Компьютеры"

    Cells(12, 4) = "Месяц"

    Cells(12, 8) = "Доход от каждого компьютера"

    Cells(13, 2) = "Цена"

    Cells(13, 3) = "1 декада"

    Cells(13, 4) = "Цена"

    Cells(13, 5) = "2 декада"

    Cells(13, 6) = "Цена"

    Cells(13, 7) = "3 декада"

    Cells(14, 1) = "Тип 1"

    Cells(15, 1) = "Тип 2"

    Cells(16, 1) = "Тип 3"

    Cells(17, 1) = "Тип 4"

    Cells(18, 1) = "Тип 5"

    Cells(19, 1) = "Тип 6"

    Cells(20, 1) = "Доход за декаду"

    Cells(21, 1) = "Общий доход"

    Cells(22, 1) = "Тип компьютера с наибольшим доходом"

    Cells(22, 6) = "Доход составляет"

 

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

 

    For i = 1 To 3

        For j = 1 To 6

            cena_pc(i, j) = cena(i, j) * koll(i, j)

            cena_dec(i) = cena_dec(i) + cena_pc(i, j)

            Cells(13 + j, 2 * i) = cena(i, j)

            Cells(13 + j, 2 * i + 1) = cena_pc(i, j)

        Next j

        Cells(20, 2 * i + 1) = cena_dec(i)

    Next i

 

    ' Определение дохода от каждого компьютера за месяц и вывод результата

 

    For j = 1 To 6

        For i = 1 To 3

            cena_mes(j) = cena_mes(j) + cena_pc(i, j)

        Next i

        Cells(13 + j, 8) = cena_mes(j)

    Next j

 

    ' Определение общего дохода от продажи за месяц и вывод результата

 

    For i = 1 To 3

        cena_obsh = cena_obsh + cena_dec(i)

    Next

 

    Cells(21, 3) = cena_obsh

 

    ' Поиск номера типа компьютера, принесшего наибольший доход за месяц

 

    max = cena_mes(1)

    num_pc = 1

    For i = 2 To 6

        If max < cena_mes(i) Then

            max = cena_mes(i)

            num_pc = i

        End If

    Next

 

    ' Определение типа компьютера по найденному номеру

 

    Select Case num_pc

        Case 1

            type_pc = "Тип 1"

        Case 2

            type_pc = "Тип 2"

        Case 3

            type_pc = "Тип 3"

        Case 4

            type_pc = "Тип 4"

        Case 5

            type_pc = "Тип 5"

        Case 6

            type_pc = "Тип 6"

    End Select

 

    Cells(22, 5) = type_pc

    Cells(22, 8) = max

 

End Sub

 

 

 

 

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

 

 

Проверка работы программы на всех нулях

 

 

 

 

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

 

 

 

 

 

 

 

Проверка работы программы на произвольных данных

 

 

 

 

 

 

 

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

 

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

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

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

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

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

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

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

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

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

 

1

 

Информация о работе Информатика, программирование