Автор: Наталья Бурнаева, 16 Октября 2010 в 11:59, контрольная работа
Работа в среде текстового процессора Microsoft Word: создание текстового документа со встроенным готовым рисунком
нет
Соответственно для каждого месяца и каждой квартиры необходимо рассчитать следующее
Буду ориентироваться на данные в задании рекомендации от автора методических указаний, т.е. организация вложенного цикла, где внешний цикл по месяцам года, внутренний по числу квартир. Чтобы во внутреннем цикле не повторять ввод исходных данных необходимо их ввести по условию первого захода во внутренний цикл, т.е. при подсчетах квартплаты за январь (первый месяц года).
Блок–схема
алгоритма программы приведена
ниже. Программный код напишем
на языке программирования Visual Basic 6.0
Option Explicit
Private Sub Form_Load()
text_lift.Text = CSng(1.4)
text_tarif_gaz.Text = "50"
text_tarif_h2o.Text = CSng(137.88)
text_tarif_kvm.Text = CSng(1.1)
text_tarif_otop.Text = CSng(9.61)
text_year.Text = 2008
End Sub
Private Sub run_Click()
Dim kv As Integer, et As Integer, people As Integer, s As String, _
m(1 To 12) As Integer, j As Integer, i As Integer, _
lift As Single, tarif_gaz As Single, tarif_h2o As Single, _
tarif_kvm As Single, tarif_otop As Single, Year As Integer, _
y As Integer, tarif As Single, sq As Single
Rem чтение исходных данных
lift = CSng(text_lift.Text)
tarif_gaz = CSng(text_tarif_gaz.Text)
tarif_h2o = CSng(text_tarif_h2o.Text)
tarif_kvm = CSng(text_tarif_kvm.Text)
tarif_otop = CSng(text_tarif_otop.Text)
Year = CInt(text_year.Text)
s = "Ввод исходных данных"
Rem Кнопка Расчет
With Gr
.Cols = 16
.Col = 0: .Row = 0: .Text = "№ кв."
.Col = .Col + 1: .Text = "Жильцов"
.Col = .Col + 1: .Text = "Этаж"
.Col = .Col + 1: .Text = "Кв.м"
.Col = .Col + 1: .Text = "Январь": m(1) = 31
.Col = .Col + 1: .Text = "Февраль": m(2) = 28
.Col = .Col + 1: .Text = "Март": m(3) = 31
.Col = .Col + 1: .Text = "Апрель": m(4) = 30
.Col = .Col + 1: .Text = "Май": m(5) = 31
.Col = .Col + 1: .Text = "Июнь": m(6) = 30
.Col = .Col + 1: .Text = "Июль": m(7) = 31
.Col = .Col + 1: .Text = "Август": m(8) = 31
.Col = .Col + 1: .Text = "Сентябрь": m(9) = 30
.Col = .Col + 1: .Text = "Октябрь": m(10) = 31
.Col = .Col + 1: .Text = "Ноябрь": m(11) = 30
.Col = .Col + 1: .Text = "Декабрь": m(12) = 31
kv = InputBox("Количество квартир в доме", s, "12")
.Rows = kv + 1
Rem Определяем високосный год
y = Year / 4
If y * 4 = Year Then m(2) = m(2) + 1
For i = 1 To 12 ' цикл по месяцам
For j = 1 To kv ' цикл по квартирам
If i = 1 Then ' ввод исходных данных
.Row = j
.Col = 0: .Text = CStr(j)
people = CInt(InputBox("Количество жильцов в квартире " + Str(j), s, 1))
.Col = .Col + 1: .Text = CStr(people)
et = CInt(InputBox("Этаж квартиры " + Str(j), s, 1))
.Col = .Col + 1: .Text = CStr(et)
sq = CSng(InputBox("Площадь квартиры " + Str(j), s, 1))
.Col = .Col + 1: .Text = CStr(sq)
Else ' чтение ранее введенной информации
.Row = j
.Col = 1: people = Val(.Text)
.Col = .Col + 1: et = Val(.Text)
.Col = .Col + 1: sq = CSng(.Text)
End If
tarif = (tarif_kvm * sq * m(i) + text_tarif_gaz + tarif_h2o) * people + tarif_otop
If et <> 1 Then tarif = tarif + lift * people * m(i)
.Col = i + 3: .Text = Format(tarif, "#.00")
Next j
Next i
End With
End Sub
Разработанная экранная форма
Текстовый
пример работы
Окно программы после запуска
Ввод исходных данных
И т.д.
Результаты расчета
Информация о работе Функции операционной системы по установке, исполнению и удалению приложений.