Главная » Просмотр файлов » Говорухин В., Цибулин Б. Компьютер в математическом исследовании

Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 59

Файл №1185927 Говорухин В., Цибулин Б. Компьютер в математическом исследовании (Говорухин В., Цибулин Б. Компьютер в математическом исследовании.djvu) 59 страницаГоворухин В., Цибулин Б. Компьютер в математическом исследовании (1185927) страница 592020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 59)

3. е1яетт х«5. 5. е1яе 13, епб получим: апя- 5 Оператор-переключатель аы)гс() предоставляет возможность разветвления и выполнения операторов в зависимости от значения переменной ЧЯй (скаляра или строки): ящтсП Чяй саяе ЧАй!. ЕХРй 1 саяе (Чдй2, ЧЯМ3. . ). ЕХРй 2, отнегитае.

ЕХРМ О епб Здесь ЧЯй1, ЧАВ2, ЧАВЭ, ... — различные значения, которые может принимать переменная ЧЯй, а ЕХРЙ 1, ЕХРй 2 и т. д. — группы операторов. Переключение возможно по единственному значению (выбор ЧАй1) и по группе значений (выбор из ЧАМ2, ЧАВЗ,...). Кроме того, если осознанного выбора не сделано, то выполняются операторы группы ЕХРй 2 (ключевое слово от()егы! зе). Приведем пример со строковой переменной, здесь команда б! зр используется для вывода текстового сообщения: » МЕТНОО-'Сиип'; аи!тон МЕТНОО саяе (" трап".'прян'1, бтар!"Метод 2 порядка") саяе "Сиип", б>яр!"Метод 4 порядка" ) отнеси!яе, Ш ар!"Метод неизвестен") епб В результате получим: Метод 4 порядка Перечислительный цикл имеет вид: Гог М-МО ОМ М1, ЕХРй епб Здесь М вЂ” счетчик, пробегающий с шагом ОМ значения от МО до М1 (учитываются вещественные части чисел); а ЕХРй обозначает выполняемые в теле цикла команды.

Цикл с условием: и!п'1е Н)ОЕ. ЕХРй епб 318 Глава 12. Элементы языка ИАПАВ выполняется до тех пор, пока не будет нарушено условие ВООЕ. Для выхода из тела цикла имеется оператор прерывания Ьгеах. В МАТ1.АВ 6 появился оператор сопт! пое, означающий пропуск операторов и переход к следующему значению переменной цикла. Приведем примеры. В результате выполнения команд » х=Ц: Гог Х"1:5; !! Х"-5.

Ьгеай. епс, х=Ех.х"31: епс; будет сформирован вектор: 11.8,27.641 Здесь вначале организована пустая переменная х, к которой в процессе выполнения цикла добавляются новые элементы. К тому же результату приведет выполнение цикла с условием: » х-1; Х-1; нП))е в<4; Х-Е+1; х-Ех,х 31: епп; Подчеркнем, что матричные операции МАТЮКАВ выполняет быстрее, чем действия с циклами. Формирование массива х потребует меньше времени„если не пользоваться оператором цикла: » 1=1:4; х-й."3: Хотя для задания гильбертовой матрицы имеется функция Ь! ) Ь, приведем пример ее определения с помощью следующих двух циклов: тог в=1:3 Гог м 1;4 А!ЕЛ)=1/! Х.на-1); епо епо Если эти циклы вводить в командном окне, то переход на следующую строку происходит при нажатии клавиши ВВОД, При этом МАТЕАВ не приступит к выполнению цикла, пока не оформится конструкция цикла.

Для обработки ошибок вычислений в МАТЮКАВ предусмотрена конструкция !гу ОРЕМ 1 сагсП ОРЕМ 2 епе Здесь обозначения ОРЕй 1 и ОРЕЯ 2 представляют группы операторов. Если фрагмент программы содержит данную конструкцию и при выполнении операторов ОРЕй 1 не произошло ошибки, то управление передается операторам, стоящим за словом епО. Если же возникает ошибка, то служебной переменной 1азсегг присваивается сообщение о характере ошибки и выполняется группа операторов ОРЕМ 2.

Следующий пример показывает, что МАТЕАВ считает ошибкой: » !гу. Гог Е-О:1.й/О.епо. Г!. са2сь. Ейй-)аз!егг, епо,'Е!' Магп)пвс О!ч!Ое Ьу гего. апзМам Магп!пй: Отч!де Ьу гего. апз1пт Ейй Опоеттпео топот!оп ог чаг!аые т!". 3пементы программмровання 319 дпв Гд В заключение отметим, что обработка циклов интерпретатором МАТЕАВ замедляет скорость расчетов, поэтому по возможности следует применять векторизацию — проведение операций по строкам или по колонкам с использованием двоеточий для указания обрабатываемых диапазонов. Сравним затраты времени для вычисления синуса от последовательности чисел, используя оператор цикла: » С!с.

тог 1-1;23456. у-41п(1):епб. Сос е1араеб С)пе- 1.0400 и расчета с применением векторизации: » Ыс, 1-1:23450: у д1п(г): Сос е!арвеб Юме = 0.0000 Второй способ потребовал значительно меньше времени. Полезно также предварительно выделять память, чтобы исключить переписывание наращиваемых массивов. Приведем пример, в котором массив из тысячи элементов в цикле заполняется значениями счетчика цикла. Если не описать переменную В как массив, то получается следующий результат: » и-1000; Мс.тог К-1:и, 01г)=с; епб: Ссс е1арвеб Мпе- 0.4400 Если же ввести предварительно массив из тысячи элементов, то экономия очевидна: » и-1000;А-аегов(1,п);11с.тог Ь"1:и, А1г)-1: епб; Сос е1арвеб 11пе = 0.0000 Вообще, при разработке программ полезно использовать профилер МАТЮКАВ, чтобы выяснить, какие части программы вызывают особые затраты времени, а затем оптимизировать их.

В частности, для этого можно использовать шех-файлы — написанные на С или Фортране модули и откомпилированные так, чтобы их можно было вызывать из МАТЮКАВ. О профилере и создании шех-файлов речь пойдет в главе 16 «Программирование в МАТЮКАВ». Функции и файлы-источники (т-файлы) Для простых операций удобен интерактивный режим, но если вычисления нужно многократно повторять или необходимо реализовать сложные алгоритмы, то следует использовать ш-файлы МАТЮКАВ. Существуют два вида ш-файлов — файлы внешних функций и всп'рт-файлы (последовательности команд или программы), Записанные в вспрс-файл команды будут исполнены, если в командной строке ввести имя вспрт-файла.

Переменные вспрс-файла являются глобальными. Их значения заместят значения таких же переменных, которые были использованы до вызова данного всйрт-файла. Примером всг)рс-файла является файл Вгет.ш, приведенный в главе 11 «Работа вМ АТ1.АВ»; 320 Глава 12. элементы языка мАтеАВ АП2:341 тпч(А) воз*А"2 а-Оет(А) В отличие от зспрт-файлов обращение к внешней функции обычно сопровождается передачей аргументов. Внутренние переменные по умолчанию являются локальными, и для того, чтобы использовать нх как глобальные, требуется соответствующее описание. По завершении работы функции выводится результат — некоторое число матриц, строк и т. д.

Схематично структура функции имеет вид: Гроот(оо 1001,002,...)-ЕЬМ(1М1,1М2,...) тО)миемт д)оЬа) 61 02 ... ОРЕКАТОК5 Здесь 001, 002, ... — выходные параметры (результаты),!М1, 1М2, — входные параметры, ЖСОММЕМТ вЂ” комментарий, 61, 62, ... — глобальные переменные, ОРЕРАТОМ5 — операторы, составляющие тело функции. Обычно выход из функции происходит после выполнения последнего оператора, если же нужно завершить работу раньше, то используется команда гегигп. Приведем пример. В текстовом редакторе подготовим файл й)пс.(п из двух строк; Типот(оп у/ тиос(х); т Проверке, нто х не бесконечность тг -!згтп(се(х). 5тиосг(оп Гияс - (прот еггог".

ге!иго. епо у=х"2/2-х"4/4; Теперь к функции Гипс можно обращаться, как и к любой функции МАТ1.АВ, например к функции Гр! ЬЬ для изображения графика или к функции Гтего для отыскания корней нелинейного уравнения, см. главу 15 «Численный анализ в МАТ1.АВм » тзего('Тиос',1), доз 1.4142е+000 Если используются глобальные переменные, то помимо описания в самой функции их следует описать также в командной строке или вызываемом вопи-файле. Например, создадим файл п)аяза.гш Тиос!)оо сит - мазза(чо) иве) д)оЬа) ОЕМ5!ТЧ оиг - ОЕМ5!ТУ*чо)име; Затем в командной строке наберем » д)ЬЬа) ОЕМ51ТУ, ОЕМ51ТУ 1; Обратимся к функции в)азза: » авззз(3) алз- 3 Глобальную переменную можно интерактивно менять в процессе работы, при этом нет необходимости модифицировать функцию мазза.

Для глобальных переменных разработчики МАТ1.АВ рекомендуют использовать заглавные буквы. Элементы программирования 321 При помощи о писателя регз15 Еепт можно указать, что локальная переменная должна сохранять свое значение между вызовами функции. В этом случае переменная остается недоступной извне м-функции. При первом вызове такая переменная инициализируется пустым массивом. Вычисление факториала может быть реализовано с применением описателя регз1зтепт следующим образом. Подготовим файл Раст Рета.)п: топсспоп у=гает Реса(х) Рега1атепс РЕР5 ~т паемрту(РЕ»5). РЕР5-1: епс у=РЕР5.*х: РЕР5=у: Теперь можно найти 41, организовав следующий цикл: » тог Х-1:4.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6489
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее