Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Maple 9.5/10 Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Ρ„ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 108

Автор Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”ΡŒΡΠΊΠΎΠ½ΠΎΠ²

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Ρ€Π°Π·Π²Π΅Ρ‚Π²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² Maple-языкС программирования Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ условного выраТСния:

if <УсловиС сравнСния> then <Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹>

|elif <УсловиС сравнСния> then <Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹>|

|else <Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹>|

fi;

Π’ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… | | ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π΄Π°Π½Π½ΠΎΠΉ конструкции. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° Π²ΠΈΠ΄Π° условных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅:

if <УсловиС> then <Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ 1> fi β€” Ссли УсловиС выполняСтся, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ 1, ΠΈΠ½Π°Ρ‡Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ выполняСтся;

if <УсловиС> then <Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ 1> else <Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ 2> fi β€” Ссли УсловиС выполняСтся, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ 1, ΠΈΠ½Π°Ρ‡Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ 2.

Π’ Π·Π°Π΄Π°Π½ΠΈΠΈ условий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π»ΡŽΠ±Ρ‹Π΅ логичСскиС конструкции со Π·Π½Π°ΠΊΠ°ΠΌΠΈ сравнСния (<, <=, >, >=, =, <>) ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ and, or ΠΈ not, конструкции с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ логичСскиС значСния true ΠΈ false.Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (Ρ„Π°ΠΉΠ» Ρ€2):

> Ρ…:=-5:

> if Ρ…<0 then print(`Negative`) fi;

Negative

> x:=1:

> if x<0 then print(`Negative`) fi;

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ анализируСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ…. Если ΠΎΠ½ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° print Π½Π° экран выводится сообщСниС Β«NegativeΒ». А Π²ΠΎΡ‚ Ссли Ρ… Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π½Π΅ выводится Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ сообщСния. Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ссли Ρ… Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ выводится сообщСниС Β«PositiveΒ»:

> Ρ…:=-5:

> if Ρ…<0 then print(`Negative`) else print(`Positive`) fi;

Negative

> x:=1:

> if x<0 then print(`Negative`) else print(`Positive`) fi;

Positive

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΡΠΎΠ±ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ задания конструкции if-then-else-fi:

> Ρ…:=-5:

> `if` (Ρ…<0, print(`Negative`),print(`Positive`));

Negative

> x: =1:

> `if` (x<0, print(`Negative`),print(`Positive`));

Positive

Π’ этой конструкции Π²ΠΈΠ΄Π°

`if `(УсловиС, Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅1, Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2)

Ссли УсловиС выполнятся, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ исполнСно Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅1, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ исполнСно Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅2. Π’Π²ΠΈΠ΄Ρƒ компактности записи такая Ρ„ΠΎΡ€ΠΌΠ° условного выраТСния Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π°, хотя ΠΎΠ½Π° ΠΈ ΠΌΠ΅Π½Π΅Π΅ наглядна. На рис. 10.3 прСдставлСно ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ конструкции для модСлирования Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ² сигналов.

Рис. 10.3. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ конструкции с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ if для модСлирования сигналов


К соТалСнию, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ конструкции if Π½Π΅ всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ функциями символьной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°Π΄ΠΎ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² этом случаС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

10.2.2. Π¦ΠΈΠΊΠ»Ρ‹ for ΠΈ while

Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ цикличСскоС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ выполнСния выраТСния Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число Ρ€Π°Π· ΠΈΠ»ΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° выполняСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ условиС. Maple ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π°, которая задаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

|for <name>| | from <expr1>| |to <expr3>| |bу <expr2>| |while <expr4>|

do <statement sequence> od;

Π—Π΄Π΅ΡΡŒ name β€” имя ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π°, expr1, expr2 ΠΈ expr3 β€” выраТСния, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ шаг измСнСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ name, expr4 β€” Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π΄Π°ΡŽΡ‰Π΅Π΅ условиС, ΠΏΠΎΠΊΠ° Ρ†ΠΈΠΊΠ» (Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ словами do ΠΈ od) Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Ρ†ΠΈΠΊΠ»Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ пСрСмСнная мСняСтся ΠΎΡ‚ значСния expr1 Π΄ΠΎ значСния expr2 с шагом, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ expr3. Если Π±Π»ΠΎΠΊ by <expr2> отсутствуСт, Ρ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ с шагом +1 ΠΏΡ€ΠΈ expr1<expr2. Π­Ρ‚ΠΎ наглядно поясняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

> for i from 1 to 5 do print(i) od;

1 2 3 4 5

Π’ Π½Π΅ΠΌ выводятся значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π² Ρ…ΠΎΠ΄Π΅ выполнСния Ρ†ΠΈΠΊΠ»Π°. НСтрудно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈ Π²ΠΏΡ€ΡΠΌΡŒ мСняСтся ΠΎΡ‚ значСния 1 Π΄ΠΎ значСния 5 с шагом +1 Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ измСнСния ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ арифмСтичСскими выраТСниями:

> for i from 7/(2+5) to 2+3 do print(i) od;

1 2 3 4 5

А Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ пСрСмСнная Ρ†ΠΈΠΊΠ»Π° мСняСтся ΠΎΡ‚ значСния 1 Π΄ΠΎ 10 с шагом 2:

> for i from 1 to 10 by 2 do print(i) od;

1 3 5 7 9

Π’ этом случаС выводятся Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа ΠΎΡ‚ 1 Π΄ΠΎ 9. Π¨Π°Π³ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ:

> for i from 9 to 1 by -2 do print(i) od;

9 7 5 3 1

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ expr1>expr2 Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ΅ условиС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, expr1>expr2 ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ шага, Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» выполнятся Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π’ Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° while <expr4>. Π¦ΠΈΠΊΠ» с Ρ‚Π°ΠΊΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ выполняСтся Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΈΠ»ΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° условиС expr4 истинно:

> for i from 1 to 10 by 2 while i<6 do print(i) od;

1 3 5

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, конструкция Ρ†ΠΈΠΊΠ»Π° Π² Maple-языкС программирования Π²ΠΎΠ±Ρ€Π°Π»Π° Π² сСбя основныС конструкции Ρ†ΠΈΠΊΠ»ΠΎΠ² for ΠΈ while. Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π°, Π±ΠΎΠ»Π΅Π΅ спСцифичСская конструкция Ρ†ΠΈΠΊΠ»Π°:

|for <name>| |in <expr1>| | while <expr2>| do <statement sequence> od;

Π—Π΄Π΅ΡΡŒ expr1 Π·Π°Π΄Π°Π΅Ρ‚ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ пСрСмСнная name. Π¦ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ исчСрпан список ΠΈ ΠΏΠΎΠΊΠ° выполняСтся условиС, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ expr2. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сказанноС:

> for i in [1,2,5,-1,7,12] do print(i) od;

1 2 5 -1 7 12

> for i in [1,2,5,-1,7,12] while i>0 do print(i) od;

1 2 5

Π’ Ρ†ΠΈΠΊΠ»Π΅ этого Π²ΠΈΠ΄Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ.

10.2.3. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠ΅ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Π¦ΠΈΠΊΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π½Π° Π±Π°Π·Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ массива М:

> M:=array(1..3,1..3);

М:=array(1..3, 1..3, [])

> for i to 3 do for j to 3 do M[i,j]:=0; if i=j then M[i,j]:=1 fi; od od;

> evalm(M);

Однако ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·Ρ†Ρƒ этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΅ΠΌΡƒ, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ дня создания Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Maple ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ identity, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ функция array позволяСт сразу ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ:

> array(1..3,1..3,identity);

10.2.4. УпрощСнная конструкция Ρ†ΠΈΠΊΠ»ΠΎΠ²

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° упрощСнная частная конструкция Ρ†ΠΈΠΊΠ»Π° Ρ‚ΠΈΠΏΠ° while:

while expr do statseq od;

Π—Π΄Π΅ΡΡŒ выраТСния statseq Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, ΠΏΠΎΠΊΠ° выполняСтся логичСскоС условиС expr. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°:

> n:=1;

n:=1

> while n<16 do n:=2*n od;

n:=2 n:=4 n:=8 n:=16

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΠ΄Π΅Ρ‚ ΡƒΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ числа n с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ n=1 Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n мСньшС 16.

10.2.5. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ пропуска ΠΈ прСрывания Ρ†ΠΈΠΊΠ»ΠΎΠ²

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π°. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ next (ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ). ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° next Π² составС выраТСния if-fi для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Ρ‹Π²ΠΎΠ΄Π° значСния i=-2:

> for i in [1,2,3,-2,4] do if i=-2 then next else print(i) fi od;

1 2 3 4

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ β€” break β€” ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ»Π°) Π•Π³ΠΎ дСйствиС поясняСт слСгка ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

> for i in [1,2,3,-2,4] do if i=-2 then break else print(i) fi od;

1 2 3

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ i=-2 ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ выполнСния Ρ†ΠΈΠΊΠ»Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i присвоСно Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΎ.

Π›ΡŽΠ±ΠΎΠΉ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² quit, done ΠΈΠ»ΠΈ stop обСспСчиваСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ выполнСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π² частности Ρ†ΠΈΠΊΠ»Π°), Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΎΠΊΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° закрываСтся.

10.3. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

10.3.1. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ваТнСйшим элСмСнтом структурного программирования ΠΈ слуТат срСдством Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ возмоТностСй систСмы Maple ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

КаТдая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠΌΠ΅Π΅Ρ‚ своС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя ΠΈ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым). ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ… ΠΈΠΌΠ΅Π½ΠΈ со списком фактичСских ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠŸΡ€ΠΈ этом просто ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ послС своСго исполнСния, хотя ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ значСния входящим Π² Π½ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Они ΠΊΠ°ΠΊ Π±Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΌΠΈ функциями, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ фактичСски ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ-функциями с нСсколько ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ структурой.