Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
SamTy
36 / 27 / 2
Регистрация: 19.11.2017
Сообщений: 92
Завершенные тесты: 5
#1

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

15.04.2018, 16:55. Просмотров 876. Ответов 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
Ответы с готовыми решениями:

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

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

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

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

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

8
Burk
471 / 351 / 104
Регистрация: 11.07.2014
Сообщений: 1,155
15.04.2018, 18:17 #2
SamTy, похоже у вас эта задача на всю оставшуюся жизнь, а если попробовать самому, может быстрее получится? Я участвовал в первой серии этой задачи, вроде всё было Ок
2
SamTy
36 / 27 / 2
Регистрация: 19.11.2017
Сообщений: 92
Завершенные тесты: 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
10728 / 3303 / 547
Регистрация: 13.02.2009
Сообщений: 9,722
16.04.2018, 00:05 #5
Процедура — это любая подпрограмма, которая не является функцией.

Добавлено через 2 минуты
Private Sub CommandButton1_Click() это процедура! КАКОГО рожна вам надо?
1
SamTy
36 / 27 / 2
Регистрация: 19.11.2017
Сообщений: 92
Завершенные тесты: 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
471 / 351 / 104
Регистрация: 11.07.2014
Сообщений: 1,155
17.04.2018, 16:56 #7
SamTy, и это уже было, вы не устали посылать одни и те же задачи. А вот блок-схемы для ваших кодов вряд ли кто-то будет приспосабливать. Вы уж постарайтесь самостоятельно.
1
Казанский
14068 / 5790 / 1511
Регистрация: 24.09.2011
Сообщений: 9,081
17.04.2018, 17:08 #8
Лучший ответ Сообщение было отмечено SamTy как решение

Решение

SamTy, кстати С можно вычислить проще (строка 5 из кода #1)
Visual Basic
1
C = A - B - (A < B)
2
SamTy
36 / 27 / 2
Регистрация: 19.11.2017
Сообщений: 92
Завершенные тесты: 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

Описать запись с именем TRAIN, содержащую следующие поля:название пункта назначения; номер поезда;время отправления
привет мальчики, помогите решить задачки пожалуйста, сегодня скинули,...

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

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


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

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

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