АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ПРОГРАММИРОВАНИЕ

Читайте также:
  1. Всеобщее программирование судьбы
  2. ГЛАВА 1 СОЦИАЛЬНОЕ ПРОГРАММИРОВАНИЕ
  3. Модульное программирование
  4. НЕЙРО-ЛИНГВИСТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ -НЛП (NEURO-LINGUISTIC
  5. Нейролингвистическое программирование (НЛП)
  6. Обьектно-ориентированое программирование
  7. Параметрическое программирование
  8. Перепрограммирование подсознания.
  9. Пример для спецкурса «Программирование на платформе V7.7» - создание заказа на издательско-полиграфические услуги, формирование на его основе счета, отчетов.
  10. Программирование
  11. Программирование арифметических операций

При составлении программ на языке MAPLE используются слова:

 

if – если,

then – тогда,

elif – если же,

else – в прочих случаях,

or – или (соответствует знаку объединения È = «либо одно – либо другое – либо вместе»),

and – и одновременно (соответствует знаку пересечения Ç = «и одно – и другое»),

for n from 2 by 3 to 7 – для п, меняющегося от 2 до 7 с шагом 3,

for n in A, B, C – для п, принимающего значения А, В, С,

while – до тех пор пока,

do – выполнять действие,

end if = fi, end do = od – окончания программ.

1. Операторы условного перехода.

Пусть задано число

> x:=2.25;

Команда «Если x<1, то следует вычислить 2х–3; в прочих случаях следует вычислить и завершить команду» имеет вид

> if x<1 then 2*x-3 else sqrt(x) end if;

Сокращенная запись этой же команды имеет вид (if в обратных штрихах!!!)

> `if`(x<1,2*x-3,sqrt(x));

Примечание. Такая форма записи используется для кусочно заданной функции

>piecewise(x<1,2*x–3,sqrt(x));

 
 

Команда с оператором условного перехода является ветвящейся

 

 

Возможны команды с несколькими условиями, например

«Если x<1, то следует вычислить 2х–3; в противном случае и при условии x<3 следует вычислить х2; в остальных случаях следует вычислить и завершить команду». Эта команда имеет вид

> if x<1 then 2*x-3 elif x<3 then x^2 else sqrt(x) end if;

Сокращенная запись этой же команды имеет вид

> `if`(x<1,2*x-3,`if`(x<3,x^2,sqrt(x)));

 

Эта команда имеет тройное ветвление

 

 

Ветвлений может быть сколько угодно. Пример

> if x<1 then 2*x-3 elif x<3 then x^2 elif x<5 then 1/x else sqrt(x) fi;

или в сокращенном виде

> `if`(x<1,2*x-3,`if`(x<3,x^2,`if`(x<5,1/x,sqrt(x))));

ПРИМЕЧАНИЕ. В ветвящихся программах MAPLE сравнивает два числа. Нужно иметь в виду, что сравнивать он «умеет» только десятичные числа или рациональные числа. Поэтому исходные данные должны иметь вид ln(2.0), sqrt(3.0), 2/3 и т.д.

 

Условие, стоящее после союза if, может состоять из нескольких составляющих, объединенных союзом or либо союзом and. Например

> a:=1.5;

> if a=2 or a<0 or a=1 then 1/a else 13 end if;

Или, в сокращенном виде

> `if`(a=2 or a<0 or a=1,1/a,13);

Другой пример

> m:=1: n:=-2:

> if m>0 and n>0 then y=x elif m>0 and n<0 then y=ln(x) fi;

Здесь указаны только две возможности для знаков m, n. В сокращенном виде такую команду писать нельзя! Нужно обязательно перечислить ВСЕ возможности. Например, добавить «для всех остальных случаев напечатать ОК»

> m:=-2:n:=-3:

> `if`(m>0 and n<0,y=x,`if`(m>0 and n>0,y=ln(x),print('OK')));

Ещё один пример: Программа для сравнения двух последовательностей.

Пусть даны две последовательности

> a[n]:=n^2; b[n]:=3-2*n^2;

Вычисляем предел отношения этих последовательностей

> lim:=limit(a[n]/b[n],n=infinity);

 

Затем применяем программу сравнения этих последовательностей

> if lim=0 then print('a[n]=o(b[n])') elif lim=1 then print('a[n]*~*b[n]') elif lim=infinity or lim=-infinity then print ('b[n]=o(a[n])') else print('не*знаю') end if;

 

Примечание. Команда print печатает произвольный набор букв (можно русских), заключенный в прямых штрихах. Слова должны быть связаны подчеркивающим тире, точками или запятыми. Лучше – звёздочками *.

’da_da’, 'net..net’, 'или*или'

!!!Некоторые слова запрещены – min, max.

Вместо print(‘…..’) можно писать ‘…..’.

Примечание.

Если вместо print('a[n]=o(b[n])') написать a[n]=o(b[n]), то программа вместо a[n]=o(b[n]) выдаст конкретное соотношение типа 2n+3=o(n2)

 

2. Циклические операторы.

Это операторы, повторяющие одну и ту же операцию несколько раз.

А) Операторы с заданным числом циклов (со «счётчиком»)

ЗАДАЧА. Для п, изменяющегося от 2 до 11 с шагом 3, вычислить величину 1/ п.

> for n from 2 by 3 to 11 do 1/n od;

Примечание 1. Если переменный параметр п меняется с шагом, равным 1, то этот шаг можно не указывать

> for n from 2 to 4 do 1/n od;

Примечание 2. Переменный параметр можно обозначать любой буквой. Результат от этого не зависит.

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

> for р in a,3,b do р^2 od;

Другие примеры

> tot:=0;

for z in 1,3,5 do tot:=tot+z end do;

 

> Q[1]:= 1;

n:=1: for p in x, y, z do

Q[n+1]:= Q[n]*p;

n:=n+1 end do;

> w:=[x,y,z]: Q[1]:=a:

for n in 1,2,3 do

Q[n+1]:= Q[n]+w[n]

end do;

> S[0]:=0: for n in 1,2,3,4,5 do S[n]:=S[n-1]+1/n/(n+1) od;

В) Циклические операторы с условием на окончание.

ЗАДАЧА. Вычислить квадраты чисел от 5 до 9 с шагом 2.

> for n from 5 by 2 while n<=9 do n^2 od;

ЗАДАЧА. Вычислить по методу Ньютона корень уравнения х2– 3=0, проделав пять приближений (это программа со счетчиком)

> f:=x->x^2-3: f1:=x->2*x: x[0]:=2.0:

> for n from 0 while n<5 do x[n+1]:=x[n]-f(x[n])/f1(x[n]) end do;

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

| xn+1 – xn| = <e.

> f:=x->x^2-3: f1:=x->2*x: x[0]:=2.0:eps:=0.000001:

> for n from 0 while abs(f(x[n])/f1(x[n]))>=eps do x[n+1]:=x[n]-f(x[n])/f1(x[n]) end do;

 

 

СОДЕРЖАНИЕ

Общие положения. Справочная система………………………………...1

Греческий алфавит. Форматы чисел…………………………………….1

Задачи из теории чисел……………………………………………………2

Арифметика. Машинные константы……………………………………. 2

Встроенные функции. Множества (set)………………………………….2

Списки (list)………………………………………………………………..3

Присвоение. Снятие присвоения………………………………………...3

Задание функции. Кусочно-заданные функции…………………………3

Задание последовательности……………………………………………..4

Операции оценивания evalf(), evalc(), value()…………………. 4

Операция подстановки subs()……………………………………………4

Приведение подобных членов collect ……………………………………5

Исключение неизвестной x из системы…………………………………. 5

Выделение частей равенства, выделение числителя и знаменателя….. 5

Команда >COMBINE(); …………………………………………………5

Команда раскрытия скобок >EXPAND(…);…………………………… 5

Команда разложения на множители >FACTOR()……………………... 6

Команда приведения к общему знаменателю >NORMAL();………….6

Команда упрощения >SIMPLIFY();……………………………………. 7.

Команда преобразования >CONVERT();……………………………… 7

Полиномы…………………………………………………………………. 7

Уравнения………………………………………………………………….. 8

Неравенства………………………………………………………………… 9

Суммы ……………………………………………………………………… 9

Произведения……………………………………………………………… 10

Пределы……………………………………………………………………. 10

Асимптотика функции на +¥ ……………………………………………. 11

Формула Тейлора-Пеано………………………………………………….. 11

Формула Тейлора для неявно заданной функции………………………. 12

Дифференцирование……………………………………………………… 12

Производная от неявно заданной функции……………………………… 13

Интегрирование …………………………………………………………… 13

Интегрирование. Учебный пакет with(student)………………………….. 13

Экстремумы функций……………………………………………………… 15

Наибольшее и наименьшее значения функции…………………………… 15

ТФКП………………………………………………………………………… 15

Операционное исчисление…………………………………………………..16

Интерполяционный полином………………………………………………..17

Операция одновременных действий >map…………………………………17

Графика на плоскости………………………………………………………...17

Графика в пространстве………………………………………………………20

Дифференциальные уравнения……………………………………………… 22

Линейная алгебра…………………………………………………………… 28

Элементы теории поля……………………………………………………… 32

Линейные структуры на плоскости…………………………………………. 33

Линейные структуры в пространстве……………………………………… 34

Пакет >plottools (геометрические фигуры)…………………………………35

Программирование…………………………………………………………….36

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.017 сек.)