Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 5

Определить, сколько раз на электронных часах за данный промежуток времени часы совпадали с минутами

13.12.2012, 20:25. Показов 3687. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Время на электронных часах записывается в виде двух чисел: часы (от 0 до 23) и минуты (от 0 до 59). Требуется написать программу, которая определяет, сколько раз на электронных часах за данный промежуток времени часы совпадали с минутами.
Формат входных данных
С клавиатуры вводятся четыре целых числа через пробел: H1, M1, H2, M2 (0 ≤ H1, H2 ≤ 23, 0 ≤ M1, M2 ≤ 59). Числа H1 и M1 обозначают начало промежутка времени (часы и минуты соответственно), а H2 и M2 — его окончание. Считается, что границы принадлежат промежутку, а длина промежутка строго меньше одних суток.
Формат выходных данных
Программа должна вывести на экран одно число — сколько раз за данный промежуток времени часы совпадают с минутами.

Пример входных и выходных данных
Ввод ______________ Вывод
10 15 14 50 ______________4
23 30 5 5 _____________ 6
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2012, 20:25
Ответы с готовыми решениями:

Даны начальные и конечные часы, минуты и секунды. Найти промежуток времени в часах, минутах и секундах
Даны начальные и конечные часы, минуты и секунды. Найти промежуток времени в часах, минутах и секундах Ввод: Начало: 22:22:22 ...

Определить, сколько раз комета была видна с Земли в заданный промежуток времени
:cry: Как известно, комета Бармалея видна с Земли каждые C лет. Любопытно, что это происходит в годы, кратные C , т.е. C ,...

Дано время A и время B. Определить промежуток времени между ними в часах
Дано время A и время B. Определить промежуток времени между ними в часах

19
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
13.12.2012, 21:45
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CLS
DIM h1 AS INTEGER, m1 AS INTEGER, h2 AS INTEGER, m2 AS INTEGER
DIM v1 AS INTEGER, v2 AS INTEGER, i AS INTEGER, k AS INTEGER, j AS INTEGER
 
INPUT "Vvedite 4 chisla cherez probel"; s$
 
i = INSTR(s$ + " ", " ")
h1 = VAL(LEFT$(s$, i))
j = INSTR(i + 1, s$ + " ", " ")
m1 = VAL(MID$(s$, i + 1, j - i - 1))
i = INSTR(j + 1, s$ + " ", " ")
h2 = VAL(MID$(s$, j + 1, i - j - 1))
j = INSTR(i + 1, s$ + " ", " ")
m2 = VAL(MID$(s$, i + 1, j - i - 1))
 
v1 = h1 * 60 + m1
v2 = h2 * 60 + m2
IF v2 < v1 THEN v2 = v2 + 1440
 
FOR i = v1 TO v2
    IF i MOD 60 = i \ 60 MOD 24 THEN k = k + 1
NEXT i
PRINT "kol-vo chasov ravnyh minutam:"; k
Условия ввода конечно не понятные, поэтому реализация немного кривая
Проверку на правильность ввода не делал, предположительно, что ввод производится корректно: 4 числа сразу через пробел
2
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
13.12.2012, 22:03
Лучший ответ Сообщение было отмечено как решение

Решение

Зачем такие сложности? Это показано считывание данных из текстового файла, которое вполне можно заменить обычным
QBasic/QuickBASIC
1
INPUT a,b,c,d
и не надо городить огород со всеми этит мидами и инстрами
1
0 / 0 / 0
Регистрация: 13.02.2012
Сообщений: 5
13.12.2012, 23:07  [ТС]
Друзья, напишите, пожалуйста, как проще
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
14.12.2012, 00:48
m-ch всё правильно сделал, что решил пропарсить.
Никаких инпутов тут не надо по текущему условию, ибо чётко и ясно написано - ЧЕРЕЗ ПРОБЕЛ.

