Programming Taskbook 0


Download 1.62 Mb.
Pdf ko'rish
bet24/71
Sana21.06.2023
Hajmi1.62 Mb.
#1644761
TuriУчебное пособие
1   ...   20   21   22   23   24   25   26   27   ...   71
Bog'liq
Abramyan-Pascal2016-1

0 5 10 
0 2 4 6 8 10 
В первом случае, поскольку все параметры являются целыми, исполь-
зуется первый вариант функции Range, для которого третий параметр 
определяет шаг изменения значений. Поэтому перебираются и выводятся 
все целые числа от 0 до 10 с шагом 5. Во втором случае, поскольку первый 
параметр является вещественным, выбирается третий вариант функции 
Range (и при этом второй параметр также приводится к вещественному 
типу). Для третьего варианта третий параметр означает число отрезков, на 
которые надо разбить исходный отрезок, поэтому в этом случае выполня-
ется разбиение отрезка [0; 10] на 5 равных отрезков, и печатаются концы 


44 
полученных отрезков в порядке возрастания (на самом деле вторая после-
довательность состоит из вещественных чисел, однако все они имеют ну-
левую дробную часть, которая при печати не указывается). 
Используя третий вариант функции Range, легко реализовать процеду-
ру табуляции Tab, которая упоминалась в п. 1.3. Напомним, что эта проце-
дура печатает значения функции f в точках разбиения отрезка [ab] на n 
равных частей и имеет следующий заголовок: 
procedure Tab(f: real -> real; a, b: real; n: integer); 
Простейший вариант реализации этой процедуры, выводящей каждое 
значение табулируемой функции на новой строке и не использующий спе-
циальные средства форматирования выводимых данных, может быть пред-
ставлен в виде единственного оператора: 
PartitionPoints(a, b, n).Select(x -> f(x)).PrintLines; 
Вначале мы генерируем последовательность точек, в которых требу-
ется вычислить функцию, затем применяем к этой последовательности за-
прос Select, преобразующий аргументы x в значения функции f(x), а затем 
выводим полученную последовательность значений с помощью метода 
Println, явно указывая разделитель #13 — разрыв строки. 
Если указанным образом описать процедуру Tab, а затем выполнить 
фрагмент с ее вызовами, приведенный к конце п. 1.3, то на экране будут 
выведены следующие данные: 

Download 1.62 Mb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   ...   71




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling