49092 (Составление и описание программы по заданным параметрам)

2016-07-30СтудИзба

Описание файла

Документ из архива "Составление и описание программы по заданным параметрам", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49092"

Текст из документа "49092"

Содержание

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

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

3. Блок схема

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

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

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

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

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

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

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

- исходные данные в виде таблицы, где указаны наименования цветов, закупочные цены букетов каждого вида и количество букетов в каждом году;

- общее количество букетов за 3 года;

- доход по всем цветам за каждый год;

- общий доход колхоза за 3 года;

- вид цветов, принесший максимальный доход за 2 года.


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

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

  1. количество букетов из 6 видов, выращенных за год.

  2. закупочные цены букетов каждого вида.

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

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

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

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

1) koll(7,5) — количество букетов за каждый год

Dim koll(7,5) As Integer

3) zar(6) — доход по всем цветам за каждый год

Dim zar(6) As Double

4) koll_n(7) — общее количество букетов за3 года

Dim kol_n(7) As Integer

5) vid — вид цветов принесший максимальный доход

Dim vid As Integer

6) zarpl — сумма максимального дохода

Dim zarpl As Double

7) cena(7) — общий доход колхоза за 3 года

Dim cena(7) As Double

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

Dim i As Integer, j As Integer

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

3. Блок схема

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

Р

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

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


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

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

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

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

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

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

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


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

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

Private Sub CommandButton1_Click()

'назначаю переменные

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

Dim koll(7, 5) As Integer 'количество букетов за каждый год

Dim zar(6) As Double 'доход по всем цветам за каждый год

Dim koll_n(7) As Integer 'общее количество букетов за 3 года

Dim vid As Integer 'вид цветов принесший максимальный доход

Dim zarpl As Double 'сумма макимального дохода

Dim cena(7) As Double 'общий доход колхоза за 3 года

'в начале программы все переменные равны нулям

'создаем цикл, который считает количество букетов за 3 года

For i = 1 To 5

koll_n(i) = 0

Next

'создаем цикл, который считает доход по всем цветам за период

For j = 1 To 6

zar(j) = 0

Next

zarpl = 0

den = 0

'считываем начальные данные

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

'в каждую ячейку массива cena(i) записывается цена каждого букета

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

For i = 1 To 6

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

Next

'в каждую ячейку массива koll(i, j) записывается количество букетов за период

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

For i = 1 To 6

For j = 1 To 5

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

Next j

Next i

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

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) = "Всего"

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

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

Sheets("Результат").Cells(6, 1) = "Лилии"

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

Sheets("Результат").Cells(8, 1) = "Орхидеи"

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

'в соответсвующие ячейки записываются цены собранных букетов

For i = 1 To 6

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

For j = 1 To 4

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

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

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

koll_n(i) = koll_n(i) + koll(i, j)

Next j

'результат записывается в соответствующие ячейки

Sheets("Результат").Cells(3 + i, 6) = koll_n(i)

Next i

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

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

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

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

Sheets("Результат").Cells(13, 2) = "Цена 1-го букета"

Sheets("Результат").Cells(13, 3) = "Доход"

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

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

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

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

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

Sheets("Результат").Cells(16, 1) = "Гвоздики"

Sheets("Результат").Cells(17, 1) = "Лилии"

Sheets("Результат").Cells(18, 1) = "Тюльпаны"

Sheets("Результат").Cells(19, 1) = "Орхидие"

Sheets("Результат").Cells(20, 1) = "Хризантемы"

Sheets("Результат").Cells(21, 1) = "Доход по всем цветам за каждый год"

'во внешнем цикле происходит вывод дохода по всем цветам за каждый год и общий доход колхоза, собранных в данный период

For i = 1 To 7

'в этом цикле вычисляется общее количество букетов за 3 года

'доход по всем цветам за каждый год и общий доход колхоза за 3 года

For j = 1 To 4

Sheets("Результат").Cells(14 + i, 2 + j) = koll(i, j) * cena(i)

zar(j) = zar(j) + koll(i, j) * cena(i)

zar(6) = zar(6) + koll(i, j) * cena(i)

Next j

Sheets("Результат").Cells(14 + i, 2) = cena(i)

Sheets("Результат").Cells(14 + i, 6) = cena(i) * koll_n(i)

Next i

'в данном цикле происходит выбор суммы наибольшего заработка и соответственно

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

For j = 1 To 4

Sheets("Результат").Cells(21, 2 + j) = zar(j)

If zar(j) > zarpl Then

zarpl = zar(j)

Sheets("Результат").Cells(23, 6) = vid

vid = розы

End If

Next

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

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

Sheets("Результат").Cells(22, 1) = "Общий доход колхоза за 3 года"

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

Sheets("Результат").Cells(23, 1) = "Вид цветов, принесший максимальный доход за 2 года"

Sheets("Результат").Cells(23, 6) = "Розы"

End Sub

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

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

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

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

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

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


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

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

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

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

  5. Практическая информатика, Часть 1 Н.А. Роганова, С.В. Андреев

  6. Практическая информатика, Часть 1 Н.А. Роганова, С.В. Андреев

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5183
Авторов
на СтудИзбе
435
Средний доход
с одного платного файла
Обучение Подробнее