Это показано считывание данных из текстового файла
Написано с клавиатуры.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
14.12.2012, 10:40
Все школьные олимпиадные задачи изначально заточены под Паскаль, и это логично: СИ в школах проходят редко, считается, что этот язык для массового школьника сложноват, а Бейсик, в силу его примитивности, на олимпиадах, начиная с 3 тура (региональный уровень) не применяют. Поэтому задания написаны для удобной работы на Паскале. Такой ввод (числа, написанные через пробел) на Паскале считывается одной командой
Pascal
1
read(a,b,c,d);
Для тех же, кто в силу бездарности учителей, не освоивших Паскаль, вынужден на олимпиаде работать на Бейсике, делают исключения: либо разрешают считывать через INPUT 4 числовые переменные, либо читают из файла. А убивать массу драгоценного времени на олимпиаде на разделение переменных и их перевод в числа (такая же картина и с заданием С4 из ЕГЭ) - это просто маразм.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
14.12.2012, 13:35
кот Бегемот,
m-ch, сделал очень грамотно, т.к. если заводится речь об олимпиадах, то там ввод чаще всего
идёт из файла, а благодаря такому решению, его можно моментально перестроить под ввод из файла
в требуемом формате. К тому же, вносить в ясное условие неопределённости - некорректно.
Суть не в том чтобы подстраивать под бейсик, этот бейсик вообще никому не сдался, суть в том чтобы
решить задачу в том виде, в котором она дана. И под си никто подстраивать не будет и под паскаль,
языки всегда чем-либо отличаются, нет смысла подстраивать. Условие просто пишут так, чтобы его
можно было легко понять, а как это будут делать решающие - никого не волнует. Да и времени этот
парсинг особо не съест, тут распознавать нечего, пара минут от силы.
бездарности учителей, не освоивших Паскаль
Все школьные преподы, которых я видел вообще программировать не умели, печально но факт, а ты
требуешь от них, чтобы они паскаль знали(от которого практического толка ждать в досе - как от
козла молока), пусть сначала хоть бейсик выучат с грехом пополам. Не хочется углубляться в оффтоп
по системе образования, но эта система - тухлая и от того, что мы тут трём нифига не поменяется.
1
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
14.12.2012, 13:49
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
если заводится речь об олимпиадах, то там ввод чаще всего
идёт из файла, а благодаря такому решению, его можно моментально перестроить под ввод из файла
в требуемом формате
Здесь немного не соглашусь, если в файле "input.txt" записана строка "10 15 14 50" (без кавычек), то чтение данных можно сделать проще:
QBasic/QuickBASIC
1
2
OPEN "input.txt" FOR INPUT AS #1
INPUT #1, h1, m1, h2, m2
если нужно разделить текстовую строку с разделителем пробел (либо с любым другим разделителем), то в VB это можно сделать оператором Split:
Visual Basic
1
2
3
Open "input.txt" For Input As #1
Input #1, s$
arr = Split(s$)
и на выходе получаем массив из 4 элементов
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
14.12.2012, 14:03
то чтение данных можно сделать проще
Имелось в виду другое(чтобы и обратно перестроить можно было под клавиатуру),
я знаю что можно так сделать.
0
14.12.2012, 15:42

Не по теме:

Если кто-то получает удовольствие от геморроя, нет смысла советовать его лечить.

0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
14.12.2012, 15:59
К слову о геморрое, вот это самый что ни наесть он:
QBasic/QuickBASIC
1
INPUT a,b,c,d
Уметь доставить его пользователю тоже надо уметь)))
0
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
14.12.2012, 20:23
В последнее время все чаще проверяющие системы на олимпиадах осуществляют ввод/вывод с экрана, а не файла.
Да бэйсик накладывает некоторые ограничения, но их между тем не трудно обойти. Например написать свою функцию для считывания целых чисел.
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
a = get_int
FUNCTION get_int
DO
    a$ = INPUT$(1)
    PRINT a$;
    ch = ASC(a$) - ASC("0")
    IF ch >= 0 AND ch <= 9 THEN
        res = res * 10 + ch
    ELSE
        EXIT DO
    END IF
LOOP
get_int = res
END FUNCTION
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
14.12.2012, 20:34
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
К слову о геморрое, вот это самый что ни наесть он:
QBasic/QuickBASIC
1
INPUT a,b,c,d
Уметь доставить его пользователю тоже надо уметь)))
Ну, и в чём же здесь гемор? В том, что это гораздо короче, чем
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
INPUT "Vvedite 4 chisla cherez probel"; s$
 
i = INSTR(s$ + " ", " ")
h1 = VAL(LEFT$(s$, i))
j = INSTR(i + 1, s$ + " ", " ")
m1 = VAL(MID$(s$, i + 1, j - i - 1))
i = INSTR(j + 1, s$ + " ", " ")
h2 = VAL(MID$(s$, j + 1, i - j - 1))
j = INSTR(i + 1, s$ + " ", " ")
m2 = VAL(MID$(s$, i + 1, j - i - 1))
Абсолютный бред

Добавлено через 4 минуты
Цитата Сообщение от softmob Посмотреть сообщение
В последнее время все чаще проверяющие системы на олимпиадах осуществляют ввод/вывод с экрана, а не файла.
softmob, это недостоверная информация. При проверке олимпиадных заданий задача тестируется порой сотней тестов, в которых вводится до сотни (а то и более) чисел. представь себе этот ввод не из файла, а вручную и ты всё поймёшь. Я видел тестирующие программы этого года. Ровно 100 тестов, по 1 баллу за тест, итого 100 баллов максимум.
0
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
14.12.2012, 20:46
кот Бегемот, имеется ввиду не ручной ввод с клавы, а подмена потока ввода консоли, на файловый поток. т.е. считывается по сути все так же из файла, но в коде решения используем консольный ввод вывод.
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
14.12.2012, 21:34
Цитата Сообщение от кот Бегемот Посмотреть сообщение
Абсолютный бред
Я сразу написал, что реализация кривая. Но из песни слов не выкинешь, раз написали про такой ввод, куда тут денешься.

Не по теме:

Еще бОльшим "бредом" является изучение QBasic, на практике все равно применять не возможно.
Лучше бы преподавали VB, хоть какаято практическая польза

0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
14.12.2012, 22:40
Ну, и в чём же здесь гемор?
В том что быдло-программист, который по призванию должен заботится о пользователе и делать
нормальный человеческий ввод, делает тупую реализацию своей одной строчкой и этим гордится.
А когда люди к этому привыкают и не замечают потом той фигни, которую ваяют(или поучают
только?), это становится действительно бредом.
Если вы товарищ КБ видели хоть в одной нормальной программе под DOS такой галимый ввод,
то будьте добры ссылочку. В прогах которые делают что-то реально полезное для пользователя.
И прошу оставить уже эти несчастные 8 строк в покое, раз не догоняете, про что вещаю. А вещаю
про то, что решение хорошее и универсальное. К тому же на олимпиадах проверяют боты(кормят
компилятор вашим кодом под виртуалкой, запускают экзешник, терминируют его и смотрят результат
по чёткому регламенту), ботам до лампочки обсчёт ввода(можно хоть бинарно считать из файла и
самому перевести в числовую интерпретацию), главное как решена задача.

К чему вообще начали приплетать олимпиады и паскали, мы в разделе BASIC, есть задача, её грамотно
сделали по условию - демагогия на пустом месте ни о чём.

Добавлено через 15 минут
Лучше бы преподавали VB, хоть какаято практическая польза
Под Windows дофига уже бейсиков понаклепали, много современных сред разработки
с кучей возможностей. Одним VB дело не ограничивается, бейсики частично перенимают
конструкции и синтаксис других ЯП.

Еще бОльшим "бредом" является изучение QBasic
Абсолютно верно, как и любого другого диалекта под DOS. DOS устарел, это неизбежно.
Однако на нем ещё запросто выполняют определённые задачи на производстве, касательно
программирования аппаратуры через порты.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
15.12.2012, 16:22
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
К чему вообще начали приплетать олимпиады и паскали,
К тому, что это олимпиадная задача, а до всей твоей остальной демагогии мне нет дела
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
15.12.2012, 17:32
Демагогию сам развёл, меня то всё устраивает.
0
15.12.2012, 19:27

Не по теме:

Я смотрю тебе поспорить не с кем, вот и цепляешься. Сочувствую тебе...

0
15.12.2012, 22:10
 Комментарий модератора 
Господа, Вы переходите на личности. Если это продолжится, тему придется закрыть
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2012, 22:10
Помогаю со студенческими работами здесь

Определить, сколько раз в предложении встречается данный символ
дан текст. сколько раз в нем встречается символ&quot;+&quot; и сколько раз символ &quot;*&quot; какая команда используется? и как(( ...

Определить сколько амёб будет через заданный промежуток времени, если известна скорость деления амёбы
Нужно решить задачу: Одноклеточная амёба каждые 3 часа делится на 2 клетки. Определите сколько амёб будет через 3, 6, 9, 12 ... 24 часа. ...

Определить сколько раз в строке встречается данный символ. Строку вводить с клавиатуры
use16 org 100h jmp start s1 rb 53 endline db 10,13,$ count db 0 s2 rb 10 s db ' $' start:

Определить в часах, минутах, секундах длину интервала времени, заданного отметками в часах, минутах и секундах
Друзья, добрый день. Нужно составить программу: С клавиатуры вводится время начала эксперимента в часах, минутах и секундах, затем...

Сколько указаных дней прошло за промежуток времени в DatePicker
всем привет, подскажыте пожалуста, предположым есть два дейтапикера на одном указано 15.01.2012 на другом 25.06.2012 как узнать сколько за...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru