Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

21-01-2013_19-45-38 / lab_11

.doc
Скачиваний:
14
Добавлен:
31.05.2015
Размер:
773.12 Кб
Скачать

8

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РБ

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

АВТОТРАКТОРНЫЙ ФАКУЛЬТЕТ

КАФЕДРА «ЭКОНОМИКИ И ЛОГИСТИКИ»

Контрольная работа

по дисциплине «Информатика»

на тему «Создание приложения Расчет следующего дня Visual Basic»

Выполнила: студентка

группы № 306851

Александрович Д.О.

Приняла: ст. преподаватель

Стефанович Н.В.

Минск 2012-2013

В ходе выполнение контрольной работы было создано приложение на языке Visual Basic. Приложение позволяет по введенным

  1. году;

  2. дню недели;

  3. месяцу;

  4. числу месяца

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

В приложении возможны некоторые улучшения, среди которых наиболее стоит выделить

  1. валидацию данных, введенных пользователем: данное улучшение позволит избежать ошибок в процессе выполнения программы и улучшит дружелюбность приложения;

  2. добавление поддержки других календарей, кроме григорианского. Данное улучшение позволит сделать приложение по-настоящему универсальным и отвечающим требованиям любого пользователя из любой страны мира.

Ниже приведены снимки рабочего стола, выполненные в процессе работы и разработки приложения, а также листинг исходного кода с комментариями.

Рисунок 1 - Работа над исходным кодом приложения

Рисунок 2 – Приложение готово к работе

Рисунок 3 - Введены данные для високосного года

Рисунок 4 - Сообщение пользователю в случае данных из Рисунка 3

Рисунок 5 - Пример работы программы при необходимости перейти на новый год

Private Sub Command1_Click() ‘процедуры обработки нажатия на кнопку

Dim nextM, nextDay As String ‘объявим 2 переменные строкового типа

Dim nM, nD As Integer ‘и две переменные целочисленного типа, которые будут хранить следующий день недели и месяц

nM = (Combo1(1).ListIndex + 1) Mod 12 ‘подсчитаем номер следующего месяца

nD = (Combo1(0).ListIndex + 1) Mod 7 ‘и номер следующего дня

nextM = Combo1(1).List(nM) ‘запомним имя следующего месяца

nextDay = Combo1(0).List(nD) ‘и имя следующего дня

Dim day As Integer ‘объявим целочисленную переменную для хранения дня

day = CInt(Text1(1)) ‘считаем введенный пользователем день

Dim year As Integer ‘объявим еще одну переменную для хранения года

year = CInt(Text1(0)) ‘и считаем ее

Select Case Combo1(1).ListIndex ‘объявим Select Case условия для проверки, не является ли день последним в месяце

Case 0, 2, 4, 6, 7, 9, 11 ‘в случае, если у нас 31 день в месяце

If day <> 31 Then ‘если день не 31 то

nextM = Combo1(1).List(Combo1(1).ListIndex) ‘оставим текущий месяц

day = day + 1 ‘увеличим номер дня на 1

Else ‘иначе

day = 1 ‘у нас будет первый день следующего месяца

End If ‘конец условного цикла

Case 3, 5, 8, 10 ‘в случае , если в месяце 30 дней

If day <> 30 Then ‘если день не является последним

nextM = Combo1(1).List(Combo1(1).ListIndex) ‘запомним текущий месяц

day = day + 1 ‘увеличим день на 1

Else ‘иначе

day = 1 ‘у нас новый месяц последнего дня

End If ‘конец условного цикла

Case Else ‘в случае если не 31, и не 30 дней, то это февраль.

Dim feb As Integer ‘объявим переменную для хранения количества дней в феврале

If year Mod 4 = 0 Then ‘если год делится на 4, то он високосный

feb = 29 ‘и в феврале 29 дней

Else ‘иначе

feb = 28 ‘в феврале 28 дней

End If ‘конец условного цикла

If day <> feb Then ‘если у нас не последний день

nextM = Combo1(1).List(Combo1(1).ListIndex) ‘запомним текущий месяц

day = day + 1 ‘увеличим текущий день

Else ‘иначе

day = 1 ‘это будет первый день марта

End If ‘конец условного цикла

End Select ‘конец блока Select

If day = 1 And nextM = "January" Then ‘Если у нас новый день это 1 января, то мы перешли на следующий год

year = year + 1 ‘увеличим номер года на 1

End If ‘конец условного цикла

MsgBox nextDay & "; " & nextM & " " & day & ", " & year ‘выведем информацию пользователю

End Sub ‘конец процедуры

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

  1. http://yandex.ru/

  2. http://www.kodges.ru/19286-illjustrirovannyjj-samouchitel-po-visual-basic-6.0.html/

  3. С.Н. Лукин – Visual Basic. Самоучитель для начинающих.

Соседние файлы в папке 21-01-2013_19-45-38
  • #
    31.05.20154.42 Кб14Form5.frm
  • #
    31.05.2015235 б14Form5.frx
  • #
    31.05.2015773.12 Кб14lab_11.doc
  • #
    31.05.2015579 б14Project5.vbp