оператор цикла с параметром используется в тех случаях, когда некоторое однообразное действие надо повторить определенное количество раз. особенно, если это количество достаточно велико. бывают же такие , когда необходимо, например, вычислить сумму каких-либо величин, каждая из которых вычисляется по формуле. ведь если непосредственно вычислять сумму 1 + 2 + 3 + + 1000, то программа разрастется до невообразимых масштабов.
оператор цикла с параметром в народе ещё называют "оператор for", и в pascal он бывает двух типов (второй тип смотрите ниже). первый записывается так:
for i : = n1 to n2 do
всё, что находится между for и do, называется заголовком цикла, после do – телом цикла. переменная i зазывается параметром цикла и имеет порядковый тип (целые числа, логический тип, символы, перечислимый и диапазонный тип). слова for, to и do – это служебные слова pascal, которые использовать в своих программах для обозначения переменных нельзя. индекс i, которым обозначаются номера действий в операторе цикла, изменяется от меньшего n1 к большему n2 (n1 ≤ n2). первый номер n1 по значению не должен превышать второй n2, иначе цикл не запустится.
Поделитесь своими знаниями, ответьте на вопрос:
есть обучающая :
«цена товара обозначена в рублях с точностью до копеек, то есть действительным числом с двумя цифрами после десятичной точки. запишите в две целочисленные переменные стоимость товара в виде целого числа рублей и целого числа копеек и выведитеих на экран. при решении этой нельзя пользоваться условными инструкциями и циклами.»
в тесты:
тест 1
входные данные:
1
10.35
вывод программы:
1
10 35
тест 2
входные данные:
1
1.99
вывод программы:
1
1 99
тест 3
входные данные:
1
3.50
вывод программы:
1
3 50
решение проходит вышеупомянутые тесты, а ещё: 0.01, 0.10, 40.80, 40.30, 1.01, 1.10
однако обучающая система выдаёт:
test 5
wrong answer.
с тестовым вариантом, который программа не пройдёт. не могу придумать что я не учитываю.
1
2
3
4
5
6
7
8
p = float(
r = int(p)
print(r, end=' ')
p *= 10
kk = p % 10
p *= 10
kd = p % 10
print(int(kk), int(kd), sep='')