Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBA

Войти
Регистрация
Восстановить пароль
 
SamTy
35 / 26 / 2
Регистрация: 19.11.2017
Сообщений: 86
Завершенные тесты: 5
#1

Программа, выводящая на экран оставшееся время пассажира до отправления поезда - VBA

15.04.2018, 16:55. Просмотров 259. Ответов 8
Метки нет (Все метки)

Товарищи, здравствуйте!

Задача следующая: Поезд прибывает на станцию в a часов b минут и отправляется в c часов d минут. Пассажир пришел на платформу в n часов m минут. Определить процедуру, выводящую на экран время, оставшееся у пассажира до отправления ближайшего поезда. Числа a,b,c,d,n,m – целые, 0 <= a <= 23, 0 <= b <=59, 0 <= c <= 23, 0 <= d <=59, 0 <= n <= 23, 0 <= m <=59.

Программа написана и работает исправно, но в задании указано использование ПРОЦЕДУРЫ. Подскажите пожалуйста, как можно модернизировать код программы?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub CommandButton1_Click()
Dim A As Date, B As Date, C As Date
A = InputBox("Введите время отправления поезда (через двоеточие)")
B = InputBox("Введите время прибытия пассажира (через двоеточие)")
C = IIf(A < B, (CDate("23:59") - B) + A + CDate("00:01"), A - B)
MsgBox "Время ожидания до отправления ближайшего поезда " & Format(C, "hh:mm")
End Sub
 
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub

Спасибо!
1
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2018, 16:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа, выводящая на экран оставшееся время пассажира до отправления поезда (VBA):

Процедура, выводящую на экран время, оставшееся у пассажира до отправления ближайшего поезда - VBA
Товарищи, здравствуйте! :friends: Вопрос к Вам непростой. Задача следующая: Поезд прибывает на станцию в a часов b минут и ...

Вывести на экран время отправления поезда Х - Pascal ABC
Сформировать файл, содержащий сведения об отправлении поездов со станции: номер поезда, станция назна-чения, время отправления, наличие и...

Создать файл, содержащий сведения о пассажирах поездов. Каждая запись содержит поля: фамилию пассажира, номер поезда, пункт отправления - Turbo Pascal
Создать файл, содержащий сведения о пассажирах поездов. Каждая запись содержит поля: фамилию пассажира, номер поезда, пункт отправления,...

время отправления поезда - Turbo Pascal
ввести номер поезда, вывести время его отправления.

Выдать на печать время отправления поезда или сообщение о невозможности выполнить заказ в полном объеме - Delphi
по всем направлениям на ближайшую неделю. Данная информация представлена в следующем виде: дата выезда, конечный пункт назначения, время...

