Программа «Расчет суммы вклада». Вставка иллюстраций




В данном разделе пособия мы рассмотрим еще один проект, в котором для нахождения искомого значения используется циклическая структура с заранее заданным числом повторений. При разработке пользовательского интерфейса данного проекта мы используем новый, не рассматривавшийся ранее элемент интерфейса – иллюстрацию, а также научимся определять формат выводимых в текстовое окно данных.

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

Пользовательский интерфейс данного проекта должен включать следующие элементы:

1. Четыре текстовых окна. Из этого количества три текстовых окна предназначены для ввода исходных данных и одно – для вывода результата. В окно Textbox1 вводится исходная сумма вклада, в Textbox2– срок, на который клиент заключает договор с банком (целое количество лет), в Textbox3– процент по вкладу согласно договору. В окне Textbox4 должна выводиться сумма вклада по окончании срока действия договора.

2. Четыре надписи Label1, Label2, Label3 и Label4, которые содержат поясняющие комментарии к содержимому текстовых окон.

3. Три экранные кнопки. Экранная кнопка «Подсчитать итоговую сумму» (CommandButton1) предназначена для того, чтобы на основе исходных данных, находящихся в трех верхних текстовых окнах, подсчитать искомый результат и вывести его в четвертом окне. Кнопка «Сброс» (CommandButton2) должна очищать сразу все четыре текстовых окна, для того чтобы в случае необходимости пользователь мог произвести повторный ввод данных и получить новый результат. Кнопка «Выход» закрывает окно проекта.

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

Работу над проектом мы, как обычно, начнем с того, что создадим новый документ ВашаФамилия_Вклад.doc. Открыв среду программирования VBA, создаем графический интерфейс данного проекта. Так как элементы, подобные тем, что описаны в пп. 1-3, мы создавали уже во многих предыдущих проектах, мы не будет здесь рассматривать их создание и настройку, а более подробно остановимся только на объекте из пункта 4 – иллюстрации к проекту.

Заготовка для объекта Иллюстрация (как и для других объектов) представляет собой кнопку, находящуюся в Панели элементов (Toolbox). Эта кнопка выглядит следующим образом: . Если навести на нее указатель мыши, то появляется всплывающая подсказка– Image.

 

Щелкнув мышью на основной экранной форме создаем объект Image1 и методом протягивания увеличиваем его размеры.

Созданное на экранной форме окно объекта пока что является пустым. Для того, чтобы поместить в это окно какой-либо готовый рисунок, нужно в окне свойств (Properties) для объектаImage1 найти свойство Picture. По умолчанию это свойство имеет значение None (ничего).

Щелкнув мышью в поле справа от названия свойства Picture, видим, что появляется кнопка-построитель (на этой кнопке изображено многоточие). Щелкнув по кнопке-построителю, открываем диалоговое окно Load Picture, используемое для загрузки рисунка.

По умолчанию данное окно для выбора рисунка открывает папку «Мои документы». Для того чтобы переместиться в папку с проектами, где находится заготовленный файл, нужно использовать поле Папка, находящемся в верхней части диалогового окна Load Picture. Щелкнув на раскрывающей стрелке, расположенной справа от этого поля, открываем структуру компьютерной системы(подобно тому, как это делается в программе Проводник) и находим необходимую нам папку с проектами.

Выделив в папке необходимый графический файл, щелкаем по экранной кнопке Открыть, расположенной в нижней части диалогового окна. В результате наших действий окно объекта Image1 оказывается заполненным картинкой из файла.

При вставке картинки в окно Image1 возможна такая ситуация, когда в окне мы видим не всю картинку, а только ее фрагмент. Причина заключается в том, что картинка больше по размеру, чем отведенное для нее место на форме в окне Image1. Из этой ситуации возможны два выхода: либо нужно увеличить размеры окна, чтобы в него помещалась вся картинка, либо подогнать размеры картинки к размерам уже имеющегося окна.

Второй вариант является более предпочтительным, так как при этом не нужно перемещать другие, ранее созданные элементы интерфейса или уменьшать их размеры. Для реализации этого варианта в окне свойств для объекта Image1 находим свойство PictureSizeMode(режим, определяющий размеры картинки). По умолчанию в поле справа от названия свойства стоит значение «0», которое соответствует оригинальным размерам картинки. Если из раскрывающегося списка выбрать значение «1», то автоматически произойдет подгонка размеров картинки к размерам имеющегося окна, и картинка будет полностью видна в окне Image1.

На этом создание пользовательского интерфейса для проекта «Вклад» завершено. Внешний вид пользовательского интерфейса для данного проекта со всеми его элементами, включая иллюстрацию, показан на рисунке.

Написание программного кода для данного проекта начнем с экранной кнопки CommandButton1 (Подсчитать итоговую сумму). В начале описываем используемые в процедуре переменные: переменные n (срок действия договора) и p(процент по вкладу) описываем как переменные целого типа, переменные Summa(исходная сумма) и Sum(итоговая сумма по окончании срока действия договора) описываем как переменные вещественного типа двойной точности.

Значение переменной Summa берем из текстового окна Textbox1 (с помощью функции Val преобразуем это значение из строковой формы в числовую), переменной n – из текстового окна Textbox2, а переменной p – из окна Textbox3.

Затем с помощью цикла с заранее заданным количеством повторений определяем значение итоговой суммы. По истечении каждого года действия договора к сумме вклада за предыдущий год добавляются проценты, начисленные на эту сумму, что находит отражение в формуле, записанной в теле цикла. Переменная цикла изменяется от 1 до n. В целом же цикл будет выглядеть следующим образом:

For i = 1 To n

Summa = Summa * (1 + p / 100)

Next i

После того, как итоговая сумма вычислена, ее нужно вывести в текстовом окне Textbox4. Но при выводе данных возникает следующая проблема: при расчете может получиться значение с большим количеством знаков после точки, а реально пользователю нужна информация о сумме, выраженной в рублях и копейках, т.е. после точки должно быть всего два разряда, соответствующие копейкам. Поэтому полученную величину Summa нужно преобразовать соответствующим образом.

Для подобного преобразования числовых данных в языкеVisual Basic существуют специальные функции. К ним относится функция FormatNumber, которую мы используем в данном проекте. Общий вид данной функции следующий:

FormatNumber(Expression, NumDigitsAfterDecimal)

Здесь Expression– это выражение, которое подвергается преобразованию. В простейшем случае выражение может быть одной константой или одной переменной(как это имеет место в нашем проекте).

NumDigitsAfterDecimal– количество знаков после десятичной точки (являющейся в информационных технологиях эквивалентом запятой), которое сохраняется в числе. Преобразованное таким образом числовое значение должно быть присвоено какой-либо переменной. В данном случае мы присваиваем это значение переменной Sum:

Sum = FormatNumber(Summa, 2)

Далее значение переменной Sum(итоговая сумма на счете вкладчика по окончании срока действия договора) преобразуется в строковую форму с помощью функции Str и выводится в текстовом окне Textbox4.

Программирование экранных кнопок CommandButton2 (Сброс) и CommandButton3 (Выход) производится аналогично тому, как это делалось в предыдущих проектах.

 

Задачи.

  1. Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно.
  2. Создать программу, которая, используя форму, выполняет следующие действия: при вводе переменной в текстовое поле она считывает данное значение а, после чего организует цикл for с шагом, равным 5, где при каждом шаге значение переменной b становится равным значению переменной а плюс шаг изменения. Итоговое значение с суммирует полученное значение b и введенное значение а.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: