МИНИСТЕРСТВО общего и профессионального образования российской федерации
АКАДЕМИЯ БЮДЖЕТА И КАЗНАЧЕЙСТВА
министерства финансов российской федерации
по дисциплине «информатика»
Студента (ки) Торопчиной Ольги Валерьевны |
Группа 2У3 |
Тема Вариант№13 |
Факультет Учетный |
Специальность Бухучет, анализ и аудит |
Отделение Очное |
Научный руководитель |
……………… | ………………….. | ………………….. |
Дата поступления работы в деканат | Допуск к защите. Подпись преподавателя. | Защита работы. Оценка. Подпись преподавателя. |
Москва
200_
ОГЛАВЛЕНИЕ.
1.ЗАДАНИЕ НА VISUAL BASIC………………………………..3
1.1.ФОРМА РАБОТАЕТ ПО СЛЕДУЮЩЕЙ ЛОГИКЕ…….5
1.2.ПРОЦЕДУРЫ ОБРАБОТКИ СОБЫТИЙ………………….6
1.3.РАБОТА ПРИЛОЖЕНИЯ………………………………………..18
1.3.1.РАСЧЕТ ПОКАЗАТЕЛЯ…………………………………………….19
1.3.2.ПОСТРОЕНИЕ ГРАФИКА…………………………………………20
1.3.3.ПРИМЕР ОКНА СООБЩЕНИЯ……………………………………20
2.ЗАДАНИЕ НА EXCEL………………………………..21
2.1.СОСТАВИТЬ ИНВАРИАНТНУЮ КАЛЬКУЛЯЦИЮ РЕМОНТА АВТОМОБИЛЯ НА ОСНОВЕ СЛЕДУЮЩИХ ДАННЫХ………………………………………21
2.1.1 РАСЧЕТ ИНВАРИАНТНОЙ КАЛЬКУЛЯЦИИ РАСХОДОВ НА РЕМОНТ АВТОМОБИЛЯ……..22
2.1.2. ПОСТРОЕНИЕ ДИАГРАММЫ СТРУКТУРЫ РАСХОДОВ….25
2.1.3. РАЗРАБОТКА ДВУХ СЦЕНАРИЕВ ДЛЯ РАСЧЕТА РАСХОДОВ ПРИ ИЗМЕНЕНИИ ЦЕН НА ЗАПЧАСТИ И РАСЦЕНОК НА ВЫПОЛНЕНИЕ РАБОТ...26
2.1.4. ПОДБОР ПАРАМЕТРОВ ДЛЯ РАСЧЕТА ВОЗМОЖНЫХ РАЗМЕРОВ ЦЕН ПРИ ЗАДАННОЙ ВЕЛИЧИНЕ РАСХОДОВ……..26
2.1.5. ПЛАН ПОГАШЕНИЯ КРЕДИТА НА РАСХОДЫ ПО СМЕТЕ И РАСЧЕТ БУДУЮЩЕЙ СТОИМОСТИ РАСХОДОВ……….27
3. ЗАДАНИЕ НА WORD…..29
3.1.ВВЕДЕНИЕ..29
3.2.ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И ЕГО ВИДЫ….30
3.2.1.СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ……31
3.2.2.ИНСТРУМЕНТАЛЬНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ…..34
3.2.3.ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ….34
3.3.ЗАКЛЮЧЕНИЕ….36
1.ЗАДАНИЕ НА VISUAL BASIC.
Вариант №13
Задание. Вычислить значение наращенной суммы платежа по формуле р-срочной ренты и построить график зависимости наращенной суммы (S) от срока платежа (n).
Расчетная формула:
S=r*((1+i/100)^n-1)/(p*[(1+i/100)^(1/p)-1]),
где n – число периодов наращения;
i – годовая процентная ставка;
S – наращенная сумма;
r – годовой взнос ренты;
m – число начислений процентов в год;
p – число платежей в год.
Комментарий1. Для более удобного введения годовой процентной ставки я внесла некоторые изменения в формулу(i/100 вместо i).
Комментарий2. р-срочная рента выплачивается р-раз в год, проценты начисляются раз в год (в данной формуле рассматривается случай m=1).
Для выполнения данного задания была создана форма:
Рисунок№1
ИМЕНА И ТИПЫ ИСПОЛЬЗУЕМЫХ ОБЪЕКТОВ УПРАВЛЕНИЯ:
Text1- объект типа TextBox (текстовое окно) для задания годовой процентной ставки;
Text2- объект типа TextBox (текстовое окно) для задания годового взноса ренты;
Text3- объект типа TextBox (текстовое окно) для задания числа платежей в год;
Text4- объект типа TextBox (текстовое окно) для задания числа периодов наращения;
Text5- объект типа TextBox (текстовое окно) для задания годовой процентной ставки;
Text6- объект типа TextBox (текстовое окно) для задания годового взноса ренты;
Text7- объект типа TextBox (текстовое окно) для задания числа платежей в год;
Text8- объект типа TextBox (текстовое окно) для задания числа периодов наращения;
Text9- объект типа TextBox (текстовое окно) для задания шага построения графика;
Text10- объект типа TextBox (текстовое окно) для вывода результатов расчета показателя;
Frame1 – объект типа Frame (рамка) для группировки объектов, используемых для задания параметров расчета показателя(«Расчет показателя»);
Frame2– объект типа Frame (рамка) для группировки объектов, используемых для задания параметров графика(«Построение графика»);
Command1 - объект типа CommandButton (командная кнопка) для активизации фрейма "Расчет показателя" (кнопка "Расчет показателя");
Command2 - объект типа CommandButton (командная кнопка) для активизации фрейма "Построение графика" (кнопка "Построение графика");
Command3 - объект типа CommandButton (командная кнопка) для вызова процедуры расчета показателя (кнопка "ОК");
Command4 - объект типа CommandButton (командная кнопка) для вызова процедуры построения графика (кнопка "ОК");
Picture1 - объект типа PictureBox для вывода графика;
Label1, Label2, Label3, Label4, Label5, Label6, Label7, Label8, Label9, Label10 поясняющие метки;
Label11 – метка для вывода наращенной суммы при построении графика.
1.1.ФОРМА РАБОТАЕТ ПО СЛЕДУЮЩЕЙ ЛОГИКЕ:
- при запуске программы на форме активизируются две командные кнопки («Построение графика» и «Расчет показателя»);
- при нажатии кнопки «Расчет показателя» становится активным фрейм «расчет показателя»;
- при нажатии кнопки «Построение графика» становится активным фрейм «Построение графика».
- после активизации соответствующего фрейма все остальные элементы формы становятся недоступными.
- вывод результата расчета показателя производится в текстовое окно «Наращенная сумма» после нажатия кнопки «ОК» во фрейме «расчет показателя»;
- вывод графика производится в элемент PictureBox после нажатия кнопки «ОК» во фрейме «Построение графика»; при повторном построении графика производится очистка элемента PictureBox от предыдущего построенного графика.
Рисунок№2
1.2.ПРОЦЕДУРЫ ОБРАБОТКИ СОБЫТИЙ:
‘При загрузке формы производится задание начального вида формы и задание недоступности фреймов.
Private Sub Form_Load()
Picture1.Cls ` очистка PictureBox
Label1.Enabled = False ` метка недоступна
Label2.Enabled = False ` метка недоступна
Label3.Enabled = False ` метка недоступна
Label4.Enabled = False ` метка недоступна
Label6.Enabled = False ` метка недоступна
Label7.Enabled = False ` метка недоступна
Label8.Enabled = False ` метка недоступна
Label9.Enabled = False ` метка недоступна
Label10.Enabled = False ` метка недоступна
Label12.Visible = False ` метка недоступна
Label5.Caption = «» ` очистка текста метки
Text1.Text = «» ` очистка текстовых окон
Text2.Text = «» ` очистка текстовых окон
Text3.Text = «» ` очистка текстовых окон
Text4.Text = «» ` очистка текстовых окон
Text5.Text = «» ` очистка текстовых окон
Text6.Text = «» ` очистка текстовых окон
Text7.Text = «» ` очистка текстовых окон
Text8.Text = «» ` очистка текстовых окон
Text9.Text = «» ` очистка текстовых окон
Text10.Text = «» ` очистка текстовых окон
Frame1.Enabled = False ` фрейм недоступен
Frame2.Enabled = False ` фрейм недоступен
End Sub
Private Sub Command1_Click()
‘После нажатия кнопки «Расчет показателя» становится доступным фрейм «Расчет показателя», остальные элементы формы становятся недоступными.
Frame1.Enabled = True ` фрейм доступен
Frame2.Enabled = False ` фрейм недоступен
Text1.SetFocus ` курсор переводится в текстовое окно Text1
Command1.Enabled = False ` командная кнопка недоступна
Command2.Enabled = False ` командная кнопка недоступна
Label1.Enabled = True ` метка доступна
Label2.Enabled = True ` метка доступна
Label3.Enabled = True ` метка доступна
Label4.Enabled = True ` метка доступна
Label5.Caption = «» ` очистка текста метки
End Sub
Private Sub Text1_Change()
‘При вводе значений показателя в текстовом окне производится проверка вводимых данных на их положительность и тип (число). Для этого Ascii- код введенного символа сравнивается с Ascii- кодами цифр (от 48 до 57) и символа-разделителя (точки – Ascii- код 46). Эта проверка происходит при вводе каждого символа в текстовом окне (событие Change).
' Используются встроенные функции Len (string) – возвращает длину строки и Mid(string, start[, length]) – возвращает часть строки, начиная с позиции start длины length
Dim i As Integer ` счетчик цикла
Dim KeyAscii As Integer ` переменная, содержащая код Ascii символа
For i = 1 To Len(Text1.Text) ` для каждого символа в строке
KeyAscii = Asc(Mid(Text1.Text, i, 1)) `получаем код Ascii этого символа
If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 46) Then `если код не лежит в диапазоне кодов цифр или точки
Text1.Text = «» ` очистить текстовое окно
Exit Sub
End If
Next
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
'После нажатия кнопки «Enter» производится перевод курсора в следующее текстовое окно
If KeyAscii = 13 Then ` если нажата клавиша Enter
Text2.SetFocus ` перевести курсор в текстовое окно Text2
End If
End Sub
Private Sub Text2_Change()
Dim i As Integer
Dim KeyAscii As Integer
For i = 1 To Len(Text2.Text)
KeyAscii = Asc(Mid(Text2.Text, i, 1))
If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 46) Then
Text2.Text = “”
Exit Sub
End If
Next
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text3.SetFocus
End If
End Sub
Private Sub Text3_Change()
Dim i As Integer
Dim KeyAscii As Integer
For i = 1 To Len(Text3.Text)
KeyAscii = Asc(Mid(Text3.Text, i, 1))
If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 46) Then
Text3.Text = “”
Exit Sub
End If
Next
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text4.SetFocus
End If
End Sub
Private Sub Text4_Change()
Dim i As Integer
Dim KeyAscii As Integer
For i = 1 To Len(Text4.Text)
KeyAscii = Asc(Mid(Text4.Text, i, 1))
If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 46) Then
Text4.Text = “”
Exit Sub
End If
Next
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command3.SetFocus
End If
End Sub
Private Sub Command3_Click()
`производится проверка на заполненность текстовых окон (если окно незаполненно, то происходит выдача сообщения и курсор переводится в соответствующее текстовое окно)
`после проверки происходит вызов функции для расчета финансового показателя (в качестве параметров передаются значения текстовых окон)