Описать запись с именем TRAIN, содержащую следующие поля:название пункта назначения; номер поезда;время отправления - Pascal
привет мальчики, помогите решить задачки пожалуйста, сегодня скинули, оказывается без них я не смогу получить зачёт :( Вариант 7. В...

8
Burk
410 / 292 / 80
Регистрация: 11.07.2014
Сообщений: 1,008
15.04.2018, 18:17 #2
SamTy, похоже у вас эта задача на всю оставшуюся жизнь, а если попробовать самому, может быстрее получится? Я участвовал в первой серии этой задачи, вроде всё было Ок
2
SamTy
35 / 26 / 2
Регистрация: 19.11.2017
Сообщений: 86
Завершенные тесты: 5
15.04.2018, 19:17  [ТС] #3
Да здесь похоже без Вашего многолетнего опыта не обойтись Помогите пожалуйста, товарищ
1
Илья9
13 / 40 / 0
Регистрация: 26.11.2017
Сообщений: 105
Завершенные тесты: 1
15.04.2018, 20:40 #4
Да, очень интересно узнать как сюда подпрограмму засунуть
Цитата Сообщение от Burk Посмотреть сообщение
похоже у вас эта задача на всю оставшуюся жизнь

Можно ли расписать вот эту функцию "CDate" в качестве подпрограммы ?
1
Alex77755
10686 / 3261 / 538
Регистрация: 13.02.2009
Сообщений: 9,619
16.04.2018, 00:05 #5
Процедура — это любая подпрограмма, которая не является функцией.

Добавлено через 2 минуты
Private Sub CommandButton1_Click() это процедура! КАКОГО рожна вам надо?
1
SamTy
35 / 26 / 2
Регистрация: 19.11.2017
Сообщений: 86
Завершенные тесты: 5
17.04.2018, 15:44  [ТС] #6
Ну вот к примеру такая задача: Даны основания и высоты двух равнобедренных трапеций. Найти сумму их периметров и сумму их площадей. Определить процедуру для расчета периметра и площади равнобедренной трапеции по ее основаниям и высоте.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Dim a1 As Integer, b1 As Integer, h1 As Integer, p1 As Integer, s1 As Integer, a2 As Integer, b2 As Integer, h2 As Integer, p2 As Integer, s2 As Integer
Sub Perimetr(x, y, z As Integer, p As Integer)
p = x + y + 2 * Sqr(((x - y) / 2) ^ 2 + z * z)
End Sub
 
Sub Ploshad(x, y, z As Integer, s As Integer)
s = z * Abs(x + y) / 2
End Sub
 
Private Sub CommandButton1_Click()
'Первая трапеция
'Введите меньшую сторону a1
a1 = Val(TextBox1.Text)
'Введите большую сторону b1
b1 = Val(TextBox2.Text)
'Введите высоту h1
h1 = Val(TextBox3.Text)
'Вторая трапеция
'Введите меньшую сторону a2
a2 = Val(TextBox4.Text)
'Введите большую сторону b2
b2 = Val(TextBox5.Text)
'Введите высоту h2
h2 = Val(TextBox6.Text)
If h1 Or a1 Or b1 Or h2 Or a2 Or b2 <= 0 Then
MsgBox "Одна из величин задана не верно", 16
Else
End If
Call Perimetr(b1, a1, h1, p1)
Call Perimetr(b2, a2, h2, p2)
'Сумма периметров равна:(p1+p2)
p = p1 + p2
Call Ploshad(a1, b1, h1, s1)
Call Ploshad(a2, b2, h2, s2)
s = s1 + s2
Label1.Caption = "Ответ:" & " " & "s=" & s & " " & "p=" & p
'Сумма площадей равна:(s1+s2)
End Sub
Имеем основную блок-схему самой программы

И имеем 2 блок-схемы подпрограмм

Вопрос, можно ли реализовать с моей задаче какую-нибудь подпрограмму?
1
Миниатюры
Программа, выводящая на экран оставшееся время пассажира до отправления поезда   Программа, выводящая на экран оставшееся время пассажира до отправления поезда   Программа, выводящая на экран оставшееся время пассажира до отправления поезда  

Burk
410 / 292 / 80
Регистрация: 11.07.2014
Сообщений: 1,008
17.04.2018, 16:56 #7
SamTy, и это уже было, вы не устали посылать одни и те же задачи. А вот блок-схемы для ваших кодов вряд ли кто-то будет приспосабливать. Вы уж постарайтесь самостоятельно.
1
Казанский
13829 / 5592 / 1416
Регистрация: 24.09.2011
Сообщений: 8,779
17.04.2018, 17:08 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
SamTy, кстати С можно вычислить проще (строка 5 из кода #1)
Visual Basic
1
C = A - B - (A < B)
2
SamTy
35 / 26 / 2
Регистрация: 19.11.2017
Сообщений: 86
Завершенные тесты: 5
24.04.2018, 13:26  [ТС] #9
Burk, вы если не помогаете, так не флудите в моих темах!
0
24.04.2018, 13:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2018, 13:26
Привет! Вот еще темы с ответами:

Описать класс "поезд", содержащий поля "пункт назначения", "номер поезда", "время отправления" - C#
Помогите пожалуйста с классом Описать класс «поезд», содержащий следующие закрытые поля: • название пункта назначения; • номер...

Найти поезда с одинаковым временем отправления и вывести в DBGrid - Delphi БД
Ребят помогите, у меня есть БД и в ней нужно найти поезда с одинаковым временем отправлением и вывести в DBGrid Если можно напишите код...

Рассчитать время, проведенное пассажиром поезда в пути если известна скорость поезда и расстояние между станциями - PascalABC.NET
Рассчитать время, проведенное пассажиром поезда в пути если известна скорость поезда и расстояние между станциями. Скорость поезда и...

Рассчитать время, проведенное пассажиром поезда в пути если известна скорость поезда и расстояние между станциями - Free Pascal
Рассчитать время, проведенное пассажиром поезда в пути если известна скорость поезда и расстояние между станциями. Скорость поезда и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru