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

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

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

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

Здесь речь пойдет о написании пользователем на Мар)е-языке собственных программ, процедур, отладке программ и др. Для этого в пакете имеется довольно широкий набор команд и конструкций, аналогичный существующим в известных языках программирования (например, в языках Паскаль или С). Ниже мы последовательно перечислим эти конструкции и команды, сопровождая изложение короткими примерами.

Условные операторы Условный оператор в Мар)е начинается с зарезервированного слова 1г и обязательно должен заканчиваться словом 11 или епп 11, которые являются синонимамн. Этот оператор имеет несколько форм написания, которые отличаются детальностью проверки условий: 1Г ВООЕ Гпеп ЕХРВ1 Г1; 1Ч ВООЕ ГПеп ЕХРЙ1 е1зе ЕХРВ2 епд 1Г; Эта конструкция дает возможность в зависимости от значения логического условия ВООЕ выполнять выражение ЕХРй1 (когда ВООЕ-ггие) или ЕХРй2 (если ВООс-га1зе в случае ветки е1 зе).

В качестве выражений ЕХРй1 и ЕХ Рй2 здесь может выступать любая последовательность Мар!е-команд. Приведем пример: > х:-2: ХГ х<0 тьеп х:-5 е1зе х:--5 епо 1Г. х;= -5 Для реализации сложных условий можно использовать полный вариант условного оператора, который имеет следующий вид: 1Г ВООЕ1 Феп ЕХРВ1 Е11Г ИХХ.2 тПЕп ЕХРй2 180 Глава У.

Программирование в Мар1е е11Г ВООЕН ЕЬеп ЕХРВИ е1ве ЕХРВО епе 1Г: Таким образом, вложенность условий может быть практически неограниченной и реализуется при помоши вставки е11й В качестве выражений ЕХРЙО, ЕХРй1, ..., ЕХРЙ11 могут выступать любые последовательности Мар!е-команд. Как и для про- стого условного оператора, у этой конструкции может отсутсгвовать ветка е1ве.

Приведем пример полного условного оператора; > х:=7 11 х<0 таеп х.-а: е1>Г х-0 еьеп х.-Ь; е11Г х<10 1леп х =с, е)ве х:=Ш Г1: Существует вариант условного оператора, который предназначен для использования в выражениях. Вго синтаксис имеет вид: "Ь Г"ЧВВОС ЕХРЯ1 ЕХРВ2) При обрашении к этому оператору сначала провсрястся логическос выражение ВСОЕ, загсы прп его истинности (Егпе) вычисляется оператор ЕХРП], а при ложности (101ве) — ЕХРР2. Пример: > а =2 Ь.-4: > "1гча>ь,)одЕь](а),1оч[а](ь'): !п(4) ы12) 5 1 п1 р) ! гу1 Х ): 2 Операторы цикла В Мар]е имеется несколько операторов цикла, и для пх записи используются служебные слова Еог, Ггоп), Ьу, Ьо, иш!е, 00, 00 и епЬ г]о.

Телом всех операторов цикла является последовательность команд, заключенных между Со и епЬ 00 (оп — синоним этой комбинации). Начнем с перечислительного цикла, который есть практически во всех алгоритмических языках: Гог ЧАИ Ггоа ЧАН Ьу ЧЯЕ2 Го ЧАЕВ Оо ЕХРВ епо Оо; Тело цикла ЕХРВ выполняется при каждом значении параметра цикла ЧАй, который изменяется от ЧАЕ) с шагом ЧЯЕ2 до тех пор, пока не станет больше ЧАЕЗ.

Отметим, что если шаг изменения ЧАЕ2 равен единице, то оператор никла допускает сокращенную форму: Гог ЧАВ Ггоп ЧАЕ) то ЧАЕВ Ео ЕХРВ ос: А если и начальное значение ЧЯЕ)переменной ЧАП равно единице, то возможен еше более короткий вариант: Гог ЧАА Во ЧАЕВ со ЕХРВ ое; Операторы цикла 181 Приведем пример оператора цикла: > Еог 1 Егоп 0 Ьу 4 Со 8 Оо 1: епе Оо: 0 Оператор цикла типа «пока» имеет вид: иы1е 8000 Оо ЕХРй оф Тело никла ЕХ Рй выполняется, пока значение логического выражения ВООЕ истинно (Егие), и выполнение прекращается, если ВООЕ ложно ( а1ае).

Приведем соответствующий пример: 1.=0: ий 1е а«5 Оо 1 =О+11"а епе Оо; 1';= 1 /:=2 ~':= 9 Следукпций оператор цикла является некоторым симбиозом двух предыдущих: Еог улй тгов УАЕ1 Ьу ГА 2 »Ю1е 800Е Оо ЕХРй епе По: Тело цикла ЕХРй выполняется, пока логическое выражение ВООЕ является истинным, а переменная уйй изменяется от значения »А~ 1 с шагом ХАЕ2. Отметим, что Мар!е вначале проверяет условие цикла, а затем выполняет выражение Гдрй Например: > Гог х Егое 1 Ьу 2 ию1е х<6 По х 2 ою 1 25 Четвертый оператор цикла ориентирован на работу с символьными выражениями н имеет следующую форму: тог УАй ~п ЕХРй1 Оо ЕХРй2 оо.

Тело цикла ЕХРй2 (последовательность команд между 00 и 00) выполняется, когда символьная переменная ЧАй последовательно принимает значения каждого из операндов алгебраического выражения или списка ЕХРй1. Естественно, работа етой конструкции зависит от внутреннего представления выражения ЕХРй1. Если ЕХРй1— сумма, то переменная ЧАй принимает поочередно значения каждого слагаемого, если произведение — то каждого сомножителя, и т.

д. Поясним сказанное примером: > Е:-х 2+3«х+1/х: 9', е1аР1ХЕУ1Е); т У:=х «Зхчх хз«ахе+1 182 Глава 7, Програииироваиие в нар[а > Тог 5 1О Г бо 5: Об: 2 Зх 1 х > Тог 5 1О 9 бо 5: Об: х'+Зх'+1 1 х Команды Ьгеаи и пехт предназначены для управления операторами цикла. По команде ЬгеаХ осуществляется немедленный выход из цикла, а по команде пех1— переход к следующему шагу. Приведем два примера: > 1:-0: бо 1:-2 -1: 11 1-3 тиеп Ьгеаь 12 епб бо: 2: 1 То>2 2 з>З > [:-[1,2,5.1001: Гог Ч 1О 1 бо 11 1-5 Шее пех1 еоб 11; 1"2 об; 1 4 Иногда бывает полезным бесконечный цикл, который можно реализовать, опустив все управляющие циклами параметры: бо ЕХРа епб бо; Этот цикл будет работать до тех пор, пока внутри него не встретится ошибка или не будет осуществлен выход с помощью команд Ьгеаи или геьогп (см. следующий раздел).

Для обработки возможных ошибок и аварийных или специальных ситуаций существует конструкция вида: 1гу ЕХРХ1 сатси САТСНБТХ1И6;ЕХР92 11паИу ЕХРЙЗ епб; Выражение ЕХРР1 выполняется до тех пор, пока не возникла ошибка или ситуация, ОЩТСЫВаЕМая Строкой С21ТСНЗТН1Н6. При возникновении такой ситуации выполняется выражение ЕХРЙ2, а выражение ЕХРкЗ выполняется в любом случае. В этой конструкции обязательна только первая ветка Егу2 Пример: >1: 2: > тгу бо геаи15 : З/1: рг1лг(*тгу",геао151: Функции, процедуры и подули 133 1:-1-1: оо сассп: геки)С ;= 1"2; рг(пт( пза(си",1); (1па11у 1,Д"3 епп сгу: 1 тус-у ту,у Саге)п О о,/ Подробнее о возможных вариантах строки САТСНБТй1 НС смотрите в справке Мар1е, Рункции, процедуры и модули В Мар!е существует множество команд, которые реализованы в виде процедур- функций, процедур или модулей.

В этом разделе мы кратко опишем, как создавать такие конструкции самостоятельно и какие возможности это предоставляет. Процедуры-функции Процедуры-функции в Мар1е можно задавать несколькими способами. Первый напоминает задание отображения — некоторое число входных параметров при помощи знака -> формирует результирующее выражение ехрг: папе:- (чаг1.чаг2,...) -> ехрг: Здесь папе — имя процедуры-функции, чаг1, чаг2, ... — имена формальных параметров, а ехрг — выражение, реализующее тело процедуры-функции.

Напомним, что типы формальных параметров и результата работы процедуры-функции могут быть любыми. Приведем пример задания процедуры-функции: > (: (х,у)- иир111У(х"2-у"2); У ж (х, у ) -ч кипр)цу( х + у ) > Г(51п(х).с05(х)): 1 Второй способ задания процедуры-функции при тех же входных параметрах использует команду цпарр1 У: папе:гипарр1У(ехрг,чаг1лаг2,...); Здесь чаг1, чаг2,, — переменные, а ехрг — выражение или операция. Эта команда полезна при определении новой функции через известную или когда вычисленное выражение предполагается использовать как процедуру-функцию.

Например: > т:гцларр1У(П(СГ(К(Х)"2.Х)-2.г): 184 Глава?. Программирование в Ивр1е гд У;= с-«2 г(х) ~ — — г(х)~ — 2 ~ дх Г(в1п 2). 4 яп(х)' сов(х) — 2 С процедурами-функциямп в Мар!е можно проделывать элементарные математическис операции, такие как композиция, умножение и др. Приведем примеры: > Г.=х->ю п(х»2) Р.=-х->агсв1п(х)-2 »и-(9. Шу): яп(у е 2) + игсяп(у) — 2 > п.=("9: П(у); яп() е 2) (вгсяп(у) — 2) > п.=ВО: му)' Выразительно применение отображения (так называемой функции без имени) в качестве параметра в ряде команд.

Приведем пример использования функции при обращении к команде явр: > мвр(х-»х"2 „г1.2,3 4,5«) [ 1, 4, 9, 16, 25 ! Процедуры Всякая процедура в Мар!с на пшается с заголовка, который состоит пз имени процедуры, за которым следует знак присваивания н служебное слово ргос, за- тем в круглых скобках через запятую указываются формальные параметры. Про- цедура должна обязательно заканчиваться оператором еп0 (в последней версии пакета можно использовать синоним еп«ргос). Все команды и выражения, сто- ящие после заголовка и до оператора епс, составляют тело процедуры.

Простей- шая процедура имеет следующий вид: НАНЕ:=ргос( НАР1 НАР2, ЕКРВ!: ЕХРК2; епп' ргос: Здесь ИАНŠ— нмя процедуры, НАЯ1, НАР2,... — имена формальных параметров, а ЕХРР1, ЕХРР2,, — выражения, реализующие тело процедуры. Текст процедуры должен быть набран в одной группе. По нажатию клавиши Еп1ег происходит синтаксический анализ текста и в случае ошибки выводится сообще- ние о ней. После того как процедура загружена в память, к ней можно обращаться по имени.

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

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

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