Programming Taskbook 0
Download 1.62 Mb. Pdf ko'rish
|
Abramyan-Pascal2016-1
Замечание. Казалось бы, программа, которая печатает или находит
сумму быстро растущих элементов последовательности скоро должна ава- рийно завершиться из-за ошибки, связанной с переполнением. Однако в нашем случае переполнения не происходит, так как в языке PascalABC.NET и других языках платформы .NET тип вещественных чи- сел реализован таким образом, что для него переполнение невозможно. Если в результате очередной операции с вещественными числами будет получено значение, превышающее максимально допустимое (это значение равно 1.79769313486232E+308; его можно получить с помощью свойства real.MaxValue), то в качестве результата будет возвращено особое значение real.PositiveInfinity, отображаемое на экране как «бесконечность». В этом лег- ко убедиться, запустив для нашей последовательности цикл foreach, печа- тающий ее элементы: очень скоро все выводимые элементы будут иметь значение «бесконечность». Итак, несмотря на то что бесконечную последовательность Фибоначчи можно создать, попытка перебора ее элементов приводит к зацикливанию. Однако это не означает, что созданная нами последовательность является бесполезной. Дело в том, что среди стандартных запросов, которые можно применять к последовательностям, есть группа запросов, позволяющих из- Глава 3. Массивы и последовательности 47 влечь из последовательности часть ее элементов. Простейшим из таких запросов является запрос Take(n), который возвращает последовательность, состоящую из первых n элементов исходной последовательности. Наличие подобных запросов делает бесконечные последовательности не только возможным, но и удобным в ряде ситуаций средством. Например, мы мо- жем «заранее» создать некоторую бесконечную последовательность, а за- тем получать и обрабатывать ее различные начальные фрагменты. В част- ности, после создания нашей последовательности Фибоначчи мы можем вывести ее первые 15 членов, выполнив следующий оператор: fib.Take(15).Print; В результате на экране будет выведен следующий набор чисел: Download 1.62 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling