Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Пулькин, С. П. Вычислительная математика пособие для учащихся 9-10 классов по факультативному курсу

.pdf
Скачиваний:
17
Добавлен:
21.10.2023
Размер:
9.64 Mб
Скачать

натуральное число) ячеек, каждая из которых обычно служит для записи одного числа или одной команды. Процесс решения задачи на машине начинается с ввода исходных данных и программы решения задачи. Все это направляется в «память» и, таким образом, сразу после ввода исходных данных и программы часть ячеек запол­ няется. Другие ячейки заполняются по мере работы ма­ шины, причем в процессе работы содержимое ячеек может многократно заменяться.

Согласно заданной программе устройство управления (УУ) руководит работой машины. В частности, УУ в про­ цессе решения задачи направляет числа (или команды) из «памяти» в арифметическое устройство (АУ), где над ними выполняются арифметические и логические операции. Окон­ чательный результат решения задачи поступает в уст­ ройство вывода, которое печатает его на перфокарте, перфо­ ленте или на бумажной ленте.

Существуют ЭВМ различных типов. Все ЭВМ разде­ ляются на три группы: большие, средние, малые. .

ЭВМ типа БЭСМ (БЭСМ-2, БЭСМ-4, БЭСМ-6) — боль­ шая машина, обладает большой скоростью выполнения опе­ раций и большим объемом памяти. Так, БЭСМ-6 способна выполнить 1 миллион арифметических операций в секунду.

ЭВМ типа «Минск» («Минск-22», «Минск-32»), типа М-220 —- наиболее распространенные средние машины, слу­ жат для решения сложных научных и производственных задач. Скорость — 20—30 тысяч арифметических операций в секунду.

Большое распространение получили малогабаритные ЭВМ «Проминь», «Наири», «Мир». Они отличаются просто­ той управления и широко применяются для решения теку­ щих инженерных и экономических задач (рис. 5).

Для решения вычислительной задачи на ЭВМ избирается какой-либо численный метод, разрабатывается алгоритм решения задачи. Затем составляется программа вычисле­ ний. Производится отладка программы, т. е, ее проверка и опробование на самой машине. Наконец, программа вводится в машину, машина выполняет все вычисления

ивыдает результат.

Вэтом процессе меньше всего времени уходит на работу самой машины («машинное время»). Решение задачи, для которой нужно выполнить десятки и сотни тысяч арифмети­ ческих операций, машина производит за несколько минут.

10

Рис. 5

В то же время процесс программирования (включая раз­ работку алгоритма) отнимает несколько недель и даже месяцев.

Поэтому математики и инженеры работают над совер­ шенствованием процесса программирования, сокращением времени на подготовку задач. Один из путей — составление стандартных программ. Для наиболее часто встречаю­ щихся на практике задач разработаны стандартные про­ граммы (СП). Использование СП резко уменьшает время, потребное для решения задачи. Так, для машины «Наири» имеются СП решения системы линейных уравнений с 28 не­ известными, СП для решения алгебраического уравнения до 38-й степени и ряд других. Для решения задачи с исполь­ зованием СП затрачивается лишь чистое машинное время (несколько минут) и 10—20 минут на подготовительные процедуры. В крупных вычислительных центрах имеются большие «библиотеки стандартных программ».

Другой путь сокращения времени на программирова­ ние — возложить работу по составлению программ на саму машину, т. е. разработать метод автоматического програм­ мирования. В этом направлении многое сделано, продол­ жаются исследования по разработке этих методов.

11

Еще один путь — создание алгоритмических языков. Заметим, что программу, составленную в машинных кодах для данной конкретной машины, нельзя использовать на других машинах. Поэтому встал вопрос о создании такого языка для общения человека с машиной, на который бы не влияла специфика данной ЭВМ. Такие языки созданы в по­ следние годы, они называются алгоритмическими языками. Алгоритмический язык — это набор правил, служащих для описания алгоритма решения задач. Для данной задачи алгоритм записывается в виде программы, составленной на алгоритмическом языке. Эта программа годится для любой машины. Чтобы решить задачу на данной конкретной машине, требуется, чтобы машина была снабжена особым устройством-транслятором. Программа, написанная на ал­ горитмическом языке, вводится в данную ЭВМ. Транслятор автоматически переводит алгоритмическую программу на машинный язык этойЭВМ, и машина выполняет про­ грамму. В настоящее время разработаны и применяются на практике алгоритмические языки алгол, фортран и другие.

Теория численных методов. Нельзя думать, что совре­ менная совершенная вычислительная техника делает не­ нужной человеческую мысль, делает ненужными математические методы решения задач. Никакая вычислительная машина не сможет решить данную задачу, если ей не дать программу вычислений, разработанную человеком. При самой совершенной вычислительной технике главной частью вычислительной работы является разработка математи­ ческих методов решения задач.

Пусть при выполнении некоторого инженерного расчета мы пришли к необходимости найти положительный корень квадратного уравнения: х2—1,32х—9,55=0. Формула кор­ ней квадратного уравнения известна, мы поступаем очень просто: подставляем коэффициенты в формулу, производим вычисления и находим ответ: х=3,82. Заметим, что при решении задачи факт наличия формулы не имеет сущест­ венного значения, можно было бы получить ответ и иначе, не применяя формулу. Нам нужен численный ответ, а не общее решение в виде формулы.

Если бы потребовалось решить уравнение хъ—Злг-Ь 1=0 или 0,74x+tg х =0, то оказалось бы, что формул для ре­ шения этих уравнений нет. Но корни каждого из уравнений существуют, и эти корни можно найти.

12

Разработаны численные методы решения задач, т. е. ме­ тоды, позволяющие получить в результате применения последовательности осуществимых вычислительных опера­ ций численный ответ. Раздел математики, в котором разра­ батываются численные методы решения задач, называется теорией численных методов (для краткости говорят просто «численные методы» или «методы вычислений»).

Численный метод решения каждой задачи должен быть строго обоснован математически. Главной теоретической основой численных методов являются алгебра и математи­

ческий

анализ.

 

Приближенные вычисления. В практике вычислений

приходится выполнять главным образом

п р и б л и ж е н ­

н ы е

вычисления. При решении той

или иной задачи

иногда можно получить точный числовой ответ, но найти его довольно сложно, а на практике точное значение иско­ мой величины часто бывает не нужно, точность ответа не имеет никакого практического смысла. Бывает и иначе: найти точный ответ вообще невозможно. Поясним сказанное примерами.

П р и м е р 1. Пассажир живет на расстоянии 1320 м от платформы вокзала. За сколько времени до отхода поезда пассажир должен выйти из дому при скорости 5 км/ч?

Можно получить точное решение задачи: пассажир дол­ жен выйти из дому за 15 мин 50,4 тс! Одиако вряд ли в дейст­ вительности кто-либо стал бы пользоваться этим точным математическим решением, и вот почему. Вычисления вы­ полнены совершенно точно, но точно ли измерено расстоя­ ние до платформы? Да и можно ли вообще измерить путь пешехода, не допустив никаких погрешностей? Может ли пешеход передвигаться по строго определенной линии в го­ роде, где много людей и машин, которые перемещаются во всевозможных направлениях? А скорость 5 км/ч — разве она определена абсолютно точно? И т. д.

Вполне понятно, что каждый отдаст предпочтение не «математически точному», а «практическому» решению этой задачи, т. е. прикинет, что надо идти 15—20 минут, и при­ бавит еще несколько минут для гарантии.

Для чего же в таком случае вычислять секунды и их десятые доли и стремиться к той степени точности, которой нельзя воспользоваться на практике?

П р и м е р 2. Требуется вычислить объем паралле­ лепипеда, длины ребер которого равны а = 3,42 м, Ь=4,37 м,

13

с=3,27 м (предполагается, что все эти числа — точные). Применяя формулу объема параллелепипеда V=abc, можно получить точное значение объема: 48,871458 м3. Мы полу­ чили многозначное число, неудобное для практического использования. Нужна ли такая точность? В известных условиях может быть и нужна. Если производится физи­ ческий эксперимент, изучается некоторое явление в камере, имеющей форму параллелепипеда, и требуется точно вы­ числить объем, то полученный ответ мы и используем без всяких изменений.

Но пусть наш параллелепипед — это комната, объем которой требуется определить. При этом а, Ь, с (ширина, длина, высота) найдены путем измерения обыкновенной линейкой, так что при измерении длины возможна погреш­ ность до 1 см. Погрешность сомножителей оказывает влия­ ние на полученный результат. Теория приближенных вычислений показывает, что погрешность результата ум­ ножения может достичь 0,4 м3. Ясно, что в полученном ответе все цифры справа от запятой не имеют никакого смысла. Округляя, получаем приближенный ответ: Уж49 м3. Более точного результата мы добиться не можем, так как исходные данные (а, Ь, с) лишь приближенные значения длины, ширины, высоты. Да и в данных условиях не тре­ буется знать объем с большей точностью.

П р и м е р 3. Требуется найти сторону квадрата, пло. щадь которого равна 50 см2. Искомая сторона а—У 50 см. На практике требуется представить это число в виде деся­ тичной дроби. Число иррациональное, оно выражается бесконечной непериодической десятичной дробью. Значит, мы неизбежно можем сторону а выразить только прибли­ женно. Это приближенное значение можно получить с лю­ бой степенью точности: аж7,1 см (с одним десятичным знаком после запятой), аж7,07 см (с двумя десятичными знаками), аж7,07107 см (с пятью десятичными знаками). С каким же числом десятичных знаков нужно записать приближенный ответ? Это определяется конкретными ус­ ловиями: в одних случаях достаточно одного десятичного знака, в других требуется два, три, десять. Мы проводили рассуждение и сделали вывод, считая данное число 50 точ­ ным^ А что если это число приближенное? По-прежнему

V 50 можно вычислить формально с любой степенью точ­ ности, с любым числом десятичных знаков. Но в этом нет

14

никакого смысла: раз данное число 50 приближенное, мы не можем добиться для а любой степени точности, погреш­ ность результата извлечения корня будет зависеть от погрешности подкоренного числа. Если 50 есть прибли­ женное значение величины с погрешностью, которая может достигать 0,1, то погрешность а может достигать 0,07. Значит, за приближенное значение а мы можем принять только число с одним верным десятичным знаком, т. е. число 7,1. Большей точности добиться невозможно.

Анализируя сказанное, сделаем некоторые общие вы­ воды.

Существуют три источника получения чисел: счет, из­ мерения и выполнение различных математических операций.

В результате счета мы получаем целое положительное число. Это число принципиально всегда является точным. Однако на практике часто бывает трудно произвести опе­ рацию счета, и тогда число оказывается приближенным. Например, было подсчитано, что население некоторого города к 1 января 1974 г. составляло 143 278 человек. Мы не уверены, что это число точно, так как полный учет всех

жителей осуществить трудно:

люди непрерывно уезжают

и приезжают, рождаются и

умирают.

В результате измерения всегда получается приближен­ ное значение величины. Любое измерение нельзя выпол­ нить абсолютно точно. При выполнении измерения тем или иным прибором неизбежна некоторая погрешность («ошибка прибора», «ошибка измерения»).

Математические операции также не всегда можно вы­ полнять точно, без погрешностей: сложение, вычитание, умножение всегда можно выполнить точно, а вот извлечение корня, нахождение логарифма числа и многие другие опе­ рации, как правило, можно выполнить только приближенно.

В зависимости от того, откуда взяты данные числа и ка­ кова природа математических операций, которые мы про­ изводим, могут быть такие случаи: 1) возможно получить точный результат, 2) возможно получить только прибли­ женный результат, но с любой заданной степенью точ­ ности, 3) возможно получить только приближенный ре­ зультат, и притом с ограниченной степенью точности.

В некоторых случаях бывает нужна абсолютная точ­ ность вычислений. Но, как правило, на практике бывает достаточен приближенный результат. Ценность прибли­ женного результата определяется конкретными условиями.

15

П р и м е р .

Поезд должен отправиться по расписанию

в 19 ч 23 мин.

Отклонение на 15 сек в ту или иную сторону

считается допустимым и не является нарушением гра­ фика.

При расчете времени движения бегуна или пловца на спортивных соревнованиях учитываются доли секунды.

При наблюдении движения небесных тел момент про­ хождения светила через меридиан определяется с точностью до тысячных долей секунды.

При измерении длины комнаты в обычных бытовых ус­ ловиях допускается погрешность до 1 см.

При измерении диаметра трубы газопровода допускается погрешность до 1 мм.

При изготовлении деталей многих точных механизмов допустимое отклонение от нормы измеряется тысячными долями миллиметра.

Норма высева семян определяется с точностью до 3—5 кг на гектар площади посева. И т. д.

При решении широкого класса задач нужно: 1) учесть, с какой степенью точности требуется получить численный ответ; 2) установить, с какой степенью точности нужно взять исходные данные, чтобы получить' результат с тре­ буемой точностью; 3) организовать процесс вычислений так, чтобы получить результат с возможно меньшими затратами времени и труда.

Что такое вычислительная математика. Пусть требуется решить некоторую задачу и получить численный ответ. Для этого нужно: 1) выбрать численный метод решения задачи, 2) разработать план организации вычислений. При этом нужно предусмотреть наивыгоднейшее использование вычислительной техники. В случае использования ЭВМ нужно разработать программу.

Составление программы вычислений на ЭВМ требует специальных знаний и определенного навыка. Разработкой научных проблем, связанных с совершенствованием про­ цесса составления программ, занимается недавно возник­ шая отрасль математики — теория программирования.

Разработкой теории и практических приемов вычисле­ ний занимается вычислительная математика.

Итак, вычислительная математика это раздел ма­ тематики, содержащий теорию численных методов, тео­ рию и практические приемы применения современных средств вычислений.

16

Организация вычислительной работы. Выдающиеся уче­ ные-вычислители. До недавнего времени вычислительная математика не выделялась как особая отрасль математики. Методы вычислений разрабатывались учеными, ведущими исследования в области общих проблем математики, а также в области механики, физики, астрономии. Крупный вклад в теорию и практику вычислений внесли А р х и м е д

и

П т о л е м е й ,

Д е к а р т и П а с к а л ь ,

К е п л е р

и

Г ю й г е н с ,

Н ь ю т о н и Л е й б н и ц

и многие

другие — с древних времен до наших дней. В новое время великие математики Э й л е р и Л а г р а н ж , Г а у с с и Ч е б ы ш е в получили глубокие результаты в теории вычислений, довели до высокой степени совершенства практические приемы вычислений.

Вначале XX века большой вклад в теорию численных методов внес А. Н. К р ы л о в . Он же был выдающимся организатором вычислительных работ. Ему принадлежит первое в истории науки систематическое учебное пособие по теории вычислений — «Лекции по приближенным вы­ числениям».

Впоследнее время вычислительная математика уже от­ четливо выделилась в самостоятельную область математики. Эта теория получила новое направление в своем раз­ витии. Изобретение ЭВМ сделало возможным в корот­ кие сроки выполнить огромный объем вычислительных работ.

Все это потребовало новой системы организации вы­ числительных работ, подготовки большой армии вычисли­ телей. Появились крупные вычислительные центры (ВЦ) —

всистеме Академии наук СССР, в академиях наук союзных республик и других научно-исследовательских и проектных

учреждениях, на крупных промышленных предприятиях, в высших учебных заведениях. Первым вычислительным центром был ВЦ АН СССР. В университетах были созданы кафедры вычислительной математики, а в последние годы — факультеты вычислительной математики. Первой такой кафедрой была кафедра вычислительной математики Мос­ ковского университета. Основатель этой кафедры — вы­ дающийся математик нашего времени академик С. Л. Со- б о л е в .

За последние 20 лет выдающиеся результаты в разра­ ботке проблем вычислительной математики получили со­ ветские ученые А. Н. Т и х о н о в , А. А. Д о р о д н и-

ц ы н, В. В. И в а н о в , П. И. М а р ч у к, Л. В. К а н-

т о р о в и ч , А. А.

С а м а р с к и й и многие другие.

Вычислительная

математика играет важную и все воз­

растающую роль в науке и народном хозяйстве. В Дирек­ тивах XXIV съезда КПСС по девятому пятилётнему плану сказано:

обеспечить в новом пятилетии дальнейшую разработку проблем теоретической и прикладной математики и ки­ бернетики для более широкого применения в народном хо­ зяйстве математических методов и электронно-вычисли­ тельной техники, автоматизации процессов производства и совершенствования управления.

Значительная часть работы по выполнению этой почет­ ной государственной задачи ложится на вычислительную математику, на математиков и инженеров-вычислителей.

Г л а в а

ПРИБЛИЖЕННЫЕ ЧИСЛА И ДЕЙСТВИЯ

1

НАД НИМИ

§ 1. ТОЧНЫЕ ВЫЧИСЛЕНИЯ

1°. Точные вычисления. В основе любого вычислитель­ ного процесса лежит выполнение арифметических действий (сложения, вычитания, умножения, деления) над целыми числами, записанными в десятичной системе счисления при помощи цифр. Действия над числами, записанными

ввиде конечных десятичных дробей, по существу сводятся

кдействиям над целыми числами. В самом деле, пусть, например, нужно умножить 28,273 на 3,842. Достаточно умножить целые числа 28 273 и 3842 — получим целое число 108 624 866. Поставим теперь'* на надлежащем месте запятую, получим искомое произведение 108,624866. Наи­ более сложной частью всего процесса является здесь умно­ жение целых чисел.

Действия над числами, заданными с помощью десятич­ ной записи, приходится производить и при решении про­ стейших задач повседневной жизни, и при выполнении вычислительных процессов, связанных с решением слож­ нейших современных научных и технических задач. Ведь любая вычислительная задача сводится к последователь­ ному выполнению арифметических операций над числами, представленными десятичной записью. Для решения про­ стейших задач повседневной жизни требуется обычно вы­ полнить небольшое количество арифметических действий. Для решения сложной современной научно-технической задачи требуется выполнение тысяч, десятков тысяч, мил­ лионов арифметических операций.

Во многих расчетах приходится выполнять действия над приближенными значениями чисел. Но для выполнения этих операций все равно нужно уметь производить точные вычисления над числами. Поэтому необходимо приобрести навык в выполнении точных вычислений. Речь идет о вы­

полнении арифметических действий над целыми числами и конечными десятичными дробями. Эти действия можно выполнять письменно или при помощи цифровых вычис­

19

Соседние файлы в папке книги из ГПНТБ