Научная литература
booksshare.net -> Добавить материал -> Математика -> Боглаев Ю.П. -> "Вычислительная математика и программирование " -> 22

Вычислительная математика и программирование - Боглаев Ю.П.

Боглаев Ю.П. Вычислительная математика и программирование — Высшая школа, 1990. — 546 c.
ISBN 5-06-00623-9
Скачать (прямая ссылка): vychmatiprog1990.djvu
Предыдущая << 1 .. 16 17 18 19 20 21 < 22 > 23 24 25 26 27 28 .. 168 >> Следующая

56
Рис. 2.20
\
' V
Рис. 2.21
на блоке 1, иначе: на блоке 2.
В записи команд вычислительного блока 2 для наглядности следует все команды смещать на несколько позиций вправо относительно блока 1.
Схема повторений с проверкой условия до выполнения блока (рис. 2.22, а) программируется следующим образом:
Пока условие выполняется, вычисления на блоке.
Программирование схемы (рис. 2.22, в) с проверкой условия после выполнения блока программируется следующим образом: Выполнять блок, пока не выполнится условие.
И хотя вторая логическая схема в) может быть сведена к схеме
а), во многих языках имеются адекватные средства и для той, и для другой схемы.
Заканчивая описание программирования на уровне готовых вычислительных блоков или процедур, можно отметить, что на этом уровне следует на конкретном языке программирования (в этой книге — фортран) реализовать следующие базовые команды, упомянутые на русском языке:
57
Ввести ...
Вывести ...
Обратиться к процедуре ...
Если ... то, ... иначе
Пока ..., ...
Программирование структурированного алгоритма с использованием только базовых логических схем и базовых команд является характерной чертой структурного программирования.
2.4.2. Описание данных. В алгоритмах вычислительной математики данные, представляющие различные совокупности целых, вещественных и комплексных чисел, являются сравнительно простыми объектами. Некоторые алгоритмические языки, например фортран, позволяют перед командами не давать описания данных (использовать неявное описание; см. гл. 3), другие, например паскаль, требует обязательного описания.
Будем придерживаться строгого соблюдения правила: все данные, которые обрабатывают вычислительные блоки алгоритма, должны быть описаны до первой команды.
Очевидно, что константы алгоритма могут иметь лишь только строго предписанный данному типу вид и не описываться (см. гл. 3).
Будем также строго соблюдать следующее правило:
все константы должны быть описаны так же, как и переменные', значения им должны быть присвоены до первого их употребления в алгоритме.
Более жесткие, чем позволяет фортран, правила работы с данными, принятые нами, дают преимущества при поиске ошибок и их устранении, при распределении памяти ЭВМ, а в конечном итоге повышают эффективность работы на ЭВМ.
Переменные и константы в алгоритмах вычислительной математики описываются в виде скалярных данных и в виде массивов данных.
Скалярные данные: целого типа; вещественного типа; вещественного типа с двойной точностью; комплексного типа.
Примерами скалярных данных являются:
а) целого типа—число повторений цикла ТУ =20;
б) вещественного типа — значение скалярного произведения приведенного выше алгоритма;
в) вещественного типа с двойной точностью — то же число #, что в п. б), только с увеличенной длиной мантиссы (см. гл. 1);
г) комплексного типа — корни г2 квадратного уравнения
с дискриминантом, меньшим нуля.
Массивы данных — это совокупности скалярных данных одного типа с указателем размерности массива.
Примерами одномерных массивов данных служат:
а) одномерные массивы х9 Ь, г алгоритма (см. рис. 2.19) — векторы х(, Ъь 1^/^50;
б) массив значений функции /(.х), вычисленных в точках 1^/<100 (обозначается ).
58 \
V.
Примерами двумерных массивов данных являются:
а) двумерный массив А алгоритма (см. рис. 2.19)—матрица А К/, 7^50;
б) массив значений функции двух переменных /(л;, у), вычисленных в точках плоскости (х, у), {хь 1 }>^100, (обозначается
Примерами А>мерных массивов данных являются значения функции к переменных /(х1? х2, хк\ вычисленные в точках Хиь> х2,12> •••> хкЛ, 1^/2^А2, ..., (обозначается
/*1 1*2. ,1к^‘
В различных языках программирования формы описания данных имеют некоторые различия, но в основном это форма следующая: указатель типа и список данных этого типа. Например,
Целый /, у, к,
Вещественный q,
Вещественный с двойной точностью г,
Комплексный 2,
Массив вещественный аи 1 ^ /, у ^ 50,
Массив целый 1Ь 1 ^ ^ 20.
Такое описание дает возможность подсчитать необходимый объем памяти ЭВМ, который будет занимать данные алгоритма. Для приведенного примера с учетом представления чисел в памяти (см. гл. 1) получаем, что для /, у, к необходимо 6 байт, для q—4 байт, г—8 байт, 2—8 байт, аи]—10000 байт, *—4000 байт,/;—40 байт; итого — 14 066 байт.
2.4.3. Программирование вычислительных блоков для процедур. Как уже отмечалось выше, процедура может рассматриваться как готовая программа, к которой лишь нужно уметь обратиться. Однако многие из процедур для своей работы требуют наличия некоторых программ. Их обязан подготовить пользователь. Так, например, для процедур вычисления интегралов необходимо написать программу вычисления подынтегральной функции (блок А4А0), для процедур численного интегрирования обыкновенных дифференциальных уравнений (блок В6А0) необходимо написать программу вычисления правых частей уравнений и т. п. Такие прот граммы часто называют внешними.
Кроме того, процедуры для своей работы могут требовать наличия ячеек памяти для промежуточных результатов. Поэтому, составляя список описания данных алгоритма, необходимо включать в него и те данные, которые требуют для своей работы все процедуры. Эта информация содержится обычно в описании соответствующих процедур.
Предыдущая << 1 .. 16 17 18 19 20 21 < 22 > 23 24 25 26 27 28 .. 168 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed