Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Задача 2. Использование целочисленного деленияСодержание книги
Поиск на нашем сайте
Условие задачи. Длительность промежутка времени задана в секундах. Выразить её в часах, минутах и секундах. Например, 7940 с. составляют 2 ° ч. 12 ° мин. 20 с. Определим исходные данные и требуемые результаты. Дан промежуток времени в секундах – это исходное данное, которое может принимать только целое положительное значение. Для него выделим переменную Т. Результат представляет собой 3 величины: количество часов (переменная Н), минут (М) и секунд (S). Эти значения также могут быть только целыми положительными. Теперь надо решить, какая последовательность действий позволит получить искомый результат. Каждый знает, что 1 час содержит 60 минут, 1 минута – 60 секунд и, следовательно, 1 час – это 60*60, т.е. 3600 секунд. Поэтому если заданное количество секунд разделить на 3600 и отбросить дробную часть частного, получим целое количество часов во временном отрезке - Н, а остаток от деления будет определять оставшуюся часть отрезка в секундах (Т1), не вошедшую в Н. Например, если заданный промежуток времени составляет 7940 секунд, то целых часов в нём будет Н 7940/3600=2, а оставшаяся часть времени равна 740 секунд (это значение Т1). Поскольку Т1 выражено в секундах, то при делении на 60 целая часть частного будет соответствовать количеству минут (М), содержащихся в Т1, а остаток от деления – количеству оставшихся секунд (S). В нашем примере М будет равно 740/60=12 минут, а остаток составит S =20 секунд. Во всех рассматриваемых языках программирования есть средства (операции или функции) для выполнения целочисленного деления и нахождения остатка. Именно они должны быть использованы для получения результата. Разделение заданного отрезка Т на составляющие можно проиллюстрировать схемой: Рис. 1 Поскольку действия для решения данной задачи (ввод исходного данного, вычисления и вывод результата) должны выполняться последовательно одно за другим, то в данном случае используется, как и в предыдущей задаче, линейный, или последовательный, алгоритм. Воспользуемся обозначением div для операции целочисленного деления, а для операции получения остатка от целочисленного деления — mod. Структурированная запись алгоритма 2 1. Ввести T. 2. Вычислить целую часть от Т/3600 и поместить в переменную Н; остаток от деления Т/3600 поместить в переменную Т1. 3. Выполнить деление Т1 на 60 и целую часть результата присвоить переменной М; остаток от деления присвоить переменной S. 4. Вывести Н, М и S. Схема алгоритма Программа на языке Си #include <stdio.h> int main (void) { unsigned int t, h, t1, m, s; printf (″Введите время в секундах″); scanf (″%u″, &t); h=t/3600; t1=t%3600; m=t1/60; s=t1%60; printf (″%u с = %u ч %u мин %u с″,t,h,m,s); return 0: } Программа на языке Паскаль Program Pr_2; Var T, H, T1, M, S: integer; begin writeln('Введите время в секундах'); read(T); H:=T div 3600; T1:=T mod 3600; M:=T1 div 60; S:=T1 mod 60; writeln(T,' с=', H,' ч', M,' мин', S,' с') end. Программа на языке Фортран Program Pr_2 Implicit none integer T, H, T1, M, S print *, 'Введите время в секундах' read *, T H = T/3600 T1 = mod(T,3600) M = T1/60 S = mod(T1,60) print *, T,' с=', H,' ч', M,' мин', S,' с' end Программа на языке Python print("Введите время в секундах") t = int(input()) h = t // 3600 t1 = t % 3600; m = t1 // 60; s = t1 % 60; print(t," сек = ",h," ч ",m," мин ",s," сек") Программа в системе Матлаб T=input('Введите время в секундах'); H = fix(T/3600); T1 = mod(T,3600); M = fix(T1/60); S = mod(T1,60); disp(strcat(int2str(T),' с=', int2str(H),' ч',…
|
||||
Последнее изменение этой страницы: 2021-04-12; просмотров: 120; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.146.108 (0.005 с.) |