Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
INFORMATIKA_080100_62.docx
Скачиваний:
14
Добавлен:
10.06.2015
Размер:
883.8 Кб
Скачать

4. Программа решения задачи

Исходный текст программы представлен ниже. Он содержит типичные синтаксические, смысловые и логические ошибки, допускаемые студентами. Программа оформлена в виде процедуры и должна находиться в стандартном модуле с именем Module2. Для ее создания необходимо в окне базы данных выполнить команду СоздатьМодули или войти в окно редактора VBA (Alt+F11Редактор VBA меню InsernModule).

Option Compare Database

Sub Текущая_рентабельность_c_ошибками()

Dim d(), r() As Currency

Dim Sum_d, Sum_r, rent, i, m, j, n As Integer

m = InputBox("Введите число статей доходов", "Доходы")

If m = Empti Or m<=0 Then

Exit Sub

n = Val(ImputBox("Введите число статей расходов", "Расходы"))

If m = Empty Or n<=0 Or n>=20 Then Exit Sub

ReDim d(m), r(1 To n) ‘Переопределение размеров массивов d(), r()

Sum_d = 0

Sum_r = 0

For i = 1 To m

Met1: d(i) = Val(InputBox("Введите значение статей _

доходов", "Доходы"))

If d(i)<=0 Or d(j)>1000000 then

Msgbox "Значение дохода не может быть меньше 0 _

и больше 1000000 руб."

Goto met1

End if

Sum_d = Sum_d + d(i)

For j = 1 To n Step -1

r(j) = Val(InputBox("Введите значение статей _

расходов", "Расходы"))

Sum_r = Sum_r + r(i)

Next j

rent = (Sum_d - Sum_r) / Sum_r

MsgBox "Значение текущей рентабельности равно " & _

rent & "%"

Print rent

EndSub

End Sub

    1. Задание

  1. Изучите с преподавателем редактор VBA.

  2. Перепишите текст предложенной процедуры расчета текущей рентабельности в стандартный модуль.

  3. Откомпилируйте программу (окно редактора VBA  DebugCompile) и в процессе компиляции устраните все синтаксические ошибки.

  4. Запустите программу на выполнение (окно редактора VBARunRun Sub (F5)) и с использованием средств отладки на контрольном примере устраните все смысловые и логические ошибки. Результаты запишите.

  5. Приведите предложенный вариант программы в полное соответствие с алгоритмом (заметим здесь, что алгоритм отличается от написанной программы).

  6. Отладьте программу, проверьте ее работоспособность, в том числе с критическими и недопустимыми значениями параметров, и представьте работу преподавателю. Переименуйте процедуру, присвоив ей имя «Текущая_рентабельность_без_ошибок()».

  7. Создайте в Кнопочной_форме кнопку для запуска процедуры расчета текущей рентабельности, для этого:

7.1. Выделите Кнопочную_форму и войдите в режим Конструктора; на панели инструментов выключите кнопку Мастеров;

7.2. Создайте кнопку, присвойте её подписи значение «Расчет текущей рентабельности»;

7.3. Для этой кнопки создайте (выделить кнопкуокно Свойства  вкладка События  событие Нажатие кнопки Построитель  Программы) следующую процедуру:

Private Sub Кнопка21_Click() ‘ в имени процедуры № кнопки

‘присваивается приложением

Текущая_рентабельность_без_ошибок

End Sub

    1. Перейдите в режим Формы и проверьте работу кнопки

    1. Контрольные вопросы

  1. Назовите и прокомментируйте основные этапы решения экономических задач на ЭВМ.

  2. Перечислите все синтаксические, смысловые и логические ошибки, допущенные в исходном тексте предложенной программы.

  3. Каковы причины возникновения указанных Вами ошибок?

  4. Найдите отличие алгоритма от программы и устраните его.

  5. *Предложите усовершенствованный вариант программы расчета текущей рентабельности.

  6. Объясните, почему в модуле Кнопочной_формы процедуре нажатия кнопки присвоено имя Private Sub Кнопка21_Click().

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]