уПДЕТЦБОЙЕ

Part2-2002
7. рТПУФЕКЫЙЕ ЧЩЮЙУМЕОЙС
пУОПЧЩ МПЗЙЛЙ
уПУФБЧОЩЕ РТЕДМПЦЕОЙС
ъБЛПОЩ МПЗЙЛЙ
йНРМЙЛБГЙС Й ЬЛЧЙЧБМЕОФОПУФШ
рТЕПВТБЪПЧБОЙЕ ЧЩТБЦЕОЙК
лБМШЛХМСФПТЩ
рТЙЕНЩ ТБВПФЩ
ьМЕЛФТПООЩЕ ФБВМЙГЩ
KSpread
тЕДБЛФЙТПЧБОЙЕ
жПТНХМЩ
Gnumeric
жПТНБФЙТПЧБОЙЕ
жХОЛГЙЙ
OpenOffice Calc
жПТНБФЙТПЧБОЙЕ
жПТНХМЩ
дЙБЗТБННЩ
8. уЙУФЕНЩ ЛПНРШАФЕТОПК БМЗЕВТЩ
Mathematica
тБВПФБ У ЧЩТБЦЕОЙСНЙ
зТБЖЙЛБ
хТБЧОЕОЙС Й ОЕТБЧЕОУФЧ
рТЕДЕМЩ Й ТСДЩ
дЙЖЖЕТЕОГЙТПЧБОЙЕ Й ЙОФЕЗТЙТПЧБОЙЕ
нБФТЙГЩ
мПЗЙЮЕУЛЙЕ ЧЩТБЦЕОЙС
Maxima
чЩТБЦЕОЙС
бМЗЕВТБ
хТБЧОЕОЙС
жХОЛГЙЙ
зТБЖЙЛЙ
бОБМЙЪ
нБФТЙГЩ
рТПЗТБННЩ
9. нПДЕМЙ Й РТПЗТБННЙТПЧБОЙЕ
нПДЕМЙТПЧБОЙЕ
лПНРШАФЕТОПЕ НПДЕМЙТПЧБОЙЕ
лМЕФПЮОЩЕ БЧФПНБФЩ
рБТБДЙЗНЩ РТПЗТБННЙТПЧБОЙС
дЙТЕЛФЙЧОПЕ
дЕЛМБТБФЙЧОПЕ
пВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЕ
10. мПЗЙЮЕУЛПЕ РТПЗТБННЙТПЧБОЙЕ
мПЗЙЛБ Й рТПМПЗ
фЕТНЩ Й ПВЯЕЛФЩ
жБЛФЩ
ъБРТПУЩ Л ВБЪЕ ДБООЩИ
хОЙЖЙЛБГЙС
рТБЧЙМБ
тЕЛХТУЙС
вБЪЩ ЪОБОЙК
мПЗЙЮЕУЛЙЕ ЪБДБЮЙ
тБВПФБ У ЮЙУМБНЙ
рТЙНЕТЩ РТПЗТБНН
уРЙУЛЙ
11. чЧЕДЕОЙЕ Ч ппр
сЪЩЛ РТПЗТБННЙТПЧБОЙС Ruby
пВЯЕЛФЩ Й НЕФПДЩ
рЕТЕНЕООЩЕ Й ЛПОУФБОФЩ
нБУУЙЧЩ
чЧПД ДБООЩИ
нЕФПДЩ
пРЕТБФПТЩ ЧЕФЧМЕОЙС
гЙЛМЩ
вЙВМЙПФЕЛЙ
рТЙНЕТЩ РТПЗТБНН
12. рТПЗТБННЙТПЧБОЙЕ Й ЙОФЕТОЕФ

пФ Ruby Л Java
рЕТЕНЕООЩЕ Й ФЙРЩ
нБУУЙЧЩ Й ЧЧПД ДБООЩИ
нЕФПДЩ
пРЕТБФПТЩ ЧЕФЧМЕОЙС Й ГЙЛМЩ
вЙВМЙПФЕЛЙ ЛМБУУПЧ Й РТЙНЕТЩ РТПЗТБНН
рПОСФЙЕ ПВ БРМЕФБИ
ьМЕНЕОФЩ СЪЩЛБ JavaScript


Part2-2002

хЮЕВОЙЛ РП ЛХТУХ "йОЖПТНБФЙЛБ Й ЙОЖПТНБГЙПООЩЕ ФЕИОПМПЗЙЙ"

юБУФШ 2

дБООЩК ХЮЕВОЙЛ ПИЧБФЩЧБЕФ ПУФБЧЫЙЕУС ФЕНЩ, ЙЪХЮБЕНЩЕ Ч ТБНЛБИ ЛХТУБ "йОЖПТНБФЙЛБ Й ЙОЖПТНБГЙПООЩЕ ФЕИОПМПЗЙЙ" Й УППФЧЕФУФЧХЕФ ХЮЕВОЩН РМБОБН, ХФЧЕТЦДЕООЩН ОБ 2001-2002 ХЮ. ЗПД.

ъОБЮЙФЕМШОП РЕТЕТБВПФБОЩ ТБЪДЕМЩ ХЮЕВОЙЛБ РП ФЕНБН "уЙНЧПМШОЩЕ ЧЩЮЙУМЕОЙС" (ТБЪДЕМЩ Mathematica Й Maxima) Й "мПЗЙЮЕУЛПЕ РТПЗТБННЙТПЧБОЙЕ".

дПВБЧМЕО ОПЧЩК ТБЪДЕМ "рТПЗТБННЙТПЧБОЙЕ ОБ СЪЩЛЕ Ruby". ьФПФ НПМПДПК Й ЬОЕТЗЙЮОП ТБЪЧЙЧБАЭЙКУС УЛТЙРФПЧЩК СЪЩЛ ЕЭЕ НБМП ЙЪЧЕУФЕО Ч ОБЫЕК УФТБОЕ. Ruby СЧМСЕФУС ЮЙУФП ПВЯЕЛФОП-ПТЙЕОФЙТХЕНЩН СЪЩЛПН, ЧП НОПЗПН РПИПЦЙН ОБ SmalTalk Й Perl.
уМЕДХАЭЙК ТБЪДЕМ


7. рТПУФЕКЫЙЕ ЧЩЮЙУМЕОЙС

зМБЧБ 7 рТПУФЕКЫЙЕ ЧЩЮЙУМЕОЙС

пДОПК ЙЪ ГЕМЕК УПЪДБФЕМЕК РЕТЧЩИ ЧЩЮЙУМЙФЕМШОЩИ НБЫЙО ВЩМП ЙЪПВТЕФЕОЙЕ ХУФТПКУФЧБ, РПЪЧПМСАЭЕЗП У НЕОШЫЙНЙ ЖЙЪЙЮЕУЛЙНЙ Й ЙОФЕММЕЛФХБМШОЩНЙ ЪБФТБФБНЙ РТПЙЪЧПДЙФШ УМПЦОЩЕ Й ХФПНЙФЕМШОЩЕ ЧЩЮЙУМЕОЙС. уПЧТЕНЕООЩК ЛПНРШАФЕТ НПЦЕФ РТПЙЪЧПДЙФШ ЧЩЮЙУМЕОЙС У ОЕНЩУМЙНПК ТБОЕЕ УЛПТПУФША Й ПРЕТЙТПЧБФШ ПЗТПНОЩНЙ ПВЯЕНБНЙ ПВТБВБФЩЧБЕНЩИ ДБООЩИ.

дМС РТПЧЕДЕОЙС ОЕУМПЦОЩИ ЧЩЮЙУМЕОЙК ЙУРПМШЪХАФ РТПЗТБННЩ-ЛБМШЛХМСФПТЩ, ЙНЙФЙТХАЭЙЕ ЖХОЛГЙЙ Й ЧОЕЫОЙК ЧЙД ФТБДЙГЙПООЩИ ЛБТНБООЩИ ЛБМШЛХМСФПТПЧ. фБЛЙЕ РТПЗТБННЩ ЕУФШ ЧП ЧУЕИ ПРЕТБГЙПООЩИ УЙУФЕНБИ (ОБРТЙНЕТ, лCalc Ч Linux Й Calculator Ч MS Windows).

ьМЕЛФТПООЩЕ ФБВМЙГЩ УФБМЙ РПЧУЕДОЕЧОЩН ЙОУФТХНЕОФПН Ч ТБВПФЕ ЬЛПОПНЙУФПЧ, НЕОЕДЦЕТПЧ Й НОПЗЙИ ДТХЗЙИ УРЕГЙБМЙУФПЧ. пОЙ РПЪЧПМСАФ БЧФПНБФЙЪЙТПЧБФШ ТХФЙООЩК ФТХД РТЙ РПЧФПТСАЭЙИУС ЧЩЮЙУМЕОЙСИ РП ПДОЙН Й ФЕН ЦЕ ЖПТНХМБН. ьМЕЛФТПООЩЕ ФБВМЙГЩ, ЛБЛ РТБЧЙМП, УПДЕТЦБФ ТБЪОППВТБЪОЩЕ ЖХОЛГЙЙ, ОЕПВИПДЙНЩЕ Ч ПВМБУФЙ ДЕМПРТПЙЪЧПДУФЧБ, ЬЛПОПНЙЛЕ Й ТБЪМЙЮОЩИ ТБЪДЕМБИ НБФЕНБФЙЛЙ, ЧЛМАЮБС УФБФЙУФЙЛХ. пДОЙН ЙЪ ОБЙВПМЕЕ ЙЪЧЕУФОЩИ РТПДХЛФПЧ УТЕДЙ РТПЗТБНН ДБООПЗП ФЙРБ СЧМСЕФУС Microsoft Excel. пУОПЧОЩН ЕЕ ОЕДПУФБФЛПН СЧМСЕФУС ФП, ЮФП ПОБ, ФБЛ ЦЕ, ЛБЛ Й ПРЕТБГЙПООБС УЙУФЕНБ Windows, ОЕ СЧМСЕФУС УЧПВПДОП ТБУРТПУФТБОСЕНПК. вЕУРМБФОПК БМШФЕТОБФЙЧПК ЬФПК РТПЗТБННЕ НПЦЕФ УМХЦЙФШ РТПЗТБННБ OpenOffice Calc, ОЙЮХФШ ОЕ ХУФХРБАЭБС ЕК РП ЖХОЛГЙПОБМШОЩН ЧПЪНПЦОПУФСН.

пВЕ РТПЗТБННЩ РПЪЧПМСАФ МЕЗЛП ПУХЭЕУФЧМСФШ ФБВМЙЮОЩЕ ЧЩЮЙУМЕОЙС, РТПЙЪЧПДЙФШ БОБМЙЪ, РПЙУЛ Й УПТФЙТПЧЛХ ЙОЖПТНБГЙЙ Ч ВБЪБИ ДБООЩИ, ПФПВТБЦБФШ ТЕЪХМШФБФЩ Ч ЧЙДЕ ДЙБЗТБНН. пОЙ ПВМБДБАФ ПВЫЙТОЩН ОБВПТПН ЖЙОБОУПЧЩИ Й НБФЕНБФЙЮЕУЛЙИ ЖХОЛГЙК Й РПЪЧПМСАФ ПУХЭЕУФЧМСФШ БЧФПНБФЙЮЕУЛЙК РПДВПТ РБТБНЕФТПЧ Ч УМПЦОЩИ ТБУЮЕФБИ. пФНЕФЙН ЕЭЕ ДЧЕ РТПЗТБННЩ ДМС ТБВПФЩ У ЬМЕЛФТПООЩНЙ ФБВМЙГБНЙ: KSpread, ЧИПДСЭХА Ч УПУФБЧ KOffice, Й Gnumeric. пВЕ РТПЗТБННЩ ЖХОЛГЙПОЙТХАФ Ч пу Linux. KSpread НПЦОП РПТЕЛПНЕОДПЧБФШ МАДСН ФПМШЛП ОБЮЙОБАЭЙН ПУЧБЙЧБФШ ОБЧЩЛЙ ТБВПФЩ У ЬМЕЛФТПООЩНЙ ФБВМЙГБНЙ. Gnumeric ЦЕ ПВМБДБЕФ ЪОБЮЙФЕМШОП ВПМШЫЙНЙ ЖХОЛГЙПОБМШОЩНЙ ЧПЪНПЦОПУФСНЙ Й УПДЕТЦЙФ ЧУЕ ОЕПВИПДЙНЩЕ ЙОУФТХНЕОФЩ ДМС ТБВПФЩ У ФБВМЙГБНЙ.
рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ


пУОПЧЩ МПЗЙЛЙ

пУОПЧЩ МПЗЙЛЙ ЧЩУЛБЪЩЧБОЙК

фБЛ ЛБЛ РТЙ ПТЗБОЙЪБГЙЙ ЧЩЮЙУМЕОЙК ЮБУФП РТЙИПДЙФУС ТБУУНБФТЙЧБФШ ФЕ ЙМЙ ЙОЩЕ МПЗЙЮЕУЛЙЕ ХУМПЧЙС, ФП НЩ ОБЮОЕН ЙЪМПЦЕОЙЕ У ПУОПЧ НБФЕНБФЙЮЕУЛПК МПЗЙЛЙ.

уМПЧП МПЗЙЛБ ПЪОБЮБЕФ УЙУФЕНБФЙЮЕУЛЙК НЕФПД ТБУУХЦДЕОЙК. нЩ РПЪОБЛПНЙНУС У ПДОЙН ЙЪ ТБЪДЕМПЧ ЬФПК ОБХЛЙ - ЙУЮЙУМЕОЙЕН ЧЩУЛБЪЩЧБОЙК. йУЮЙУМЕОЙЕ ЧЩУЛБЪЩЧБОЙК - УПЧПЛХРОПУФШ РТБЧЙМ, ЙУРПМШЪХЕНЩИ ДМС ПРТЕДЕМЕОЙС ЙУФЙООПУФЙ ЙМЙ МПЦОПУФЙ МПЗЙЮЕУЛЙИ РТЕДМПЦЕОЙК. мПЗЙЛЕ ЧЩУЛБЪЩЧБОЙК НПЦОП "ОБХЮЙФШ" ЧЩЮЙУМЙФЕМШОХА НБЫЙОХ, ЛПФПТБС ФБЛЙН ПВТБЪПН РПМХЮБЕФ ЧПЪНПЦОПУФШ "ТБУУХЦДБФШ", ИПФС Й ОБ ЧЕУШНБ РТЙНЙФЙЧОПН ХТПЧОЕ.

нБФЕНБФЙЛ дЦПТДЦ вХМШ (1815-1864) ПРЙУБМ БМЗЕВТХ, ПУОПЧБООХА ОБ ПРЕТБФПТБИ й, ймй Й ое Й ВХМЕЧЩИ РЕТЕНЕООЩИ, ЛПФПТЩЕ РТЙОЙНБАФ ФПМШЛП ДЧБ ЪОБЮЕОЙС, ОБРТЙНЕТ, 0 ЙМЙ 1. ьФЙ ЪОБЮЕОЙС НПЗХФ НПДЕМЙТПЧБФШУС ОБМЙЮЙЕН ЙМЙ ПФУХФУФЧЙЕН ФПЛБ Ч ЬМЕЛФТЙЮЕУЛПК ГЕРЙ, УПУФПСОЙСНЙ "чЛМАЮЕОП" ЙМЙ "чЩЛМАЮЕОП" ОЕЛПФПТПЗП РЕТЕЛМАЮБФЕМС. дБМЕЕ НЩ ТБУУНПФТЙН МПЗЙЮЕУЛЙЕ РТЕДМПЦЕОЙС, РПУФТПЕООЩЕ У РПНПЭША ЬФЙИ ПРЕТБФПТПЧ, ОБЪЩЧБЕНЩИ ФБЛЦЕ МПЗЙЮЕУЛЙНЙ УЧСЪЛБНЙ. ъОБЮЕОЙС ФБЛЙИ ЧЩТБЦЕОЙК ЧЩЮЙУМСАФУС Й РТЕПВТБЪХАФУС У РПНПЭША РТБЧЙМ ВХМЕЧПК БМЗЕВТЩ РТЙНЕТОП ФБЛ ЦЕ, ЛБЛ ЮЙУМПЧЩЕ ЧЩТБЦЕОЙС РТЕПВТБЪХАФУС Й ХРТПЭБАФУС Ч ПВЩЮОПК БТЙЖНЕФЙЛЕ.

чЩУЛБЪЩЧБОЙЕ ЙМЙ РТЕДМПЦЕОЙЕ - ЬФП РТПУФП ХФЧЕТЦДЕОЙЕ, ЛПФПТПЕ НПЦЕФ ВЩФШ ЙУФЙООП ЙМЙ МПЦОП. рТЙНЕТБНЙ НПЗХФ УМХЦЙФШ УМЕДХАЭЙЕ ЩФЧЕТЦДЕОЙС: "уЙДПТПЧХ 20 МЕФ", "уЙДПТПЧ - УФХДЕОФ". фБЛЙЕ ЧЩУЛБЪЩЧБОЙС ОБЪЩЧБАФУС БФПНБТОЩНЙ. рТЙНЕТПН УПУФБЧОПЗП РТЕДМПЦЕОЙС НПЦЕФ УМХЦЙФШ ЧЩУЛБЪЩЧБОЙЕ "уЙДПТПЧХ 20 МЕФ Й ПО УФХДЕОФ", ЛПФПТПЕ УПДЕТЦЙФ ДЧБ ПФДЕМШОЩИ БФПНБТОЩИ РТЕДМПЦЕОЙС (БФПНБ), ЛБЦДПЕ ЙЪ ЛПФПТЩИ НПЦЕФ ВЩФШ ЙУФЙООП ЙМЙ МПЦОП. еУМЙ, ОБРТЙНЕТ, уЙДПТПЧХ 19 МЕФ, ФП ЧЩУЛБЪЩЧБОЙЕ "уЙДПТПЧХ 20 МЕФ" МПЦОП. уПУФБЧОЩЕ Й БФПНБТОЩЕ РТЕДМПЦЕОЙС ОБЪЩЧБАФУС Ч МПЗЙЛЕ ЖПТНХМБНЙ.

ч ЙУЮЙУМЕОЙЙ ЧЩУЛБЪЩЧБОЙК ОЕ ТБУУНБФТЙЧБАФУС ХФЧЕТЦДЕОЙС, ЙНЕАЭЙЕ ЪОБЮЕОЙС, ПФМЙЮОЩЕ ПФ "ЙУФЙООП" Й "МПЦОП". йУРПМШЪХЕФУС ДЧХЪОБЮОБС МПЗЙЛБ: ПФЧЕФ, ПФМЙЮОЩК ПФ "дБ", ЕУФШ "оЕФ". дТЕЧОЙЕ ЖЙМПУПЖЩ ОБЪЧБМЙ ЬФПФ РТЙОГЙР "ЪБЛПОПН ЙУЛМАЮЕООПЗП ФТЕФШЕЗП". уХЭЕУФЧХАФ ДТХЗЙЕ МПЗЙЛЙ, РТБЧЙМБ ЛПФПТЩИ ПФМЙЮБАФУС ПФ РТБЧЙМ ЙУЮЙУМЕОЙС ЧЩУЛБЪЩЧБОЙК, ОБРТЙНЕТ, ФТЕИЪОБЮОБС МПЗЙЛБ УП ЪОБЮЕОЙСНЙ "дБ", "оЕФ", "оЕ ЪОБА" ЙМЙ ФБЛ ОБЪЩЧБЕНБС ОЕЮЕФЛБС МПЗЙЛБ, ЗДЕ НПЦОП ПРЕТЙТПЧБФШ ХФЧЕТЦДЕОЙСНЙ ФЙРБ "у ЧЕТПСФОПУФША 90% ЧЕМЙЮЙОБ б ВПМШЫЕ 3".

ч ФБВМЙГЕ РТЙЧПДСФУС ПВПЪОБЮЕОЙС, ЙУРПМШЪХЕНЩЕ ДМС МПЗЙЮЕУЛЙИ УЧСЪПЛ Ч ТБЪМЙЮОПК МЙФЕТБФХТЕ. нЩ Ч ДБМШОЕКЫЕН ЙЪМПЦЕОЙЙ ВХДЕН ЙУРПМШЪПЧБФШ ПВПЪОБЮЕОЙС, РТЙОСФЩЕ Ч ВПМШЫЙОУФЧЕ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС. йУФЙООПЕ ЪОБЮЕОЙЕ ДБМЕЕ ВХДЕН ПВПЪОБЮБФШ УЙНЧПМПН T (ПФ True - ЙУФЙОБ), Б МПЦОПЕ - F (ПФ False - МПЦШ).

уЧСЪЛБ | оБЪЧБОЙЕ | вХМЕЧБ БМЗЕВТБ | мПЗЙЛБ | рТПЗТБННЙТПЧБОЙЕ
й | ЛПОЯАОЛГЙС |  |  | &&
ймй | ДЙЪЯАОЛГЙС | + |  | ||
ое | ПФТЙГБОЙЕ |  |  | !


уПУФБЧОЩЕ РТЕДМПЦЕОЙС

дМС РПУФТПЕОЙС УПУФБЧОЩИ РТЕДМПЦЕОЙК ЮБЭЕ ЧУЕЗП ЙУРПМШЪХАФУС УЧСЪЛЙ - й (&&, ЛПОЯАОЛГЙС) Й ймй (||, ДЙЪЯАОЛГЙС). уНЩУМ УЧСЪЛЙ й - ФПФ ЦЕ, ЮФП Й Ч ТБЪЗПЧПТОПК ТЕЮЙ: ЛПОЯАОЛГЙС ДЧХИ РТЕДМПЦЕОЙК ЙУФЙООБ ФПЗДБ Й ФПМШЛП ФПЗДБ, ЛПЗДБ ПОЙ ПВБ ЙУФЙООЩ. уЧСЪЛБ ймй "ДЧПКУФЧЕООБ" УЧСЪЛЕ й: ДЙЪЯАОЛГЙС ДЧХИ РТЕДМПЦЕОЙК МПЦОБ ФПМШЛП ЕУМЙ ПОЙ ПВБ МПЦОЩ.

дЙЪЯАОЛГЙС ОЕУЛПМШЛЙИ РТЕДМПЦЕОЙК МПЦОБ ФПЗДБ, ЛПЗДБ ЧУЕ ПОЙ МПЦОЩ. тБУУНПФТЙН, ОБРТЙНЕТ, ХФЧЕТЦДЕОЙЕ "рМБФБ ЪБ РПДРЙУЛХ УОЙЦЕОБ ДМС УФХДЕОФПЧ, МЙГ НПМПЦЕ 21 ЗПДБ Й ВЕЪТБВПФОЩИ". уПЗМБУОП ЕНХ, РТЙИПДЙФУС РМБФЙФШ РПМОХА ГЕОХ, ФПМШЛП ЕУМЙ ЧУЕ ФТЙ ЙУЛМАЮЕОЙС ОБТХЫЕОЩ. бОБМПЗЙЮОПЕ ПВПВЭЕОЙЕ ЧЕТОП Й ДМС УЧСЪЛЙ й. лПОЯАОЛГЙС ОЕУЛПМШЛЙИ РТЕДМПЦЕОЙК ЙУФЙООБ, ФПМШЛП ЕУМЙ ЧУЕ ПОЙ ЙУФЙООЩ.

лТПНЕ й Й ймй, ЙНЕЕФУС ЕЭЕ НПДЙЖЙЛБФПТ ое (!, ПФТЙГБОЙЕ) ТЕЪХМШФБФ РТЙНЕОЕОЙС ЛПФПТПЗП РТПФЙЧПРПМПЦЕО ЕЗП БТЗХНЕОФХ: !T = F, !F = T. ч НБФЕНБФЙЮЕУЛПК МЙФЕТБФХТЕ ДМС ПВПЪОБЮЕОЙС ПФТЙГБОЙС ЧЩТБЦЕОЙС РТПЧПДСФ ЗПТЙЪПОФБМШОХА ЮЕТФХ ОБД ОЙН.

ъОБЮЕОЙС МПЗЙЮЕУЛЙИ ЧЩТБЦЕОЙК, УПДЕТЦБЭЙИ УЧСЪЛЙ й, ймй Й НПДЙЖЙЛБФПТ ое, ЧЩЮЙУМСАФУС У РПНПЭША ФБЛ ОБЪЩЧБЕНПК ФБВМЙГЩ ЙУФЙООПУФЙ:

A | B | A && B | A || B | ! A
T | T | T | T | F
T | F | F | T | F
F | T | F | T | T
F | F | F | F | T

рПУМЕДПЧБФЕМШОПУФШ ЧЩРПМОЕОЙС ПРЕТБГЙК РТЙ ПФУХФУФЧЙЙ УЛПВПЛ Ч УМПЦОЩИ МПЗЙЮЕУЛЙИ ЖПТНХМБИ ПРТЕДЕМСЕФУС УФБТЫЙОУФЧПН ПРЕТБГЙК (РТЙПТЙФЕФПН). оБЙЧЩУЫЙК РТЙПТЙФЕФ ЙНЕЕФ ПФТЙГБОЙЕ, ЪБФЕН УМЕДХЕФ ЛПОЯАОЛГЙС Й, ОБЛПОЕГ, ДЙЪЯАОЛГЙС.

рТЙНЕТ
чЩЮЙУМЙФШ ЪОБЮЕОЙЕ МПЗЙЮЕУЛПК ЖПТНХМЩ !X && Y || X && Z
РТЙ УМЕДХАЭЙИ ЪОБЮЕОЙСИ РЕТЕНЕООЩИ: X = F, Y = T, Z = T.

тЕЫЕОЙЕ
пФНЕФЙН ГЙЖТБНЙ РПТСДПЛ ЧЩРПМОЕОЙС ПРЕТБГЙК:
1 |  | 2 |  | 4 |  | 3 |
! | X | && | Y | || | X | && | Z.
йУРПМШЪХС ФБВМЙГХ ЙУФЙООПУФЙ, ЧЩЮЙУМЙН ЖПТНХМХ РП ЫБЗБН:

1) !F = T; | 2) T && T = T;
3) F && T = F; | 4) T || F = T.

йФБЛ, ЖПТНХМБ РТЙ ДБООЩИ ЪОБЮЕОЙСИ БТЗХНЕОФПЧ РТЙОЙНБЕФ ЪОБЮЕОЙЕ T.

ъБДБОЙЕ
пРТЕДЕМЙФЕ ЪОБЮЕОЙЕ МПЗЙЮЕУЛПЗП ЧЩТБЦЕОЙС !(X>Z) && !(X=Y), ЕУМЙ:
1) X = 3, Y = 5, Z = 2; 2) X = 0, Y = 1, Z = 19;


ъБЛПОЩ МПЗЙЛЙ

ъБЛПОЩ ВХМЕЧПК БМЗЕВТЩ

рТЙ ТБВПФЕ У МПЗЙЮЕУЛЙНЙ ЧЩТБЦЕОЙСНЙ ЮБУФП ЙУРПМШЪХАФ УМЕДХАЭЙЕ ЪБЛПОЩ.

ъБЛПОЩ
ЛПННХФБФЙЧОПУФЙ 		б && ч = B && A
A || B = B || A
ъБЛПОЩ
БУУПГЙБФЙЧОПУФЙ 		A && (B && C) = (A && B) && C
A || (B|| C) = (A || B) || C
ъБЛПОЩ
ДЙУФТЙВХФЙЧОПУФЙ 		A && (B || C) = (A && B) || (A && C)
A || (B && C) = (A || B) && (A || C)
уЧПКУФЧБ ПРЕТБГЙК
й, ймй 		A && T = A; A && F = F
A || F = A; A || T = T
уЧПКУФЧБ ПФТЙГБОЙС A && !A = F; A || !A = T

ъБЛПО ЛПННХФБФЙЧОПУФЙ ХФЧЕТЦДБЕФ, ЮФП НПЦОП РЕТЕУФБЧМСФШ ПРЕТБОДЩ РТЙ ЙУРПМШЪПЧБОЙЙ ЛПОЯАОЛГЙЙ ЙМЙ ДЙЪЯАОЛГЙЙ. ьФП НПЦЕФ РПЛБЪБФШУС ПЮЕЧЙДОЩН, ОП ЙНЕАФУС ПРЕТБФПТЩ ЧТПДЕ БТЙЖНЕФЙЮЕУЛПЗП НЙОХУБ, ДМС ЛПФПТЩИ ЬФП ОЕЧЕТОП: A - B ПФМЙЮОП ПФ B - A. ъБЛПО БУУПГЙБФЙЧОПУФЙ РПЪЧПМСЕФ ТБУУФБЧМСФШ УЛПВЛЙ РТПЙЪЧПМШОЩН ПВТБЪПН, ЕУМЙ Ч МПЗЙЮЕУЛПН ЧЩТБЦЕОЙЙ ЙУРПМШЪХЕФУС МЙЫШ ПДОБ ЙЪ УЧСЪПЛ && Й ||. ч ФБЛЙИ УМХЮБСИ НПЦОП ЧППВЭЕ ПВПКФЙУШ ВЕЪ УЛПВПЛ, ФБЛ ЛБЛ ЪБЛПО БУУПГЙБФЙЧОПУФЙ ЗБТБОФЙТХЕФ РПМХЮЕОЙЕ ПДОПЗП Й ФПЗП ЦЕ ТЕЪХМШФБФБ ОЕЪБЧЙУЙНП ПФ ФПЗП, ЛБЛ УЗТХРРЙТПЧБОЩ РТЕДМПЦЕОЙС.

чНЕУФЕ ЬФЙ РСФШ ЪБЛПОПЧ ПРТЕДЕМСАФ ВХМЕЧХ БМЗЕВТХ. йЪ ОЙИ НПЦОП РПМХЮЙФШ ДТХЗЙЕ РПМЕЪОЩЕ ЪБЛПОЩ, ОБРТЙНЕТ, ФБЛЙЕ:

дПРПМОЕОЙЕ | !( !A) = A
йДЕНРПФЕОФОПУФШ | A && A = A; A || A = A
рПЗМПЭЕОЙЕ | A && (A || B) = A

рТЙЧЕДЕН ПЮЕОШ РПХЮЙФЕМШОПЕ ДПЛБЪБФЕМШУФЧП ЪБЛПОБ РПЗМПЭЕОЙС (РПРТПВХКФЕ ОБКФЙ ЕЗП УБНЙ РТЕЦДЕ, ЮЕН ПЪОБЛПНЙФШУС У ТЕЫЕОЙЕН).
A && (A || B) = |
 | { УЧПКУФЧП ПРЕТБГЙЙ ймй }
(A || F) && (A || B) = |
 | { ДЙУФТЙВХФЙЧОПУФШ }
A || (F && B) = |
 | { ЛПННХФБФЙЧОПУФШ }
A || (B && F) = |
 | { УЧПКУФЧП ПРЕТБГЙЙ й }
A || F = |
 | { УЧПКУФЧП ПРЕТБГЙЙ ймй }
A |

ъБНЕФЙН, ЮФП ВПМШЫЙОУФЧП ЪБЛПОПЧ УХЭЕУФЧХЕФ Ч ДЧХИ РПИПЦЙИ ЖПТНБИ. рТЙОГЙР ДЧПКУФЧЕООПУФЙ ЗМБУЙФ, ЮФП МАВБС ФЕПТЕНБ ВХМЕЧПК БМЗЕВТЩ ПУФБЕФУС ЙУФЙООПК, ЕУМЙ Ч ЕЕ ЖПТНХМЙТПЧЛЕ ЪБНЕОЙФШ ЧУЕ УЧСЪЛЙ й ОБ ймй, ймй ОБ й, ЧУЕ T ОБ F Й ЧУЕ F ОБ T.

ъБДБОЙС

  1. хРТПУФЙФЕ ЧЩТБЦЕОЙС:
    1) !X || !(X || Y) || !(Y && !(X && Y));
    2) !(X || Y || !(X && Y)) && !(Y ||X).
  2. ъБДБОЩ МПЗЙЮЕУЛЙЕ ЖХОЛГЙЙ:
    F1 = X && Y || X && Z || !Y && Z Й F2 = (X && Y || Y && Z || X && !Z) && (X && !Y || !Y && Z).
    хРТПУФЙФЕ ЬФЙ ЖХОЛГЙЙ Й РТПЧЕТШФЕ, СЧМСАФУС МЙ ПОЙ ФПЦДЕУФЧЕОП ТБЧОЩНЙ НЕЦДХ УПВПК, Ф. Е. УПЧРБДБАЭЙНЙ ДМС ЧУЕИ ЧПЪНПЦОЩИ ЪОБЮЕОЙК РЕТЕНЕООЩИ X, Y Й Z.


йНРМЙЛБГЙС Й ЬЛЧЙЧБМЕОФОПУФШ

йЪЧЕУФОП, ЮФП МАВБС МПЗЙЮЕУЛБС ЖПТНХМБ НПЦЕФ ВЩФШ ЧЩТБЦЕОБ ЮЕТЕЪ ФТЙ ТБОЕЕ ТБУУНПФТЕООЩЕ МПЗЙЮЕУЛЙЕ ПРЕТБГЙЙ, ПДОБЛП ОБ РТБЛФЙЛЕ ЮБУФП ЙУРПМШЪХАФ ЕЭЕ ДЧЕ МПЗЙЮЕУЛЙЕ УЧСЪЛЙ. рЕТЧБС ЙЪ ОЙИ ОБЪЩЧБЕФУС ЙНРМЙЛБГЙЕК Й УМХЦЙФ ДМС ЪБДБОЙС ФБЛ ОБЪЩЧБЕНЩИ ХУМПЧОЩИ ЧЩУЛБЪЩЧБОЙК. ч ТХУУЛПН СЪЩЛЕ ЬФПК МПЗЙЮЕУЛПК ПРЕТБГЙЙ УППФЧЕФУФЧХАФ ЖТБЪЩ ЕУМЙ ..., ФП ... ЙМЙ ЛПЗДБ ..., ФПЗДБ ... йНРМЙЛБГЙС - ДЧХИНЕУФОБС ПРЕТБГЙС: ЮБУФШ ЖПТНХМЩ ДП ЙНРМЙЛБГЙЙ ОБЪЩЧБАФ ПУОПЧБОЙЕН ХУМПЧОПЗП ЧЩУЛБЪЩЧБОЙС, Б ЮБУФШ, ТБУРПМПЦЕООХА ЪБ ОЕК - УМЕДУФЧЙЕН. ч МПЗЙЮЕУЛЙИ ЖПТНХМБИ ЙНРМЙЛБГЙС ПВПЪОБЮБЕФУС ЪОБЛПН ->. пРЕТБГЙС A -> B ПРТЕДЕМСЕФ МПЗЙЮЕУЛХА ЖХОЛГЙА, ФПЦДЕУФЧЕООП УПЧРБДБАЭХА У ЖХОЛГЙЕК !A || B.

рТЙНЕТ
дБОП УМПЦОПЕ ЧЩУЛБЪЩЧБОЙЕ: "еУМЙ ЧЩЗМСОЕФ УПМОГЕ, ФП УФБОЕФ ФЕРМП". фТЕВХЕФУС ЪБРЙУБФШ ЕЗП Ч ЧЙДЕ МПЗЙЮЕУЛПК ЖПТНХМЩ.
пВПЪОБЮЙН ЮЕТЕЪ б РТПУФПЕ ЧЩУЛБЪЩЧБОЙЕ "ЧЩЗМСОЕФ УПМОГЕ", Б ЮЕТЕЪ ч - "УФБОЕФ ФЕРМП". фПЗДБ МПЗЙЮЕУЛПК ЖПТНХМПК ЬФПЗП УМПЦОПЗП ЧЩУЛБЪЩЧБОЙС ВХДЕФ ЙНРМЙЛБГЙС: A -> B.

дТХЗПК ТБУРТПУФТБОЕООПК ПРЕТБГЙЕК СЧМСЕФУС ЬЛЧЙЧБМЕОФОПУФШ. еЕ БОБМПЗ Ч ТБЪЗПЧПТОПК ТЕЮЙ - ЖТБЪЩ, РПДПВОЩЕ УМПЧПУПЮЕФБОЙА ФПЗДБ Й ФПМШЛП ФПЗДБ, ЛПЗДБ ... ЙМЙ ЕУМЙ Й ФПМШЛП ЕУМЙ ... дМС ЕЕ ПВПЪОБЮЕОЙС ЙУРПМШЪХЕФУС УЙНЧПМ <-> ЙМЙ РТПУФП =. нЩ ВХДЕН ЙУРПМШЪПЧБФШ ДМС ПВПЪОБЮЕОЙС ЬЛЧЙЧБМЕОФОПУФЙ ПВЕ ЬФЙ ЖПТНЩ. пФНЕФЙН, ЮФП МПЗЙЮЕУЛБС ЖПТНХМБ A <-> B ЬЛЧЙЧБМЕОФОБ ЖПТНХМЕ (A -> B) && (B -> A).

рТЙНЕТ
дБОП УМПЦОПЕ ЧЩУЛБЪЩЧБОЙЕ: "ч ЪБЮЕФОХА ЛОЙЦЛХ ЧЩУФБЧМСЕФУС ПГЕОЛБ ЪБ ЬЛЪБНЕО ФПЗДБ Й ФПМШЛП ФПЗДБ, ЛПЗДБ ПО УДБО". оХЦОП РТЕПВТБЪПЧБФШ ЧЩУЛБЪЩЧБОЙЕ Л МПЗЙЮЕУЛПК ЖПТНХМЕ. пВПЪОБЮЙН ЮЕТЕЪ б РТПУФПЕ ЧЩУЛБЪЩЧБОЙЕ "ч ЪБЮЕФОХА ЛОЙЦЛХ ЧЩУФБЧМСЕФУС ПГЕОЛБ ЪБ ЬЛЪБНЕО", Б ЮЕТЕЪ ч - "ьЛЪБНЕО УДБО". фПЗДБ МПЗЙЮЕУЛБС ЖПТНХМБ УМПЦОПЗП ЧЩУЛБЪЩЧБОЙС ЪБРЙЫЕФУС Ч ЧЙДЕ A <-> B.

рТЙЧЕДЕН ФБВМЙГХ ЙУФЙООПУФЙ, ЪБДБАЭХА ПРЕТБГЙЙ ЙНРМЙЛБГЙЙ Й ЬЛЧЙЧБМЕОФОПУФЙ:

A | B | A -> B | A <-> B
T | T | T | T
T | F | F | F
F | T | T | F
F | F | T | T

тБУУНПФТЕООЩЕ ОБНЙ МПЗЙЮЕУЛЙЕ ПРЕТБГЙЙ Ч РПТСДЛЕ ХВЩЧБОЙС РТЙПТЙФЕФПЧ ТБУРПМБЗБАФУС ФБЛ: ПФТЙГБОЙЕ, ЛПОЯАОЛГЙС, ДЙЪЯАОЛГЙС, ЙНРМЙЛБГЙС, ЬЛЧЙЧБМЕОФОПУФШ.


рТЕПВТБЪПЧБОЙЕ ЧЩТБЦЕОЙК

рТЕПВТБЪПЧБОЙЕ МПЗЙЮЕУЛЙИ ЧЩТБЦЕОЙК

фБВМЙЮОЩК УРПУПВ ПРТЕДЕМЕОЙС ЙУФЙООПУФЙ УМПЦОПЗП ЧЩТБЦЕОЙС ЙНЕЕФ ПЗТБОЙЮЕООПЕ РТЙНЕОЕОЙЕ, ФБЛ ЛБЛ РТЙ ХЧЕМЙЮЕОЙЙ ЮЙУМБ МПЗЙЮЕУЛЙИ РЕТЕНЕООЩИ РТЙИПДЙФУС РЕТЕВЙТБФШ УМЙЫЛПН НОПЗП ЧБТЙБОФПЧ. ч ФБЛЙИ УМХЮБСИ ЙУРПМШЪХАФ УРПУПВ РТЙЧЕДЕОЙС ЖПТНХМ Л ОПТНБМШОПК ЖПТНЕ. жПТНХМБ ЙНЕЕФ ОПТНБМШОХА ЖПТНХ, ЕУМЙ Ч ОЕК ПФУХФУФЧХАФ ЪОБЛЙ ЬЛЧЙЧБМЕОФОПУФЙ, ЙНРМЙЛБГЙЙ Й ДЧПКОПЗП ПФТЙГБОЙС, Б ЧУЕ ЪОБЛЙ ПФТЙГБОЙС ПФОПУСФУС ФПМШЛП Л РЕТЕНЕООЩН, Б ОЕ Л ЧЩТБЦЕОЙСН.

уМЕДХАЭЙЕ ЖПТНХМЩ РТЕПВТБЪПЧБОЙК ДПРПМОСАФ УЖПТНХМЙТПЧБООЩЕ ЧЩЫЕ ЪБЛПОЩ ВХМЕЧПК БМЗЕВТЩ Й РПЪЧПМСАФ РТЙЧПДЙФШ ЖПТНХМЩ Л ОПТНБМШОПК ЖПТНЕ.
!( !A) = A.
!(A && B) = !A || !B.
!(A || B) = !A && !B.
!(A -> B) = A && !B.
A -> B = !A || B.
A <-> B = (A && B) || (!A && !B) =( !A || B) && (A || !B).

ъОБОЙЕ ЪБЛПОПЧ НБФЕНБФЙЮЕУЛПК МПЗЙЛЙ РПЪЧПМСЕФ ТЕЫБФШ ФБЛ ОБЪЩЧБЕНЩЕ МПЗЙЮЕУЛЙЕ ЪБДБЮЙ, ЧПЪОЙЛБАЭЙЕ Ч ТБЪМЙЮОЩИ ЦЙЪОЕООЩИ УЙФХБГЙСИ. чПУРПМШЪХЕНУС ЙУЮЙУМЕОЙЕН ЧЩУЛБЪЩЧБОЙК ДМС ТЕЫЕОЙС УМЕДХАЭЙИ ДЧХИ ЪБДБЮ.

рТЙНЕТ

уМЕДПЧБФЕМШ ДПРТБЫЙЧБМ ЮЕФЩТЕИ ЗБОЗУФЕТПЧ РП ДЕМХ П РПИЙЭЕОЙЙ БЧФПНПВЙМС.

дЦЕЛ УЛБЪБМ: "еУМЙ фПН ОЕ ХЗПОСМ БЧФПНПВЙМС, ФП ЕЗП ХЗОБМ вПВ".

вПВ УЛБЪБМ: "еУМЙ дЦЕЛ ОЕ ХЗПОСМ БЧФПНПВЙМС, ФП ЕЗП ХЗОБМ фПН".

жТЕД УЛБЪБМ: "еУМЙ фПН ОЕ ХЗПОСМ БЧФПНПВЙМС, ФП ЕЗП ХЗОБМ дЦЕЛ".

фПН УЛБЪБМ: "еУМЙ вПВ ОЕ ХЗПОСМ БЧФПНПВЙМС, ФП ЕЗП ХЗОБМ С".

хДБМПУШ ЧЩСУОЙФШ, ЮФП вПВ УПМЗБМ, Б фПН УЛБЪБМ РТБЧДХ. рТБЧДЙЧЩ МЙ РПЛБЪБОЙС дЦЕЛБ Й жТЕДБ? лФП ХЗОБМ НБЫЙОХ?

тЕЫЕОЙЕ
пРТЕДЕМЙН УМЕДХАЭЙЕ РТПУФЩЕ ЧЩУЛБЪЩЧБОЙС:
б - "НБЫЙОХ ХЗОБМ вПВ"; | ч - "НБЫЙОХ ХЗОБМ фПН";
у - "НБЫЙОХ ХЗОБМ дЦЕЛ"; | D - "НБЫЙОХ ХЗОБМ жТЕД".

ъБРЙЫЕН (Й УТБЪХ ХРТПУФЙН) УМПЦОЩЕ ЧЩУЛБЪЩЧБОЙС, ЧЩТБЦБАЭЙЕ РТЙЧЕДЕООЩЕ
ЖБЛФЩ:
(1) !B -> A  =  !( !B) || A   =
B || A
(ЙУФЙООПУФШ ОЕЙЪЧЕУФОБ);
(2) !C -> B  =  !( !C) || B = C || B = F (ЧЩУЛБЪЩЧБОЙЕ МПЦОП);
(3) !B -> C  =  !( !B) || C = B || C = C || B
 (ЙУФЙООПУФШ ОЕЙЪЧЕУФОБ);
(4) !A -> B  =  !( !A) || B = A || B = T
 (ЧЩУЛБЪЩЧБОЙЕ ЙУФЙООП).

ъБНЕФЙН, ЮФП РПУМЕ ХРТПЭЕОЙС ЧЩУЛБЪЩЧБОЙЕ (3) УПЧРБМП У ЧЩУЛБЪЩЧБОЙЕН (2), ЛПФПТПЕ МПЦОП. фБЛЙН ПВТБЪПН, ЧЩУЛБЪЩЧБОЙЕ (3), РТПЙЪОЕУЕООПЕ жТЕДПН, ФБЛЦЕ МПЦОП.

йЪ МПЦОПУФЙ ЧЩУЛБЪЩЧБОЙС (2) УМЕДХЕФ МПЦОПУФШ ЛБЦДПЗП ДЙЪЯАОЛФБ, ЧИПДСЭЕЗП Ч ОЕЗП, Ф. Е. C = F Й B = F.

рПДУФБЧЙЧ ОБКДЕООПЕ ЪОБЮЕОЙЕ B Ч ЧЩУЛБЪЩЧБОЙЕ (4) РПМХЮБЕН A || B = A || F = T, ЮФП ЧПЪНПЦОП МЙЫШ ЕУМЙ A = T, Ф. Е. НБЫЙОХ ХЗОБМ вПВ.

тБУУНПФТЙН ЧЩУЛБЪЩЧБОЙЕ дЦЕЛБ (1): B || A = F || T = T - ПОП ЙУФЙООП.

йФБЛ, дЦЕЛ УЛБЪБМ РТБЧДХ, Б жТЕД УПЧТБМ. нБЫЙОХ ХЗОБМ вПВ.

рТЙНЕТ
лФП ЙЪ МАДЕК A, B, C Й D ЙЗТБЕФ, Б ЛФП ОЕ ЙЗТБЕФ Ч ЫБИНБФЩ, ЕУМЙ ЙЪЧЕУФОП УМЕДХАЭЕЕ:
Б) ЕУМЙ б ЙМЙ ч ЙЗТБЕФ, ФП у ОЕ ЙЗТБЕФ;
В) ЕУМЙ ч ОЕ ЙЗТБЕФ, ФП ЙЗТБАФ у Й D;
Ч) у ЙЗТБЕФ.

тЕЫЕОЙЕ
пРТЕДЕМЙН УМЕДХАЭЙЕ РТПУФЩЕ ЧЩУЛБЪЩЧБОЙС:
б - "б ЙЗТБЕФ Ч ЫБИНБФЩ"; | ч - "ч ЙЗТБЕФ Ч ЫБИНБФЩ";
у - "у ЙЗТБЕФ Ч ЫБИНБФЩ"; | D - "D ЙЗТБЕФ Ч ЫБИНБФЩ".

ъБРЙЫЕН УМПЦОЩЕ ЧЩУЛБЪЩЧБОЙС, ЧЩТБЦБАЭЙЕ ЙЪЧЕУФОЩЕ ЖБЛФЩ:
a) (A && B) -> !C;
В) !B -> C && D;
Ч) C.

ъБРЙЫЕН РТПЙЪЧЕДЕОЙЕ (ЛПОЯАОЛГЙА) ХЛБЪБООЩИ УМПЦОЩИ ЧЩУЛБЪЩЧБОЙК. фБЛ ЛБЛ ЧУЕ ПОЙ ЙУФЙООЩ, ФП Й РТПЙЪЧЕДЕОЙЕ ФПЦЕ ЙУФЙООП:

((A || B) -> !C) && ( !B -> C && D) && C = T.

хРТПУФЙЧ ЬФХ ЖПТНХМХ, РПМХЮЙН

!A && !B && C && D = T.

пФУАДБ РП УЧПКУФЧБН ЛПОЯАОЛГЙЙ РПМХЮБЕН, A = F, B = F, C = T, D = T. ъОБЮЙФ, Ч ЫБИНБФЩ ЙЗТБАФ C Й D, Б A Й B - ОЕ ЙЗТБАФ.

чП НОПЗЙИ ЪБДБЮБИ, УЧСЪБООЩИ У ПВТБВПФЛПК ДБООЩИ, РТЙИПДЙФУС ХРТПЭБФШ МПЗЙЮЕУЛЙЕ ЧЩТБЦЕОЙС. рТЙЧЕДЕН РТЙНЕТ, ДЕНПОУФТЙТХАЭЙК ФЕИОЙЛХ ХРТПЭЕОЙС МПЗЙЮЕУЛЙИ ЖПТНХМ.

рТЙНЕТ
хРТПУФЙН МПЗЙЮЕУЛХА ЖПТНХМХ !( (A || B) -> !( B || C)).

тЕЫЕОЙЕ
!( (A || B) -> !( B || C)) =
!( !(A || B) || !( B || C)) =
!( !(A || B)) && !( !( B || C)) =
(A || B) && (B || C) = { ДЙУФТЙВХФЙЧОПУФШ ПРЕТБГЙЙ ймй }
(A || B) && B || ( A || B) && C =
A && B || B || A && C || B && C =
B && (A || T) || C && (A && B) =
B || A && C || B && C =
B && (T || C) || A && C = B || A && C.

ъБДБОЙС

  1. хРТПУФЙФЕ УМЕДХАЭХА МПЗЙЮЕУЛХА ЖПТНХМХ Й ПРТЕДЕМЙФЕ ЕЕ ЙУФЙООПУФШ:
    (A -> B) && (B -> (C || !A)) && (!D -> (A && !C)) && (D -> A).
  2. пРТЕДЕМЙФЕ ЪОБЮЕОЙЕ ЖПТНХМ:
    1) (( C || B) -> B) && ( A && B) -> B ;
    2) (( C || B) -> B) && ( A || B) -> B.
  3. ч ОБТХЫЕОЙЙ РТБЧЙМ ПВНЕОБ ЧБМАФЩ РПДПЪТЕЧБАФУС ЮЕФЩТЕ ТБВПФОЙЛБ ВБОЛБ - A, B, C Й D. йЪЧЕУФОП УМЕДХАЭЕЕ:

    a) еУМЙ A ОБТХЫЙМ, ФП Й B ОБТХЫЙМ РТБЧЙМБ ПВНЕОБ ЧБМАФЩ.

    В) еУМЙ B ОБТХЫЙМ, ФП Й C ОБТХЫЙМ ЙМЙ A ОЕ ОБТХЫБМ.

    Ч) еУМЙ D ОЕ ОБТХЫЙМ, ФП A ОБТХЫЙМ, Б C ОЕ ОБТХЫБМ.

    З) еУМЙ D ОБТХЫЙМ, ФП Й A ОБТХЫЙМ.

    лФП ЙЪ РПДПЪТЕЧБЕНЩИ ОБТХЫЙМ РТБЧЙМБ ПВНЕОБ ЧБМАФЩ? тЕЫЙФЕ ЪБДБЮХ У РПНПЭША МПЗЙЮЕУЛЙИ ПРЕТБГЙК.

  4. бМЕЫБ, вПТС Й зТЙЫБ ОБЫМЙ Ч ЪЕНМЕ УФБТЙООЩК УПУХД. тБУУНБФТЙЧБС ХДЙЧЙФЕМШОХА ОБИПДЛХ, ЛБЦДЩК ЧЩУЛБЪБМ РП ДЧБ РТЕДРПМПЦЕОЙС:

    бМЕЫБ: "ьФП УПУХД ЗТЕЮЕУЛЙК Й ЙЪЗПФПЧМЕО Ч V ЧЕЛЕ".

    вПТС: "ьФП УПУХД ЖЙОЙЛЙКУЛЙК Й ЙЪЗПФПЧМЕО Ч III ЧЕЛЕ".

    зТЙЫБ: "ьФП УПУХД ОЕ ЗТЕЮЕУЛЙК Й ЙЪЗПФПЧМЕО Ч IV ЧЕЛЕ".

    ъОБЛПНЩК БТИЕПМПЗ ПРТЕДЕМЙМ, ЮФП ЛБЦДЩК ЙЪ ОЙИ РТБЧ ФПМШЛП Ч ПДОПН ЙЪ ДЧХИ РТЕДРПМПЦЕОЙК. зДЕ Й Ч ЛБЛПН ЧЕЛЕ ЙЪЗПФПЧМЕО УПУХД?


лБМШЛХМСФПТЩ

лБЛ ХЦЕ ВЩМП УЛБЪБОП ЧЩЫЕ, РТПЗТБННЩ, ЙНЙФЙТХАЭЙЕ ЖХОЛГЙЙ Й ЧОЕЫОЙК ЧЙД ПВЩЛОПЧЕООЩИ ЛБТНБООЩИ ЛБМШЛХМСФПТПЧ, УХЭЕУФЧХАФ ЧП ЧУЕИ ПРЕТБГЙПООЩИ УЙУФЕНБИ. чУЕ ПОЙ УПДЕТЦБФ ТСД ЛОПРПЛ ДМС ЧЧПДБ ГЙЖТ Й ПУОПЧОЩИ БТЙЖНЕФЙЮЕУЛЙИ ДЕКУФЧЙК, Б ФБЛЦЕ РБОЕМШ, ПФПВТБЦБАЭХА РПМХЮБЕНЩЕ ТЕЪХМШФБФЩ. вПМШЫЙОУФЧП ЙЪ ОЙИ Ч ДПРПМОЕОЙЕ Л УФБОДБТФОПНХ ОБВПТХ БТЙЖНЕФЙЮЕУЛЙИ ПРЕТБГЙК РТЕДМБЗБЕФ ЧПЪНПЦОПУФШ ЧЩЮЙУМЕОЙС ЬМЕНЕОФБТОЩИ НБФЕНБФЙЮЕУЛЙИ ЖХОЛГЙК, ФБЛЙИ ЛБЛ МПЗБТЙЖНЙЮЕУЛЙЕ, УФЕРЕООЩЕ Й ФТЙЗПОПНЕФТЙЮЕУЛЙЕ (БТЗХНЕОФЩ РПУМЕДОЙИ НПЗХФ ВЩФШ ЧЩТБЦЕОЩ ЛБЛ Ч ТБДЙБОБИ, ФБЛ Й ЗТБДХУБИ). нОПЗЙЕ РПЪЧПМСАФ ТБВПФБФШ У ЮЙУМБНЙ Ч ТБЪМЙЮОЩИ УЙУФЕНБИ УЮЙУМЕОЙС.

уМЕДХАЭЙК ТЙУХОПЛ ДБЕФ РТЕДУФБЧМЕОЙЕ П ЧОЕЫОЕН ЧЙДЕ ФЙРЙЮОПЗП РТЕДУФБЧЙФЕМС РТПЗТБНН ДБООПЗП ЛМБУУБ - ЛБМШЛХМСФПТЕ KCalc, ИПТПЫП ЪОБЛПНПЗП РПМШЪПЧБФЕМСН пу Linux.

рТПГЕУУ ТБВПФЩ ОБ ЛБМШЛХМСФПТЕ РТПУФ Й РПОСФЕО РТБЛФЙЮЕУЛЙ ВЕЪ ПВЯСУОЕОЙК: РПУМЕ ЧЧПДБ ЧЩТБЦЕОЙС ОБЦБФЙЕ ОБ ЛОПРЛХ УП ЪОБЛПН = (ТБЧОП) ЙМЙ ОБ ЛМБЧЙЫХ Enter РТЙЧПДЙФ Л ЧЩЮЙУМЕОЙА ТЕЪХМШФБФБ. лОПРЛБ +/- РПЪЧПМСЕФ ЙЪНЕОЙФШ ЪОБЛ ЮЙУМБ ОБ РТПФЙЧПРПМПЦОЩК. рТЙПТЙФЕФЩ БТЙЖНЕФЙЮЕУЛЙИ ПРЕТБГЙК УФБОДБТФОЩ, ОБРТЙНЕТ, ТЕЪХМШФБФПН ЧЧПДБ РПУМЕДПЧБФЕМШОПУФЙ УЙНЧПМПЧ 3+4*5= ВХДЕФ 23, Б ОЕ 35. дМС ЙЪНЕОЕОЙС РПТСДЛБ ЧЩЮЙУМЕОЙК ЙУРПМШЪХАФУС ЛТХЗМЩЕ УЛПВЛЙ. фБЛ, ТЕЪХМШФБФ ЧЧПДБ ЧЩТБЦЕОЙС (2+3)*(4+5)= ЬЛЧЙЧБМЕОФЕО ЧЩЮЙУМЕОЙА 5*9=, ЮФП ТБЧОП 45.

йУРПМШЪПЧБОЙЕ ДПРПМОЙФЕМШОЩИ ЧПЪНПЦОПУФЕК, РТЕДПУФБЧМСЕНЩИ ЛПОЛТЕФОЩН РТПЗТБННОЩН УТЕДУФЧПН, РПЪЧПМСЕФ УДЕМБФШ РТПГЕУУ ЧЩЮЙУМЕОЙК ВПМЕЕ МЕЗЛЙН Й ХДПВОЩН. дБМЕЕ НЩ РПДТПВОЕЕ ПУФБОПЧЙНУС ОБ ТБВПФЕ У ЛБМШЛХМСФПТПН KCalc. пФНЕФЙН, ЮФП РПМШЪПЧБФЕМШ НПЦЕФ МЕЗЛП ОБУФТПЙФШ ЧОЕЫОЙК ЧЙД (ЫТЙЖФЩ Й ГЧЕФ РБОЕМЕК), Б ФБЛЦЕ ЪБДБФШ ФПЮОПУФШ ЧЩЮЙУМЕОЙК.

KCalc Ч УЧПЕК ТБВПФЕ ЙУРПМШЪХЕФ УФЕЛ ТЕЪХМШФБФПЧ, ЮФП ДБЕФ ЧПЪНПЦОПУФШ ПВТБЭБФШУС Л ТЕЪХМШФБФБН РТЕДЩДХЭЙИ ЧЩЮЙУМЕОЙК. лБЦДЩК ТБЪ, ЛПЗДБ РПМШЪПЧБФЕМШ ОБЦЙНБЕФ ОБ ЛМБЧЙЫХ Enter ЙМЙ ОБ ЛМБЧЙЫХ =, ТЕЪХМШФБФ, ПФПВТБЦБЕНЩК ЛБМШЛХМСФПТПН, ЪБРЙУЩЧБЕФУС Ч УФЕЛ ТЕЪХМШФБФПЧ. дМС РТПУНПФТБ ЬФПЗП УФЕЛБ ЙУРПМШЪХАФУС ЛМБЧЙБФХТОЩЕ ЛМБЧЙЫЙ У ЙЪПВТБЦЕОЙЕН УФТЕМПЛ ЧЧЕТИ Й ЧОЙЪ.

оБЦБФЙЕ ОБ ЛОПРЛХ AC РТЙЧПДЙФ Л БООХМЙТПЧБОЙА ФЕЛХЭЕЗП ЧЧПДБ, Б ЛОПРЛБ C ПФНЕОСЕФ РПУМЕДОАА ЙЪ ЧЧЕДЕООЩИ ПРЕТБГЙК. лОПРЛЙ MR, M+- Й MC ПВЕУРЕЮЙЧБАФ ТБВПФХ У ФБЛ ОБЪЩЧБЕНПК "РБНСФША". рЕТЧБС ЙЪ ОЙИ ЧЩЧПДЙФ ЪОБЮЕОЙЕ, ИТБОСЭЕЕУС Ч РБНСФЙ, ЧФПТБС УЛМБДЩЧБЕФ УПДЕТЦЙНПЕ РБНСФЙ У ЮЙУМПН, ПФПВТБЦБЕНЩН ОБ РБОЕМЙ, Б РПУМЕДОСС ПВОХМСЕФ УПДЕТЦЙНПЕ РБНСФЙ.

KCalc РПЪЧПМСЕФ РТПЧПДЙФШ ЧЩЮЙУМЕОЙС Ч УМЕДХАЭЙИ УЙУФЕНБИ УЮЙУМЕОЙС: ЫЕУФОБДГБФЕТЙЮОБС (Hex), ДЕУСФЙЮОБС (Dec), ЧПУШНЕТЙЮОБС (Oct) Й ДЧПЙЮОБС (Bin). дМС ЧЧПДБ ЮЙУЕМ Ч ЫЕУФОБДГБФЕТЙЮОПК УЙУФЕНЕ ЙУРПМШЪХЕФУС ДПРПМОЙФЕМШОБС РБОЕМШ, УПДЕТЦБЭБС ВХЛЧЩ МБФЙОУЛПЗП БМЖБЧЙФБ ПФ A ДП F (ПВПЪОБЮБАЭЙЕ ЫЕУФОБДГБФЕТЙЮОЩЕ ГЙЖТЩ ПФ 10 ДП 15). рЕТЕЧПД ЮЙУЕМ ЙЪ ПДОПК УЙУФЕНЩ УЮЙУМЕОЙС Ч ДТХЗХА ЧЩРПМОСЕФУС ФБЛ: ЧЧЕДС ЮЙУМП Ч ПДОПК УЙУФЕНЕ, УМЕДХЕФ ЙЪНЕОЙФШ ПУОПЧБОЙЕ УЙУФЕНЩ - ЮЙУМП ПФПВТБЪЙФУС Ч ОПЧПК УЙУФЕНЕ УЮЙУМЕОЙС.

рТЙНЕТ
рХУФШ ФТЕВХЕФУС РЕТЕЧЕУФЙ ЮЙУМП 17 Ч ДЧПЙЮОХА УЙУФЕНХ УЮЙУМЕОЙС. чЧЕДЕН ХЛБЪБООПЕ ЮЙУМП, ДМС ЮЕЗП НПЦОП ЙУРПМШЪПЧБФШ ЛБЛ ЛМБЧЙБФХТХ, ФБЛ Й ЛОПРЛЙ ОБ РБОЕМЙ ЛБМШЛХМСФПТБ. йЪНЕОЙЧ ПУЧПЧБОЙЕ УЙУФЕНЩ УЮЙУМЕОЙС У РПНПЭША РЕТЕЛМАЮБФЕМС, РПМХЮЙН ПФПВТБЦЕОЙЕ ЮЙУМБ Ч ОПЧПК УЙУФЕНЕ. тЙУХОПЛ ДЕНПОУФТЙТХЕФ РПМХЮЕООПЕ РТЕДУФБЧМЕОЙЕ ЮЙУМБ Ч ДЧПЙЮОПК УЙУФЕНЕ УЮЙУМЕОЙС (ЧЛМАЮЕОБ ПРГЙС Bin).


рТЙЕНЩ ТБВПФЩ

пВЭЙЕ РТЙЕНЩ ТБВПФЩ У KCalc

ч ПФМЙЮЙЙ ПФ ВПМШЫЙОУФЧБ ДТХЗЙИ РТЙМПЦЕОЙК Ч KCalc ТЕБМЙЪПЧБО ПЮЕОШ ХДПВОЩК НЕИБОЙЪН УПИТБОЕОЙС ЙОЖПТНБГЙЙ Ч ВХЖЕТЕ ПВНЕОБ. эЕМЮПЛ МЕЧПК ЛОПРЛПК НЩЫЙ Ч РБОЕМЙ ЧЩЧПДБ ТЕЪХМШФБФПЧ РТЙЧПДЙФ Л РПНЕЭЕОЙА ЕЗП УПДЕТЦЙНПЗП Ч ВХЖЕТ ПВНЕОБ (ВЕЪ РТЕДЧБТЙФЕМШОПЗП ЧЩДЕМЕОЙС). оБЦБФЙЕ РТБЧПК ЙМЙ УТЕДОЕК ЛОПРЛЙ НЩЫЙ Ч ЬФПК РБОЕМЙ ЧЩЧПДЙФ ЮЙУМП, РПНЕЭЕООПЕ Ч ВХЖЕТ ПВНЕОБ ДТХЗЙН РТЙМПЦЕОЙЕН. уМЕДХЕФ ПФНЕФЙФШ, ЮФП ФПМШЛП ДЕУСФЙЮОБС ФПЮЛБ ФТБЛФХЕФУС ЛБЛ РТЙЪОБЛ РПУМЕДХАЭЕК ДТПВОПК ЮБУФЙ. еУМЙ Ч ВХЖЕТЕ ОБИПДЙФУС ЮЙУМП, Х ЛПФПТПЗП ЪБРСФБС ПФДЕМСЕФ ДТПВОХА ЮБУФШ ПФ ГЕМПК, ФП РТПЗТБННБ ЙОФЕТРТЕФЙТХЕФ ЕЕ ЛБЛ ЪОБЛ РТЕРЙОБОЙС, Б ОЕ НБФЕНБФЙЮЕУЛЙК УЙНЧПМ, Й ДТПВОБС ЮБУФШ ЮЙУМБ ОЕ ВХДЕФ ПФПВТБЦЕОБ.

KCalc НПЦЕФ ТБВПФБФШ Ч ДЧХИ ТЕЦЙНБИ: УФБФЙУФЙЮЕУЛПН Й ФТЙЗПОПНЕФТЙЮЕУЛПН. дМС РЕТЕЛМАЮЕОЙС НЕЦДХ ОЙНЙ ЙУРПМШЪХЕФУС ЛМБЧЙЫБ F3, МЙВП ПЛОП ОБУФТПКЛЙ, ЧЩЪЩЧБЕНПЕ ОБЦБФЙЕН ЛМБЧЙЫЙ F2. рТЙ РЕТЕЛМАЮЕОЙЙ НЕОСЕФУС ОБВПТ ЖХОЛГЙК Ч МЕЧПК ЛПМПОЛЕ ЛОПРПЛ ЛБМШЛХМСФПТБ. рЕТЧЩК ТЕЦЙН РТЕДПУФБЧМСЕФ ОБВПТ ПУОПЧОЩИ ЖХОЛГЙК, ЙУРПМШЪХЕНЩИ РТЙ УФБФЙУФЙЮЕУЛЙИ ЧЩЮЙУМЕОЙСИ. нЩ ОЕ ВХДЕН ПУФБОБЧМЙЧБФШУС ОБ ОЙИ Й РЕТЕКДЕН Л ПВЪПТХ ЧПЪНПЦОПУФЕК ЛБМШЛХМСФПТБ Ч ФТЙЗПОПНЕФТЙЮЕУЛПН ТЕЦЙНЕ. мЕЧЩК УФПМВЕГ ЛОПРПЛ Ч ЬФПН УМХЮБЕ УПДЕТЦЙФ ФТЙЗПОПНЕФТЙЮЕУЛЙЕ Й МПЗБТЙЖНЙЮЕУЛЙЕ ЖХОЛГЙЙ. рТБЧЩК УПДЕТЦЙФ ДТХЗЙЕ ЮБУФП ЙУРПМШЪХЕНЩЕ ЖХОЛГЙЙ.

лТПНЕ РБОЕМЙ ЧЩВПТБ ПУОПЧБОЙС KCalc ТБУРПМБЗБЕФ РБОЕМША, ХЛБЪЩЧБАЭЕК, ЛБЛ ЙОФЕТРТЕФЙТПЧБФШ БТЗХНЕОФЩ ФТЙЗПОПНЕФТЙЮЕУЛЙИ ЖХОЛГЙК. рЕТЕЛМАЮБФЕМШ Deg ХЛБЪЩЧБЕФ, ЮФП ЧЧПД РТПЙЪЧПДЙФУС Ч ЗТБДХУОПК НЕТЕ ХЗМПЧ, Б Rad ЙОФЕТРТЕФЙТХЕФ БТЗХНЕОФ, ЛБЛ ЪБДБООЩК Ч ТБДЙБОБИ. оБРТЙНЕТ, РТЙ ЧЛМАЮЕООПН РЕТЕЛМАЮБФЕМЕ Deg ЛПНВЙОБГЙС ЛМБЧЙЫ 90 s ДБЕФ 1 (sin 90o), Ч ФП ЧТЕНС ЛБЛ РТЙ ЧЛМАЮЕООПН РЕТЕЛМАЮБФЕМЕ Rad, ЛПНВЙОБГЙС ЛМБЧЙЫ Inv EE c, ЛБЛ Й УМЕДПЧБМП ПЦЙДБФШ, ДБЕФ 1 (cos pi).

пУОПЧОПЕ ОБЪОБЮЕОЙЕ ЛОПРЛЙ Eе - ЧЧПД ЮЙУЕМ Ч ЬЛУРПОЕОГЙБМШОПК ЖПТНЕ. оБРТЙНЕТ, УМЕДХЕФ РПУМЕДПЧБФЕМШОП ОБЦБФШ 2 . 3 +/- EE 4 +/- ДМС ЧЧПДБ ЮЙУМБ -2.3E-4, ТБЧОПЗП -0.00023.

дМС ХУЛПТЕОЙС ТБВПФЩ ВПМШЫЙОУФЧП ЖХОЛГЙК НПЦЕФ ВЩФШ ЧЩЪЧБОП РТЙ РПНПЭЙ ОБЦБФЙК ЛМБЧЙЫ ОБ ЛМБЧЙБФХТЕ (ЧОЕ ЪБЧЙУЙНПУФЙ ПФ ТЕЗЙУФТБ УЙНЧПМПЧ). ч ФБВМЙГЕ РТЙЧЕДЕОЩ ОБЪОБЮЕОЙС ЖХОЛГЙК Й УППФЧЕФУФЧХАЭЙЕ ЙН ЛПНВЙОБГЙЙ ЛМБЧЙЫ.

жХОЛГЙС | лМБЧЙЫБ | рТЙНЕЮБОЙЕ
Hyp | H | рЕТЕЛМАЮЕОЙЕ ЛБМШЛХМСФПТБ ОБ ЧЧПД ЗЙРЕТВПМЙЮЕУЛЙИ ЖХОЛГЙК, ОБРТЙНЕТ, Hyp Sin
Sin | S | sin x
Cos | C | cos x
Tan | T | tg x
Ln | N | ln x
Log | L | lg x
Inv | I | пВТБФОБС ЖХОЛГЙС, ОБРТЙНЕТ, I S ДМС ЧЩЮЙУМЕОЙС arcsin x
+/- | \ | -x (УНЕОБ ЪОБЛБ)
x^2 | [ | x2
x^y | ^ | xy
x! | ! | жБЛФПТЙБМ ЮЙУМБ
1/x | R | пВТБФОБС ЧЕМЙЮЙОБ

рТЙНЕТ
оБЦБФЙЕ ЛПНВЙОБГЙЙ ЛМБЧЙЫ 7R ЙМЙ 7r РТЙЧЕДЕФ Л ЧЩЮЙУМЕОЙА ЧЕМЙЮЙОЩ, ПВТБФОПК 7 (Ф. Е. 1/7).

дМС ЧЧПДБ ЮЙУМБ [image] =3.1415926... УМЕДХЕФ ОБЦБФШ ЛОПРЛЙ Inv Й EE. б ДМС ЮЙУМБ e (ьКМЕТПЧПК ЛПОУФБОФЩ, ПУОПЧБОЙС ОБФХТБМШОПЗП МПЗБТЙЖНБ) ОБЦНЙФЕ ЛОПРЛЙ 1 Inv Ln.

лОПРЛБ Mod РТЕДОБЪОБЮЕОБ ДМС ОБИПЦДЕОЙС ПУФБФЛБ ПФ ДЕМЕОЙС ПДОПЗП ЮЙУМБ ОБ ДТХЗПЕ, ОБРТЙНЕТ, 22 Mod 8 ДБЕФ ТЕЪХМШФБФ, ТБЧОЩК 6. лПНВЙОБГЙС ЛОПРПЛ Inv Mod РПЪЧПМСЕФ ОБКФЙ ГЕМХА ЮБУФШ ПФ ДЕМЕОЙС ПДОПЗП ЮЙУМБ ОБ ДТХЗПЕ, УЛБЦЕН, ТЕЪХМШФБФ ЧЩЮЙУМЕОЙС 22 Inv Mod 8 ТБЧЕО 2.

лОПРЛБ %, ОБЦБФБС ЧНЕУФП = РТЙЧПДЙФ Л ТБЪМЙЮОЩН ТЕЪХМШФБФБН Ч ЪБЧЙУЙНПУФЙ ПФ ФПЗП, ЛБЛБС ПРЕТБГЙС ЧЩРПМОСМБУШ РПУМЕДОЕК, Б ЙНЕООП:
- ЕУМЙ ЧЩЮЙУМСМБУШ УХННБ ЙМЙ ТБЪОПУФШ, ФП ТЕЪХМШФБФ ЧЩЧПДЙФУС Ч ЧЙДЕ РТПГЕОФБ ПФ РПУМЕДОЕЗП БТЗХНЕОФБ;
- ТЕЪХМШФБФ ХНОПЦЕОЙС ДЕМЙФУС ОБ 100;
- ТЕЪХМШФБФ ДЕМЕОЙС ХНОПЦБЕФУС ОБ 100 (Ф. Е. ЧЩЧПДЙФУС ЛПМЙЮЕУФЧП РТПГЕОФПЧ, ЛПФПТПЕ УПУФБЧМСЕФ РЕТЧЩК БТЗХНЕОФ ПФ ЧФПТПЗП);
- РТЙ ЧПЪЧЕДЕОЙЙ Ч УФЕРЕОШ ЧЩЧПДЙФУС РЕТЧЩК БТЗХНЕОФ, ЧПЪЧЕДЕООЩК Ч УФЕРЕОШ, ТБЧОХА ЧФПТПНХ БТЗХНЕОФХ, ДЕМЕООПНХ ОБ 100;

- ЧП ЧУЕИ ПУФБМШОЩИ УМХЮБСИ ДЕКУФЧЙЕ ЬФПК ЛОПРЛЙ ЙДЕОФЙЮОП ОБЦБФЙА ЛОПРЛЙ =.

рТЙНЕТ
рТПЧЕДЕН ОЕУЛПМШЛП ЧЩЮЙУМЕОЙК У ЙУРПМШЪПЧБОЙЕН ПРЕТБГЙЙ %.

чЧПД | тЕЪХМШФБФ
11 + 89 % | 112.35.. (89 + 11 = 100, Б 100 ЕУФШ 112.35% ПФ 89)
42 * 3 % | 1.26 (42 * 3 / 100)
45 / 55 % | 81.81... (45 ЕУФШ 81.81.. РТПГЕОФПЧ ПФ 55)
2 ^ 300 % | 8 (2 Ч УФЕРЕОЙ (300/100))

лОПРЛБ Lsh (left shift, УДЧЙЗ ЧМЕЧП) ПУХЭЕУФЧМСЕФ РПВЙФПЧЩК УДЧЙЗ ЧРТБЧП ДЧПЙЮОПЗП РТЕДУФБЧМЕОЙС ЮЙУМБ. оБРТЙНЕТ, ТЕЪХМШФБФ ЧЩЮЙУМЕОЙС 10 Lsh 3 ТБЧЕО 80, ЮФП ЬЛЧЙЧБМЕОФОП ХНОПЦЕОЙА ЮЙУМБ 10 ОБ 2 ФТЙ ТБЪБ. лПНВЙОБГЙС Inv Lsh (УДЧЙЗ ЧРТБЧП) РТЙЧПДЙФ Л РПВЙФПЧПНХ УДЧЙЗХ ЧРТБЧП, ОБРТЙНЕТ, 16 Inv Lsh 2 ДБУФ 4 (16 ДЧБЦДЩ ДЕМЕООПЕ ОБ 2).

лОПРЛЙ And Й Or РПЪЧПМСАФ ЧЩРПМОСФШ ПРЕТБГЙЙ МПЗЙЮЕУЛПЗП УМПЦЕОЙС (ДЙЪЯАОЛГЙС, ймй) Й ХНОПЦЕОЙС (ЛПОЯАОЛГЙС, й).

ъБДБОЙС

  1. рЕТЕЧЕДЙФЕ ЮЙУМП 1100001001 ЙЪ ДЧПЙЮОПК УЙУФЕНЩ УЮЙУМЕОЙС Ч ПУФБМШОЩЕ ФТЙ.
  2. чЩЮЙУМЙФЕ УМЕДХАЭЕЕ ЧЩТБЦЕОЙЕ (ОЙЦОЙН ЙОДЕЛУПН ХЛБЪБОБ УЙУФЕНБ УЮЙУМЕОЙС, Ч ЛПФПТПК ЪБДБЕФУС ПЮЕТЕДОПЕ ЮЙУМП):
    1112 + 10102 + 228 + 678 + 1016 - 1102


ьМЕЛФТПООЩЕ ФБВМЙГЩ

ьМЕЛФТПООЩЕ ФБВМЙГЩ СЧМСАФУС РТПЗТБННОЩН РТПДХЛФПН, У ЛПФПТЩН Ч ЛПОГЕ ЛПОГПЧ УФБМЛЙЧБЕФУС РТБЛФЙЮЕУЛЙ МАВПК РПМШЪПЧБФЕМШ ЛПНРШАФЕТБ. пОЙ ОЕЪБНЕОЙНЩ ФБН, ЗДЕ РЕТЙПДЙЮЕУЛЙ РТЙИПДЙФУС РТПЧПДЙФШ ТБУЮЕФЩ РП ПДОЙН Й ФЕН ЦЕ ЖПТНХМБН: ТБУЮЕФ ОБМПЗПЧ Й ЪБТБВПФОПК РМБФЩ, ЧПЪНПЦОПУФШ РПМХЮЕОЙС УЧПДОЩИ ДБООЩИ ЪБ ФПФ ЙМЙ ЙОПК РЕТЙПД Й Ф. Р.

ч ЬФПН ТБЪДЕМЕ НЩ РПЪОБЛПНЙНУС УП УФТХЛФХТПК ЬМЕЛФТПООПК ФБВМЙГЩ Й ПУПВЕООПУФСНЙ ТБВПФЩ У ОЕК ЧОЕ ЪБЧЙУЙНПУФЙ ПФ ЛПОЛТЕФОПЗП РТПЗТБННОПЗП РТПДХЛФБ, РТЕДОБЪОБЮЕООПЗП ДМС ЙИ УПЪДБОЙС Й ЬЛУРМХБФБГЙЙ. фБЛПК РПДИПД РПЪЧПМЙФ МХЮЫЕ РТЕДУФБЧЙФШ ЖХОЛГЙПОБМШОЩЕ ЧПЪНПЦОПУФЙ РТПЗТБНН ФБЛПЗП ТПДБ Й РТЙОГЙРЩ ЙИ ТБВПФЩ.

ьМЕЛФТПООЩЕ ФБВМЙГЩ РТЕДПУФБЧМСАФ РПМШЪПЧБФЕМА ЛПНРШАФЕТОЩК ЧБТЙБОФ ФБЛ ОБЪЩЧБЕНПК ТБВПЮЕК ЛОЙЗЙ ДМС РТПЧЕДЕОЙС ТБУЮЕФПЧ. лОЙЗБ УПУФПЙФ ЙЪ ПФДЕМШОЩИ ЙНЕОПЧБООЩИ МЙУФПЧ (ФБВМЙГ), ЛПФПТЩЕ Ч УЧПА ПЮЕТЕДШ ЖПТНЙТХАФУС ЙЪ СЮЕЕЛ, РПМХЮБЕНЩИ РЕТЕУЕЮЕОЙЕН УФТПЛ Й УФПМВГПЧ. уФПМВГЩ ФБВМЙГЩ ОХНЕТХАФУС ЪБЗМБЧОЩНЙ МБФЙОУЛЙНЙ ВХЛЧБНЙ (A, B, ..., Z, AA, ..., AZ, ...), Б УФТПЛЙ - ЮЙУМБНЙ. лБЦДБС СЮЕКЛБ ЙНЕЕФ ХОЙЛБМШОЩК БДТЕУ, УПУФБЧМЕООЩК ЙЪ ЙНЕО УФПМВГБ Й УФТПЛЙ, ОБРТЙНЕТ, A1 ЙМЙ D55.

рЕТЕД ФЕН ЛБЛ РПНЕУФЙФШ ДБООЩЕ Ч ФХ ЙМЙ ЙОХА СЮЕКЛХ ФБВМЙГЩ, ЕЕ УМЕДХЕФ РТЕДЧБТЙФЕМШОП ЧЩДЕМЙФШ (ЭЕМЮЛПН МЕЧПК ЛОПРЛЙ НЩЫЙ). рТЙ ЬФПН СЮЕКЛБ ЪБЛМАЮБЕФУС Ч ТБНЛХ, УПДЕТЦБЭХА Ч РТБЧПН ОЙЦОЕН ХЗМХ ОЕВПМШЫПК ЮЕТОЩК ЛЧБДТБФЙЛ.

жТБЗНЕОФ ФБВМЙГЩ KSpread

чЧПД ДБООЩИ ЧПЪНПЦЕО ЛБЛ Ч УБНХ СЮЕКЛХ, ФБЛ Й Ч РПМЕ, ПФПВТБЦБАЭЕЕ УПДЕТЦЙНПЕ СЮЕКЛЙ (УФТПЛБ ЖПТНХМ). рПУМЕ ЧЧПДБ УМЕДХЕФ "ЪБЛТЕРЙФШ" ЧЧЕДЕООХА ЙОЖПТНБГЙА, ОБЦБЧ ОБ ЛМБЧЙЫХ Enter ЙМЙ ЛОПРЛХ ЖЙЛУБГЙЙ ЧЧПДБ, ТБУРПМПЦЕООХА МЕЧЕЕ УФТПЛЙ ЖПТНХМ, ЭЕМЛОХЧ МЕЧПК ЛОПРЛПК НЩЫЙ РП ЙЪПВТБЦЕОЙА ЗБМПЮЛЙ. дМС ПФНЕОЩ ЧЧПДБ ЧПУРПМШЪХКФЕУШ ЛОПРЛПК У ЙЪПВТБЦЕОЙЕН ЛТЕУФЙЛБ.

рПДПВОБС ФЕИОЙЛБ РТЙНЕОСЕФУС Ч ВПМШЫЙОУФЧЕ РТПЗТБНН, РТЕДОБЪОБЮЕООЩИ ДМС ТБВПФЩ У ЬМЕЛФТПООЩНЙ ФБВМЙГБНЙ. оЙЦЕ РТЙЧЕДЕОЩ ЖТБЗНЕОФЩ ФБВМЙГ, УПЪДБООЩИ Ч РТПЗТБННБИ Gnumeric Й OpenOffice Calc.

фБВМЙГБ Gnumeric | фБВМЙГБ OpenOffice Calc

чЩДЕМЙФШ ЗТХРРХ СЮЕЕЛ НПЦОП У РПНПЭША НЩЫЙ ЙМЙ ЛМБЧЙБФХТЩ. юФПВЩ ЧЩДЕМЙФШ СЮЕКЛЙ НЩЫША, ОБДП ОБЦБФШ МЕЧХА ЛОПРЛХ НЩЫЙ Ч ФПФ НПНЕОФ, ЛПЗДБ ХЛБЪБФЕМШ НЩЫЙ ОБИПДЙФУС ОБ СЮЕКЛЕ, Б ЪБФЕН "РПФСОХФШ" НЩЫШ Ч УФПТПОХ, ОЕ ПФРХУЛБС ЛОПРЛХ НЩЫЙ:

фП ЦЕ НПЦОП УДЕМБФШ Й У РПНПЭША ЛМБЧЙБФХТЩ. дМС ЬФПЗП "ЧУФБОШФЕ" ОБ СЮЕКЛХ, РТЙЦНЙФЕ ЛМБЧЙЫХ Shift Й У РПНПЭША ЛМБЧЙЫ ХРТБЧМЕОЙС ЛХТУПТПН ЧЩДЕМЙФЕ ЦЕМБЕНЩК ВМПЛ ДБООЩИ.

нПЦОП ЧЩДЕМЙФШ ОЕ ФПМШЛП ВМПЛ СЮЕЕЛ, ОП Й ГЕМЩЕ УФТПЛЙ ЙМЙ УФПМВГЩ. юФПВЩ ЧЩДЕМЙФШ УФПМВЕГ, ОБДП ЭЕМЛОХФШ НЩЫЛПК РП ЕЗП ОБЪЧБОЙА, Б ЮФПВЩ ЧЩДЕМЙФШ ОЕУЛПМШЛП УФПМВГПЧ ОБДП ОБЦБФШ ОБ МЕЧХА ЛОПРЛХ НЩЫЙ Ч НПНЕОФ, ЛПЗДБ ЕЕ ХЛБЪБФЕМШ ОБИПДЙФУС ОБ ОБЪЧБОЙЙ УФПМВГБ, Й РПФСОХФШ НЩЫШ Ч ОХЦОПН ОБРТБЧМЕОЙЙ. лПЗДБ УФПМВГЩ ВХДХФ ЧЩДЕМЕОЩ, ПФРХУФЙФЕ ЛОПРЛХ НЩЫЙ. бОБМПЗЙЮОБС ФЕИОЙЛБ РТЙНЕОСЕФУС Й РТЙ ЧЩДЕМЕОЙЙ УФТПЛ.

пФДЕМШОЩЕ СЮЕКЛЙ ЙМЙ ЗТХРРЩ СЮЕЕЛ НПЦОП ЖПТНБФЙТПЧБФШ, ХУФБОБЧМЙЧБС ТБЪМЙЮОЩЕ ЫТЙЖФЩ, ЙИ ОБЮЕТФБОЙЕ Й ТБЪНЕТ, ЪБДБЧБС ЧЩТБЧОЙЧБОЙЕ УПДЕТЦЙНПЗП СЮЕКЛЙ Й ФПЮОПУФШ ПФПВТБЦЕОЙС ЮЙУМПЧПК ЙОЖПТНБГЙЙ, ЙЪНЕОСС ГЧЕФ ЖПОБ Й УПДЕТЦЙНПЗП СЮЕКЛЙ, ЙУРПМШЪХС МЙОЙЙ Й ТБНЛЙ ДМС ЙИ ПВТБНМЕОЙС.

сЮЕКЛБ НПЦЕФ УПДЕТЦБФШ ФЕЛУФПЧХА ЙМЙ ЮЙУМПЧХА ЙОЖПТНБГЙА, Б ФБЛЦЕ ЖПТНХМХ, РП ЛПФПТПК РТПЙЪЧПДЙФУС ЧЩЮЙУМЕОЙЕ. ъБРЙУШ ЖПТНХМЩ ОБЮЙОБЕФУС У УЙНЧПМБ = (ТБЧОП). мАВБС ЙОЖПТНБГЙС, ЛПФПТБС ОЕ НПЦЕФ ВЩФШ ЙУФПМЛПЧБОБ ЛБЛ ЖПТНХМБ ЙМЙ ЮЙУМП, УЮЙФБЕФУС ФЕЛУФПН. уМЕДХЕФ ВЩФШ ЧОЙНБФЕМШОЩН РТЙ ЧЧПДЕ ДТПВОЩИ ЮЙУЕМ. чП НОПЗЙИ УФТБОБИ ДМС ПФДЕМЕОЙС ДТПВОПК ЮБУФЙ ЙУРПМШЪХЕФУС УЙНЧПМ . (ФПЮЛБ), Ч ФП ЧТЕНС ЛБЛ Ч тПУУЙЙ - УЙНЧПМ , (ЪБРСФБС). мПЛБМЙЪПЧБООЩЕ РТПЗТБННЩ ПВЩЮОП ХЮЙФЩЧБАФ ОБГЙПОБМШОЩЕ ПУПВЕООПУФЙ РТЕДУФБЧМЕОЙС ЮЙУЕМ. рП ХНПМЮБОЙА ЮЙУМБ Ч СЮЕКЛБИ ЬМЕЛФТПООПК ФБВМЙГЩ "РТЙЦЙНБАФУС" Л РТБЧПНХ ЛТБА СЮЕКЛЙ, Ч ФП ЧТЕНС ЛБЛ ФЕЛУФ - Л МЕЧПНХ. чЧЕДС Ч ПДОХ СЮЕКЛХ ФЕЛУФ, Б Ч ДТХЗХА ДТПВОПЕ ЮЙУМП, ЧЩ РП ЧЩТБЧОЙЧБОЙА УПДЕТЦЙНПЗП СЮЕЕЛ УХНЕЕФЕ РПОСФШ, ЛБЛПК УЙНЧПМ ЙУРПМШЪХЕФУС Ч ДБООПК ЧЕТУЙЙ РТПЗТБННЩ ДМС ПФДЕМЕОЙС ДТПВОПК ЮБУФЙ.

лБЛ РТБЧЙМП, ЖПТНХМЩ, ЙУРПМШЪХЕНЩЕ Ч ЬМЕЛФТПООЩИ ФБВМЙГБИ, УПДЕТЦБФ УУЩМЛЙ ОБ ЙОЖПТНБГЙА, ТБЪНЕЭЕООХА Ч ДТХЗЙИ СЮЕКЛБИ. оБРТЙНЕТ, ЕУМЙ СЮЕКЛБ УПДЕТЦЙФ ЖПТНХМХ =A1+B1, ФП Ч ОЕК ВХДЕФ ПФПВТБЦБФШУС УХННБ ЪОБЮЕОЙК, ТБУРПМПЦЕООЩИ Ч СЮЕКЛБИ A1 Й B1, РТЙЮЕН РТЙ ЙЪНЕОЕОЙЙ ДБООЩИ Ч ЬФЙИ СЮЕКЛБИ УХННБ БЧФПНБФЙЮЕУЛЙ РЕТЕУЮЙФБЕФУС. ьМЕЛФТПООЩЕ ФБВМЙГЩ РПЪЧПМСАФ ЙУРПМШЪПЧБФШ ВПМШЫЙОУФЧП НБФЕНБФЙЮЕУЛЙИ, УФБФЙУФЙЮЕУЛЙИ Й ЖЙОБОУПЧЩИ ЖХОЛГЙК. лПРЙТПЧБОЙЕ ЖПТНХМ ЙЪ ПДОПК СЮЕКЛЙ Ч ДТХЗЙЕ РТЙ РПНПЭЙ НЩЫЙ РПЪЧПМСЕФ ЪОБЮЙФЕМШОП ХУЛПТЙФШ РТПГЕУУ РПДЗПФПЧЛЙ ФБВМЙГЩ, УПДЕТЦБЭЕК ПДОПФЙРОЩЕ ЖПТНХМЩ. дМС ЬФПЗП ОХЦОП ЧЩДЕМЙФШ СЮЕКЛХ У ЖПТНХМПК, РПДЧЕУФЙ ЛХТУПТ Л РТБЧПНХ ОЙЦОЕНХ ХЗМХ СЮЕКЛЙ Й, ОБЦБЧ МЕЧХА ЛОПРЛХ НЩЫЙ, РЕТЕНЕУФЙФШУС Ч ОХЦОПН ОБРТБЧМЕОЙЙ. фБЛ, ЕУМЙ ЖПТНХМХ =A1+B1 ЛПРЙТПЧБФШ Ч ОЙЦЕМЕЦБЭХА СЮЕКЛХ, ФП ПОБ БЧФПНБФЙЮЕУЛЙ РТЕПВТБЪХЕФУС Ч ЖПТНХМХ =A2+B2. рТПЗТБННЩ, ЙЪНЕОСС БДТЕУБ Ч ЖПТНХМБИ, РЩФБАФУС ОЕ ЙЪНЕОЙФШ ЙИ УНЩУМ.

рТЙ ХЛБЪБОЙЙ БДТЕУБ ФПК ЙМЙ ЙОПК СЮЕКЛЙ ЙУРПМШЪХАФ МЙВП ПФОПУЙФЕМШОХА, МЙВП БВУПМАФОХА БДТЕУБГЙА. еУМЙ Ч ЖПТНХМЕ ЪБДБО ПФОПУЙФЕМШОЩК БДТЕУ СЮЕКЛЙ, ФП РТЙ ЛПРЙТПЧБОЙЙ ЖПТНХМБ ВХДЕФ БЧФПНБФЙЮЕУЛЙ ЙЪНЕОЕОБ, РТЙ ЬФПН БДТЕУБ СЮЕЕЛ ЪБНЕОСФУС ОБ ОПЧЩЕ (ЛБЛ Ч ЧЩЫЕРТЙЧЕДЕООПН РТЙНЕТЕ). рТЙ БВУПМАФОПК БДТЕУБГЙЙ УППФЧЕФУФЧХАЭБС ЮБУФШ БДТЕУБ ВХДЕФ "ЪБНПТПЦЕОБ", ФП ЕУФШ ОЕ ВХДЕФ ЙЪНЕОЕОБ РТЙ ЛПРЙТПЧБОЙЙ. рТЙЪОБЛПН БВУПМАФОПК БДТЕУБГЙЙ СЧМСЕФУС УЙНЧПМ $ РЕТЕД ОПНЕТПН УФПМВГБ ЙМЙ (Й) УФТПЛЙ, ОБРТЙНЕТ, $A$1, B$5, $C16.

ьМЕЛФТПООЩЕ ФБВМЙГЩ РПЪЧПМСАФ РЕТЕЙНЕОПЧЩЧБФШ, ДПВБЧМСФШ Й ХДБМСФШ МЙУФЩ Ч ТБВПЮЕК ЛОЙЗЕ.

дМС ЬФПЗП УМЕДХЕФ, РПДЧЕДС ЛХТУПТ Л РПМА, ПФПВТБЦБАЭЕНХ ЙНС МЙУФБ, ОБЦБФЙЕН ОБ РТБЧХА ЛОПРЛХ НЩЫЙ ЧЩЪЧБФШ ЛПОФЕЛУФОПЕ НЕОА ТБВПФЩ У МЙУФБНЙ Й ЧЩВТБФШ Ч ОЕН УППФЧЕФУФЧХАЭЙК РХОЛФ. дЧПКОПК ЭЕМЮПЛ НЩЫША РП ЙНЕОЙ МЙУФБ РТЙЧПДЙФ Л ПФЛТЩФЙА ЧЛМБДЛЙ, РПЪЧПМСАЭЕК ЙЪНЕОЙФШ ЙНС МЙУФБ.

дБМЕЕ ВХДЕФ ТБУУНПФТЕОП ОЕУЛПМШЛП РТПЗТБНН, РТЕДПУФБЧМСАЭЙИ ЧПЪНПЦОПУФШ ТБВПФЩ У ЬМЕЛФТПООЩНЙ ФБВМЙГБНЙ: KSpread Й Gnumeric, ЖХОЛГЙПОЙТХАЭЙЕ Ч пу Linux, Й OpenOffice Calc - ЬМЕЛФТПООБС ФБВМЙГБ, ЧИПДСЭБС Ч УПУФБЧ УЧПВПДОП ТБУРТПУФТБОСЕНПЗП ПЖЙУОПЗП РБЛЕФБ OpenOffice ЖЙТНЩ Sun Microsistems, ДПУФХРОПЗП РПМШЪПЧБФЕМСН ОЕ ФПМШЛП пу Linux, ОП Й MS Windows. лБЛ ЙОФЕТЖЕКУ РТПЗТБННЩ, ФБЛ Й ЖХОЛГЙПОБМШОЩЕ ЧПЪНПЦОПУФЙ OpenOffice Calc РТБЛФЙЮЕУЛЙ ОЕПФМЙЮЙНЩ ПФ ЙОФЕТЖЕКУБ Й ЧПЪНПЦОПУФЕК ЛПННЕТЮЕУЛПЗП РБЛЕФБ MS Excel.

уТЕДЙ ТБУУНБФТЙЧБЕНЩИ РТПЗТБНН УБНПК РТПУФПК СЧМСЕФУС KSpread. Gnumeric РТЕДПУФБЧМСЕФ РПМШЪПЧБФЕМА ЧПЪНПЦОПУФШ ХДПВОПК ТБВПФЩ У ОЕУЛПМШЛЙНЙ МЙУФБНЙ ТБВПЮЕК ЛОЙЗЙ Й ВПМШЫПК ОБВПТ НБФЕНБФЙЮЕУЛЙИ Й УФБФЙУФЙЮЕУЛЙИ ЖХОЛГЙК. рТПЗТБННБ OpenOffice Calc ХДПЧМЕФЧПТЙФ ЪБРТПУЩ МАВПЗП РТПЖЕУУЙПОБМШОПЗП РПМШЪПЧБФЕМС ЬМЕЛФТПООЩИ ФБВМЙГ.


KSpread

оБЮОЕН ЪОБЛПНУФЧП У ЬМЕЛФТПООЩНЙ ФБВМЙГБНЙ У РТПЗТБННЩ KSpread, ЧИПДСЭЕК Ч УПУФБЧ ПЖЙУОПЗП РТЙМПЦЕОЙС KDE (пу Linux). ъБРХУЛ ЬФПК РТПЗТБННЩ ПУХЭЕУФЧМСЕФУС МЙВП ЮЕТЕЪ НЕОА KDE: пЖЙУ/KSpread, МЙВП ЛПНБОДПК kspread. рТЙ УФБТФЕ РПСЧМСЕФУС ПЛОП РТПЗТБННЩ, ПФПВТБЦБАЭЕЕ МЙУФ ТБВПЮЕК ЛОЙЗЙ. еУМЙ РТПЗТБННБ ВЩМБ ЪБРХЭЕОБ ВЕЪ ХЛБЪБОЙС ЙНЕОЙ ЖБКМБ У ДБООЩНЙ, ФП УПЪДБЕФУС ОПЧБС ТБВПЮБС ЛОЙЗБ, УПДЕТЦБЭБС ФПМШЛП ПДЙО МЙУФ, Л ЛПФПТПНХ РТЙ ОЕПВИПДЙНПУФЙ МЕЗЛП ДПВБЧМСЕФУС МАВПЕ ФТЕВХЕНПЕ ЛПМЙЮЕУФЧП МЙУФПЧ.

гЙЖТБНЙ ОБ ТЙУХОЛЕ ПВПЪОБЮЕОЩ:
1) ФЕЛХЭБС ТБВПЮБС ФБВМЙГБ;
2) ЧЩДЕМЕООБС (БЛФЙЧОБС) СЮЕКЛБ;
3) РПМЕ, УПДЕТЦБЭЕЕ БДТЕУ БЛФЙЧОПК СЮЕКЛЙ;
4) РПМЕ, ПФПВТБЦБАЭЕЕ УПДЕТЦЙНПЕ ФЕЛХЭЕК СЮЕКЛЙ;
5) РБОЕМШ РЕТЕЛМАЮЕОЙС НЕЦДХ МЙУФБНЙ;
6) НЕОА РТПЗТБННЩ;
7) РБОЕМШ ТБВПФЩ У ЖБКМБНЙ;
8) РБОЕМШ ТЕДБЛФЙТПЧБОЙС ФБВМЙГЩ;
9) РБОЕМШ ЧЩВПТБ ЫТЙЖФПЧ;
10) РБОЕМШ ЖПТНБФЙТПЧБОЙС СЮЕКЛЙ;
11) РБОЕМШ НБФЕНБФЙЮЕУЛЙИ УЙНЧПМПЧ (НПЦЕФ ПФУХФУФЧПЧБФШ);
12) РБОЕМШ ЧЩВПТБ ЖХОЛГЙК;
13) РБОЕМШ ЙЪНЕОЕОЙС ГЧЕФБ, ПВТБНМЕОЙС Й ЗТХРРЙТПЧЛЙ СЮЕЕЛ.

рТЙ РПДЧЕДЕОЙЙ ЛХТУПТБ Л ЛОПРЛБН РБОЕМЙ РПСЧМСЕФУС ЧУРМЩЧБАЭБС ОБДРЙУШ, РПСУОСАЭБС ОБЪОБЮЕОЙЕ ДБООПК ЛОПРЛЙ. ч МЕЧПК ЮБУФЙ ЛБЦДПК РБОЕМЙ ОБИПДЙФУС ЛОПРЛБ У ЙЪПВТБЦЕОЙЕН ФТЕИ ЧЕТФЙЛБМШОЩИ РПМПУ. пОБ УМХЦЙФ ДМС РЕТЕНЕЭЕОЙС Й ЧТЕНЕООПЗП УЛТЩФЙС РБОЕМЙ. рТЙ ОБЦБФЙЙ ОБ ОЕЕ РБОЕМШ УЧПТБЮЙЧБЕФУС, РТЕЧТБЭБСУШ Ч ЛОПРЛХ У ЙЪПВТБЦЕОЙЕН ДЧХИ ЗПТЙЪПОФБМШОЩИ ЮЕТФПЮЕЛ, Й РЕТЕНЕЭБЕФУС ОЕРПУТЕДУФЧЕООП РПД НЕОА.


тЕДБЛФЙТПЧБОЙЕ

лБЛ ХЦЕ ПФНЕЮБМПУШ, ДБООЩЕ, ТБЪНЕЭБЕНЩЕ Ч СЮЕКЛЕ, НПЗХФ ВЩФШ ПДОПЗП ЙЪ ФТЕИ ЧЙДПЧ:
ЮЙУМБ | ГЕМЩЕ ЙМЙ ДЕУСФЙЮОЩЕ ДТПВЙ; ДМС ПФДЕМЕОЙС ДТПВОПК ЮБУФЙ ЙУРПМШЪХЕФУС ЪБРСФБС, ФПЮЛБ ЙУРПМШЪХЕФУС ДМС ЧЙЪХБМШОПЗП ЧЩДЕМЕОЙС ФЩУСЮ, НЙММЙПОПЧ Й Ф. Д.
ЖПТНХМБ | ОБЮЙОБЕФУС У УЙНЧПМБ =; ДБМЕЕ УМЕДХАФ УУЩМЛЙ ОБ ДТХЗЙЕ СЮЕКЛЙ (ЙИ БДТЕУБ), ЖХОЛГЙЙ, БТЙЖНЕФЙЮЕУЛЙЕ ЧЩТБЦЕОЙС
ФЕЛУФ | ЧУЕ, ЮФП ОЕ СЧМСЕФУС ЮЙУМБНЙ ЙМЙ ЖПТНХМБНЙ

еУМЙ РТЙ ЧЧПДЕ ДБООЩИ РТПЙЪПЫМБ ПЫЙВЛБ, ФП ЕЕ НПЦОП ЙУРТБЧЙФШ, ЧПУРПМШЪПЧБЧЫЙУШ "ПФЛБФЛПК". "пФЛБФЙФШ" ЙЪНЕОЕОЙС НПЦОП, ЕУМЙ ОБЦБФШ ЛПНВЙОБГЙА ЛМБЧЙЫ Ctrl+z ЙМЙ Ч НЕОА рТБЧЛБ ЧЩВТБФШ РЕТЧХА ЛПНБОДХ.

дМС ФПЗП ЮФПВЩ ПФТЕДБЛФЙТПЧБФШ УПДЕТЦЙНПЕ СЮЕКЛЙ, ОБДП УОБЮБМБ ДЧБ ТБЪБ ЭЕМЛОХФШ РП СЮЕКЛЕ. еУМЙ ЦЕ ЭЕМЛОХФШ НЩЫША РП СЮЕКЛЕ ПДЙО ТБЪ, ФП ЧЧЕДЕООЩЕ ДБООЩЕ РТПУФП ЪБНЕОСФ ФЕ, ЮФП ОБИПДЙМЙУШ Ч СЮЕКЛЕ ДП ЬФПЗП. тЕДБЛФЙТПЧБФШ УПДЕТЦЙНПЕ СЮЕКЛЙ НПЦОП Й Ч УФТПЛЕ ЖПТНХМ. пФНЕФЙН, ЮФП Ч УФТПЛЕ ЖПТНХМ ТЕДБЛФЙТПЧБФШ ДБООЩЕ ВПМЕЕ ХДПВОП, ФБЛ ЛБЛ НПЦОП РПМШЪПЧБФШУС ЛМБЧЙЫБНЙ РЕТЕДЧЙЦЕОЙС ЛХТУПТБ.

чЩДЕМЙЧ СЮЕКЛХ ЙМЙ ЗТХРРХ СЮЕЕЛ, НПЦОП РТПЙЪЧПДЙФШ ТБЪМЙЮОПЕ ЖПТНБФЙТПЧБОЙЕ ЙИ УПДЕТЦЙНПЗП: НЕОСФШ ОБЮЕТФБОЙЕ Й ТБЪНЕТ ЫТЙЖФБ, ГЧЕФ ФЕЛУФБ Й УБНПК СЮЕКЛЙ, ДПВБЧМСФШ ПВТБНМЕОЙЕ СЮЕКЛЙ Й НОПЗПЕ ДТХЗПЕ.

дМС ЬФПЗП НПЦОП ЙУРПМШЪПЧБФШ ТБЪМЙЮОЩЕ РХОЛФЩ НЕОА жПТНБФ ЙМЙ ЛПОФЕЛУФОПЕ НЕОА, ЧЩЪЩЧБЕНПЕ ОБЦБФЙЕН ОБ РТБЧХА ЛОПРЛХ НЩЫЙ. рТЙ ЧЩВПТЕ РХОЛФБ уЧПКУФЧБ СЮЕКЛЙ РПСЧМСЕФУС ПДОПЙНЕООПЕ ПЛОП, УПДЕТЦБЭЕЕ ОЕУЛПМШЛП ЧЛМБДПЛ, РПЪЧПМСАЭЙИ ЪБДБФШ ЧЙД СЮЕКЛЙ Й ЕЕ УПДЕТЦЙНПЗП.

Kspread РПЪЧПМСЕФ ТБЪНЕЭБФШ УПДЕТЦЙНПЕ СЮЕКЛЙ РПД ТБЪМЙЮОЩНЙ ХЗМБНЙ. дМС ЬФПЗП ОБ ЧЛМБДЛЕ рПМПЦЕОЙЕ ХЛБЪЩЧБЕФУС ЪОБЮЕОЙЕ ХЗМБ РПЧПТПФБ Ч ЗТБДХУБИ. ьФБ ПРЕТБГЙС ДПУФХРОБ Й ЮЕТЕЪ РХОЛФ йЪНЕОЙФШ ХЗПМ... НЕОА жПТНБФ. уМЕДХАЭЙК ТЙУХОПЛ ДЕНПОУФТЙТХЕФ РБОЕМЙ ЖПТНБФЙТПЧБОЙС Й ПЛОП ЙЪНЕОЕОЙС ХЗМБ.

дМС ЧУФБЧЛЙ (Insert) ЙМЙ ХДБМЕОЙС (Delete) УФПМВГБ/УФТПЛЙ УМЕДХЕФ, ЧЩДЕМЙЧ УФПМВЕГ/УФТПЛХ, Ч ЛПОФЕЛУФОПН НЕОА ЧЩВТБФШ УППФЧЕФУФЧХАЭЙК РХОЛФ. рБОЕМШ ТЕДБЛФЙТПЧБОЙС ФБВМЙГЩ ФБЛЦЕ УПДЕТЦЙФ ЮЕФЩТЕ ЛОПРЛЙ, РПЪЧПМСАЭЙЕ ЧЩРПМОЙФШ ХЛБЪБООЩЕ ПРЕТБГЙЙ. дПВБЧМЕОЙЕ УФТПЛЙ (УФПМВГБ) РТПЙУИПДЙФ РЕТЕД ЧЩДЕМЕООПК, ЮФП РТЙЧПДЙФ Л ЙЪНЕОЕОЙА ЙНЕОЙ ЧЩВТБООПК УФТПЛЙ ЙМЙ УФПМВГБ. рТЙ ЬФПН РТЙ ЧУФБЧЛЕ ЙМЙ ХДБМЕОЙЙ СЮЕЕЛ, ОЕ ЪБДЕКУФЧПЧБООЩИ Ч ЖПТНХМБИ, РТПЙУИПДЙФ ЛПТТЕЛФОПЕ БЧФПНБФЙЮЕУЛПЕ ЙЪНЕОЕОЙЕ ЖПТНХМ.

еУМЙ БДТЕУБ ХДБМСЕНЩИ СЮЕЕЛ РТЙУХФУФЧХАФ Ч ЛБЛЙИ-МЙВП ЖПТНХМБИ, ФП УНЩУМ РПМХЮЕООЩИ ЖПТНХМ ВХДЕФ ХФЕТСО Й ПОЙ РПФТЕВХАФ ЧОЙНБФЕМШОПЗП ТЕДБЛФЙТПЧБОЙС.

лБЦДБС СЮЕКЛБ KSpread ЛТПНЕ ПУОПЧОПК ЙОЖПТНБГЙЙ НПЦЕФ УПДЕТЦБФШ ЛПННЕОФБТЙЙ (РТЙНЕЮБОЙС). дПВБЧЙФШ ЙИ НПЦОП МЙВП ЧПУРПМШЪПЧБЧЫЙУШ РХОЛФПН лПННЕОФБТЙЙ ЙЪ НЕОА чУФБЧЙФШ, МЙВП РТЙ РПНПЭЙ УППФЧЕФУФЧХАЭЕЗП РХОЛФБ ЛПОФЕЛУФОПЗП НЕОА. оБ ОБМЙЮЙЕ РТЙНЕЮБОЙС Ч СЮЕКЛЕ ХЛБЪЩЧБЕФ НБМЕОШЛЙК ЛТБУОЩК ФТЕХЗПМШОЙЛ Ч РТБЧПН ЧЕТИОЕН ХЗМХ.

вПМШЫЙОУФЧП ЬМЕЛФТПООЩИ ФБВМЙГ ХНЕЕФ ЧЩРПМОСФШ ЖХОЛГЙЙ БЧФПНБФЙЮЕУЛПЗП РТПДПМЦЕОЙС ТСДБ. еУМЙ ЧЩ ЧЧЕДЕФЕ ОЕУЛПМШЛП РЕТЧЩИ ЮМЕОПЧ ТСДБ (ДПУФБФПЮОП 2-3), ЧЩДЕМЙФЕ ЙИ, Б ЪБФЕН, ОБЦБЧ ОБ ЛЧБДТБФЙЛ Ч РТБЧПН ОЙЦОЕН ХЗМХ ЧЩДЕМЕОЙС, РТПФСОЙФЕ ЕЗП Ч ОХЦОХА УФПТПОХ, ФП ТСД БЧФПНБФЙЮЕУЛЙ ВХДЕФ РТПДПМЦЕО. лТПНЕ ЬФПЗП Ч НЕОА чУФБЧЙФШ KSpread ЙНЕЕФ РХОЛФ тСД..., ЛПФПТЩК РПЪЧПМСЕФ ЪБДБФШ ИБТБЛФЕТЙУФЙЛЙ РТПДПМЦЕОЙС ТСДБ.

KSpread РПЪЧПМСЕФ УПИТБОЙФШ ЬМЕЛФТПООХА ФБВМЙГХ Ч ОЕУЛПМШЛЙИ ЖПТНБФБИ. дМС УПИТБОЕОЙС ЖБКМБ ОБ ДЙУЛЕ ЙЪ НЕОА жБКМ ЧЩВЕТЙФЕ РХОЛФ уПИТБОЙФШ ЛБЛ, РПУМЕ ЮЕЗП Ч ТБУЛТЩЧБАЭЕНУС УРЙУЛЕ жЙМШФТ ЧЩВЕТЙФЕ ФТЕВХЕНЩК ЖПТНБФ. оБЮЙОБС У ЧЕТУЙЙ 1.1.1 KSpread РПДДЕТЦЙЧБЕФ ЖПТНБФ HTML Й ЖПТНБФ ФБВМЙГ Gnumeric.

дМС ФПЗП ЮФПВЩ ОБЮБФШ ТЕДБЛФЙТПЧБОЙЕ ТБОЕЕ УПЪДБООПК ЬМЕЛФТПООПК ФБВМЙГЩ, ОХЦОП ЧЩВТБФШ РХОЛФ пФЛТЩФШ, Ч РПСЧЙЧЫЕНУС ПЛОЕ ЧЩВТБФШ ФТЕВХЕНЩК ЖБКМ. рП ХНПМЮБОЙА KSpread РПЛБЪЩЧБЕФ Ч ПЛПЫЛЕ ЧЩВПТБ ФПМШЛП ЖБКМЩ ЙНЕАЭЙЕ ТБУЫЙТЕОЙЕ ksp. еУМЙ ОХЦОП ЧЩВТБФШ ЖБКМ, ЙНЕАЭЙК ДТХЗПЕ ТБУЫЙТЕОЙЕ, ФП ОХЦОП ЙЪНЕОЙФШ ЪОБЮЕОЙЕ РПМС жЙМШФТ. уТЕДЙ РТПЮЙИ KSpread РПДДЕТЦЙЧБЕФ ЖПТНБФЩ ФБВМЙГ Gnumeric Й MS Excel.


жПТНХМЩ

тЕДБЛФПТ ЖПТНХМ

ьМЕЛФТПООЩЕ ФБВМЙГЩ РТЕДОБЪОБЮЕОЩ ОЕ ФПМШЛП ДМС ИТБОЕОЙС ДБООЩИ, ОП Й ДМС ТБУЮЕФПЧ, РПЬФПНХ Ч ОЙИ УХЭЕУФЧХЕФ ЧПЪНПЦОПУФШ ЧЩЮЙУМЕОЙК У ЙУРПМШЪПЧБОЙЕН ЖПТНХМ.

жПТНХМБ - ЬФП РПУМЕДПЧБФЕМШОПУФШ ЪОБЮЕОЙК, УУЩМПЛ ОБ СЮЕКЛЙ, ЙНЕО, ЖХОЛГЙК ЙМЙ ПРЕТБФПТПЧ, ЛПФПТЩЕ УПДЕТЦБФУС Ч СЮЕКЛЕ Й ЧПЪЧТБЭБАФ ОПЧПЕ ЪОБЮЕОЙЕ ОБ ПУОПЧЕ УХЭЕУФЧХАЭЙИ. жПТНХМБ ЧУЕЗДБ ОБЮЙОБЕФУС УП ЪОБЛБ ТБЧЕОУФЧБ (=).

лБЛ РТБЧЙМП, Ч ЖПТНХМБИ ХЮБУФЧХАФ ДБООЩЕ ЙЪ ДТХЗЙИ СЮЕЕЛ ФБВМЙГЩ. тБУУНПФТЙН ФЕИОЙЛХ ЧЧПДБ ЖПТНХМ, УПДЕТЦБЭЙИ УУЩМЛЙ ОБ ДТХЗЙЕ СЮЕКЛЙ. рТЕДРПМПЦЙН, ЮФП ОБН ФТЕВХЕФУС Ч СЮЕКЛЕ C1 ТБЪНЕУФЙФШ РТПЙЪЧЕДЕОЙЕ ЮЙУЕМ, ОБИПДСЭЙИУС Ч СЮЕКЛБИ A1 Й B1. фПЗДБ, РПУМЕ ЧЧПДБ ЪОБЛБ ТБЧЕОУФЧБ, УМЕДХЕФ ЭЕМЛОХФШ РП СЮЕКЛЕ A1 (Ч УФТПЛЕ ПФПВТБЦЕОЙС ЖПТНХМ РПСЧЙФУС ЕЕ БДТЕУ), ЧЧЕУФЙ ЪОБЛ ХНОПЦЕОЙС Й ЭЕМЛОХФШ РП СЮЕКЛЕ B1, РПУМЕ ЮЕЗП ЪБЖЙЛУЙТПЧБФШ ЧЧПД. фЕРЕТШ Ч СЮЕКЛЕ C1 ВХДЕФ ПФПВТБЦБФШУС РТПЙЪЧЕДЕОЙЕ ЮЙУЕМ, ОБИПДСЭЙИУС Ч СЮЕКЛБИ A1 Й B1, РТЙЮЕН ПОП ВХДЕФ БЧФПНБФЙЮЕУЛЙ РЕТЕУЮЙФЩЧБФШУС РТЙ ЙЪНЕОЕОЙЙ УПДЕТЦЙНПЗП ЬФЙИ СЮЕЕЛ.

пЮЕОШ РПМЕЪОП ПЧМБДЕФШ РТЙЕНПН ЛПРЙТПЧБОЙС ЖПТНХМ. еУМЙ РМБОЙТХЕФУС ТБУРПМПЦЙФШ ОПЧХА ЖПТНХМХ ТСДПН У ХЦЕ УХЭЕУФЧХАЭЕК, ФП ДПУФБФПЮОП ЧЩДЕМЙФШ ЖПТНХМХ, РТЕДОБЪОБЮЕООХА ДМС ЛПРЙТПЧБОЙС, Й, БОБМПЗЙЮОП РТЙЕНХ БЧФПРТПДПМЦЕОЙС, РТПФСОХФШ ЧЩДЕМЕОЙЕ Ч ОХЦОХА УФПТПОХ. жПТНХМЩ ВХДХФ БЧФПНБФЙЮЕУЛЙ РПДРТБЧМЕОЩ Ч УППФЧЕФУФЧЙЙ У ОБРТБЧМЕОЙЕН ЛПРЙТПЧБОЙС. рТЕДРПМПЦЙН, ЮФП ФТЕВХЕФУС УЛПРЙТПЧБФШ ПРЙУБООХА ЧЩЫЕ ЖПТНХМХ ЙЪ СЮЕКЛЙ C1 Ч СЮЕКЛХ C2. фПЗДБ, РПУМЕ ЛПРЙТПЧБОЙС, ЖПТНХМБ ВХДЕФ ЙЪНЕОЕОБ ОБ = A2*B2.

еУМЙ ФТЕВХЕФУС УЛПРЙТПЧБФШ ЖПТНХМХ Ч НЕУФП, ЛПФПТПЕ ОЕ ОБИПДЙФУС ОЕРПУТЕДУФЧЕООП ТСДПН У УХЭЕУФЧХАЭЕК ЖПТНХМПК, ФП УМЕДХЕФ РПМШЪПЧБФШУС ЛПОФЕЛУФОЩН НЕОА. чЩДЕМЙЧ СЮЕКЛХ У ЖПТНХМПК, ЧЩВЕТЙФЕ ЙЪ ЛПОФЕЛУФОПЗП НЕОА РХОЛФ лПРЙТПЧБФШ, a ЪБФЕН, РЕТЕНЕУФЙЧЫЙУШ Ч ОХЦОПЕ НЕУФП, - РХОЛФ чУФБЧЙФШ.

йОПЗДБ ФТЕВХЕФУС, ЮФПВЩ РТЙ ЛПРЙТПЧБОЙЙ ЖПТНХМЩ ЮБУФШ УУЩМПЛ ОБ ДТХЗЙЕ СЮЕКЛЙ ОЕ ЙЪНЕОСМБУШ БЧФПНБФЙЮЕУЛЙ, Б ПУФБЧБМБУШ ВЩ ОЕЙЪНЕООПК. фБЛ, ОБРТЙНЕТ, РТЙ РЕТЕУЮЕФЕ ДЕОЕЦОЩИ УХНН ЙЪ ПДОПК ЧБМАФЩ Ч ДТХЗХА, УУЩМЛБ ОБ СЮЕКЛХ У ПВНЕООЩН ЛХТУПН ОЕ ДПМЦОБ ЙЪНЕОСФШУС. ч ЬФПН УМХЮБЕ ЙУРПМШЪХЕФУС ФБЛ ОБЪЩЧБЕНБС БВУПМАФОБС БДТЕУБГЙС: ЕУМЙ РЕТЕД ЙНЕОЕН УФТПЛЙ ЙМЙ (Й) УФПМВГБ УФПЙФ УЙНЧПМ $, ФП ЬФБ ЮБУФШ ЖПТНХМЩ ОЕ ВХДЕФ ЙЪНЕОСФШУС РТЙ ЛПРЙТПЧБОЙЙ (ВХДЕФ "ЪБНПТПЦЕОБ"). л УПЦБМЕОЙА, Ч KSpread ОЕ РТЕДХУНПФТЕОБ БЧФПНБФЙЪБГЙС РТПГЕУУБ ЙЪНЕОЕОЙС УУЩМПЛ У ПФОПУЙФЕМШОЩИ ОБ БВУПМАФОЩЕ: УЙНЧПМЩ $ РТЙИПДЙФУС ЧУФБЧМСФШ ЧТХЮОХА.

пЮЕОШ ТБУРТПУФТБОЕООПК ПРЕТБГЙЕК СЧМСЕФУС ОБИПЦДЕОЙЕ УХННЩ, РПЬФПНХ ОБ РБОЕМЙ ЙОУФТХНЕОФПЧ ТБУРПМБЗБЕФУС ЛОПРЛБ У ЙЪПВТБЦЕОЙЕН ЪОБЛБ УХННЩ. еУМЙ ФТЕВХЕФУС Ч СЮЕКЛХ РПНЕУФЙФШ УХННХ УПДЕТЦЙНПЗП ОЕУЛПМШЛЙИ СЮЕЕЛ, ФП ОБЦБФЙЕ ОБ ЬФХ ЛОПРЛХ (ВЕЪ ЧЧПДБ ЪОБЛБ ТБЧОП) РТЙЧЕДЕФ Л ЧУФБЧЛЕ Ч СЮЕКЛХ ЖПТНХМЩ УХННЙТПЧБОЙС, РТЙЮЕН БТЗХНЕОФПН ЬФПК ЖПТНХМЩ СЧМСЕФУС ДЙБРБЪПО СЮЕЕЛ (БДТЕУ ОБЮБМШОПК Й ЛПОЕЮОПК СЮЕКЛЙ ТБЪДЕМСЕФУС УЙНЧПМПН :) ТБУРПМПЦЕООЩИ ОБД ОЕК. рТЙ ОЕПВИПДЙНПУФЙ УМЕДХЕФ ЧЩДЕМЙФШ ДТХЗПК, ФТЕВХЕНЩК ДЙБРБЪПО, РПУМЕ ЮЕЗП ЪБЖЙЛУЙТПЧБФШ ЖПТНХМХ.

KSpread ДБЕФ ЧПЪНПЦОПУФШ ЙУРПМШЪПЧБФШ ВПМШЫПЕ ЛПМЙЮЕУФЧП (ПЛПМП 80 Ч ЧЕТУЙЙ 1.0 Й ПЛПМП 140 Ч ЧЕТУЙЙ 1.1.1) ТБЪОППВТБЪОЩИ ЖХОЛГЙК. ъОБС ЙНС ЖХОЛГЙЙ, НПЦОП ЧЧЕУФЙ ЕЗП Й БТЗХНЕОФЩ МЙВП РТСНП Ч СЮЕКЛХ, МЙВП Ч УФТПЛХ ЖПТНХМ.

тЕДБЛФПТ ЖПТНХМ, ЧЩЪЩЧБЕНЩК ОБЦБФЙЕН ОБ ЛОПРЛХ У ОБДРЙУША f(x) ОБ РБОЕМЙ ЙОУФТХНЕОФПЧ, РПЪЧПМСЕФ ОЕ ДЕТЦБФШ Ч РБНСФЙ ЙНЕОБ ТБЪОППВТБЪОЩИ ЖХОЛГЙК, Б ЧЩВЙТБФШ ЙИ ЙЪ УППФЧЕФУФЧХАЭЕЗП ТБЪДЕМБ. тБУУНПФТЙН РПТСДПЛ ЪБДБОЙС ЖПТНХМЩ У РПНПЭША ЬФПЗП ТЕДБЛФПТБ.

чЩВПТ УППФЧЕФУФЧХАЭЕЗП ТБЪДЕМБ РТЙЧПДЙФ Л ПФПВТБЦЕОЙА Ч МЕЧПК ЮБУФЙ ПЛОБ УРЙУЛБ ЖХОЛГЙК ЙЪ ДБООПК ЛБФЕЗПТЙЙ. еУМЙ ЧЩДЕМЙФШ ПДОХ ЙЪ ЖХОЛГЙК, ФП ЧЛМБДЛБ рПНПЭШ Ч РТБЧПК ЮБУФЙ ПЛОБ ПФПВТБЪЙФ ПРЙУБОЙЕ ДБООПК ЖХОЛГЙЙ. рПУМЕ ФПЗП, ЛБЛ РПМШЪПЧБФЕМШ ХВЕДЙФУС, ЮФП ЧЩВТБОБ ЙНЕООП ОХЦОБС ЖХОЛГЙС, УМЕДХЕФ ОБЦБФШ ЛОПРЛХ У ЙЪПВТБЦЕОЙЕН УФТЕМЛЙ Ч ОЙЦОЕК ЮБУФЙ ПЛОБ. рТЙ ЬФПН ЙНС ЖХОЛГЙЙ ВХДЕФ УЛПРЙТПЧБОП Ч РПМЕ ТЕДБЛФЙТПЧБОЙС ЖПТНХМЩ, Б РПДУЛБЪЛБ ВХДЕФ ЪБНЕОЕОБ ОБ ЧЛМБДЛХ рТБЧЙФШ, РТЕДПУФБЧМСАЭХА ЧПЪНПЦОПУФШ ЧЧПДБ БТЗХНЕОФПЧ ЧЩВТБООПК ЖХОЛГЙЙ. еУМЙ БТЗХНЕОФПН СЧМСЕФУС УПДЕТЦЙНПЕ ЛБЛПК-МЙВП СЮЕКЛЙ, ФП ДМС ЧЧПДБ ЕЕ БДТЕУБ ДПУФБФПЮОП ЭЕМЛОХФШ ЛОПРЛПК НЩЫЙ РП ФТЕВХЕНПК СЮЕКЛЙ Й БДТЕУ БЧФПНБФЙЮЕУЛЙ ВХДЕФ ДПВБЧМЕО Ч ЖПТНХМХ.

рТЙ ЙУРПМШЪПЧБОЙЙ УУЩМПЛ ОБ СЮЕКЛЙ, ТБУРПМПЦЕООЩИ Ч РТЕДЕМБИ ПДОПК ФБВМЙГЩ, ОЕ ТЕЛПНЕОДХЕФУС ЧЛМАЮБФШ Ч ЖПТНХМХ ЙНС МЙУФБ, ДПВБЧМСЕНПЕ ТЕДБЛФПТПН ЖПТНХМ РП ХНПМЮБОЙА.

рТЙНЕТ
чЩЮЙУМЙН ЖБЛФПТЙБМЩ РПУМЕДПЧБФЕМШОЩИ ОБФХТБМШОЩИ ЮЙУЕМ ДМС ФПЗП, ЮФПВЩ РПУНПФТЕФШ, ЛБЛ KSpread ТБВПФБЕФ У ВПМШЫЙНЙ ЮЙУМБНЙ.

уОБЮБМБ Ч УФПМВГЕ A У РПНПЭША БЧФПРТПДПМЦЕОЙС ТБЪНЕУФЙН ЮЙУМБ ПФ 1 ДП 15. ъБФЕН ЧЧЕДЕН ЖПТНХМХ Ч СЮЕКЛХ B1. дМС ЬФПЗП, ЧУФБЧ ОБ ОЕЕ, ЧЩЪПЧЕН ТЕДБЛФПТ ЖПТНХМ. ч ТБЪДЕМЕ БОБМЙФЙЮЕУЛЙИ ЖХОЛГЙК ЧЩВЕТЕН ЖХОЛГЙА fact, РПУМЕ ЮЕЗП РТЙУФХРЙН Л ЕЕ ТЕДБЛФЙТПЧБОЙА.

эЕМЮПЛ РП СЮЕКЛЕ A1 РТЙЧПДЙФ Л РПСЧМЕОЙА ЕЕ РПМОПЗП БДТЕУБ (мЙУФ1!A1) Ч РПМЕ ЧЧПДБ БТЗХНЕОФБ. хДБМЙЧ ЙЪ ЖПТНХМЩ ЮБУФШ, УПДЕТЦБЭХА ЙНС ФБВМЙГЩ, ОБЦНЕН ЛОПРЛХ OK. пЛОП ТЕДБЛФПТБ ЪБЛТПЕФУС, Б ЖПТНХМБ ПФПВТБЪЙФУС Ч СЮЕКЛЕ Й УФТПЛЕ ЖПТНХМ. ъБЖЙЛУЙТХЕН ЕЕ, РПУМЕ ЮЕЗП УЛПРЙТХЕН Ч ОЙЦЕМЕЦБЭЙЕ СЮЕКЛЙ. йЪНЕОЙФЕ ЫЙТЙОХ УФПМВГБ B ФБЛ, ЮФПВЩ Ч СЮЕКЛЕ B15 НПЗМП УЧПВПДОП ПФПВТБЪЙФШУС РПМХЮЕООПЕ ЮЙУМП.

лБЛ ЧЙДЙН, KSpread НПЦЕФ ПРЕТЙТПЧБФШ ДПУФБФПЮОП ВПМШЫЙНЙ ЮЙУМБНЙ. оБРПНОЙН, ЮФП ФПЮЛБ БЧФПНБФЙЮЕУЛЙ ТБЪНЕЭБЕФУС РТЙ ПФПВТБЦЕОЙЙ ВПМШЫЙИ ЮЙУЕМ, ПФДЕМСС ФЩУСЮЙ, НЙММЙПОЩ, Й Ф. Д.

уТЕДЙ НОПЦЕУФЧБ ДТХЗЙИ ЖХОЛГЙК ПФНЕФЙН ФТЙ ЖХОЛГЙЙ: currentTime (ФЕЛХЭЕЕ ЧТЕНС), currentDate (ДБФБ) Й ЖХОЛГЙА currentDateTime (ДБФБ Й ЧТЕНС). йОЖПТНБГЙС, ПФПВТБЦБЕНБС Ч СЮЕКЛЕ, ОЕ ПВОПЧМСeФУС БЧФПНБФЙЮЕУЛЙ, РПЬФПНХ ЙУРПМШЪХКФЕ ЛМБЧЙЫХ F9 ДМС РТЙОХДЙФЕМШОПЗП РЕТЕУЮЕФБ ФБВМЙГЩ.

ъБДБОЙЕ
уПЪДБКФЕ ФБВМЙГХ, БОБМПЗЙЮОХА РТЙЧЕДЕООПК ОЙЦЕ. ч ЛПННЕОФБТЙЙ Л СЮЕКЛЕ, УПДЕТЦБЭЙК ЛХТУ ЕЧТП, ХЛБЦЙФЕ УЧПЙ ЖБНЙМЙА Й ЙНС. уПИТБОЙФЕ ЕЕ Ч ЖПТНБФЕ KSpread Й Ч ЖПТНБФЕ ФБВМЙГ GNUmeric.


Gnumeric

рП УТБЧОЕОЙА У KSpread РТПЗТБННБ Gnumeric РТЕДПУФБЧМСЕФ ВПМШЫЕ ЧПЪНПЦОПУФЕК ДМС ТБВПФЩ У ДПЛХНЕОФБНЙ, ПУПВЕООП УПДЕТЦБЭЙНЙ УМПЦОЩЕ ТБУЮЕФОЩЕ ФБВМЙГЩ. ъБРХУЛ ДБООПЗП РТЙМПЦЕОЙС ПУХЭЕУФЧМСЕФУС ЛПНБОДПК gnumeric. рТЙ УФБТФЕ РПСЧМСЕФУС ПЛОП РТПЗТБННЩ, ПФПВТБЦБАЭЕЕ ПДОХ ЙЪ ФБВМЙГ ТБВПЮЕК ЛОЙЗЙ. еУМЙ РТПЗТБННБ ВЩМБ ЪБРХЭЕОБ ВЕЪ ХЛБЪБОЙС ЙНЕОЙ ЖБКМБ У ДБООЩНЙ, ФП УПЪДБЕФУС ОПЧБС РХУФБС ТБВПЮБС ЛОЙЗБ, УПДЕТЦБЭБС РП ХНПМЮБОЙА ФПМШЛП ПДЙО МЙУФ (ФБВМЙГХ). у РПНПЭША ЛПОФЕЛУФОПЗП НЕОА НПЦОП УЛПРЙТПЧБФШ ФЕЛХЭХА ФБВМЙГХ Ч ОПЧХА, ХДБМЙФШ ФБВМЙГХ ЙМЙ ЙЪНЕОЙФШ ЕЕ ЙНС.

ч СЮЕКЛБИ ФБВМЙГ Gnumeric ТБЪНЕЭБЕФУС ЙОЖПТНБГЙС ФЕИ ЦЕ ФЙРПЧ ДБООЩИ, ЮФП Й Ч KSpread: ЮЙУМБ, ЖПТНХМЩ Й ФЕЛУФ. дМС ПФДЕМЕОЙС ДТПВОПК ЮБУФЙ Ч ДЕУСФЙЮОПК ЪБРЙУЙ ЮЙУМБ ЙУРПМШЪХЕФУС ЪБРСФБС. фПЮЛБ РТЙНЕОСЕФУС ДМС РТЕДУФБЧМЕОЙС ФЕЛУФПЧПК ЙОЖПТНБГЙЙ.

дМС ФПЗП ЮФПВЩ ПФЛТЩФШ УПЪДБООХА ТБОЕЕ ФБВМЙГХ УМЕДХЕФ ЧПУРПМШЪПЧБФШУС РХОЛФПН пФЛТЩФШ ЙЪ НЕОА жБКМ ЙМЙ ОБЦБФШ ЛМБЧЙЫХ F3. Gnumeric РПЪЧПМСЕФ ЙНРПТФЙТПЧБФШ ДБООЩЕ ЙЪ ЬМЕЛФТПООЩИ ФБВМЙГ, РПДЗПФПЧМЕООЩНЙ ОЕЛПФПТЩНЙ ДТХЗЙНЙ УТЕДУФЧБНЙ, ОБРТЙНЕТ, РТПЗТБННПК Excel. дМС ЙНРПТФБ ДБООЩИ УМХЦЙФ ПДОПЙНЕООЩК РХОЛФ ЙЪ НЕОА жБКМ.

рПУМЕ ТБВПФЩ У ФБВМЙГЕК ЕЕ НПЦОП УПИТБОЙФШ МЙВП У РПНПЭША НЕОА, МЙВП ОБЦБФЙЕН ЛПНВЙОБГЙЙ ЛМБЧЙЫ Ctrl+S. нПЦОП ФБЛЦЕ ЧПУРПМШЪПЧБФШУС ЛОПРЛПК У ЙЪПВТБЦЕОЙЕН ДЙУЛЕФЩ ОБ РБОЕМЙ ЙОУФТХНЕОФПЧ.

Gnumeric РПЪЧПМСЕФ ЙЪНЕОСФШ НБУЫФБВ ПФПВТБЦБЕНПК ФБВМЙГЩ. дМС ЬФПЗП УМЕДХЕФ ЧПУРПМШЪПЧБФШУС МЙВП РХОЛФПН нБУЫФБВ ЙЪ НЕОА чЙД, МЙВП ТБУЛТЩЧБАЭЙНУС УРЙУЛПН ОБ РБОЕМЙ ЙОУФТХНЕОФПЧ (РП ХНПМЮБОЙА НБУЫФБВ ТБЧЕО 100%).

дМС РТЕПВТБЪПЧБОЙС ПФОПУЙФЕМШОПК УУЩМЛЙ Ч БВУПМАФОХА ЙУРПМШЪХЕФУС ЛМБЧЙЫБ F4: ДПУФБФПЮОП Ч УФТПЛЕ ТЕДБЛФЙТПЧБОЙС ЖПТНХМ ХУФБОПЧЙФШ ЛХТУПТ ПЛПМП УППФЧЕФУФЧХАЭЕК УУЩМЛЙ, РПУМЕ ЮЕЗП ОБЦБФЙЕ ОБ ЛМБЧЙЫХ F4 ГЙЛМЙЮЕУЛЙ ЙЪНЕОСЕФ ЧЙД УУЩМЛЙ, ОБРТЙНЕТ, B2 -> $B$2 -> B$2 -> $B2 -> B2. оБЦБФЙЕ ОБ ЛМБЧЙЫХ F9 РТЙЧПДЙФ Л РТЙОХДЙФЕМШОПНХ РЕТЕУЮЕФХ ЪОБЮЕОЙК.


жПТНБФЙТПЧБОЙЕ

рТПЗТБННБ Gnumeric ПВМБДБЕФ ЧУЕНЙ УФБОДБТФОЩНЙ УТЕДУФЧБНЙ ЖПТНБФЙТПЧБОЙС СЮЕЕЛ: ЙЪНЕОЕОЙЕ ГЧЕФБ ФЕЛУФБ Й ЖПОБ СЮЕКЛЙ, ТБЪНЕТБ Й ОБЮЕТФБОЙС ЫТЙЖФБ Й Ф. Д. нПЦОП ГЕОФТЙТПЧБФШ ФЕЛУФ ПФОПУЙФЕМШОП ЧЩДЕМЕООЩИ СЮЕЕЛ ЙМЙ ТБЪТЩЧБФШ ФЕЛУФ ОБ ОЕУЛПМШЛП УФТПЛ ЧОХФТЙ ПДОПК СЮЕКЛЙ. дМС ЖПТНБФЙТПЧБОЙС УМЕДХЕФ ЙУРПМШЪПЧБФШ НЕОА жПТНБФ ЙМЙ ЛПОФЕЛУФОПЕ НЕОА. чЩВПТ Ч ОЙИ РПДРХОЛФБ жПТНБФ СЮЕЕЛ ЙМЙ ОБЦБФЙЕ ЛПНВЙОБГЙЙ ЛМБЧЙЫ Ctrl+1 РТЙЧПДЙФ Л ПФЛТЩФЙА ПДОПЙНЕООПЗП ПЛОБ, УПДЕТЦБЭЕЗП ТСД ЧЛМБДПЛ УП ЧУЕНЙ ОЕПВИПДЙНЩНЙ ЙОУФТХНЕОФБНЙ. оБ РБОЕМЙ ПВЯЕЛФПЧ, ТБУРПМПЦЕООПК МЕЧЕЕ ФБВМЙГЩ, ЙНЕЕФУС ОБВПТ ЙОУФТХНЕОФПЧ ДМС УПЪДБОЙС РТПУФЕКЫЙИ ТЙУХОЛПЧ: ПЧБМПЧ, РТСНПХЗПМШОЙЛПЧ, МЙОЙК Й УФТЕМПЛ. рХОЛФ бЧФПЖПТНБФЙТПЧБОЙЕ ЙЪ НЕОА жПТНБФ РПЪЧПМСЕФ ВЩУФТП ПЖПТНЙФШ ФБВМЙГХ Ч ПДОПН ЙЪ УФБОДБТФОЩИ УФЙМЕК.

Gnumeric РПЪЧПМСЕФ ПФПВТБЦБФШ ЖПТНХМЩ Ч СЮЕКЛБИ ФБВМЙГЩ ЧНЕУФП ЙИ ЪОБЮЕОЙК. дМС РЕТЕЛМАЮЕОЙС Ч ЬФПФ ТЕЦЙН УМЕДХЕФ Ч НЕОА жПТНБФ ЧЩВТБФШ РХОЛФ мЙУФ, РПУМЕ ЮЕЗП ПФНЕФЙФШ ПРГЙА рПЛБЪБФШ ЖПТНХМЩ. лБЛ Й ВПМШЫЙОУФЧП ДТХЗЙИ ТБУРТПУФТБОЕООЩИ ПРЕТБГЙК ЬФП ДЕКУФЧЙЕ ЙНЕЕФ ЛМБЧЙБФХТОЩК ЬЛЧЙЧБМЕОФ - ЛПНВЙОБГЙА ЛМБЧЙЫ Ctrl Й ` (ПВТБФОЩК БРПУФТПЖ).

рТЙ ЖПТНБФЙТПЧБОЙЙ СЮЕКЛЙ ЙМЙ ЗТХРРЩ СЮЕЕЛ НПЦОП ОБМПЦЙФШ ОБ ЙИ УПДЕТЦЙНПЕ ДПРПМОЙФЕМШОЩЕ ПЗТБОЙЮЕОЙС. оБРТЙНЕТ, ДМС ФБВМЙГЩ, РТЙЧЕДЕООПК ЧЩЫЕ, ОЕ ЙНЕАФ УНЩУМБ ПФТЙГБФЕМШОЩЕ ДБООЩЕ Ч УФПМВГЕ D. йУРПМШЪХС ЧЛМБДЛХ рТПЧЕТЛБ НПЦОП ЪБДБФШ ХУМПЧЙС Й ДЕКУФЧЙС, РТЕДРТЙОЙНБЕНЩЕ Ч УМХЮБЕ ОБТХЫЕОЙС ЪБДБООЩИ ХУМПЧЙК.

фЕРЕТШ РПРЩФЛБ ЧЧПДБ ПФТЙГБФЕМШОПЗП ЛПМЙЮЕУФЧБ ФПЧБТБ РТЙЧЕДЕФ Л РПСЧМЕОЙА ПЛОБ, УЙЗОБМЙЪЙТХАЭЕЗП П ОЕДПРХУФЙНПК УЙФХБГЙЙ.


жХОЛГЙЙ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

уЕМЕЛФПТ ЖХОЛГЙК Gnumeric

ьМЕЛФТПООЩЕ ФБВМЙГЩ Gnumeric ПВМБДБАФ ПЮЕОШ ВПМШЫЙН ОБВПТПН ЧУФТПЕООЩИ ЖХОЛГЙК, РПЪЧПМСАЭЙИ РТПЧПДЙФШ УФБФЙУФЙЮЕУЛЙЕ, ЖЙОБОУПЧЩЕ, ЙОЦЕОЕТОЩЕ Й ДТХЗЙЕ ТБУЮЕФЩ. хДПВОЩН ЙОУФТХНЕОФПН ДМС ЙИ ЧЩВПТБ СЧМСЕФУС ЧЛМБДЛБ уЕМЕЛФПТ ЖХОЛГЙК, ЧЩЪЩЧБЕНБС ЛОПРЛПК ОБ РБОЕМЙ ЙОУФТХНЕОФПЧ У ОБДРЙУША f(x).

ч МЕЧПК ЮБУФЙ ЬФПК ЧЛМБДЛЙ ОБИПДЙФУС УРЙУПЛ, УПДЕТЦБЭЙК ОБЪЧБОЙЕ ЛБФЕЗПТЙК. рТЙ ЧЩВПТЕ ЛБФЕЗПТЙЙ Ч РТБЧПК ЮБУФЙ ПЛОБ ПФПВТБЦБЕФУС УРЙУПЛ ЖХОЛГЙК ДБООПК ЛБФЕЗПТЙЙ. чЩВПТ ЖХОЛГЙЙ РТЙЧПДЙФ Л РПСЧМЕОЙА Ч ОЙЦОЕК ЮБУФЙ ЧЛМБДЛЙ ЕЕ ПРЙУБОЙС. оБЦБФЙЕ ОБ ЛОПРЛХ OK ЪБЛТЩЧБЕФ ЧЛМБДЛХ уЕМЕЛФПТ ЖХОЛГЙК Й ПФЛТЩЧБЕФ ПЛОП рПНПЭОЙЛБ РП ЖПТНХМБН, УПДЕТЦБЭЕЕ ПРЙУБОЙЕ ЧЩВТБООПК ЖХОЛГЙЙ Й РПМС ДМС ЧЧПДБ БТЗХНЕОФПЧ (ЕУМЙ ФБЛПЧЩЕ ЙНЕАФУС). рТЙ ЪБРПМОЕОЙЙ РПМЕК ЖПТНЩ ЙИ УПДЕТЦЙНПЕ БЧФПНБФЙЮЕУЛЙ РЕТЕОПУЙФУС ЛБЛ Ч УППФЧЕФУФЧХАЭХА СЮЕКЛХ ФБВМЙГЩ, ФБЛ Й Ч УФТПЛХ ПФПВТБЦЕОЙС ЖПТНХМ.

тБУУНПФТЙН ОЕУЛПМШЛП РТЙНЕТПЧ ЙУРПМШЪПЧБОЙС УФБОДБТФОЩИ ЖПТНХМ, ДПУФХРОЩИ Ч Gnumeric.

рТЙНЕТ
оЙЦЕ РТЕДУФБЧМЕОБ ЖХОЛГЙС ДМС РПМХЮЕОЙС УМХЮБКОПЗП ЮЙУМБ. рТЙ ЛБЦДПН РЕТЕУЮЕФЕ ФБВМЙГЩ (ЛМБЧЙЫБ F9) Ч СЮЕКЛЕ ВХДЕФ РПСЧМСФШУС ОПЧПЕ ЪОБЮЕОЙЕ. рТЙ ЛПРЙТПЧБОЙЙ ЖПТНХМЩ Ч ТБЪОЩИ СЮЕКЛБИ ВХДХФ ЧЩЧЕДЕОЩ ТБЪМЙЮОЩЕ УМХЮБКОЩЕ ЮЙУМБ.

рТЙНЕТ
йУРПМШЪПЧБОЙЕ МПЗЙЮЕУЛЙИ ЖХОЛГЙК РПЪЧПМСЕФ УПЪДБЧБФШ ФБВМЙГЩ, ХЮЙФЩЧБАЭЙЕ ТБЪМЙЮОЩЕ ЙЪНЕОСАЭЙЕУС ХУМПЧЙС. тБУУНПФТЙН РТЙНЕОЕОЙЕ ХУМПЧОПК ЖХОЛГЙЙ IF, РПЪЧПМСАЭЙК УДЕМБФШ ЧЩВПТ Ч ЪБЧЙУЙНПУФЙ ПФ ЙУФЙООПУФЙ ЙМЙ МПЦОПУФЙ ОЕЛПФПТПЗП ХУМПЧЙС.

ьФБ ЖХОЛГЙС ОБИПДЙФУС Ч ЛБФЕЗПТЙЙ МПЗЙЮЕУЛЙИ ЖХОЛГЙК. ч РПМЕ ъОБЮЕОЙЕ1 ОХЦОП ЪБДБФШ ХУМПЧЙЕ, СЧМСАЭЕЕУС ОЕЛЙН МПЗЙЮЕУЛЙН ЧЩТБЦЕОЙЕН, Ч РПМЕ ъОБЮЕОЙЕ2 ХЛБЪБФШ, ЮФП ДПМЦОП ПФПВТБЦБФШУС Ч УМХЮБЕ ЙУФЙООПУФЙ ХУМПЧЙС, Б Ч РПМЕ ъОБЮЕОЙЕ3 - ТЕЪХМШФБФ, ТБЪНЕЭБЕНЩК Ч СЮЕКЛЕ Ч УМХЮБЕ МПЦОПУФЙ ХУМПЧЙС.

рТПЗТБННБ Gnumeric ПТЙЕОФЙТПЧБОБ ОБ ТБВПФХ У ТБВПЮЙНЙ ЛОЙЗБНЙ, УПДЕТЦБЭЙНЙ ОЕУЛПМШЛП МЙУФПЧ, РПЬФПНХ РПЪЧПМСЕФ МЕЗЛП УПЪДБЧБФШ ЖПТНХМЩ, ЧЛМАЮБАЭЙЕ УУЩМЛЙ ОБ ДБООЩЕ ЙЪ ДТХЗЙИ ФБВМЙГ. дМС РЕТЕЛМАЮЕОЙС НЕЦДХ ФБВМЙГБНЙ ДПУФБФПЮОП ЭЕМЛОХФШ РП ЙНЕОЙ ФТЕВХЕНПК ФБВМЙГЩ Ч РПМЕ ЙНЕО ФБВМЙГ. жПТНХМБ, УПДЕТЦБЭБС УУЩМЛЙ ОБ ДТХЗЙЕ МЙУФЩ, РПЛБЪБОБ ОБ ТЙУХОЛЕ ОЙЦЕ.

дМС ЧЧПДБ РПДПВОЩИ ЖПТНХМ УМЕДХЕФ ЧЧЕУФЙ ЪОБЛ =, РЕТЕЛМАЮЙФШУС ОБ ДТХЗХА ФБВМЙГХ, ЧЩВТБФШ ФТЕВХЕНХА СЮЕКЛХ, ЪБФЕН ЪБЖЙЛУЙТПЧБФШ ЧЧПД ОБЦБФЙЕН ОБ ЛОПРЛХ УП УФТЕМЛПК ОБ РБОЕМЙ ПФПВТБЦЕОЙС ЖХОЛГЙК ( [image]), Й РТПДПМЦЙФШ ЧЧПД ЖПТНХМЩ.

ъБДБОЙЕ
ч ФБВМЙГЕ, РТЙЧЕДЕООПК ОЙЦЕ, Ч СЮЕКЛХ B9 ЧЧЕДЕОБ ЖПТНХМБ, УПЗМБУОП ЛПФПТПК УМПЧП "уЛЙДЛБ" РПСЧМСЕФУС МЙЫШ Ч ФПН УМХЮБЕ, ЛПЗДБ УФПЙНПУФШ РПЛХРЛЙ РТЕЧЩЫБЕФ 15 ЕЧТП. уЮЙФБС, ЮФП ТБЪНЕТ УЛЙДЛЙ ТБЧЕО 5%, ДПВБЧШФЕ Л ФБВМЙГЕ УМЕДХАЭЙЕ ЖПТНХМЩ: Ч СЮЕКЛЕ F9 РТЙ ОБМЙЮЙЙ УЛЙДЛЙ ДПМЦЕО ВЩФШ ХЛБЪБО ЕЕ ТБЪНЕТ Ч ЕЧТП, Б РТЙ ПФУХФУФЧЙЙ - РХУФБС СЮЕКЛБ; Ч СЮЕКЛЕ F10 УМЕДХЕФ ТБЪНЕУФЙФШ УХННХ Л ПРМБФЕ У ХЮЕФПН УЛЙДЛЙ.


OpenOffice Calc

ьМЕЛФТПООЩЕ ФБВМЙГЩ OpenOffice Calc ПВМБДБАФ ОБ ДБООЩК НПНЕОФ ОБЙВПМШЫЙНЙ ЧПЪНПЦОПУФСНЙ УТЕДЙ ЧУЕИ УЧПВПДОП ТБУРТПУФТБОСЕНЩИ РТПЗТБНН РПДПВОПЗП ЛМБУУБ. ьФБ РТПЗТБННБ СЧМСЕФУС ЮБУФША РТПЕЛФБ OpenOffice, ГЕМША ЛПФПТПЗП СЧМСЕФУС РТЕДПУФБЧЙФШ РПМШЪПЧБФЕМА БОБМПЗ ЛПННЕТЮЕУЛПЗП РТПДХЛФБ Microsoft Office, Й РТБЛФЙЮЕУЛЙ ОЕПФМЙЮЙНБ ПФ MS Excel РП ЖХОЛГЙПОБМШОПУФЙ. рПДТПВОБС ЧУФТПЕООБС ДПЛХНЕОФБГЙС Й ХДПВОБС УЙУФЕНБ УРТБЧЛЙ РПЪЧПМСАФ РПМШЪПЧБФЕМА ВЩУФТП ПУЧПЙФШ ЧУЕ ПУПВЕООПУФЙ ТБВПФЩ У ДБООЩН РТПЗТБННОЩН РТПДХЛФПН.

ъБРХУЛ OpenOffice Calc ПУХЭЕУФЧМСЕФУС ЛПНБОДПК soffice. рПУМЕ УФБТФБ РТПЗТБННЩ Ч НЕОА жБКМ УМЕДХЕФ ЧЩВТБФШ РХОЛФ пФЛТЩФШ, ЕУМЙ ЧЩ УПВЙТБЕФЕУШ ТЕДБЛФЙТПЧБФШ ХЦЕ УХЭЕУФЧХАЭЙК ЖБКМ, ЙМЙ Ч РХОЛФЕ уПЪДБФШ ЧЩВТБФШ ПРГЙА дПЛХНЕОФ ЬМЕЛФТПООПК ФБВМЙГЩ. тБВПЮБС ЛОЙЗБ РП ХНПМЮБОЙА УПДЕТЦЙФ 3 МЙУФБ, ОП ЕУМЙ ЛПМЙЮЕУФЧП МЙУФПЧ Ч ЛОЙЗЕ ЙМЙ ЙИ ОБЪЧБОЙЕ ЧБУ ОЕ ХУФТБЙЧБЕФ, ФП ЧЩ НПЦЕФЕ МЕЗЛП ДПВБЧЙФШ, ХДБМЙФШ ЙМЙ РЕТЕЙНЕОПЧБФШ ЙИ. дЧПКОПК ЭЕМЮПЛ Ч ПВМБУФЙ ЪБЗПМПЧЛПЧ МЙУФПЧ ЛОЙЗЙ РТЙЧПДЙФ Л РПСЧМЕОЙА НЕОА, РПЪЧПМСАЭЕНХ ЧЩРПМОЙФШ ХЛБЪБООЩЕ ПРЕТБГЙЙ.

лПОФЕЛУФОЩЕ НЕОА РТПЗТБННЩ, ЛПФПТЩЕ РПСЧМСАФУС РТЙ ОБЦБФЙЙ РТБЧПК ЛОПРЛЙ НЩЫЙ, УЧСЪБОЩ У ПРТЕДЕМЕООЩНЙ ПВЯЕЛФБНЙ РТПЗТБННЩ, ФБЛЙНЙ ЛБЛ СЮЕКЛЙ ФБВМЙГЩ, ЪБЗПМПЧЛЙ УФТПЛ, УФПМВГПЧ ЙМЙ МЙУФПЧ Й Ф. Д. рТПГЕУУ ЧЧПДБ, ТЕДБЛФЙТПЧБОЙС ДБООЩИ, УПЪДБОЙС ЖПТНХМ Ч РТПЗТБННЕ OpenOffice Calc РТБЛФЙЮЕУЛЙ ЙДЕОФЙЮЕО РТПГЕУУХ ТБВПФЩ У ХЦЕ ТБУУНПФТЕООЩНЙ ЬМЕЛФТПООЩНЙ ФБВМЙГБНЙ.

фБЛ ЦЕ ЛБЛ Й ПВЕ ТБОЕЕ ТБУУНПФТЕООЩЕ РТПЗТБННЩ, OpenOffice Calc НПЦЕФ ТБЪНЕЫБФШ Ч СЮЕКЛБИ УЧПЙИ ФБВМЙГ ЮЙУМБ (ЙУРПМШЪХС ЪБРСФХА ДМС ПФДЕМЕОЙС ДТПВОПК ЮБУФЙ), ЖПТНХМЩ Й ФЕЛУФ. л ЛБЦДПК СЮЕКЛЕ НПЦЕФ ВЩФШ ДПВБЧМЕО ЛПННЕОФБТЙК (НЕОА чУФБЧЛБ, РХОЛФ рТЙНЕЮБОЙС), ЛПФПТЩК БЧФПНБФЙЮЕУЛЙ ПФПВТБЦБЕФУС РТЙ РПДЧЕДЕОЙЙ ЛХТУПТБ Л СЮЕКЛЕ (ЕУМЙ Ч НЕОА уРТБЧЛБ ЧЛМАЮЕОБ ПРГЙС рПДУЛБЪЛБ). п ОБМЙЮЙЙ ЛПННЕОФБТЙС УЧЙДЕФЕМШУФЧХЕФ ОЕВПМШЫПК ЛТБУОЩК ЛЧБДТБФЙЛ Ч ЧЕТИОЕН РТБЧПН ХЗМХ СЮЕКЛЙ. ч ЛПОФЕЛУФОПН НЕОА НПЦОП ПФНЕФЙФШ РХОЛФ рПЛБЪБФШ РТЙНЕЮБОЙС ДМС РПУФПСООПЗП ЙИ ПФПВТБЦЕОЙС. эЕМЮПЛ Ч РПМЕ ЛПННЕОФБТЙС РПЪЧПМСЕФ РТЙУФХРЙФШ Л ЕЗП ТЕДБЛФЙТПЧБОЙА.


жПТНБФЙТПЧБОЙЕ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

жПТНБФЙТПЧБОЙЕ ДБООЩИ Й СЮЕЕЛ

рТЙ УПЪДБОЙЙ РТБЛФЙЮЕУЛЙ МАВПЗП ДПЛХНЕОФБ Ч ФПК ЙМЙ ЙОПК ЖПТНЕ ЙУРПМШЪХЕФУС ЖПТНБФЙТПЧБОЙЕ. ьМЕЛФТПООЩЕ ФБВМЙГЩ ОЕ СЧМСАФУС ЙУЛМАЮЕОЙСНЙ Й МАВБС РТПЗТБННБ ДМС ЙИ УПЪДБОЙС РПДДЕТЦЙЧБЕФ ЧПЪНПЦОПУФЙ ЖПТНБФЙТПЧБОЙС. пУПВЕООПУФША ЬФПК РТПЗТБННЩ СЧМСЕФУС ЛБЛ ЧПЪНПЦОПУФШ ЙУРПМШЪПЧБОЙС ЙЪОБЮБМШОП ЪБДБООЩИ ЖПТНБФПЧ, ФБЛ Й УПЪДБОЙС УЧПЙИ УПВУФЧЕООЩИ УФЙМЕК СЮЕЕЛ.

дМС ФПЗП ЮФПВЩ РТЙУФХРЙФШ Л ЖПТНБФЙТПЧБОЙА СЮЕКЛЙ ЙМЙ СЮЕЕЛ ЙИ УМЕДХЕФ ЧЩДЕМЙФШ, ЪБФЕН У РПНПЭША РХОЛФБ сЮЕКЛБ... ЙЪ НЕОА жПТНБФ ЙМЙ РХОЛФБ жПТНБФ СЮЕЕЛ ЛПОФЕЛУФОПЗП НЕОА ПФЛТЩФШ ПЛОП бФТЙВХФЩ СЮЕКЛЙ, ЛПФПТПЕ УПДЕТЦЙФ ЧЛМБДЛЙ, РПЪЧПМСАЭЙЕ ЪБДБФШ РБТБНЕФТЩ ЖПТНБФЙТПЧБОЙС. оБ ЧЛМБДЛЕ юЙУМБ НПЦОП ЧЩВТБФШ ЖПТНБФ ЮЙУМБ. у РПНПЭША ЧЛМБДЛЙ ыТЙЖФ НПЦОП ХУФБОПЧЙФШ ФЙР, ТБЪНЕТ Й ГЧЕФ ЫТЙЖФБ.

тБУУНПФТЙН ОЕУЛПМШЛП РПРПДТПВОЕЕ ЧЛМБДЛХ чЩТБЧОЙЧБОЙЕ. пОБ РТЕДОБЪОБЮЕОБ ДМС ХРТБЧМЕОЙС ЧЩТБЧОЙЧБОЙЕН УПДЕТЦЙНПЗП СЮЕКЛЙ. лТПНЕ ФПЗП, ЪДЕУШ ХУФБОБЧМЙЧБЕФУС ТБУУФПСОЙЕ ПФ МЙОЙК УЕФЛЙ Й ОБРТБЧМЕОЙЕ РЙУШНБ. рЕТЕЛМАЮБФЕМЙ рП ЗПТЙЪПОФБМЙ Й рП ЧЕТФЙЛБМЙ РПЪЧПМСАФ ЪБДБФШ ЧЩТБЧОЙЧБОЙЕ УПДЕТЦЙНПЗП СЮЕКЛЙ Ч ЗПТЙЪПОФБМШОПН Й ЧЕТФЙЛБМШОПН ОБРТБЧМЕОЙЙ.

еУМЙ РЕТЕЛМАЮБФЕМШ рП ЗПТЙЪПОФБМЙ ХУФБОПЧМЕО Ч ТЕЦЙН уФБОДБТФ, ФП ЙУРПМШЪХАФУС УФБОДБТФОЩЕ РТБЧЙМБ ЧЩТБЧОЙЧБОЙС: ЮЙУМБ ЧЩТБЧОЙЧБАФУС РП РТБЧПНХ ЛТБА, Б ФЕЛУФ - РП МЕЧПНХ.

лТХЗМБС ЛОПРЛБ РПЪЧПМСЕФ РТЙ РПНПЭЙ НЩЫЙ РМБЧОП ЙЪНЕОСФШ ХЗПМ ОБЛМПОБ РЙУШНБ. чЕТФЙЛБМШОБС ЛОПРЛБ ХУФБОБЧМЙЧБЕФ ПФПВТБЦЕОЙЕ УПДЕТЦЙНПЗП СЮЕКЛЙ РП ЧЕТФЙЛБМЙ, ЛБЛ ВЩ Ч УФПМВЙЛ.

еУМЙ ХЛБЪБОБ ПРГЙС тБЪТЩЧ УФТПЛЙ, ФП ВХДЕФ ТБЪТЕЫЕО БЧФПНБФЙЮЕУЛЙК ТБЪТЩЧ УФТПЛЙ ОБ ЛТБА СЮЕКЛЙ. пФНЕФЙН, ЮФП ОБЦБФЙЕ ЛПНВЙОБГЙЙ ЛМБЧЙЫ Ctrl+Enter Ч МАВПН НЕУФЕ ФЕЛУФБ ФБЛЦЕ РТЙЧЕДЕФ Л ТБЪТЩЧХ УФТПЛЙ.

рТЙ РПНПЭЙ ЛПНБОДЩ пВЯЕДЙОЙФШ СЮЕКЛЙ -> ъБДБФШ ЙЪ НЕОА жПТНБФ НПЦОП ПВЯЕДЙОЙФШ РТЕДЧБТЙФЕМШОП ЧЩДЕМЕООЩЕ СЮЕКЛЙ. тЕЪХМШФБФ Ч ДБМШОЕКЫЕН ОЙЮЕН ОЕ ПФМЙЮБЕФУС ПФ ДТХЗЙИ СЮЕЕЛ. дМС ПВТБФОПЗП ДЕКУФЧЙС ЧЩДЕМЙФЕ СЮЕКЛХ Й ЧЩВЕТЙФЕ РХОЛФ уОСФШ Ч ФПН ЦЕ НЕОА.

рТЙ ТБВПФЕ У СЮЕКЛБНЙ ЬМЕЛФТПООПК ФБВМЙГЩ, ФБЛЦЕ ЛБЛ Й У ФЕЛУФПЧЩНЙ ДПЛХНЕОФБНЙ, НПЦОП ЙУРПМШЪПЧБФШ ЛБЛ ЦЕУФЛПЕ, ФБЛ Й НСЗЛПЕ ЖПТНБФЙТПЧБОЙЕ: МЙВП ОЕРПУТЕДУФЧЕООП Ч СЮЕКЛЕ ЪБДБФШ ПРТЕДЕМЕООЩК ТБЪНЕТ ЫТЙЖФБ, МЙВП УПЪДБФШ УФЙМШ У ОЕПВИПДЙНЩН ТБЪНЕТПН ЫТЙЖФБ Й РТЙНЕОЙФШ ЕЗП Л СЮЕКЛЕ. дМС ДПЛХНЕОФПЧ, У ЛПФПТЩНЙ РТЙИПДЙФУС ТБВПФБФШ ЮБУФП, Й ЛПФПТЩЕ РТЙ ЬФПН ДПМЦОЩ ЧЩЗМСДЕФШ ПДЙОБЛПЧП, ТЕЛПНЕОДХЕФУС РТЙНЕОСФШ НСЗЛПЕ ЖПТНБФЙТПЧБОЙЕ, Ф. Е. ЧПУРПМШЪПЧБФШУС УФЙМЕН, Б РТЙ ТБВПФЕ У ДПЛХНЕОФБНЙ, ЛПФПТЩЕ ОЕПВИПДЙНП ФПМШЛП ВЩУФТП ОБРЕЮБФБФШ, ДПРХУФЙНП РТЙНЕОЕОЙЕ ЦЕУФЛПЗП ЖПТНБФЙТПЧБОЙС. уФЙМЙ СЮЕЕЛ ПВЕУРЕЮЙЧБАФ ПУПВПЕ ХДПВУФЧП Й РПЪЧПМСАФ РПМХЮБФШ ОЕЛПФПТЩЕ ЙОФЕТЕУОЩЕ ЬЖЖЕЛФЩ. рПДТПВОЕЕ ПВ ПУПВЕООПУФСИ ЦЕУФЛПЗП Й НСЗЛПЗП ЖПТНБФЙТПЧБОЙС ЮЙФБКФЕ Ч РЕТЧПК ЮБУФЙ ДБООПЗП ХЮЕВОПЗП РПУПВЙС.

рТЙНЕТ

тБУУНПФТЙН РТЙНЕТ УПЪДБОЙС Й ЙУРПМШЪПЧБОЙС УФЙМС СЮЕКЛЙ. оБЦБФЙЕН ОБ ЛМБЧЙЫХ F11 ЧЩЪПЧЙФЕ ЙОУФТХНЕОФ уФЙМЙУФ. чЧЕДЙФЕ Ч ПДОХ ЙЪ СЮЕЕЛ ФБВМЙГЩ ФЕЛУФ, Б Ч ДТХЗХА ЮЙУМП. чЩДЕМЙЧ ЮЙУМП, ДЧБЦДЩ ЭЕМЛОЙФЕ ОБ ЬМЕНЕОФЕ "тЕЪХМШФБФ" Ч ПЛОЕ УФЙМЕК Й ЮЙУМП ВХДЕФ ПФЖПТНБФЙТПЧБОП. фЕРЕТШ ДБЧБКФЕ УПЪДБДЙН ОПЧЩК УФЙМШ. пФЖПТНБФЙТХКФЕ ФЕЛУФ, ОБРТЙНЕТ, ЦЙТОЩН ТБЪНЕТПН 20 РХОЛФПЧ УЙОЙН ЫТЙЖФПН ОБ ЦЕМФПН ЖПОЕ. эЕМЛОЙФЕ Ч уФЙМЙУФЕ ОБ ЛОПРЛЕ уПЪДБФШ УФЙМШ ЙЪ ЧЩВТБООПЗП Й Ч РПСЧЙЧЫЙНУС ПЛОЕ ЧЧЕДЙФЕ ЙНС ДМС УФЙМС, ОБРТЙНЕТ, "жПТНБФ ЪБЗПМПЧЛБ", РПУМЕ ЮЕЗП ОБЦНЙФЕ ОБ ЛОПРЛХ пл - ОПЧЩК УФЙМШ ВХДЕФ ДПВБЧМЕО У УРЙУЛХ ТБОЕЕ УХЭЕУФЧПЧБЧЫЙИ.

дМС РТЙНЕОЕОЙС ОПЧПЗП УФЙМС ЪБЗПМПЧЛБ Л ДТХЗЙН СЮЕКЛБН ДПУФБФПЮОП РПУМЕ ЙИ ЧЩДЕМЕОЙС ДЧБЦДЩ ЭЕМЛОХФШ ОБ ЙНЕОЙ УФЙМС.

OpenOffice Calc РПЪЧПМСЕФ РТЙНЕОСФШ УФЙМЙ СЮЕЕЛ ЛБЛ Ч ТХЮОПН ТЕЦЙНЕ, ФБЛ Й БЧФПНБФЙЮЕУЛЙ - Ч ЪБЧЙУЙНПУФЙ ПФ ПРТЕДЕМЕООЩИ ХУМПЧЙК. еУМЙ ЧЩ ИПФЙФЕ ПУПВЩН ПВТБЪПН ЧЩДЕМЙФШ ОЕЛПФПТЩЕ ДБООЩЕ Ч ФБВМЙГЕ, ОБРТЙНЕТ, ЧУЕ ЪОБЮЕОЙС ЧЩЫЕ УТЕДОЕЗП ЧЩДЕМЙФШ ЪЕМЕОЩН ГЧЕФПН, Б ЪОБЮЕОЙС ОЙЦЕ УТЕДОЕЗП - ЛТБУОЩН, ФП ЦЕМБЕНПЗП ТЕЪХМШФБФБ ДПЧПМШОП РТПУФП ДПУФЙЮШ РТЙ РПНПЭЙ ХУМПЧОПЗП ЖПТНБФЙТПЧБОЙС. еУФШ ДЧЕ ЧПЪНПЦОПУФЙ УЧСЪБФШ БЧФПНБФЙЮЕУЛПЕ РТЙУЧПЕОЙЕ ЖПТНБФБ СЮЕКЛЙ У ОЕЛПФПТЩНЙ ХУМПЧЙСНЙ.

рЕТЧБС ЙЪ ОЙИ - РТЙУЧПЕОЙЕ ЖПТНБФБ ЖПТНХМПК. жХОЛГЙС уфймш НПЦЕФ ВЩФШ ДПВБЧМЕОБ Л УХЭЕУФЧХАЭЕК ЖПТНХМЕ Ч СЮЕКЛЕ. фБЛЙН ПВТБЪПН, ЧНЕУФЕ У ЖХОЛГЙЕК фелхэ ЧЩ НПЦЕФЕ ЪБДБФШ, ОБРТЙНЕТ, ГЧЕФ СЮЕКЛЙ Ч ЪБЧЙУЙНПУФЙ ПФ ЪОБЮЕОЙС. йУРПМШЪПЧБОЙЕ ЖПТНХМЩ =...+уфймш( еумй( фелхэ() >3; "ЛТБУОЩК"; "ЪЕМЕОЩК")) ЧЩЪЩЧБЕФ ПЛТБЫЙЧБОЙЕ СЮЕКЛЙ Ч ЛТБУОЩК ГЧЕФ, ЕУМЙ ЪОБЮЕОЙЕ ВПМШЫЕ 3, Й ОБЪОБЮБЕФ УФЙМШ У ЙНЕОЕН "ЪЕМЕОЩК" Ч ЙОПН УМХЮБЕ (ТБЪХНЕЕФУС, ЕУМЙ ХЛБЪБООЩЕ УФЙМЙ ПРТЕДЕМЕОЩ).

дТХЗБС ЧПЪНПЦОПУФШ - ЙУРПМШЪПЧБОЙЕ ХУМПЧОПЗП ЖПТНБФБ. рТЙ РПНПЭЙ РХОЛФБ хУМПЧОПЕ ЖПТНБФЙТПЧБОЙЕ ЙЪ НЕОА жПТНБФ Ч ДЙБМПЗЕ ДПРХУЛБЕФУС ЪБДБОЙЕ ДП ФТЕИ ХУМПЧЙК, ЛПФПТЩЕ ДПМЦОЩ ВЩФШ ЧЩРПМОЕОЩ, ЮФПВЩ СЮЕКЛБ ЙМЙ ЗТХРРБ ЧЩДЕМЕООЩИ СЮЕЕЛ РПМХЮЙМБ ПРТЕДЕМЕООЩК ЖПТНБФ. рТЙ ЙЪНЕОЕОЙЙ ДБООЩИ УФЙМЙ ЖПТНБФЙТПЧБОЙС ВХДХФ ЙЪНЕОСФШУС БЧФПНБФЙЮЕУЛЙ.

рТЙНЕТ
уОБЮБМБ УПЪДБДЙН ФБВМЙГХ, УПДЕТЦБЭХА УМХЮБКОЩЕ ЮЙУМБ. дМС ЪБДБОЙС УМХЮБКОПЗП ЮЙУМБ Ч ДЙБРБЪПОЕ ПФ 0 ДП 1 ЙУРПМШЪХЕФУС ЖХОЛГЙС =умюйу(). нЩ ДМС ВПМШЫЕК ОБЗМСДОПУФЙ ВХДЕН ЙУРПМШЪПЧБФШ ГЕМЩЕ ЮЙУМБ ПФ 0 ДП 50. чЧЕДЙФЕ Ч МЕЧХА ЧЕТИОАА СЮЕКЛХ ЧЩВТБООПК ПВМБУФЙ ЖПТНХМХ =гемпе(умюйу()*50).

уЛПРЙТХКФЕ ЬФХ ЖПТНХМХ Ч ОЕПВИПДЙНПЕ ЛПМЙЮЕУФЧП СЮЕЕЛ Ч ЗПТЙЪПОФБМШОПН ОБРТБЧМЕОЙЙ. чЩДЕМЙФЕ ФПМШЛП ЮФП УПЪДБООЩК ЗПТЙЪПОФБМШОЩК ТСД УМХЮБКОЩИ ЮЙУЕМ Й УЛПРЙТХКФЕ ЖПТНХМЩ ЧОЙЪ, УПЪДБЧ ОЕУЛПМШЛП УФТПЛ УП УМХЮБКОЩНЙ ЮЙУМБНЙ.

фЕРЕТШ ЪБДБДЙН ДЧБ УФЙМС СЮЕЕЛ: УФЙМШ ДМС ЧУЕИ ЪОБЮЕОЙК, РТЕЧЩЫБАЭЙИ УТЕДОЕЕ Й ДМС ФЕИ, ЛПФПТЩЕ НЕОШЫЕ УТЕДОЕЗП. пЛОП уФЙМЙ СЮЕЕЛ ДПМЦОП ВЩФШ ЧЙДЙНЩН. эЕМЛОЙФЕ ОБ РХУФПК СЮЕКЛЕ, ЧЩЪПЧЙФЕ ЛПОФЕЛУФОПЕ НЕОА Й ЧЩВЕТЙФЕ жПТНБФ СЮЕЕЛ. ъБДБКФЕ ЖПТНБФ СЮЕКЛЙ Й УПИТБОЙФЕ ЕЗП РПД ЙНЕОЕН "чЩЫЕ". дМС УПЪДБОЙС ЧФПТПЗП УФЙМС, УОПЧБ ЭЕМЛОЙФЕ ОБ РХУФПК СЮЕКЛЕ Й РПЧФПТЙФЕ ПРЙУБООЩЕ ДЕКУФЧЙС. пФЖПТНБФЙТХКФЕ СЮЕКЛХ Й ОБЪПЧЙФЕ ЬФПФ УФЙМШ "оЙЦЕ".

дМС ФПЗП ЮФПВЩ УЖПТНХМЙТПЧБФШ ХУМПЧЙЕ, РП ЛПФПТПНХ ПРТЕДЕМЕООЩЕ ЪОБЮЕОЙС ФБВМЙГЩ ДПМЦОЩ ЖПТНБФЙТПЧБФШУС РП-ТБЪОПНХ, УОБЮБМБ ЧЩЮЙУМЙН УТЕДОЕЕ ЪОБЮЕОЙЕ ЧУЕИ УМХЮБКОЩИ ЮЙУЕМ Ч ФБВМЙГЕ. ч УЧПВПДОХА СЮЕКЛХ ЧЧЕДЕН ЖХОЛГЙА =утъобю(). рПНЕУФЙФЕ ЛХТУПТ НЕЦДХ УЛПВЛБНЙ Й НЩЫША ЧЩДЕМЙФЕ ЧУЕ УМХЮБКОЩЕ ЮЙУМБ, ЪБФЕН ЪБЖЙЛУЙТХКФЕ РПМХЮЕООХА ЖПТНХМХ.

дМС РТЙНЕОЕОЙС Л ЧЩДЕМЕООЩН СЮЕКЛБН ХУМПЧОПЗП ЖПТНБФЙТПЧБОЙС ЧЩЪПЧЙФЕ ЛПНБОДХ хУМПЧОПЕ ЖПТНБФЙТПЧБОЙЕ ЙЪ НЕОА жПТНБФ. ч РПСЧЙЧЫЙНУС ДЙБМПЗПЧПН ПЛОЕ ЪБДБКФЕ ДЧБ ХУМПЧЙС: (1) ЕУМЙ ЪОБЮЕОЙЕ СЮЕКЛЙ НЕОШЫЕ ЙМЙ ТБЧОСЕФУС УТЕДОЕНХ ЪОБЮЕОЙА - ЖПТНБФЙТПЧБФШ УФЙМЕН "оЙЦЕ", Й (2) ЕУМЙ ЪОБЮЕОЙЕ ВПМШЫЕ УТЕДОЕЗП - УФЙМЕН "чЩЫЕ".

фЕРЕТШ РТЙ ЙЪНЕОЕОЙЙ ДБООЩИ ФБВМЙГЩ БЧФПНБФЙЮЕУЛЙ ВХДЕФ ЙЪНЕОСФШУС Й ЖПТНБФЙТПЧБОЙЕ (ДМС РТЙОХДЙФЕМШОПЗП ЙЪНЕОЕОЙС УМХЮБКОЩИ ЮЙУЕМ УМЕДХЕФ ЧПУРПМШЪПЧБФШУС ЛМБЧЙЫЕК F9).


жПТНХМЩ

рТЙ ЪБДБОЙЙ ЖПТНХМ ОБТСДХ У ПУОПЧОЩНЙ БТЙЖНЕФЙЮЕУЛЙНЙ ПРЕТБГЙСНЙ, OpenOffice Calc РТЕДПУФБЧМСЕФ НОПЦЕУФЧП УРЕГЙБМШОЩИ ЖХОЛГЙК, ЛПФПТЩЕ НПЦОП ЧЧЕУФЙ Ч ЙОФЕТБЛФЙЧОПН ТЕЦЙНЕ РТЙ РПНПЭЙ бЧФПРЙМПФБ ЖХОЛГЙК. OpenOffice Calc РПДДЕТЦЙЧБЕФ, Ч ЮБУФОПУФЙ, НОПЗЙЕ УФБФЙУФЙЮЕУЛЙЕ НЕФПДЩ: ПФ ТЕЗТЕУУЙПООЩИ ТБУЮЕФПЧ ДП ДПЧЕТЙФЕМШОЩИ ЙОФЕТЧБМПЧ. пУПВЕООП ЙОФЕТЕУОБ ЧПЪНПЦОПУФШ ЙЪНЕОСФШ ПФДЕМШОЩЕ РБТБНЕФТЩ Ч ЧЩЮЙУМЕОЙСИ, ЪБЧЙУСЭЙИ ПФ НОПЗЙИ ЖБЛФПТПЧ, Й РТПУМЕЦЙЧБФШ, ЛБЛ ЬФП ЧМЙСЕФ ОБ ТЕЪХМШФБФ. ьФП ФБЛ ОБЪЩЧБЕНЩЕ ТБУЮЕФЩ "ЮФП ВЩМП ВЩ, ЕУМЙ". оБРТЙНЕТ, РТЙ ТБУЮЕФЕ ЛТЕДЙФБ РХФЕН РТПУФПЗП ЙЪНЕОЕОЙС РЕТЙПДБ, РТПГЕОФОПК УФБЧЛЙ ЙМЙ УХНН ЧЩРМБФЩ НПЦОП УТБЪХ ЦЕ ХЧЙДЕФШ, ЛБЛ ЙЪНЕОСАФУС ПУФБМШОЩЕ ЖБЛФПТЩ.

лБЛ Й ЧУЕ ДТХЗЙЕ УТЕДУФЧБ ТБВПФЩ У ЬМЕЛФТПООЩНЙ ФБВМЙГБНЙ, OpenOffice Calc РПЪЧПМСЕФ ЙУРПМШЪПЧБФШ ПФОПУЙФЕМШОЩЕ Й БВУПМАФОЩЕ УУЩМЛЙ. рЕТЕД ЛБЦДЩН ЪОБЮЕОЙЕН, ЛПФПТПЕ ДПМЦОП ЙУРПМШЪПЧБФШУС ЛБЛ БВУПМАФОПЕ, УФБЧЙФУС ЪОБЛ ДПММБТБ $. дМС РТЕЧТБЭЕОЙС ФЕЛХЭЕК УУЩМЛЙ, Ч ЛПФПТПК ОБИПДЙФУС ЛХТУПТ Ч УФТПЛЕ ЧЧПДБ, ЙЪ ПФОПУЙФЕМШОПК Ч БВУПМАФОХА Й ОБПВПТПФ, УМЕДХЕФ ЙУРПМШЪПЧБФШ ЛПНВЙОБГЙА ЛМБЧЙЫ Shift+F4.

рТБЛФЙЮЕУЛЙ ЧУЕ ЖХОЛГЙЙ (ЪБ ЙУЛМАЮЕОЙЕН НБФЕНБФЙЮЕУЛЙИ Й ОЕЛПФПТЩИ УФБФЙУФЙЮЕУЛЙИ) Ч РТПЗТБННЕ OpenOffice Calc МПЛБМЙЪПЧБОЩ, Ф. Е. ЙУРПМШЪХАФ ТХУУЛПСЪЩЮОЩЕ ЙНЕОБ. л ФБЛПЧЩН ПФОПУСФУС Й ЧУЕ ЖХОЛГЙЙ ЙЪ ТБЪДЕМБ дБФБ&чТЕНС (ПДОБЛП ЖХОЛГЙС рбуибмшопечпултеуеоше() ПРТЕДЕМСЕФ ДБФХ ЛБФПМЙЮЕУЛПК, Б ОЕ РТБЧПУМБЧОПК рБУИЙ).

дМС ЧЧПДБ ЖХОЛГЙК Ч СЮЕКЛХ НПЦОП ЧПУРПМШЪПЧБФШУС НБУФЕТПН ЖХОЛГЙК. чЩВЕТЙФЕ СЮЕКЛХ, Ч ЛПФПТХА ОБДП ЧЧЕУФЙ ЖХОЛГЙА, Й ОБЦНЙФЕ ЛОПРЛХ нБУФЕТ ЖХОЛГЙК, ЛПФПТБС ОБИПДЙФУС ОБ РБОЕМЙ ЙОУФТХНЕОФПЧ, ЙМЙ ЧЩВЕТЙФЕ ЛПНБОДХ жХОЛГЙС... ЙЪ НЕОА чУФБЧЛБ. рЕТЕД ЧБНЙ РПСЧЙФУС ПЛОП бЧФПРЙМПФ ЖХОЛГЙК, Ч ЛПФПТПН ОБДП ЧЩДЕМЙФШ ЖХОЛГЙА Й ОБЦБФШ ЛОПРЛХ дБМЕЕ>>  ЙМЙ OK, РПУМЕ ЮЕЗП РПСЧЙФУС ПЛОП ЧЧПДБ БТЗХНЕОФПЧ ЧЩВТБООПК ЖХОЛГЙЙ. жХОЛГЙА НПЦОП ЧЧПДЙФШ ОЕ ФПМШЛП У РПНПЭША НБУФЕТБ ЖХОЛГЙК, ОП Й ЧТХЮОХА, ЕУМЙ ЧЩ РПНОЙФЕ, ЛБЛ ПОБ ОБЪЩЧБЕФУС Й УЛПМШЛП Х ОЕЕ РБТБНЕФТПЧ.

дМС ЪБДБОЙС УХННЩ ЮЙУЕМ, ОБИПДСЭЙИУС Ч УФПМВГЕ ЙМЙ УФТПЛЕ УМЕДХЕФ ЙУРПМШЪПЧБФШ ЛОПРЛХ [image]. ч СЮЕКЛЕ РПСЧЙФУС ЖПТНХМБ ЧЙДБ =ухнн(...). рТПЗТБННБ РЩФБЕФУС ДПЗБДБФШУС, ЛБЛПЧ ЙОФЕТЧБМ УХННЙТПЧБОЙС. еУМЙ ЧБУ ОЕ ХУФТБЙЧБЕФ РТЕДМПЦЕООЩК ДЙБРБЪПО, ФП ЧЩДЕМЙФЕ МЕЧПК ЛОПРЛПК НЩЫЙ ФТЕВХЕНХА ПВМБУФШ СЮЕЕЛ ФБЛ, ЮФПВЩ ЧПЛТХЗ ОЕЕ РПСЧЙМБУШ ЛТБУОБС ТБНЛБ. фП ЦЕ УБНПЕ НПЦОП УДЕМБФШ Й ЧТХЮОХА, ХЛБЪБЧ ДЙБРБЪПО СЮЕЕЛ Ч УФТПЛЕ ЖПТНХМ. пФНЕФЙН, ЮФП РХУФЩЕ СЮЕКЛЙ РТЙ УХННЙТПЧБОЙЙ ФТБЛФХАФУС ЛБЛ УПДЕТЦБЭЙЕ ОХМЕЧЩЕ ЪОБЮЕОЙС.

рПЪОБЛПНЙНУС РПРПДТПВОЕЕ У ЖХОЛГЙЕК дбфб, ПВЕУРЕЮЙЧБАЭЕК ЧЧПД ДБФ Ч ЬМЕЛФТПООХА ФБВМЙГХ. OpenOffice Calc ИТБОЙФ ФБЛЙЕ ДБООЩЕ Ч ЧЙДЕ ЮЙУЕМ, ОП ПФПВТБЦБЕФ Ч СЮЕКЛЕ Ч ЖПТНБФЕ ДБФЩ, ЧЩТБЧОЙЧБС ЙИ (БОБМПЗЙЮОП ЮЙУМБН) РП РТБЧПНХ ЛТБА. лПОЕЮОП, НПЦОП ПФЖПТНБФЙТПЧБФШ СЮЕКЛХ, УПДЕТЦБЭХА ДБФХ, Й Ч ЮЙУМПЧПН ЖПТНБФЕ. уЙОФБЛУЙУ ЖХОЛГЙЙ - дбфб(зПД; нЕУСГ; дЕОШ). зПД - ГЕМПЕ ЮЙУМП ПФ 1600 ДП 3000, РТЙ ЧЧПДЕ ПФ 0 ДП 29 ДПВБЧМСЕФУС 2000, Б РТЙ ЧЧПДЕ ЮЙУМБ ПФ 30 ДП 99 - 1900. нЕУСГ - ЮЙУМП ПФ 1 ДП 12, ЪБДБАЭЕЕ ОПНЕТ НЕУСГБ. дЕОШ - ЮЙУМП ПФ 1 ДП 31, ЛПФПТПЕ ХУФБОБЧМЙЧБЕФ ДЕОШ НЕУСГБ. лПЗДБ ЪОБЮЕОЙС НЕУСГБ Й ДОС ВПМШЫЕ ДПРХУФЙНЩИ, ПОЙ РЕТЕУЮЙФЩЧБАФУС ОБ УМЕДХАЭХА РПЪЙГЙА (ЗПД, НЕУСГ) У РЕТЕРПМОЕОЙЕН. жПТНХМБ =дбфб(00;12;31) ДБЕФ 31.12.2000, Б РТЙ ЧЧПДЕ =дбфб(00;13;31) РПМХЮЙФУС ДБФБ 31.01.2001.

ч РТПЗТБННЕ OpenOffice Calc НПЦОП РТПУФП ЧЧЕУФЙ ДБФЩ Ч ЖПТНБФЕ "НЕУСГ.ЮЙУМП.ЗПД" (ВЕЪ ХЛБЪБОЙС ЛБЧЩЮЕЛ, ЙОБЮЕ ЧЧПД ВХДЕФ ЙОФЕТРТЕФЙТПЧБО ЛБЛ ФЕЛУФ), ОБРТЙНЕТ, "5.17.2" ДМС 17 НБС 2002 ЗПДБ. ч ЬФПН УМХЮБЕ МАВПК ЧЧПД УП ЪОБЮЕОЙСНЙ, ЧЩИПДСЭЙНЙ ЪБ ЗТБОЙГЩ ДПРХУФЙНЩИ, ФТБЛФХЕФУС ОЕ ЛБЛ ДБФБ, Б ЛБЛ ФЕЛУФ. жХОЛГЙС фдбфб() ЧПЪЧТБЭБЕФ ДБФХ Й ЧТЕНС Ч УППФЧЕФУФЧЙЙ У УЙУФЕНОЩН ЧТЕНЕОЕН ЛПНРШАФЕТБ, ЛПФПТЩЕ ПВОПЧМСАФУС РТЙ ЛБЦДПН РЕТЕУЮЕФЕ ДПЛХНЕОФБ.

рТЙНЕТ
чЩЮЙУМЙН ЛПМЙЮЕУФЧП ДОЕК, ЮБУПЧ, НЙОХФ Й УЕЛХОД, РТПЫЕДЫЙИ У 0 ЮБУПЧ ОЕЛПФПТПК ДБФЩ. пФЛТПКФЕ ОПЧЩК ДПЛХНЕОФ ЬМЕЛФТПООПК ФБВМЙГЩ Й ЧЧЕДЙФЕ Ч СЮЕКЛХ B1 ДБФХ, ОБРТЙНЕТ, "1.17.84". ч СЮЕКЛХ B3 ЧЧЕДЙФЕ ЖПТНХМХ =фдбфб()-A1, ЛПФПТБС РП ХНПМЮБОЙА ПФЖПТНБФЙТХЕФУС ЛБЛ ДБФБ. рПУЛПМШЛХ ОБН ОХЦОП РПМХЮЙФШ ТБЪОЙГХ НЕЦДХ ДЧХНС ДБФБНЙ Ч ЧЙДЕ ЮЙУМБ ДОЕК, ФП ОЕПВИПДЙНП ПФЖПТНБФЙТПЧБФШ СЮЕКЛХ B3 ЛБЛ ГЕМПЕ ЮЙУМП. чЧЕДЙФЕ ПУФБМШОЩЕ ЖПТНХМЩ: Ч B4 =B3*24 ДМС ЮБУПЧ, Ч B5 =B4*60 ДМС НЙОХФ Й Ч B6 =B5*60 ДМС УЕЛХОД.

еУМЙ ЧУЕ ЧЩРПМОЕОП РТБЧЙМШОП, ФП ЧТЕНС, РТПЫЕДЫЕЕ У ХЛБЪБООПЗП НПНЕОФБ, ЧЩЮЙУМЕОП Й ПФПВТБЦЕОП Ч ТБЪМЙЮОЩИ ЕДЙОЙГБИ. рТЙ ЬФПН ЪОБЮЕОЙЕ, ЧЩТБЦЕООПЕ Ч УЕЛХОДБИ, ПФОПУЙФУС Л ФПНХ НПНЕОФХ ЧТЕНЕОЙ, ЛПЗДБ ВЩМБ ЪБЖЙЛУЙТПЧБОБ ЖПТНХМБ Ч СЮЕКЛЕ B6. оБЦНЙФЕ ОБ ЛМБЧЙЫХ F9 (ДМС РТЙОХДЙФЕМШОПЗП РЕТЕУЮЕФБ ФБВМЙГЩ) Й ОЕ ПФРХУЛБКФЕ ЕЕ - ЧЩ ХЧЙДЙФЕ ЛБЛ ЙЪНЕОСЕФУС ЧЩЧПД.
дМС ПФПВТБЦЕОЙС ЖПТНХМ, РТЙНЕОЕООЩИ РТЙ ЬФЙИ ЧЩЮЙУМЕОЙСИ, Ч УФПМВЕГ D РПНЕЭЕОБ ЖХОЛГЙС жптнхмб(), БТЗХНЕОФПН ЛПФПТПК СЧМСЕФУС БДТЕУ УППФЧЕФУФЧХАЭЕК СЮЕКЛЙ.

рТЙ УПЪДБОЙЙ УМПЦОЩИ ФБВМЙГ ХДПВОП ЙУРПМШЪПЧБФШ ЙНЕОПЧБООЩЕ СЮЕКЛЙ. еУМЙ ОХЦОП УПУФБЧЙФШ, Л РТЙНЕТХ, ЖПТНХМХ ДМС ЧЩЮЙУМЕОЙС оду, ФП ПОБ ВХДЕФ ВПМЕЕ РПОСФОПК Ч ЧЙДЕ "= уХННБ * тБЪНЕТ_ОБМПЗБ", ЮЕН Ч ЖПТНЕ "= A5 * B12", ЗДЕ СЮЕКЛБ A5 УПДЕТЦЙФ ДБООЩЕ П УХННЕ, Б СЮЕКЛБ B12 - П ТБЪНЕТЕ ОБМПЗБ.

дМС ФПЗП ЮФПВЩ ЪБДБФШ ЙНС ПВМБУФЙ (СЮЕКЛЙ), ОЕПВИПДЙНП ЬФХ ПВМБУФШ УОБЮБМБ ЧЩДЕМЙФШ Й У РПНПЭША РХОЛФБ йНЕОБ - ъБДБФШ НЕОА чУФБЧЛБ (ЙМЙ РТЙ РПНПЭЙ ЛПНВЙОБГЙЙ ЛМБЧЙЫ Ctrl+F3) ЧЩЪЧБФШ ДЙБМПЗПЧПЕ ПЛОП рТЙУЧПЙФШ ЙНС. йНС ДПМЦОП ОБЮЙОБФШУС У ВХЛЧЩ, ПФМЙЮБФШУС ПФ УФБОДБТФОЩИ ЙНЕО СЮЕЕЛ Й ОЕ НПЦЕФ УПДЕТЦБФШ РТПВЕМПЧ. рПУМЕ ЧЧПДБ ЙНЕОЙ УМЕДХЕФ ОБЦБФШ ЛОПРЛХ дПВБЧЙФШ. ч ЬФПН ЦЕ ДЙБМПЗЕ НПЦОП ЪБДБФШ ЙНЕОБ ДТХЗЙИ ПВМБУФЕК, ЧЧЕДС УОБЮБМБ ЙНС, Б ЪБФЕН ЧЩДЕМЙЧ СЮЕКЛЙ МЙУФБ, ЛПФПТЩЕ ДПМЦОЩ РПМХЮЙФШ ЬФП ЙНС. ч ОЕН НПЦОП РТЙУЧПЙФШ ЙНЕОБ ДБЦЕ ЮБУФП ЙУРПМШЪХЕНЩН ЖПТНХМБН ЙМЙ ЬМЕНЕОФБН ЖПТНХМ.

нПЭОЩН ЙОУФТХНЕОФПН РТЙ ТБВПФЕ У ЬМЕЛФТПООЩНЙ ФБВМЙГБНЙ СЧМСЕФУС РПДВПТ РБТБНЕФТБ. у РПНПЭША ЬФПЗП ЙОУФТХНЕОФБ НПЦОП ХЪОБФШ ЪОБЮЕОЙЕ, ЛПФПТПЕ РТЙ РПДУФБОПЧЛЕ Ч ЖПТНХМХ ДБЕФ ЦЕМБЕНЩК ТЕЪХМШФБФ. дМС ФПЗП ЮФПВЩ ЧПУРПМШЪПЧБФШУС РПДВПТПН РБТБНЕФТБ ОХЦОП ЙНЕФШ ЖПТНХМХ У ОЕУЛПМШЛЙНЙ РПУФПСООЩНЙ ЪОБЮЕОЙСНЙ Й ПДОЙН РЕТЕНЕООЩН. мХЮЫЕ ЧУЕЗП НПЦОП ПВЯСУОЙФШ РПДВПТ РБТБНЕФТБ ОБ РТЙНЕТЕ.

дМС ЧЩЮЙУМЕОЙС ЗПДПЧЩИ РТПГЕОФПЧ УПЪДБКФЕ ОЕВПМШЫХА ФБВМЙГХ, Ч ЛПФПТПК ЙЪ ЪОБЮЕОЙК ЛБРЙФБМБ (лБРЙФБМ), ЛПМЙЮЕУФЧБ МЕФ (лПМЙЮЕУФЧП_МЕФ) Й РТПГЕОФОПК УФБЧЛЙ (уФБЧЛБ) РПМХЮБЕФУС ТЕЪХМШФБФ - УХННБ РТПГЕОФПЧ ЪБ ЗПД (рТПГЕОФ). жПТНХМБ ДМС ЧЩЮЙУМЕОЙС ТЕЪХМШФБФБ ЙНЕЕФ ЧЙД

    рТПГЕОФ = лБРЙФБМ * лПМЙЮЕУФЧП_МЕФ * уФБЧЛБ / 100
сЮЕКЛБН МХЮЫЕ ЧУЕЗП ДБФШ ЙНЕОБ, ЮФПВЩ ЖПТНХМБ ЙНЕМБ ПУНЩУМЕООЩК ЧЙД. ч РТЙНЕТЕ УОБЮБМБ ЧЩЮЙУМСЕФУС, ЛБЛПЧБ ВХДЕФ УХННБ РТПГЕОФПЧ РТЙ ЧМПЦЕООПН ЛБРЙФБМЕ 150 000 Т. Й РТПГЕОФОПК УФБЧЛЕ 7,5% ЪБ ЗПД.
фЕРЕТШ, УЮЙФБС, ЮФП РТПГЕОФОБС УФБЧЛБ (7,5%) Й ЛПМЙЮЕУФЧП МЕФ (1) ОЕ ЙЪНЕОСАФУС, ПРТЕДЕМЙН, ЛБЛПЗП ТБЪНЕТБ ДПМЦЕО ВЩФШ ЛБРЙФБМ, ЮФПВЩ ДБЧБФШ ПРТЕДЕМЕООЩЕ ЗПДПЧЩЕ РТПГЕОФЩ, УЛБЦЕН, 15 000 Т. чЩДЕМЙФЕ СЮЕКЛХ рТПГЕОФЩ Й ЧЩВЕТЙФЕ Ч НЕОА уЕТЧЙУ РХОЛФ рПДВПТ РБТБНЕФТБ. рПСЧЙФУС ПДОПЙНЕООПЕ ПЛОП, Ч РПМЕ сЮЕКЛБ ЖПТНХМ ЛПФПТПЗП ХЦЕ ХЛБЪБОБ ОХЦОБС СЮЕКЛБ.
рПНЕУФЙФЕ ЛХТУПТ Ч РПМЕ ДЙБМПЗБ ЙЪНЕОСЕНБС СЮЕКЛБ. ч ФБВМЙГЕ ЧЩДЕМЙФЕ СЮЕКЛХ, ЪОБЮЕОЙЕ ЛПФПТПК ЙЪНЕОСЕФУС, Ф. Е. B2. ч ФЕЛУФПЧПН РПМЕ лПОЕЮОПЕ ЪОБЮЕОЙЕ ДЙБМПЗБ ЧЧЕДЙФЕ ЦЕМБЕНЩК ТЕЪХМШФБФ ЖПТНХМЩ Й ОБЦНЙФЕ ЛОПРЛХ OK. еУМЙ РБТБНЕФТ ВЩМ ХУРЕЫОП РПДПВТБО, ФП ПФПВТБЪЙФУС ТЕЪХМШФБФ, ЛПФПТЩК НПЦОП ЪБОЕУФЙ Ч ФБВМЙГХ.


дЙБЗТБННЩ

чУЕ ТБУУНПФТЕООЩЕ ОБНЙ РТПЗТБННЩ РПДЗПФПЧЛЙ ЬМЕЛФТПООЩИ ФБВМЙГ Ч ФПК ЙМЙ ЙОПК УФЕРЕОЙ НПЗХФ ПФПВТБЦБФШ ТЕЪХМШФБФЩ ТБУЮЕФПЧ Ч ЧЙДЕ ДЙБЗТБНН. пДОБЛП ОЙ ПДОБ ЙЪ ОЙИ ОЕ НПЦЕФ ОБ ДБООЩК НПНЕОФ УТБЧОЙФШУС У РТПЗТБННПК OpenOffice Calc, РТЕДМБЗБАЭЕК ВПЗБФЩК ЧЩВПТ ТБЪМЙЮОЩИ ФЙРПЧ ДЙБЗТБНН, ЙЪ ЛПФПТЩИ НПЦОП ЧЩВТБФШ ОБЙВПМЕЕ РПДИПДСЭЙЕ ДМС ДЕНПОУФТБГЙЙ УФТХЛФХТЩ ЧБЫЙИ ДБООЩИ.

дМС РТЕДУФБЧМЕОЙС ДБООЩИ Ч ЧЙДЕ ДЙБЗТБННЩ ЙИ УМЕДХЕФ РТЕДЧБТЙФЕМШОП ЧЩДЕМЙФШ (ЧНЕУФЕ У ЪБЗПМПЧЛБНЙ, ЕУМЙ ФБЛПЧЩЕ ЙНЕАФУС), РПУМЕ ЮЕЗП ЙЪ НЕОА чУФБЧЛБ ЧЩВТБФШ РХОЛФ дЙБЗТБННБ. ч ПФЛТЩЧЫЙНУС ПЛОЕ бЧФПЖПТНБФ ДЙБЗТБННЩ ОХЦОП ЧЩРПМОЙФШ ТСД ДЕКУФЧЙК, РПЪЧПМСАЭЙК ЧЩВТБФШ ФЙР ДЙБЗТБННЩ, ХЛБЪБФШ ТБУРПМПЦЕОЙЕ ТСДПЧ ДБООЩИ, ЪБДБФШ ЪБЗПМПЧПЛ ДЙБЗТБННЩ, ОБЙНЕОПЧБОЙЕ ПУЕК Й Ф. Д. еУМЙ ФТЕВХЕФУС ЧУФБЧЙФШ ДЙБЗТБННХ Ч ДПЛХНЕОФ, УПУФПСЭЙК ЙЪ ОЕУЛПМШЛЙИ ФБВМЙГ, ФП НПЦОП ХУФБОПЧЙФШ, Ч ЛБЛХА ФБВМЙГХ ДПМЦОБ ВЩФШ ЧУФБЧМЕОБ ДЙБЗТБННБ. рПУМЕ ЪБРПМОЕОЙС ОХЦОЩИ РПМЕК ОБЦНЙФЕ ОБ ЛМБЧЙЫХ зПФПЧП Й ДЙБЗТБННБ ВХДЕФ ТБЪНЕЭЕОБ ОБ МЙУФЕ.

ъБНЕФЙН, ЮФП РТЙ УПУФБЧМЕОЙЙ ДЙБЗТБНН ДПРХУЛБЕФУС НОПЗПЛТБФОПЕ ЧЩДЕМЕОЙЕ, Ф. Е. ЧЩДЕМЕООЩЕ ДБООЩЕ ОЕ ПВСЪБОЩ ТБУРПМБЗБФШУС Ч ФБВМЙГЕ Ч ЧЙДЕ ОЕРТЕТЩЧОПК ПВМБУФЙ. нОПЗПЛТБФОПЕ ЧЩДЕМЕОЙЕ ПУХЭЕУФЧМСЕФУС РТЙ ОБЦБФПК ЛМБЧЙЫЕ Ctrl. еУМЙ ЧЩ ЙУРПМШЪХЕФЕ НОПЗПЛТБФОПЕ ЧЩДЕМЕОЙЕ, ФП ХВЕДЙФЕУШ, ЮФП ЬФПФ ОБВПТ ТБЪТПЪОЕООЩИ СЮЕЕЛ ГЕМЕУППВТБЪОП ЙУРПМШЪПЧБФШ ДМС УПУФБЧМЕОЙС ДЙБЗТБННЩ.

рТЙНЕТ
рПДЗПФПЧЙН ДБООЩЕ ДМС ДЙБЗТБННЩ, ЙУРПМШЪХС УМЕДХАЭЕЕ НОПЗПЛТБФОПЕ ЧЩДЕМЕОЙЕ.

бЧФПНБФЙЮЕУЛЙ УПУФБЧМСЕФУС ДЙБЗТБННБ ДМС СОЧБТС, НБТФБ, БРТЕМС Й НБС ДМС ПЖЙУБ 1. тБУУНПФТЙФЕ ДТХЗПЕ НОПЗПЛТБФОПЕ ЧЩДЕМЕОЙЕ.

пОП ОЕ СЧМСЕФУС ЛПТТЕЛФОП УПЮЕФБЕНПК ПВМБУФША Й УПУФБЧМЕООБС ДЙБЗТБННБ ВХДЕФ НБМПЙОЖПТНБФЙЧОПК. рПУНПФТЙФЕ ОБ ВПМЕЕ УПЮЕФБЕНПЕ НОПЗПЛТБФОПЕ ЧЩДЕМЕОЙЕ Й УППФЧЕФУФЧХАЭХА ДЙБЗТБННХ.

OpenOffice Calc РПЪЧПМСЕФ ЙЪНЕОСФШ ПФДЕМШОЩЕ ЬМЕНЕОФЩ ДЙБЗТБННЩ. чЩДЕМЕОЙЕ ДЙБЗТБННЩ ЙМЙ ЕЕ ЮБУФЙ ПУХЭЕУФЧМСЕФУС ЭЕМЮЛПН НЩЫЙ, РТЙ ЬФПН РПСЧМСАФУС ЧПУЕНШ ЪЕМЕОЩИ ЛЧБДТБФЙЛПЧ, ТБУРПМПЦЕООЩИ РП РЕТЙНЕФТХ.

лХТУПТ, РПРБДБС Ч ЧЩДЕМЕООХА ФБЛЙН ПВТБЪПН ПВМБУФШ, РТЙПВТЕФБЕФ ЧЙД ЛТЕУФЙЛБ. оБЦБФЙЕ ОБ МЕЧХА ЛОПРЛХ НЩЫЙ РПЪЧПМСЕФ РЕТЕНЕЭБФШ ЧЩДЕМЕООЩК ПВЯЕЛФ. дМС ХДБМЕОЙС ЧЩДЕМЕООПЗП ПВЯЕЛФБ ЧЩВЕТЙФЕ ЙЪ ЛПОФЕЛУФОПЗП НЕОА РХОЛФ чЩТЕЪБФШ.

эЕМЮПЛ РТБЧПК ЛОПРЛПК НЩЫЙ РТЙЧПДЙФ Л РПСЧМЕОЙА НЕОА ЖПТНБФЙТПЧБОЙС ДЙБЗТБННЩ, РХОЛФЩ ЛПФПТПЗП РПЪЧПМСФ ПФЛПТТЕЛФЙТПЧБФШ ЧЙД РТБЛФЙЮЕУЛЙ МАВПК ЮБУФЙ ДЙБЗТБННЩ: ХУФБОПЧЙФШ ЗТБОЙГЩ ДЙБРБЪПОПЧ ОБ ПУСИ ДЙБЗТБННЩ Й НБУЫФБВ, ЙЪНЕОЙФШ РТПЪТБЮОПУФШ ПВМБУФЙ ДЙБЗТБННЩ, ЪБДБФШ ЛБЛПК-МЙВП ЖПО, ХРТБЧМСФШ ПФПВТБЦЕОЙЕН УЕФЛЙ Й НОПЗПЕ ДТХЗПЕ.

еУМЙ ЧЩ РПНЕУФЙМЙ ДЙБЗТБННХ ОБ ЪБДОЙК РМБО ЬМЕЛФТПООПК ФБВМЙГЩ, ФП ЧЩДЕМЙФШ ЕЕ РТПУФП ЭЕМЮЛПН НЩЫЙ ХЦЕ ОЕ ХДБУФУС.

пФЛТПКФЕ РБОЕМШ жХОЛГЙЙ ТЙУПЧБОЙС Й ЧЩВЕТЙФЕ ЙОУФТХНЕОФ чЩДЕМЕОЙЕ. фЕРЕТШ ЭЕМЮЛПН ЧЩДЕМЙФЕ ДЙБЗТБННХ.

рТЙ УПЪДБОЙЙ МЙОЕКЮБФЩИ ДЙБЗТБНН (ЗТБЖЙЛПЧ) ДПРХУЛБЕФУС ЙУРПМШЪПЧБОЙЕ ТБЪМЙЮОЩИ УЙНЧПМПЧ, ЛПФПТЩЕ НПЗХФ ВЩФШ ЧЩВТБОЩ ЙЪ ЖБКМПЧ У ТЙУХОЛБНЙ ЙМЙ ЙЪ ФБЛ ОБЪЩЧБЕНПК зБМЕТЕЙ. ч ОЕК УПДЕТЦЙФУС ВПМШЫПЕ ЛПМЙЮЕУФЧП ТЙУХОЛПЧ ДМС ПЖПТНМЕОЙС ЗТБОЙГ СЮЕЕЛ, ЖПОПЧЩИ ЙЪПВТБЦЕОЙК, НБТЛЕТПЧ Й "ФТЕИНЕТОЩИ" ПВЯЕЛФПЧ.

фЙР ДЙБЗТБННЩ НПЦОП ЙЪНЕОЙФШ Ч МАВПК НПНЕОФ. ч ДЙБМПЗЕ, ЛПФПТЩК РПСЧЙФУС ВМБЗПДБТС ЧЩДЕМЕОЙА ДЙБЗТБННЩ Й ЧЩЪПЧХ ЛПНБОДЩ жПТНБФ - фЙР ДЙБЗТБННЩ, РТЕДУФБЧМЕОЩ ТБЪМЙЮОЩЕ ФЙРЩ ДЙБЗТБНН.

рТПУНПФТЙФЕ Ч ЬФПН ДЙБМПЗЕ ЧУЕ ФЙРЩ ДЙБЗТБНН: ДЧХНЕТОЩЕ (2-н) Й ФТЕИНЕТОЩЕ (3-н). ч 3-н-ДЙБЗТБННБИ НПЦОП ОБУФТПЙФШ ОБРТБЧМЕОЙЕ ПУЧЕЭЕОЙС, ПЛТХЦБАЭЙК УЧЕФ Й ГЧЕФПЧПК ЖЙМШФТ. фБЛЙЕ ДЙБЗТБННЩ НПЦОП ЧТБЭБФШ Й ОБЛМПОСФШ РТЙ РПНПЭЙ НЩЫЙ.

оЙЦЕ РТЙЧЕДЕОЩ ЮЕФЩТЕ ДЙБЗТБННЩ, УППФЧЕФУФЧХАЭЙЕ ПДОПНХ Й ФПНХ ЦЕ ОБВПТХ ДБООЩИ, РПМХЮЕООПНХ Ч ТЕЪХМШФБФЕ РПУМЕДОЕЗП ЛПТТЕЛФОПЗП НОПЗПЛТБФОПЗП ЧЩДЕМЕОЙЕН ЙЪ ТБУУНПФТЕООПЗП ЧЩЫЕ РТЙНЕТБ.

пДОБ ЙЪ ОЙИ - ГЙМЙОДТЙЮЕУЛБС У ЗМХВЙОПК, СЧМСАЭБСУС ТБЪОПЧЙДОПУФША 3-н ЗЙУФПЗТБННЩ. дМС МХЮЫЕЗП ПВЪПТБ ПОБ ВЩМБ ОЕНОПЗП РПЧЕТОХФБ. дТХЗБС СЧМСЕФУС ПВЩЮОПК ЛТХЗПЧПК 3-н ДЙБЗТБННПК. пУФБЧЫЙЕУС ДЧЕ ПФОПУСФУС Л ЧЙДХ 2-н ДЙБЗТБНН: МЙОЙС У УЙНЧПМБНЙ, РПМХЮЕООЩНЙ ЙЪ зБМЕТЕЙ, Й ЗЙУФПЗТБННБ, ЙУРПМШЪХСЭБС ТБЪМЙЮОЩЕ ЪБМЙЧЛЙ Й ЖПО.

ъБДБОЙС

1. уПЪДБКФЕ ФБВМЙГХ, БОБМПЗЙЮОХА РТЙЧЕДЕООПК ДБМЕЕ. дМС РПМХЮЕОЙС ДБООЩИ РП НЕУСГБН ЙУРПМШЪХКФЕ УМХЮБКОЩЕ ЮЙУМБ Ч ДЙБРБЪПОЕ ПФ 30 ДП 50. рПЛБЪБФЕМЙ ЪБ ЛЧБТФБМ Й ЗПД ДПМЦОЩ РТЕДУФБЧМСФШ УХННБТОЩЕ ТЕЪХМШФБФЩ РП УППФЧЕФУФЧХАЭЙН НЕУСГБН.

чЩЮЙУМЙФЕ УТЕДОЙК ПВЯЕН РТПДБЦ РП ЛЧБТФБМБН Й ЗПДХ РП ЛБЦДПНХ ПЖЙУХ Й ЖЙТНЕ Ч ГЕМПН.

2. йУРПМШЪХС ХУМПЧОПЕ ЖПТНБФЙТПЧБОЙЕ, ЧЩДЕМЙФЕ УЕТЩН ЖПОПН Й ТБНЛПК ФЕ РПЛБЪБФЕМЙ ЧФПТПЗП ЛЧБТФБМБ, ЛПФПТЩЕ ОЙЦЕ УТЕДОЕЗП ЪОБЮЕОЙС РП УППФЧЕФУФЧХАЭЕНХ ПЖЙУХ ЪБ 1 ЛЧБТФБМ. фБЛ ВХДХФ ПФНЕЮЕОЩ РМПИП ТБВПФБАЭЙЕ РПДТБЪДЕМЕОЙС.

ч ЮЕФЧЕТФПН ЛЧБТФБМЕ ЧЩДЕМЙФЕ, ХУФБОПЧЙЧ ЗПМХВПК ЖПО Й ТБНЛХ, ДБООЩЕ, РТЕЧЩЫБАЭЙЕ УТЕДОЕЗПДПЧПК РПЛБЪБФЕМШ РП ЧУЕН ПЖЙУБН. ьФЙ РПДТБЪДЕМЕОЙС ЪБУМХЦЙЧБАФ РППЭТЕОЙС.

3. уПУФБЧШФЕ ДЙБЗТБННЩ, БОБМПЗЙЮОЩЕ РТЙЧЕДЕООЩН, Й ПФПВТБЦБАЭЙЕ ДПМА ЛБЦДПЗП ПЖЙУБ Ч ЗПДПЧПН ПВЯЕНЕ РТПДБЦ Й УТЕДОЙЕ ЪОБЮЕОЙС РП ЛЧБТФБМБН РП ЧУЕК ЖЙТНЕ Ч ГЕМПН.


8. уЙУФЕНЩ ЛПНРШАФЕТОПК БМЗЕВТЩ

зМБЧБ 8 уЙУФЕНЩ ЛПНРШАФЕТОПК БМЗЕВТЩ

ч ЬФПК ЗМБЧЕ ВХДХФ ТБУУНПФТЕОЩ РТПЗТБННОЩЕ УТЕДУФЧБ, РПЪЧПМСАЭЙЕ РТПЧПДЙФШ ПВТБВПФЛХ ЛБЛ ЮЙУМПЧПК, ФБЛ Й УЙНЧПМШОПК ЙОЖПТНБГЙЙ, Б ФБЛЦЕ ПУХЭЕУФЧМСФШ ЧЩЮЙУМЕОЙС У ВПМШЫПК УФЕРЕОША ФПЮОПУФЙ Й ПРЕТЙТПЧБФШ ПЗТПНОЩНЙ ЮЙУМБНЙ.

вПМШЫЙОУФЧП ЛПНРШАФЕТОЩИ РТПЗТБНН, РТЕДОБЪОБЮЕООЩИ ДМС ЧЩЮЙУМЕОЙК, ТБВПФБАФ ФПМШЛП У ЮЙУМПЧЩНЙ ЧЩТБЦЕОЙСНЙ. лБЛ РТБЧЙМП ЙИ ТЕЪХМШФБФЩ ВЩЧБАФ РТЙВМЙЦЕООЩНЙ, ЧЕДШ РТЙ ПРЕТБГЙСИ У ЧЕЭЕУФЧЕООЩНЙ ЮЙУМБНЙ РТПЙУИПДЙФ ЙИ ПЛТХЗМЕОЙЕ. ч РПУМЕДОЕЕ ЧТЕНС ЧУЕ ВПМШЫЕЕ ТБУРТПУФТБОЕОЙЕ РТЙПВТЕФБАФ УЙУФЕНЩ ДМС ОБХЮОЩИ Й ЙОЦЕОЕТОЩИ ТБУЮЕФПЧ, ЙЪВБЧМЕООЩЕ ПФ РПДПВОЩИ ОЕДПУФБФЛПЧ. пОЙ УРПУПВОЩ ЙУРПМШЪПЧБФШ Ч РТПГЕУУЕ ЧЩЮЙУМЕОЙК НБФЕНБФЙЮЕУЛЙЕ ФЕПТЕНЩ Й ЖБЛФЩ. фБЛ, ЫЙТПЛП ЙЪЧЕУФОПЕ ФТЙЗПОПНЕФТЙЮЕУЛПЕ ФПЦДЕУФЧП ЗМБУЙФ, ЮФП sin2x+cos2x=1 ДМС МАВПЗП x. оЙ ПДЙО ЛБМШЛХМСФПТ ОЕ УРПУПВЕО РТЙНЕОЙФШ ЬФП ФПЦДЕУФЧП Ч РТПГЕУУЕ РТЕПВТБЪПЧБОЙК, Ч ФП ЧТЕНС ЛБЛ ФБЛЙЕ РТПЗТБННЩ, ЛБЛ Mathematica ЙМЙ Maxima, РТЕДОБЪОБЮЕООЩЕ ДМС УЙНЧПМШОЩИ ЧЩЮЙУМЕОЙК, МЕЗЛП УРТБЧМСАФУС У РПДПВОЩНЙ ЪБДБЮБНЙ.

фБН, ЗДЕ ОЕПВИПДЙНП ЧЩРПМОЙФШ ЧЩЮЙУМЕОЙС ФПЮОП, МЙВП ПУХЭЕУФЧЙФШ БОБМЙФЙЮЕУЛПЕ РТЕПВТБЪПЧБОЙЕ, ОБРТЙНЕТ, ХРТПУФЙФШ УМПЦОПЕ НБФЕНБФЙЮЕУЛПЕ ЧЩТБЦЕОЙЕ, ЧЩЮЙУМЙФШ Ч УЙНЧПМШОПН ЧЙДЕ РТПЙЪЧПДОХА ЙМЙ РЕТЧППВТБЪОХА ЪБДБООПК ЖХОЛГЙЙ, ТБЪМПЦЙФШ ЕЕ Ч ТСД фЕКМПТБ, ОБКФЙ ЛПТОЙ ХТБЧОЕОЙС, ЪБДБООПЗП Ч ДПУФБФПЮОП ПВЭЕН ЧЙДЕ Й Ф. Д., РТЙНЕОСАФУС ФБЛ ОБЪЩЧБЕНЩЕ УЙУФЕНЩ ЛПНРШАФЕТОПК БМЗЕВТЩ (УЙУФЕНЩ УЙНЧПМШОЩИ ЧЩЮЙУМЕОЙК). пФНЕФЙН ФБЛЦЕ ПУПВХА ТПМШ РПДПВОЩИ УЙУФЕН Ч ФЕИОЙЮЕУЛПН Й НБФЕНБФЙЮЕУЛПН ПВТБЪПЧБОЙЙ. пОЙ РПЪЧПМСАФ РТПЧЕТЙФШ ТЕЪХМШФБФЩ ЗТПНПЪДЛЙИ НБФЕНБФЙЮЕУЛЙИ ТБУЮЕФПЧ Й ОБЗМСДОП РТЕДУФБЧЙФШ УМПЦОЩЕ НБФЕНБФЙЮЕУЛЙЕ ПВЯЕЛФЩ.

нЙТПЧЩН МЙДЕТПН УТЕДЙ РПДПВОПЗП ТПДБ УЙУФЕН УРТБЧЕДМЙЧП УЮЙФБЕФУС РТПЗТБННБ Mathematica. еЕ ЧЕТУЙЙ ДПУФХРОЩ РПМШЪПЧБФЕМСН ТБЪМЙЮОЩИ ПРЕТБГЙПООЩИ УЙУФЕН, Ч ФПН ЮЙУМЕ Windows Й Linux. уМЕДХЕФ ПФНЕФЙФШ, ЮФП ЬФБ РТПЗТБННБ, ЪБУМХЦЕООП РПМШЪХАЭБСУС РПРХМСТОПУФША, УФПЙФ ДПУФБФПЮОП ДПТПЗП.

дТХЗПК УЙУФЕНПК ЛПНРШАФЕТОПК БМЗЕВТЩ, ТБУУНБФТЙЧБЕНПК Ч ЬФПН ЛХТУЕ, СЧМСЕФУС Maxima. ьФБ РТПЗТБННБ ТБУРТПУФТБОСЕФУС РПД МЙГЕОЪЙЕК GNU, ЮФП РПЪЧПМСЕФ ТЕЛПНЕОДПЧБФШ ЕЕ ЫЙТПЛПНХ ЛТХЗХ РПМШЪПЧБФЕМЕК. х ЛБЦДПК ЙЪ ЬФЙИ ДЧХИ РТПЗТБНН ЕУФШ УЧПЙ УЙМШОЩЕ Й УМБВЩЕ УФПТПОЩ. хДПВОЩК ЗТБЖЙЮЕУЛЙК ЙОФЕТЖЕКУ СЧМСЕФУС ОЕУПНОЕООЩН ДПУФПЙОУФЧПН РТПЗТБННЩ Mathematica, Ч ФП ЧТЕНС ЛБЛ Maxima ЪБЮБУФХА ДБЕФ ВПМЕЕ ЛПТТЕЛФОЩЕ ПФЧЕФЩ. фБЛ, ОБРТЙНЕТ, РТЙ ЧЩЮЙУМЕОЙЙ РЕТЧППВТБЪОПК ЖХОЛГЙЙ xn Maxima РТПУЙФ ХФПЮОЙФШ ЪОБЮЕОЙЕ n, ФБЛ ЛБЛ РТЙ n = -1 ТЕЪХМШФБФПН СЧМСЕФУС ЖХОЛГЙС ln x, Б РТЙ ДТХЗЙИ n РЕТЧППВТБЪОБС ТБЧОБ xn+1/(n+1). рТПЗТБННБ Mathematica ДМС ФБЛПК ЖХОЛГЙЙ ЧУЕЗДБ Ч ЛБЮЕУФЧЕ РЕТЧППВТБЪОПК ЧЩДБЕФ ЪОБЮЕОЙЕ xn+1/(n+1), ИПФС ЕУМЙ Ч ЛБЮЕУФЧЕ ЖХОЛГЙЙ ЪБДБФШ 1/x, ФП РПМХЮЙН ЧЕТОЩК ТЕЪХМШФБФ - ln x. дТХЗЙНЙ РТЕДУФБЧЙФЕМСНЙ УЙУФЕН ФБЛПЗП ТПДБ СЧМСАФУС РТПЗТБННЩ Mathcad Й Maple, ОП Ч ДБООПН ЛХТУЕ ПОЙ ТБУУНaФТЙЧБФШУС ОЕ ВХДХФ.


Mathematica

ьФПФ ТБЪДЕМ РПУЧСЭЕО ПРЙУБОЙА УЙУФЕНЩ ЛПНРШАФЕТОПК БМЗЕВТЩ Mathematica. нОПЗЙЕ УЮЙФБАФ ЕЕ НЙТПЧЩН МЙДЕТПН УТЕДЙ УЙУФЕН РПДПВОПЗП ЛМБУУБ. тБЪТБВПФЛПК ЬФПК РТПЗТБННЩ ЪБОЙНБЕФУС ЛПНРШАФЕТОБС ЖЙТНБ Wolfram Research, Inc. юЙУМП МЕЗБМШОЩИ РПМШЪПЧБФЕМЕК РТПЗТБННЩ Mathematica ЧП ЧУЕН НЙТЕ РТЕЧЩУЙМП НЙММЙПО ЮЕМПЧЕЛ. л УПЦБМЕОЙА, ДПУФБФПЮОП ЧЩУПЛБС ДМС ЙОДЙЧЙДХБМШОПЗП РПМШЪПЧБФЕМС ОБЫЕК УФТБОЩ ГЕОБ ЬФПК РТПЗТБННЩ ДЕМБЕФ РТБЛФЙЮЕУЛЙ ОЕЧПЪНПЦОЩН ЕЕ МЕЗБМШОПЕ ЙУРПМШЪПЧБОЙЕ Ч тПУУЙЙ.

гЕОФТБМШОПЕ НЕУФП Ч УЙУФЕНЕ Mathematica ЪБОЙНБЕФ НБЫЙООП-ОЕЪБЧЙУЙНПЕ СДТП НБФЕНБФЙЮЕУЛЙИ ПРЕТБГЙК Kernel. пОП ЗБТБОФЙТХЕФ ЙДЕОФЙЮОПУФШ ТЕЪХМШФБФПЧ, РПМХЮЕООЩИ РТЙ ПДОЙИ Й ФЕИ ЦЕ ЧЩЮЙУМЕОЙСИ Ч УЙУФЕНБИ Mathematica, ХУФБОПЧМЕООЩИ ОБ ТБЪОЩИ РМБФЖПТНБИ. ч ДБМШОЕКЫЕН ЙЪМПЦЕОЙЙ НЩ ВХДЕН ТБУУНБФТЙЧБФШ РТПГЕУУ ТБВПФЩ У ЬФПК РТПЗТБННПК Ч пу Linux.

тБВПФБ У УЙУФЕНПК РТПЙУИПДЙФ Ч ДЙБМПЗПЧПН ТЕЦЙНЕ: РПМШЪПЧБФЕМШ ЪБДБЕФ ЧПРТПУ Й РПМХЮБЕФ ОБ ОЕЗП ПФЧЕФ. Mathematica ДПРХУЛБЕФ ЧЩЮЙУМЕОЙЕ Й РП ЪБТБОЕЕ РПДЗПФПЧМЕООЩН РТПЗТБННБН, ОП Ч ЬФПН ХЮЕВОПН РПУПВЙЙ ЧПРТПУЩ, УЧСЪБООЩЕ У РТПЗТБННЙТПЧБОЙЕН Ч УЙУФЕНЕ Mathematica, ОЕ ЪБФТБЗЙЧБАФУС.

уМЕДХЕФ ПФНЕФЙФШ, ЮФП Mathematica РПЪЧПМСЕФ ТЕЫБФШ ЛПТТЕЛФОП РПУФБЧМЕООЩЕ НБФЕНБФЙЮЕУЛЙЕ ЪБДБЮЙ, ОП ЧУС ПФЧЕФУФЧЕООПУФШ ЪБ ЙИ ЖПТНХМЙТПЧЛХ Й РЕТЕЧПД ОБ СЪЩЛ ЬФПК УЙУФЕНЩ МЕЦЙФ ОБ РПМШЪПЧБФЕМЕ. оЕ РПОЙНБС РПУФБОПЧЛЙ ЪБДБЮЙ, ОЕЧПЪНПЦОП РПМХЮЙФШ РТБЧЙМШОЩК ПФЧЕФ.


тБВПФБ У ЧЩТБЦЕОЙСНЙ

дМС ЪБРХУЛБ РТПЗТБННЩ ОБВЕТЙФЕ ЛПНБОДХ mathematica Ч ЛПНБОДОПН ПЛОЕ, МЙВП Ч УФБТФПЧПН НЕОА ЧЩВЕТЙФЕ РХОЛФ Mathematica.

рТЙ УФБТФЕ ПФЛТЩЧБЕФУС ТБВПЮЕЕ ПЛОП, Ч ЛПФПТПН ПФПВТБЦБАФУС ЧЧПД Й ЧЩЧПД РТПЗТБННЩ. ч ЧЕТИОЕК ЕЗП ЮБУФЙ ОБИПДЙФУС НЕОА, РПЪЧПМСАЭЕЕ ЧЩРПМОСФШ ТБЪМЙЮОЩЕ ДЕКУФЧЙС, Ч ФПН ЮЙУМЕ УПИТБОЕОЙЕ ФЕЛХЭЕК УЕУУЙЙ Ч ЖБКМЕ У ТБУЫЙТЕОЙЕН nb. лТПНЕ ПУОПЧОПЗП ПЛОБ Ч ТБВПФЕ ХЮБУФЧХАФ ФБЛ ОБЪЩЧБЕНЩЕ РБМЙФТЩ. еУМЙ ПОЙ ОЕ РПСЧЙМЙУШ РТЙ УФБТФЕ, ФП ДМС ЙИ ПФЛТЩФЙС НПЦОП ЧПУРПМШЪПЧБФШУС РХОЛФПН Palettes ЙЪ НЕОА File. рБМЙФТБ Basic Input РТЕДПУФБЧМСЕФ ОБВПТ ЛОПРПЛ ДМС ЧЧПДБ ОБЙВПМЕЕ ХРПФТЕВЙФЕМШОЩИ УЙНЧПМПЧ, ФБЛЙИ ЛБЛ ЛПТОЙ, ДТПВЙ, ЙОФЕЗТБМЩ, ВХЛЧЩ ЗТЕЮЕУЛПЗП БМЖБЧЙФБ Й Ф. Д. рБМЙФТБ Basic Calculations УПДЕТЦЙФ ЫБВМПОЩ ДМС ЧЩЮЙУМЕОЙС ПУОПЧОЩИ БМЗЕВТБЙЮЕУЛЙИ ЖХОЛГЙК.

юФПВЩ ЙОЙГЙЙТПЧБФШ РТПГЕУУ ЧЩЮЙУМЕОЙС РПУМЕ ОБВПТБ ЛПНБОДЩ ОХЦОП ПДОПЧТЕНЕООП ОБЦБФШ ЛМБЧЙЫЙ Shift Й Enter (МЙВП ЛМБЧЙЫХ Enter ОБ ЮЙУМПЧПК ЛМБЧЙБФХТЕ УРТБЧБ). рПУМЕ ЪБЧЕТЫЕОЙС ТБУЮЕФБ РТПЗТБННБ РТЙУЧБЙЧБЕФ ЙНЕОБ ЧЙДБ In[1] Й Out[1] ЙУИПДОПНХ ЧЩТБЦЕОЙА Й ТЕЪХМШФБФХ. нПЦОП ПФНЕОЙФШ РПЛБЪ ЙНЕО, ПФЛМАЮЙЧ Ч НЕОА Kernel РХОЛФ Show In/Out Names.

Mathematica Ч ЛБЮЕУФЧЕ ЙНЕО ЖХОЛГЙК РПЮФЙ ЧУЕЗДБ ЙУРПМШЪХЕФ ЙИ БОЗМЙКУЛЙЕ ОБЪЧБОЙС. йУЛМАЮЕОЙСНЙ СЧМСАФУС ОЕУЛПМШЛП ОБЙВПМЕЕ ХРПФТЕВЙНЩИ ЖХОЛГЙК: ЛТПНЕ N ДМС ПРТЕДЕМЕОЙС ЮЙУМЕООПЗП ЪОБЮЕОЙС, УЙНЧПМ D ЙУРПМШЪХЕФУС ДМС ОБИПЦДЕОЙС РТПЙЪЧПДОПК.

дПРПМОЙФЕМШОХА ЙОЖПТНБГЙА П ОБЪОБЮЕОЙЙ ФПК ЙМЙ ЙОПК ЖХОЛГЙЙ Ч ИПДЕ ТБВПФЩ У УЙУФЕНПК НПЦОП РПМХЮЙФШ, ЙУРПМШЪХС УМЕДХАЭЙЕ ЛПНБОДЩ:
? Name | - РПНПЭШ РП ЪБДБООПНХ УМПЧХ Name;
?? Name | - ТБУЫЙТЕООБС РПНПЭШ РП ЪБДБООПНХ УМПЧХ Name.

вПМШЫЙОУФЧП ЖХОЛГЙК РТПЗТБННЩ Mathematica СЧМСАФУС ЧУФТПЕООЩНЙ, Ф. Е. УФБОПЧСФУС ДПУФХРОЩНЙ УТБЪХ РПУМЕ ЪБЗТХЪЛЙ УЙУФЕНЩ. лТПНЕ ФПЗП, ЙНЕЕФУС ОБВПТ ФБЛ ОБЪЩЧБЕНЩИ РБЛЕФПЧ ТБУЫЙТЕОЙС, УПДЕТЦБЭЙИ УРЕГЙБМЙЪЙТПЧБООЩЕ ЖХОЛГЙЙ ДМС ТБВПФЩ Ч ФПК ЙМЙ ЙОПК ПВМБУФЙ. уТЕДЙ ОЙИ Algebra, Calculus, DiscreteMath, Geometry, LinearAlgebra, Miscellaneous, Graphics, NumberTheory, NumericalMath, Statistics Й ОЕЛПФПТЩЕ ДТХЗЙЕ. лБЦДЩК ЙЪ РБЛЕФПЧ УПДЕТЦЙФ ОБВПТ РПДРБЛЕФПЧ, ОБРТЙНЕТ, Ч РБЛЕФ Algebra ЧИПДСФ ФБЛЙЕ РПДРБЛЕФЩ, ЛБЛ InequalitySolve ДМС ТЕЫЕОЙС ОЕТБЧЕОУФЧ, SymbolicSum ДМС ЧЩЮЙУМЕОЙС УХНН ТСДПЧ, Trigonometry ДМС ТБВПФЩ У ФТЙЗПОПНЕФТЙЮЕУЛЙНЙ ЧЩТБЦЕОЙСНЙ Й ДТХЗЙЕ. дМС ФПЗП ЮФПВЩ УДЕМБФШ ДПУФХРОЩНЙ ЖХОЛГЙЙ, ЧИПДСЭЙЕ Ч УПУФБЧ УРЕГЙБМЙЪЙТПЧБООЩИ РБЛЕФПЧ, УМЕДХЕФ ЙИ РПДЛМАЮЙФШ ЛПНБОДПК ФЙРБ

Needs["Algebra`Trigonometry`"]
ЙМЙ
<<Algebra`Trigonometry`
(ПВТБФЙФЕ ЧОЙНБОЙЕ ОБ ЙУРПМШЪПЧБОЙЕ ПВТБФОЩИ БРПУФТПЖПЧ). еУМЙ ЪБЗТХЦБЕНЩК РПДРБЛЕФ УПДЕТЦЙФ ОЕУЛПМШЛП ЖХОЛГЙК, ФП ЙИ РЕТЕЮЕОШ ЧЩЧПДЙФУС ОБ ЬЛТБО. рТЙ ОБМЙЮЙЙ Ч РБЛЕФЕ ФПМШЛП ПДОПК ЖХОЛГЙЙ ЕЕ ЙНС УПЧРБДБЕФ У ЙНЕОЕН РБЛЕФБ.

Mathematica ЧУЕЗДБ УФБТБЕФУС ХРТПУФЙФШ ЧЧЕДЕООПЕ ЧЩТБЦЕОЙЕ. еУМЙ ЧЩ РПРТПВХЕФЕ ЧЩЮЙУМЙФШ ЛПТЕОШ ЛЧБДТБФОЩК ЙЪ ДЧБДГБФЙ, ДМС ЮЕЗП РПУМЕ ЧЧПДБ УППФЧЕФУФЧХАЭЕЗП ЧЩТБЦЕОЙС ОБЦНЕФЕ Shift+Enter, ФП ТЕЪХМШФБФПН ПЛБЦЕФУС ЧЩТБЦЕОЙЕ, ТБЧОПЕ ДЧХН ЛПТОСН ЙЪ РСФЙ. рТПЗТБННБ ХРТПУФЙФ ЧЩТБЦЕОЙЕ, ПУФБЧЙЧ ЕЗП Ч УЙНЧПМШОПН ЧЙДЕ. дМС ФПЗП ЮФПВЩ РПМХЮЙФШ ЮЙУМЕООПЕ ЪОБЮЕОЙЕ ЧЩТБЦЕОЙС expr, УМЕДХЕФ ЙУРПМШЪПЧБФШ ЖХОЛГЙА N[expr] ЙМЙ N[expr, n], ЗДЕ n ЪБДБЕФ ФПЮОПУФШ ЧЩЮЙУМЕОЙК. рП ХНПМЮБОЙА ЧЩЧПДЙФУС ЪОБЮЕОЙЕ ЧЩТБЦЕОЙС У РСФША ЪОБЛБНЙ РПУМЕ ЪБРСФПК.

дМС ЧЧПДБ ЧЩТБЦЕОЙК ХДПВОП РПМШЪПЧБФШУС РБМЙФТПК Basic Input, ЛПФПТБС УПДЕТЦЙФ ЫБВМПОЩ ДМС ЧЧПДБ УФЕРЕОЕК, ДТПВЕК, ТБДЙЛБМПЧ, ЗТЕЮЕУЛЙИ ВХЛЧ Й Ф. Р. рТЙ ЧЩВПТЕ УППФЧЕФУФЧХАЭЕЗП ЫБВМПОБ РПСЧМСЕФУС ЧПЪНПЦОПУФШ ЧЧЕУФЙ ОХЦОЩЕ ЪОБЮЕОЙС (НЕУФП ДМС ЧЧПДБ ЪОБЮЕОЙК ЧЩЗМСДЙФ ЛБЛ ОЕВПМШЫПК ЛЧБДТБФЙЛ).

пФНЕФЙН ОЕЛПФПТЩЕ ПУПВЕООПУФЙ УЙОФБЛУЙУБ УЙУФЕНЩ, ЙУРПМШЪХЕНПЗП РТЙ ЪБРЙУЙ БТЙЖНЕФЙЮЕУЛЙИ ЧЩТБЦЕОЙК:

  • ЪОБЛ ХНОПЦЕОЙС НПЦЕФ ВЩФШ ЪБНЕОЕО РТПВЕМПН;
  • ЙНЕОБ ЧУФТПЕООЩИ ЖХОЛГЙК ОБЮЙОБАФУС У ВПМШЫПК ВХЛЧЩ;
  • РБТБНЕФТЩ ЖХОЛГЙК ЪБДБАФУС Ч ЛЧБДТБФОЩИ УЛПВЛБИ, ОБРТЙНЕТ Sin[2];
  • ЛТХЗМЩЕ УЛПВЛЙ ЙУРПМШЪХАФУС ДМС ФПЗП, ЮФПВЩ ЧЩДЕМЙФШ ЮБУФЙ ЧЩТБЦЕОЙК Й ЙЪНЕОЙФШ РПТСДПЛ ЧЩРПМОЕОЙС ПРЕТБГЙК;
  • ЖЙЗХТОЩЕ УЛПВЛЙ ЙУРПМШЪХАФУС РТЙ ЪБДБОЙЙ УРЙУЛПЧ, ОБРТЙНЕТ, РТЙ РЕТЕЮЙУМЕОЙЙ ХТБЧОЕОЙК, ЧИПДСЭЙИ Ч УЙУФЕНХ.

Mathematica ДПРХУЛБЕФ ЙУРПМШЪПЧБОЙЕ ЮЙУЕМ ЮЕФЩТЕИ ЧЙДПЧ: ГЕМЩЕ, ТБГЙПОБМШОЩЕ, ЧЕЭЕУФЧЕООЩЕ Й ЛПНРМЕЛУОЩЕ. чУЕ ФЙРЩ ЮЙУЕМ НПЗХФ УПДЕТЦБФШ МАВПЕ ЛПМЙЮЕУФЧП ГЙЖТ. юФПВЩ ЮЙУМП ТБУУНБФТЙЧБМПУШ ЛБЛ ЧЕЭЕУФЧЕООПЕ, ПОП ДПМЦОП УПДЕТЦБФШ ФПЮЛХ Ч ЕЗП ЪБРЙУЙ, ДБЦЕ ЕУМЙ ДТПВОБС ЮБУФШ ТБЧОБ ОХМА, ОБРТЙНЕТ, 2. ЙМЙ 2.0.

дМС РЕТЕЧПДБ ЮЙУМБ, ЪБДБООПЗП Ч УЙУФЕНЕ УЮЙУМЕОЙС У РТПЙЪЧПМШОЩН ПУОПЧБОЙЕН, Ч ДЕУСФЙЮОХА ЙУРПМШЪХЕФУС ЛПОУФТХЛГЙС пУОПЧБОЙЕ^^юЙУМП, Б ДМС ПВТБФОПЗП РЕТЕЧПДБ ЮЙУМБ a ЙЪ ДЕУСФЙЮОПК УЙУФЕНЩ Ч УЙУФЕНХ У ПУОПЧБОЙЕН n (ЗДЕ n ОЕ РТЕЧЩЫБЕФ 32) - ЖХОЛГЙС BaseForm[a, n].

йОЙГЙБМЙЪБГЙС РЕТЕНЕООЩИ ПУХЭЕУФЧМСЕФУС РТЙ РПНПЭЙ ПРЕТБГЙЙ =, ДМС БООХМЙТПЧБОЙС ЪОБЮЕОЙС РЕТЕНЕООПК УМЕДХЕФ РПУМЕ ЪОБЛБ ТБЧОП ХЛБЪБФШ УЙНЧПМ . (ФПЮЛБ).

рТЙ ЧЩРПМОЕОЙЙ ЧЩЮЙУМЕОЙК ПУПВБС ТПМШ ПФЧПДЙФУС УЙНЧПМХ % - ПО ПЪОБЮБЕФ ТЕЪХМШФБФ РТЕДЩДХЭЕК ПРЕТБГЙЙ. лПНВЙОБГЙС УЙНЧПМПЧ %% УППФЧЕФУФЧХЕФ ТЕЪХМШФБФХ ПРЕТБГЙЙ, ЧЩРПМОЕООПК РЕТЕД РТЕДЩДХЭЕК, Й ФБЛ ДБМЕЕ.

дМС ФПЗП ЮФПВЩ "ЪБУФБЧЙФШ" УЙУФЕНХ ХРТПУФЙФШ ЧЩТБЦЕОЙЕ, ЙУРПМШЪХЕФУС ЖХОЛГЙС Simplify. оЙЦЕ РТЙЧЕДЕОЩ РТЙНЕТЩ ЙУРПМШЪПЧБОЙС ЬФПК ЖХОЛГЙЙ.

жХОЛГЙС Expand ТБУЛТЩЧБЕФ УЛПВЛЙ Ч ЧЩТБЦЕОЙЙ. оБРТЙНЕТ, Ч ТЕЪХМШФБФЕ ЧЩРПМОЕОЙС ЛПНБОДЩ Expand[(a + b)3] РПМХЮЙФУС a3 + 3a2b + 3ab2 + b3.

л УПЦБМЕОЙА, ЖХОЛГЙС Simplify ОЕ ЧУЕЗДБ ЧЩДБЕФ УБНЩК РТПУФПК ТЕЪХМШФБФ. ч ЬФПН УМХЮБЕ НПЦОП ЙУРПМШЪПЧБФШ ЖХОЛГЙА FullSimplify.

ч ЬФПН РТЙНЕТЕ НЩ УОБЮБМБ ЪБЧЕМЙ РЕТЕНЕООХА poly ДМС ИТБОЕОЙС НОПЗПЮМЕОБ, ЮФП РПЪЧПМЙМП Ч ДБМШОЕКЫЕН ЙЪВЕЦБФШ ЕЗП РПЧФПТОПЗП ЧЧПДБ. хРТПЭЕОЙЕ ТЕЪХМШФБФБ ТБУЛТЩФЙС УЛПВПЛ ОЕ РТЙЧПДЙФ Л ЙУИПДОПНХ ЧЩТБЦЕОЙА, ЛПФПТПЕ РПМХЮБЕФУС ФПМШЛП РПУМЕ РТЙНЕОЕОЙС ЖХОЛГЙЙ FullSimplify.

пВТБФЙФЕ ЧОЙНБОЙЕ ОБ УЙНЧПМ ; (ФПЮЛБ У ЪБРСФПК) Ч ЛПОГЕ ЧЧПДБ НОПЗПЮМЕОБ. ьФПФ УЙНЧПМ РТЕРСФУФЧХЕФ ЧЩЧПДХ ОБ ЬЛТБО ТЕЪХМШФБФБ ПВТБВПФЛЙ РТПЗТБННПК Mathematica ЧЧЕДЕООПЗП ЧЩТБЦЕОЙС.

тБЪМПЦЕОЙЕ ОБ НОПЦЙФЕМЙ, ЕУМЙ ЬФП ЧПЪНПЦОП, ПУХЭЕУФЧМСЕФ ЖХОЛГЙС Factor. ьФБ ЖХОЛГЙС НПЦЕФ ТБВПФБФШ Й У ФТЙЗПОПНЕФТЙЮЕУЛЙНЙ ЧЩТБЦЕОЙСНЙ, ОП Ч ЬФПН УМХЮБЕ ОХЦОП ЙУРПМШЪПЧБФШ ДПРПМОЙФЕМШОХА ПРГЙА Trig -> True:

In[10]:= Factor[x^4+8x^3+17x^2+16x+30]
Out[10]= (3 + x)(5 + x)(2 + x^2)

In[11]:= Factor[Sin[6x]/Sin[2x] + Cos[6x - Pi]/Cos[2x],
               Trig -> True]
Out[11]= 2

оБРПНОЙН, ЬФП НОПЗПЮМЕОПН P(x)УФЕРЕОЙ n ПФ РЕТЕНЕООПК x ОБЪЩЧБЕФУС ЧЩТБЦЕОЙЕ ЧЙДБ

a0xn+a1xn-1+...+ an-1x+an.
дМС ЧЩОЕУЕОЙС ПВЭЕЗП ЮЙУМПЧПЗП НОПЦЙФЕМС Ч НОПЗПЮМЕОЕ ЪБ УЛПВЛЙ РТЕДОБЪОБЮЕОБ ЖХОЛГЙС FactorTerms[poly, x], ЗДЕ poly ЕУФШ НОПЗПЮМЕО ПФ РЕТЕНЕООПК x. дМС РПМХЮЕОЙС УРЙУЛБ ЛПЬЖЖЙГЙЕОФПЧ РТЙ УФЕРЕОСИ x, ОБЮЙОБС У ОХМЕЧПК, ЙУРПМШЪХЕФУС ЖХОЛГЙС CoefficientList[poly, x].
In[12]:= FactorTerms[1232x^4+168x+144, x]
Out[12]= (8 ((18 + 21x + 154x^4))

In[13]:= CoefficientList[12x^4+68x+44,x]
Out[13]= {44,68,0,0,12}
оЕЛПФПТЩЕ ДТХЗЙЕ ЖХОЛГЙЙ ДМС ТБВПФЩ У НОПЗПЮМЕОБНЙ РТЙЧЕДЕОЩ Ч УМЕДХАЭЕК ФБВМЙГЕ.
PolynomialGCD[poly1, poly2] | оБИПЦДЕОЙЕ ОБЙВПМШЫЕЗП ПВЭЕЗП ДЕМЙФЕМС poly1 Й poly2
PolynomialLCM[poly1, poly2] | оБИПЦДЕОЙЕ ОБЙНЕОШЫЕЗП ПВЭЕЗП ЛТБФОПЗП
PolynomialQuotient[poly1, poly2, x] | оБИПЦДЕОЙЕ ЮБУФОПЗП ПФ ДЕМЕОЙС poly1 ОБ poly2
PolynomialRemainder[poly1, poly2, x] | оБИПЦДЕОЙЕ ПУФБФЛБ ПФ ДЕМЕОЙС poly1 ОБ poly2

рТЙНЕТ
рХУФШ P1(x)= x4+2x3-4x2-5x-6. пРТЕДЕМЙН, СЧМСЕФУС МЙ ЮЙУМП 2 ЛПТОЕН ХТБЧОЕОЙС P1(x)=0. йЪЧЕУФОП, ЮФП НОПЗПЮМЕО ДЕМЙФУС ВЕЪ ПУФБФЛБ ОБ ЧЩТБЦЕОЙЕ x-x0, ЗДЕ x0 - ЛПТЕОШ ХТБЧОЕОЙС. оБКДЕН ПУФБФПЛ ПФ ДЕМЕОЙС P1(x) ОБ x-2:

PolynomialRemainder[x^4+2x^3-4x^2-5x-6, x-2 , x].
тЕЪХМШФБФ ТБЧЕО 0, УМЕДПЧБФЕМШОП 2 - ЛПТЕОШ ДБООПЗП ХТБЧОЕОЙС.

ъБДБОЙС

  1. чЩЮЙУМЙФe 2-10 У ФПЮОПУФША 20 ЪОБЛПЧ РПУМЕ ЪБРСФПК.
  2. хРТПУФЙФЕ ЧЩТБЦЕОЙЕ [image].
  3. тБЪМПЦЙФЕ ОБ НОПЦЙФЕМЙ ЧЩТБЦЕОЙЕ
    x6-18x5+135x4-540x3+ 1215x2-1458x+729.
  4. оБКДЙФЕ ПУФБФПЛ ПФ ДЕМЕОЙС НОПЗПЮМЕОБ P1(x) ОБ x-1.


зТБЖЙЛБ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

уПЪДБОЙЕ ЗТБЖЙЮЕУЛЙИ ЙЪПВТБЦЕОЙК

ч УЙУФЕНЕ Mathematica ДМС РПУФТПЕОЙС ЗТБЖЙЛПЧ ЧЙДБ y=f(x) ЙУРПМШЪХЕФУС ЖХОЛГЙС Plot, РЕТЧЩН РБТБНЕФТПН ЛПФПТПК СЧМСЕФУС ЖХОЛГЙС ЙМЙ УРЙУПЛ ЖХОЛГЙК, ЗТБЖЙЛЙ ЛПФПТЩИ ДПМЦОЩ ВЩФШ РПУФТПЕОЩ, Б ЧФПТЩН - УРЙУПЛ ЙЪ ФТЕИ ЧЕМЙЮЙО: БТЗХНЕОФ ЖХОЛГЙК Й ЛПОГЩ РТПНЕЦХФЛБ, ОБ ЛПФПТПН ДПМЦЕО ВЩФШ РПУФТПЕО ЗТБЖЙЛ, ОБРТЙНЕТ,

Plot[{Sin[x/2], 1.5 Sin[2x]}, {x, -3Pi,3Pi}]

рПМХЮЕООЩЕ ЙЪПВТБЦЕОЙС НПЦОП УПИТБОЙФШ Ч ЖПТНБФБИ EPS, GIF, PDF, TIFF Й ОЕЛПФПТЩИ ДТХЗЙИ (УНПФТЙ Help) РТЙ РПНПЭЙ ЖХОЛГЙЙ Display. еЕ РЕТЧЩН БТЗХНЕОФПН СЧМСЕФУС ЙНС УПЪДБЧБЕНПЗП ЖБКМБ, ЪБЛМАЮЕООПЕ Ч ЛБЧЩЮЛЙ, ЧФПТЩН - ЗТБЖЙЮЕУЛПЕ ЙЪПВТБЦЕОЙЕ, Б ФТЕФШЙН - ЖПТНБФ ЧЩИПДОПЗП ЖБКМБ, ОБРТЙНЕТ,

Display["g1.gif",
   Plot[ArcTan[x]-0.5, {x, -10, 10}],
   "GIF"]

дМС ЛБЦДПЗП ЗТБЖЙЛБ НПЦОП ЪБДБФШ ОБВПТ РБТБНЕФТПЧ PlotStyle, ЪБДБАЭЙК ГЧЕФ, ФПМЭЙОХ Й ФЙР МЙОЙЙ ЗТБЖЙЛБ. пРГЙС RGBColor[r,g,b] (ЛБЦДБС УПУФБЧМСАЭБС ЕУФШ ЮЙУМП Ч ДЙБРБЪПОЕ ПФ 0 ДП 1) ЪБДБЕФ ГЧЕФ ЗТБЖЙЛБ Ч ГЧЕФПЧПК НПДЕМЙ RGB. дМС РТЙНЕОЕОЙС ГЧЕФПЧПК НПДЕМЙ HSB (H - hue, ФПО; S - saturation, ОБУЩЭЕООПУФШ; B - brightness, СТЛПУФШ) ХЛБЪЩЧБЕФУС ПРГЙС Hue[h, s, b], (h, s Й b ЙЪ ЙОФЕТЧБМБ [0; 1]). чПЪНПЦОП ХЛБЪБОЙЕ УПЛТБЭЕООПК ЖПТНЩ ЬФПК ПРГЙЙ - Hue[h], УППФЧЕФУФЧХАЭЕК ЪОБЮЕОЙА Hue[h, 1, 1]. ч УМЕДХАЭЕН РТЙНЕТЕ ЙУРПМШЪХАФУС ДЧЕ ТБЪМЙЮОЩЕ ГЧЕФПЧЩЕ НПДЕМЙ ДМС ЙЪПВТБЦЕОЙС ДЧХИ ЗТБЖЙЛПЧ:

Plot[{Sin[x], Sin[2x]}, {x, -2Pi,2Pi},
     PlotStyle -> {RGBColor[1,0,0], Hue[.4]}]

дТХЗЙНЙ ПРГЙСНЙ PlotStyle СЧМСАФУС ФПМЭЙОБ МЙОЙЙ (Thickness) Й ИБТБЛФЕТЙУФЙЛЙ РХОЛФЙТОПК МЙОЙЙ (Dashing):

Plot[{x Sin[2x], x^3 - 3x +1}, {x, -4, 4},
     PlotStyle -> {{Hue[0], Thickness[.01]},
                  {Hue[.6], Dashing[{.02}]}}]

жХОЛГЙС Plot ДПРХУЛБЕФ ЪБДБОЙЕ НОПЦЕУФЧБ ДТХЗЙИ ПРГЙК, ПФОПУСЭЙИУС ЛБЛ ЛП ЧУЕНХ ЙЪПВТБЦЕОЙА Ч ГЕМПН, ФБЛ Й Л ЛБЦДПНХ ЙЪ ЕЗП УПУФБЧМСАЭЙИ Ч ПФДЕМШОПУФЙ. йИ РПМОЩК УРЙУПЛ НПЦОП РПМХЮЙФШ РТЙ РПНПЭЙ ЛПНБОДЩ Options[Plot]. чПФ РТЙНЕТЩ ЙУРПМШЪПЧБОЙС ОЕЛПФПТЩИ ЙЪ ОЙИ:

Frame -> True | ъБЛМАЮБЕФ ТЙУХОПЛ Ч ТБНЛХ
PlotRange -> {-5, 5} | ъБДБЕФ ДЙБРБЪПО РП ПУЙ OY
Ticks -> {{-Pi, 0, Pi}, Automatic} | ъБДБЕФ ПФНЕФЛЙ ОБ ПУЙ OX
PlotLabel -> "Sin[x]/x" | ъБДБЕФ ЪБЗПМПЧПЛ ТЙУХОЛБ

рТЙНЕТ
оБ УМЕДХАЭЕН ТЙУХОЛЕ ЙЪПВТБЦЕО ЗТБЖЙЛ ЖХОЛГЙЙ arctg x Й ДЧЕ ЕЗП ЗПТЙЪПОФБМШОЩЕ БУУЙНРФПФЩ (PI/2 Й -PI/2). пРГЙС PlotStyle ЪБДБЕФ РБТБНЕФТЩ ЛБЦДПЗП ЗТБЖЙЛБ Ч ПФДЕМШОПУФЙ, Б ПУФБМШОЩЕ ПРГЙЙ ЪБДБАФ ЧОЕЫОЙК ЧЙД ЧУЕЗП ЙЪПВТБЦЕОЙС Ч ГЕМПН. рЕТЕНЕООБС p2 ЙУРПМШЪХЕФУС ЪБФЕН ДМС УПИТБОЕОЙС ЙЪПВТБЦЕОЙС.

p2=Plot[{ArcTan[x], Pi/2, - Pi/2}, {x, -10, 10},
     PlotStyle -> {{RGBColor[0, 1, 0]},
                  {RGBColor[1, 0, 1], Dashing[{.015}]},
                  {RGBColor[1, 0, 1], Dashing[{.015}]}},
     Ticks -> {Automatic, {-Pi/2, -Pi/4, Pi/4, Pi/2}},
     PlotLabel->"f(x) = arctg(x)",
     PlotRange ->{-2, 2}]
дМС УПИТБОЕОЙС Ч ЖБКМЕ g2.gif РПМХЮЕООПЗП ЙЪПВТБЦЕОЙС Ч ЖПТНБФЕ GIF ЙУРПМШЪПЧБМБУШ ЖХОЛГЙС Display:
Display["g2.gif", p2, "GIF"]

жХОЛГЙС ParametricPlot ЙУРПМШЪХЕФУС ДМС ТЙУПЧБОЙС ЗТБЖЙЛПЧ ЖХОЛГЙК, ЪБДБООЩИ РБТБНЕФТЙЮЕУЛЙ. пФНЕФЙН, ЮФП Mathematica РП ХНПМЮБОЙА ПФПВТБЦБЕФ ЗТБЖЙЮЕУЛЙЕ ПВЯЕЛФЩ ФБЛЙН ПВТБЪПН, ЮФП ПФОПЫЕОЙЕ ЧЩУПФЩ ТЙУХОЛБ Л ЕЗП ЫЙТЙОЕ ТБЧОП ЧЕМЙЮЙОЕ, ПВТБФОПК ЪПМПФПНХ УЕЮЕОЙА (ПЛПМП 0.618034). дМС УПИТБОЕОЙС ЕУФЕУФЧЕООЩИ РТПРПТГЙК ЙЪПВТБЦЕОЙС УМЕДХЕФ ХЛБЪЩЧБФШ ПРГЙА AspectRatio -> Automatic. рПУМЕ ЬФПЗП ЛТХЗ ЧЩЗМСДЙФ ДЕКУФЧЙФЕМШОП ЛТХЗПН, Б ОЕ ПЧБМПН. оЙЦЕ РТЙЧЕДЕОЩ РТЙНЕТЩ, ДЕНПОУФТЙТХАЭЙЕ РПУФТПЕОЙЕ РБТБНЕФТЙЮЕУЛЙ ЪБДБООЩИ ЛТЙЧЩИ.

ParametricPlot[{Sin[t], Cos[t]}, {t, 0, 2Pi}]
ParametricPlot[{Sin[t], Cos[t]},
          {t, 0, 2Pi}, AspectRatio -> Automatic]
ParametricPlot[{Sin[3t], Cos[2t]},
          {t, 2Pi/3, 4Pi/3}, AspectRatio -> Automatic]
ParametricPlot[{{Sin[2t], Sin[3t]},
          {0.5*Sin[t], 0.5*Cos[t]}},
          {t, 0, 2Pi}, AspectRatio -> Automatic]

дМС РПУФТПЕОЙС ЗТБЖЙЛПЧ Ч РПМСТОПК УЙУФЕНЕ ЛППТДЙОБФ УМЕДХЕФ РТЕДЧБТЙФЕМШОП ЪБЗТХЪЙФШ НПДХМШ ТБУЫЙТЕОЙС Graphics, РПУМЕ ЮЕЗП ЙУРПМШЪПЧБФШ ЖХОЛГЙА PolarPlot:

<<Graphics`Graphics`
PolarPlot[phi, {phi,0,10Pi}]
PolarPlot[Cos[t], {t,0,2 Pi}]
PolarPlot[Cos[a]^2 -Sin[a]^2,{a,0,2Pi}]
PolarPlot[Sin[5t],{t,0,2 Pi}]
PolarPlot[1-Sin[fi],{fi,0,2Pi}]

жХОЛГЙЙ Plot3D Й ParametricPlot3D СЧМСАФУС ПУОПЧОЩНЙ ЙОУФТХНЕОФБНЙ РТПЗТБННЩ Mathematica ДМС ЙЪПВТБЦЕОЙС ФТЕИНЕТОЩИ ЗТБЖЙЮЕУЛЙИ ПВЯЕЛФПЧ. ьФЙ ЖХОЛГЙЙ ЛТПНЕ ФТЕИ ПВСЪБФЕМШОЩИ РБТБНЕФТПЧ, ЪБДБАЭЙИ ЖХОЛГЙА Й ДЙБРБЪПОЩ ЙЪНЕОЕОЙС РЕТЕНЕООЩИ, ЙУРПМШЪХАФ НОПЦЕУФЧП ДПРПМОЙФЕМШОЩИ ПРГЙК. пФНЕФЙН УТЕДЙ ОЙИ ФПМШЛП PlotPoints, ХЛБЪЩЧБАЭХА ОБ УЛПМШЛП ЮБУФЕК УМЕДХЕФ ТБЪВЙФШ ЙОФЕТЧБМЩ ЙЪНЕОЕОЙС РЕТЕНЕООЩИ. оЙЦЕ РТЙЧЕДЕОЩ ДЧБ РТЙНЕТБ ЙУРПМШЪПЧБОЙС ЬФЙИ ЖХОЛГЙК.

Plot3D[Sin[xy],
   {x, 0, 4}, {y, 0, 4},
   PlotPoints -> 40,
   Mesh ->False,
   FaceGrids ->All,
   AxesLabel ->
   {"Length", "Width", "Height"}]

ParametricPlot3D[
    {u Cos[u](4 + Cos[u+v]),
    u Sin[u](4 + Cos[u+v]),
    u Sin[u + v]},
    {u, 0, 3Pi},{v, 0, 3Pi},
    PlotPoints ->{60, 12}]
уМЕДХАЭЙЕ ЙЪПВТБЦЕОЙС РПУФТПЕОЩ РТЙ РПНПЭЙ НПДХМС ТБУЫЙТЕОЙС Graphics.
рПУФТПЕОЙЕ ЙЛПУБЬДТБ
<<Graphics`Polyhedra`
Show[Polyhedron[Icosahedron],
     Boxed -> False]
мЙУФ нЕВЙХУБ - РТЙНЕТ ПДОПУФПТПООЕК РПЧЕТИОПУФЙ
<<Graphics`Shapes`
Show[Graphics3D[
   MoebiusStrip[2, 0.5, 150],
   Boxed ->False]]
уЖЕТБ У ПФЧЕТУФЙЕН
<<Graphics`ContourPlot3D`
ContourPlot3D[
   Cos[Sqrt[x^2+y^2+z^2]],
   {x, -2, 2},
   {y, -1.5, 2},
   {z, -2, 2},
  Boxed -> False,
  PlotPoints ->{3,15}]

ъБДБОЙС
рПУФТПКФЕ ЗТБЖЙЛЙ УМЕДХАЭЙИ ЖХОЛГЙК, ЙУРПМШЪХС ТБЪМЙЮОЩЕ РБТБНЕФТЩ, ЪБДБАЭЙЕ ГЧЕФ Й ФЙР МЙОЙК, ДПВБЧШФЕ РПДРЙУЙ Л ТЙУХОЛБН Й УПИТБОЙФЕ ЙИ Ч ЖПТНБФЕ GIF:
1) 2) .


хТБЧОЕОЙС Й ОЕТБЧЕОУФЧ

тЕЫЕОЙЕ ХТБЧОЕОЙК, УЙУФЕН Й ОЕТБЧЕОУФЧ

Mathematica ЧЛМАЮБЕФ Ч УЕВС УТЕДУФЧБ РПЙУЛБ ЛПТОЕК ТБЪМЙЮОЩИ ФЙРПЧ ХТБЧОЕОЙК Й УЙУФЕН. юБЭЕ ЧУЕЗП ДМС ЬФЙИ ГЕМЕК ЙУРПМШЪХЕФУС ЖХОЛГЙС Solve[eqn, var], ЗДЕ eqn - ХТБЧОЕОЙЕ ЙМЙ УЙУФЕНБ, ЪБДБЧБЕНБС УРЙУЛПН ХТБЧОЕОЙК, var - РЕТЕНЕООБС ЙМЙ УРЙУПЛ РЕТЕНЕООЩИ, ЛПФПТЩЕ ФТЕВХЕФУС ПРТЕДЕМЙФШ. тЕЪХМШФБФ ЧЩЮЙУМЕОЙК - УРЙУПЛ ЛПТОЕК (ЧПЪНПЦОП РХУФПК).

рБМЙФТБ Basic Calculations Ч ТБЪДЕМЕ Algebra УПДЕТЦЙФ ОЕУЛПМШЛП ЫБВМПОПЧ ДМС ЧЧПДБ ЖХОЛГЙЙ Solve (РХОЛФ Solving Equations). пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП МЕЧБС Й РТБЧЩЕ ЮБУФЙ ХТБЧОЕОЙС УПЕДЙОСАФУС УЙНЧПМБНЙ ==, ОБРТЙНЕТ,

Solve[3 x + 9 == 0, x]
Solve[x^2 + 2b*x + c == 0, x]
Solve[x^2 + 1 == 0, x]
Solve[{x==1+2a*y, y==9+2x},
      {x,y}]

тЕЫЕОЙС ЙЭХФУС ОБ НОПЦЕУФЧЕ ЛПНРМЕЛУОЩИ ЮЙУЕМ, РТЙЮЕН НОЙНБС ЕДЙОЙГБ ПВПЪОБЮБЕФУС УЙНЧПМПН I. дМС ФТЙЗПОПНЕФТЙЮЕУЛЙИ ХТБЧОЕОЙК ЧЩДБЕФУС ФПМШЛП ПДОП ЙЪ ВЕУЛПОЕЮОПЗП НОПЦЕУФЧБ ТЕЫЕОЙК.

рТПЗТБННБ РПЪЧПМСЕФ ФБЛЦЕ ТЕЫБФШ МПЗБТЙЖНЙЮЕУЛЙЕ Й РПЛБЪБФЕМШОЩЕ ХТБЧОЕОЙС. оБФХТБМШОЩЕ МПЗБТЙЖНЩ ЪБДБАФУС ЖХОЛГЙЕК Log, Б МПЗБТЙЖНЩ РП РТПЙЪЧПМШОПНХ ПУОПЧБОЙА n - Ч ЧЙДЕ Log[n, expr], ЗДЕ expr - БТЗХНЕОФ МПЗБТЙЖНЙЮЕУЛПК ЖХОЛГЙЙ, ОБРТЙНЕТ, Log[2, 1024]. дМС ьКМЕТПЧПК ЛПОУФБОФЩ (ПУОПЧБОЙС ОБФХТБМШОПЗП МПЗБТЙЖНБ) ЙУРПМШЪХЕФУС ПВПЪОБЮЕОЙЕ E.

рТЙНЕТ
уМЕДХАЭЙК ЖТБЗНЕОФ ДЕНПОУФТЙТХЕФ ТЕЫЕОЙЕ ХТБЧОЕОЙС [image]:

In[12]:= Solve[Log[Sqrt[x]]==Sqrt[Log[x]], x]
Out[12]= {{x -> 1}, {x -> E^4}}

дМС ТЕЫЕОЙС ОЕТБЧЕОУФЧ РТЕДЧБТЙФЕМШОП УМЕДХЕФ РПДЛМАЮЙФШ ДПРПМОЙФЕМШОЩК НПДХМШ ТБУЫЙТЕОЙС Algebra:

<<Algebra`InequalitySolve`

йНС ЖХОЛГЙЙ, ТЕЫБАЭЕК ОЕТБЧЕОУФЧБ, УПЧРБДБЕФ У ОБЪЧБОЙЕН РПДРБЛЕФБ - InequalitySolve. дМС ЪБДБОЙС ОЕТБЧЕОУФЧ ЙУРПМШЪХАФ ЪОБЛЙ > (УФТПЗП ВПМШЫЕ), >= (ВПМШЫЕ ЙМЙ ТБЧОП), < (УФТПЗП НЕОШЫЕ) Й <= (НЕОШЫЕ ЙМЙ ТБЧОП), ОБРТЙНЕТ,

In[13]:= InequalitySolve[x^2-1<0,x]
Out[13]= -1<x<1

In[14]:= InequalitySolve[x^2/(x^2-1)>=0,x]
Out[14]= x<-1 || x==0 || x>1

In[15]:= InequalitySolve[(2x-1)/(4(x+1))<Cos[5Pi/3],x]
Out[15]= x>-1

рТЙ ТЕЫЕОЙЙ ОЕТБЧЕОУФЧ, ПФМЙЮОЩИ ПФ ДТПВОП-ТБГЙПОБМШОЩИ, УЙУФЕНБ ЧЩДБЕФ РТЕДХРТЕЦДЕОЙЕ П ЧПЪНПЦОПН ОЕЛПТТЕЛФОПН ТЕЫЕОЙЙ:

In[16]:= InequalitySolve[2^(x^2)>16,x]
InequalitySolve::"npi": "A nonpolynomial equation
       or inequality encountered. The solution
       set may be incorrect."
Out[16]= x<-2 || x>2

ч ФЕИ УМХЮБСИ, ЛПЗДБ ОЕЧПЪНПЦОП ТЕЫЙФШ ЪБДБООПЕ ХТБЧОЕОЙЕ БОБМЙФЙЮЕУЛЙ, НПЦОП РТЙВМЙЦЕООП ЧЩЮЙУМЙФШ ЪОБЮЕОЙЕ ЛПТОС УМЕДХАЭЙН ПВТБЪПН. уОБЮБМБ РТЙ РПНПЭЙ ЖХОЛГЙЙ Plot УФТПАФУС ЗТБЖЙЛЙ МЕЧПК Й РТБЧПК ЮБУФЕК ХТБЧОЕОЙС Й РП ТЙУХОЛХ ОБИПДЙФУС РЕТЧПЕ РТЙВМЙЦЕОЙЕ x0. ъБФЕН ДМС ХФПЮОЕОЙС ЪОБЮЕОЙС ЛПТОС РТЙНЕОСЕФУС ЖХОЛГЙС FindRoot. еУМЙ L(x) Й R(x) - УППФЧЕФУФЧЕООП МЕЧБС Й РТБЧБС ЮБУФЙ ХТБЧОЕОЙС, x - ЙУЛПНЩК ЛПТЕОШ, Б x0 - ЕЗП РТЙВМЙЦЕООПЕ ЪОБЮЕОЙЕ, ПРТЕДЕМЕООПЕ У РПНПЭША ЗТБЖЙЛБ, ФП ЖХОЛГЙС ДМС РПЙУЛБ ЛПТОС ЙНЕЕФ ЧЙД:

FindRoot[L(x)==R(x), {x,x0}]

рТЙНЕТ

оБКДЕН РТЙВМЙЦЕООПЕ ТЕЫЕОЙЕ ХТБЧОЕОЙС ex=x2. рПУФТПЙН ЗТБЖЙЛЙ ЖХОЛГЙК ex Й x2, ЧЩРПМОЙЧ ЛПНБОДХ Plot[{Exp[x], x^2}, {x, -1, 1}].

нЩ РПМХЮЙН ЙЪПВТБЦЕОЙЕ ЗТБЖЙЛПЧ ЖХОЛГЙК ex Й x2 ОБ ПДОПН ЮЕТФЕЦЕ ДМС ЪОБЮЕОЙК БТЗХНЕОФБ x, ЙЪНЕОСАЭЕЗПУС ОБ ПФТЕЪЛЕ [-1,1].

зМСДС ОБ ЗТБЖЙЛЙ, ЧЙДЙН, ЮФП Ч ЛБЮЕУФЧЕ ОБЮБМШОПЗП РТЙВМЙЦЕОЙС НПЦЕФ ВЩФШ ЧЪСФП ЪОБЮЕОЙЕ x0 = -0.5.

дМС ХФПЮОЕОЙС ТЕЫЕОЙС ОБЫЕЗП ХТБЧОЕОЙС ЧПУРПМШЪХЕНУС ЛПНБОДПК FindRoot[Exp[x]==x^2, {x, -0.5}] Й РПМХЮЙН РТЙВМЙЦЕООПЕ ЪОБЮЕОЙЕ ЛПТОС x = -0.703467. еУМЙ ФТЕВХЕФУС ВПМШЫБС ФПЮОПУФШ (ОП ОЕ ВПМЕЕ 16 ЪОБЛПЧ РПУМЕ ЪБРСФПК), ФП НПЦОП ЧПУРПМШЪПЧБФШУС ЖХОЛГЙЕК N. фБЛ, ЧЩРПМОЙЧ ЛПНБОДХ N[FindRoot[Exp[x]==x^2, {x, -0.5}], 16], НЩ РПМХЮЙН РТЙВМЙЦЕООПЕ ЪОБЮЕОЙЕ ЛПТОС У ФПЮОПУФША ДП 16 ЪОБЛПЧ РПУМЕ ЪБРСФПК: x = -0.7034674295409824.

рТЙНЕТ
лБЛ РТБЧЙМП, ФТЙЗПОПНЕФТЙЮЕУЛЙЕ ХТБЧОЕОЙС ЙНЕАФ ВЕУЛПОЕЮОП НОПЗП ТЕЫЕОЙК, РПЬФПНХ НПЦОП ХЛБЪЩЧБФШ ТБЪМЙЮОЩЕ ОБЮБМШОЩЕ РТЙВМЙЦЕОЙС Й РПМХЮБФШ РТЙВМЙЦЕООЩЕ ЪОБЮЕОЙС ТБЪОЩИ ЛПТОЕК ХТБЧОЕОЙС. фБЛ, ЧЩРПМОЙЧ ЛПНБОДХ FindRoot[Sin[x^2]==0, {x, 2}], ОБКДЕН x = 1.77245, Б ЙЪНЕОЙЧ ОБЮБМШОПЕ РТЙВМЙЦЕОЙЕ У 2.0 ОБ 3.0, У РПНПЭША ЛПНБОДЩ FindRoot[Sin[x^2]==0, {x, 3}] РПМХЮЙН РТЙВМЙЦЕООПЕ ЪОБЮЕОЙЕ ДТХЗПЗП ЛПТОС ХТБЧОЕОЙС, Б ЙНЕООП x=3.06998.

ъБДБОЙС

  1. тЕЫЙФЕ УЙУФЕНЩ ХТБЧОЕОЙК:
    1) 2)
  2. тЕЫЙФЕ ОЕТБЧЕОУФЧБ:
    1) ; 2) .
  3. оБКДЙФЕ РТЙВМЙЦЕООП ОБЙНЕОШЫЙК РПМПЦЙФЕМШОЩК ЛПТЕОШ ХТБЧОЕОЙС 1/x2=5 cos x.
  4. оБКДЙФЕ У ФПЮОПУФША 12 ЪОБЛПЧ РПУМЕ ЪБРСФПК ЧУЕ ЛПТОЙ ХТБЧОЕОЙС (1 - x)/(x4 + 1) = sin x, РТЙОБДМЕЦБЭЙЕ ПФТЕЪЛХ [-1,4].


рТЕДЕМЩ Й ТСДЩ

дМС ЧЩЮЙУМЕОЙС РТЕДЕМПЧ ЙУРПМШЪХЕФУС ЖХОЛГЙС Limit. оЕПВСЪБФЕМШОЩК РБТБНЕФТ Direction РТЙНЕОСЕФУС ДМС ЧЩЮЙУМЕОЙС ПДОПУФПТПООЙИ РТЕДЕМПЧ, ЛПФПТЩЕ ЙУРПМШЪХАФ, Ч ЮБУФОПУФЙ, РТЙ ЙУУМЕДПЧБОЙЙ ЖХОЛГЙЙ ОБ ОЕРТЕТЩЧОПУФШ.
чОЙНБОЙЕ: Direction -> 1 СЧМСЕФУС ХЛБЪБОЙЕН ДМС ЧЩЮЙУМЕОЙС РТЕДЕМБ УМЕЧБ, Б Direction -> -1 - ДМС РТЕДЕМБ УРТБЧБ.

лПОУФБОФБ Infinity ПВПЪОБЮБЕФ ВЕУЛПОЕЮОПУФШ, ДМС ЕЕ ЧЧПДБ Ч ЧЙДЕ УЙНЧПМБ [image] НПЦОП ЙУРПМШЪПЧБФШ РБМЙФТХ Basic Input.

оЕ ЧУЕ РТЕДЕМЩ НПЗХФ ВЩФШ ЧЩЮЙУМЕОЩ ФБЛЙН ПВТБЪПН. дПРПМОЙФЕМШОЩЕ ЧПЪНПЦОПУФЙ РТЕДПУФБЧМСЕФ РБЛЕФ ТБУЫЙТЕОЙК Calculus, РПДРБЛЕФ Limit ЛПФПТПЗП РЕТЕПРТЕДЕМСЕФ ЧУФТПЕООХА ЖХОЛГЙА Limit. дМС ЪБЗТХЪЛЙ ЙУРПМШЪХЕФУС ЛПНБОДБ

<<Calculus`Limit`

рТЙНЕТ
уМЕДХАЭЙК РТЕДЕМ НПЦЕФ ВЩФШ ОБКДЕО ФПМШЛП У ЙУРПМШЪПЧБОЙЕН ХЛБЪБООПЗП НПДХМС ТБУЫЙТЕОЙК.

Limit[Cos[n!]/n, n -> Infinity]

рТЙНЕТ
йУРПМШЪХЕН ПДОПУФПТПООЙЕ РТЕДЕМЩ ДМС ЙУУМЕДПЧБОЙС ЖХОЛГЙЙ ОБ ОЕРТЕТЩЧОПУФШ. оБРПНОЙН, ЮФП ЖХОЛГЙС ОБЪЩЧБЕФУС ОЕРТЕТЩЧОПК Ч ФПЮЛЕ x, ЕУМЙ ПОБ ПРТЕДЕМЕОБ Ч ОЕК Й ЕЕ ЪОБЮЕОЙЕ Ч ЬФПК ФПЮЛЕ УПЧРБДБЕФ У МЕЧЩН Й РТБЧЩН РТЕДЕМБНЙ ЖХОЛГЙЙ РТЙ УФТЕНМЕОЙЙ Л x. фПЮЛБ x СЧМСЕФУС ФПЮЛПК ХУФТБОЙНПЗП ТБЪТЩЧБ, ЕУМЙ РТЕДЕМЩ УМЕЧБ Й УРТБЧБ УХЭЕУФЧХАФ (РТЙОЙНБАФ ЛПОЕЮОЩЕ ЪОБЮЕОЙС) Й ТБЧОЩ, ОП ЪОБЮЕОЙЕ ЖХОЛГЙЙ f(x) ОЕ УХЭЕУФЧХЕФ ЙМЙ ПФМЙЮОП ПФ ОЙИ. фПЮЛБ x ОБЪЩЧБЕФУС ФПЮЛПК ТБЪТЩЧБ РЕТЧПЗП ТПДБ, ЕУМЙ РТЕДЕМЩ ОЕ УПЧРБДБАФ, ОП ЛПОЕЮОЩ. оБЛПОЕГ, x ЕУФШ ФПЮЛБ ТБЪТЩЧБ ЧФПТПЗП ТПДБ, ЕУМЙ Ч ОЕК ОЕ УХЭЕУФЧХЕФ ИПФС ВЩ ПДОПЗП ЛПОЕЮОПЗП РТЕДЕМБ.

дМС ЖХОЛГЙЙ sin(x)/x ФПЮЛБ x = 0 СЧМСЕФУС ФПЮЛПК ХУФТБОЙНПЗП ТБЪТЩЧБ, ФБЛ ЛБЛ УХЭЕУФЧХАФ РТЕДЕМЩ УМЕЧБ Й УРТБЧБ, ТБЧОЩЕ 1.

дПЧПМШОП ЮБУФП Ч РТПГЕУУЕ ТЕЫЕОЙС ТБЪМЙЮОЩИ ЪБДБЮ НБФЕНБФЙЮЕУЛПЗП БОБМЙЪБ РТЙИПДЙФУС УФБМЛЙЧБФШУС У ТСДБНЙ Й ТБЪМПЦЕОЙЕН БОБМЙФЙЮЕУЛЙИ ЖХОЛГЙК Ч ТСДЩ. рПЬФПНХ Ч РТПЗТБННЕ Mathematica ЙНЕЕФУС ПВЫЙТОЩК ОБВПТ ЖХОЛГЙК ДМС ТЕЫЕОЙС РПДПВОПЗП ТПДБ РТПВМЕН. дМС РПМХЮЕОЙС ЮБУФЙЮОПК УХННЩ ТСДБ ЙУРПМШЪХЕФУС ЖХОЛГЙС Sum[f, {i, imin, imax}]. ъДЕУШ f - ПВЭЙК ЮМЕО ТСДБ, Б imin Й imax - ЗТБОЙГЩ УХННЙТПЧБОЙС.

вПМШЫЙОУФЧП ДПУФБФПЮОП ЗМБДЛЙИ ЖХОЛГЙК ДПЧПМШОП ФПЮОП МПЛБМШОП БРРТПЛУЙНЙТХАФУС ТСДПН фЕКМПТБ. дМС ОБИПЦДЕОЙС n-ЗП НОПЗПЮМЕОБ фЕКМПТБ Ч ПЛТЕУФОПУФЙ ФПЮЛЙ x0 РТЙНЕОСЕФУС ЖХОЛГЙС Series[f, {x, x0, n}], Б ХДБМЕОЙЕ ПУФБФПЮОПЗП ЮМЕОБ ТСДБ ЧЩРПМОСЕФУС ЖХОЛГЙСНЙ Collect Й Normal:

рТЙНЕТ
дМС ФПЗП ЮФПВЩ ОБЗМСДОП РТЕДУФБЧЙФШ УЕВЕ ФПЮОПУФШ БРТПЛУЙНБГЙЙ ЖХОЛГЙЙ НОПЗПЮМЕОБНЙ фЕКМПТБ, РПУФТПЙН ОБ ПДОПН ТЙУХОЛЕ ЗТБЖЙЛ ЖХОЛГЙЙ sin(x)/x Й УППФЧЕФУФЧХАЭЙЕ ЕК НОПЗПЮМЕОЩ фЕКМПТБ УФЕРЕОЕК 3 Й 6.

f=Sin[x]/x;
f1= Normal[Series[f, {x, 0, 3}]];
f2= Normal[Series[f, {x, 0, 6}]];
Plot[{f, f1, f2}, {x, -10, 10},
  PlotStyle -> {
     {Hue[0], Thickness[.01]},
     {Hue[.6], Dashing[{.03}]},
     {Hue[.9], Dashing[{.01}]}}]

ъБДБОЙС

  1. чЩЮЙУМЙФЕ РТЕДЕМЩ:
    Б) [image]; В) [image].
  2. оБКДЙФЕ ПДОПУФПТПООЙК РТЕДЕМ [image].
  3. йУУМЕДХКФЕ ЖХОЛГЙЙ ОБ ОЕРТЕТЩЧОПУФШ:
    Б) [image]; В) [image].


дЙЖЖЕТЕОГЙТПЧБОЙЕ Й ЙОФЕЗТЙТПЧБОЙЕ

дМС ЧЩЮЙУМЕОЙС РТПЙЪЧПДОПК ЖХОЛГЙЙ f РП РЕТЕНЕООПК x ЙУРПМШЪХЕФУС ЛПНБОДБ D[f, x]. оБИПЦДЕОЙe n-ПК РТПЙЪЧПДОПК ЧЩЗМСДЙФ ФБЛ: D[f,{x,n}]. оБ РБОЕМЙ BasicInput ЙНЕАФУС ЛОПРЛЙ У ЫБВМПОБНЙ ДМС ДЙЖЖЕТЕОГЙТПЧБОЙС.

рТЙНЕТ
рПУФТПЙН ЗТБЖЙЛЙ ЖХОЛГЙЙ arctg x - 0.5, ЕЕ РЕТЧПК Й ЧФПТПК РТПЙЪЧПДОЩИ. пВТБФЙФЕ ЧОЙНБОЙЕ ОБ ПРТЕДЕМЕОЙЕ ЖХОЛГЙК Ч ЬФПН РТЙНЕТЕ. уЙНЧПМ РПДЮЕТЛЙЧБОЙС РПУМЕ ЙНЕОЙ РЕТЕНЕООПК ПЪОБЮБЕФ, ЮФП ПРТЕДЕМСЕФУС ЖХОЛГЙС ПФ ХЛБЪБООПК РЕТЕНЕООПК. рТПГЕДХТБ Clear ХОЙЮФПЦБЕФ ДБООПЕ ТБОЕЕ ПРТЕДЕМЕОЙЕ.

дМС ОБИПЦДЕОЙС РЕТЧППВТБЪОПК Й ПРТЕДЕМЕООПЗП ЙОФЕЗТБМБ РТЙНЕОСЕФУС ЖХОЛГЙС Integrate, РТЙ ЬФПН ДМС ЧЧПДБ ХДПВОП ЙУРПМШЪПЧБФШ ЫБВМПОЩ, РТЕДПУФБЧМСЕНЩЕ РБМЙФТПК Basic Input. дМС ЧЩЮЙУМЕОЙС ЛТБФОЩИ ЙОФЕЗТБМПЧ УППФЧЕФУФЧХАЭБС ЖХОЛГЙС РТЙНЕОСЕФУС ОЕУЛПМШЛП ТБЪ. оЙЦЕ РТЕДУФБЧМЕОЩ РТЙНЕТЩ ЙУРПМШЪПЧБОЙС ЬФПК ЖХОЛГЙЙ.

In[1]:= Integrate[x^2/(4x^6+1), x]
Out[1]:= (1/6) ArcTan[2x^3]

In[2]:= Integrate[1/Sqrt[(4-x)^3],{x,-Infinity,0}]
Out[2]= 1

ъБЮБУФХА РПМЕЪОП РТЙНЕОЙФШ ЖХОЛГЙА Simplify Л ТЕЪХМШФБФБН ЧЩЮЙУМЕОЙС, ОБРТЙНЕТ,

ъБДБОЙЕ

  1. оБКДЙФЕ РТПЙЪЧПДОЩЕ УМЕДХАЭЙИ ЖХОЛГЙК:
    Б) 31-2cos x; В) (sin x)cos x.
  2. оБКДЙФЕ РЕТЧППВТБЪОХА ЖХОЛГЙЙ sin(2x).
  3. чЩЮЙУМЙФЕ ПРТЕДЕМЕООЩК ЙОФЕЗТБМ ПФ ЖХОЛГЙЙ x2 РП ПФТЕЪЛХ [0; 1].


нБФТЙГЩ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

пРЕТБГЙЙ У НБФТЙГБНЙ

нБФТЙГБ ЪБДБЕФУС ЛБЛ УРЙУПЛ УРЙУЛПЧ ЬМЕНЕОФПЧ УФТПЛ. дМС РТЕДУФБЧМЕОЙС УРЙУЛБ Ч ФТБДЙГЙПООПК НБФТЙЮОПК ЖПТНЕ ЙУРПМШЪХЕФУС ЖХОЛГЙС MatrixForm. рТПГЕДХТБ Det РПЪЧПМСЕФ ЧЩЮЙУМСФШ ПРТЕДЕМЙФЕМШ. у РПНПЭША ЖХОЛГЙЙ Dot ОБИПДЙФУС РТПЙЪЧЕДЕОЙЕ НБФТЙГ Й ЧЕЛФПТПЧ, ОП НПЦОП ЙУРПМШЪПЧБФШ Й УЙНЧПМ . (ФПЮЛБ). Inverse ОБИПДЙФ ПВТБФОХА НБФТЙГХ, Б Transpose ЙУРПМШЪХЕФУС ДМС ФТБОУРПОЙТПЧБОЙС НБФТЙГЩ (РТЕЧТБЭЕОЙС ЛБЦДПК УФТПЛЙ Ч УФПМВЕГ У ФЕН ЦЕ ОПНЕТПН).

дМС ТЕЫЕОЙС УЙУФЕН МЙОЕКОЩИ ХТБЧОЕОЙК НПЦОП ЙУРПМШЪПЧБФШ ЖХОЛГЙА LinearSolve ЙМЙ НБФТЙЮОЩК НЕФПД, РТЙ ЛПФПТПН НБФТЙГБ X, УПДЕТЦБЭБС ЪОБЮЕОЙС ОЕЙЪЧЕУФОЩИ, ОБИПДЙФУС РП ЖПТНХМЕ X = A-1 . B, ЗДЕ . ПЪОБЮБЕФ ПРЕТБГЙА ХНОПЦЕОЙС НБФТЙГ.

рТЙНЕТ
йУРПМШЪХЕН ХЛБЪБООЩЕ УРПУПВЩ РТЙ ТЕЫЕОЙЙ УМЕДХАЭЕК УЙУФЕНЩ ХТБЧОЕОЙК:

йФБЛ, ТЕЫЕОЙЕН ДБООПК УЙУФЕНЩ СЧМСЕФУС ФТПКЛБ {-1, 2.5, 1.5}.

ъБДБОЙС

  1. оБКДЙФЕ РТПЙЪЧЕДЕОЙЕ НБФТЙГ A Й B, ЗДЕ
    , [image].
  2. фТБОУРПОЙТХКФЕ НБФТЙГХ B Й ОБКДЙФЕ ЕЕ ПРТЕДЕМЙФЕМШ.


мПЗЙЮЕУЛЙЕ ЧЩТБЦЕОЙС

рТПЗТБННБ Mathematica УРПУПВОБ ПРЕТЙТПЧБФШ МПЗЙЮЕУЛЙНЙ ЧЩТБЦЕОЙСНЙ. лПОУФБОФЩ True Й False ЙУРПМШЪХАФУС ДМС ПВПЪОБЮЕОЙК ЙУФЙООПЗП Й МПЦОПЗП ХФЧЕТЦДЕОЙК. лТПНЕ ЛПОУФБОФ МПЗЙЮЕУЛЙЕ ЧЩТБЦЕОЙС УПДЕТЦБФ РЕТЕНЕООЩЕ, УПЕДЙОЕООЩЕ УМЕДХАЭЙНЙ УЧСЪЛБНЙ: And (&&, ЛПОЯАОЛГЙС), Or (||, ДЙЪЯАОЛГЙС), Not (!, МПЗЙЮЕУЛПЕ ПФТЙГБОЙЕ). йНРМЙЛБГЙС ЪБДБЕФУС ЖХОЛГЙЕК Implies ЙМЙ УЙНЧПМПН [image] ЙЪ РБМЙФТЩ BasicInput. жХОЛГЙС LogicalExpand ПУХЭЕУФЧМСЕФ ХРТПЭЕОЙЕ МПЗЙЮЕУЛЙИ ЧЩТБЦЕОЙК.

рТЙНЕТ
пРТЕДЕМЙН ЪОБЮЕОЙЕ МПЗЙЮЕУЛПЗП ЧЩТБЦЕОЙС !(x>z) && !(x=y), ЕУМЙ x=3, y=5, z=2.

ъБДБОЙЕ
рПМХЮЙФЕ ЪБЛПОЩ ДПРПМОЕОЙС ( !(!a) = a ), ЙДЕНРПФЕОФОПУФЙ ( a && a = a; a || a = a ) Й РПЗМПЭЕОЙС ( a && (a || b) = a ) РТЙ РПНПЭЙ ЖХОЛГЙЙ LogicalExpand.


Maxima

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

уЙУФЕНБ УЙНЧПМШОПК НБФЕНБФЙЛЙ Maxima

Maxima - ЕЭЕ ПДОБ РТПЗТБННБ ДМС ЧЩРПМОЕОЙС НБФЕНБФЙЮЕУЛЙИ ЧЩЮЙУМЕОЙК, УЙНЧПМШОЩИ РТЕПВТБЪПЧБОЙК, Б ФБЛЦЕ РПУФТПЕОЙС ТБЪОППВТБЪОЩИ ЗТБЖЙЛПЧ. уМПЦОЩЕ ЧЩЮЙУМЕОЙС ПЖПТНМСАФУС Ч ЧЙДЕ ПФДЕМШОЩИ РТПГЕДХТ, ЛПФПТЩЕ ЪБФЕН НПЗХФ ВЩФШ ЙУРПМШЪПЧБОЩ РТЙ ТЕЫЕОЙЙ ДТХЗЙИ ЪБДБЮ. уЙУФЕНБ Maxima ТБУРТПУФТБОСЕФУС РПД МЙГЕОЪЙЕК GPL Й ДПУФХРОБ ЛБЛ РПМШЪПЧБФЕМСН пу Linux, ФБЛ Й РПМШЪПЧБФЕМСН MS Windows.

дМС ТБВПФЩ У ДБООПК УЙУФЕНПК Ч пу Linux УМЕДХЕФ Ч ПЛОЕ shell ОБВТБФШ ЛПНБОДХ maxima ЙМЙ xmaxima ДМС ЪБРХУЛБ ЕЕ ЗТБЖЙЮЕУЛПК ПВПМПЮЛЙ. дТХЗЙН ХДПВОЩН ЙОУФТХНЕОФПН ДМС ТБВПФЩ У УЙУФЕНПК Maxima СЧМСЕФУС РТПЗТБННБ texmacs. оБ РБОЕМЙ ЙОУФТХНЕОФПЧ ЬФПК РТПЗТБННЩ ТБУРПМБЗБЕФУС ЛОПРЛБ У ЙЪПВТБЦЕОЙЕН НПОЙФПТБ, ОБЦБФЙe ОБ ЛПФПТХА ПФЛТЩЧБЕФ НЕОА ЧЩВПТБ ЙОФЕТБЛФЙЧОПК УЕУУЙЙ. чЩВПТ РХОЛФБ maxima РПЪЧПМЙФ ОБЮБФШ УЕБОУ ТБВПФЩ У ЬФПК РТПЗТБННПК.

рТЙ ПФПВТБЦЕОЙЙ ТЕЪХМШФБФПЧ ЧЩЮЙУМЕОЙК ЬФБ ПВПМПЮЛБ ЙУРПМШЪХЕФ УФБОДБТФОЩЕ НБФЕНБФЙЮЕУЛЙЕ ПВПЪОБЮЕОЙС, Ч ФП ЧТЕНС ЛБЛ xmaxima ЙМЙ maxima - ФПМШЛП УЙНЧПМЩ ЙЪ ФБВМЙГЩ ASCII-ЛПДПЧ.

рТЙ УФБТФЕ ЧЩЧПДЙФУС ОЕЛПФПТБС ЙОЖПТНБГЙС П УЙУФЕНЕ Й "НЕФЛБ" (C1). лБЦДЩК ЧЧПД Й ЧЩЧПД РПНЕЮБАФУС УЙУФЕНПК Й ЪБФЕН НПЗХФ ВЩФШ ЙУРПМШЪПЧБОЩ УОПЧБ. уЙНЧПМ C (ПФ command) ЙУРПМШЪХЕФУС ДМС ПВПЪОБЮЕОЙС ЛПНБОД, ЧЧЕДЕООЩИ РПМШЪПЧБФЕМЕН, Б D (ПФ display) - РТЙ ЧЩЧПДЕ ТЕЪХМШФБФПЧ ЧЩЮЙУМЕОЙК.

дМС ЙОЙГЙБМЙЪБГЙЙ РТПГЕУУБ ЧЩЮЙУМЕОЙК УМЕДХЕФ ЧЧЕУФЙ ЛПНБОДХ, ЪБФЕН УЙНЧПМ ; (ФПЮЛБ У ЪБРСФПК) Й ОБЦБФШ ЛМБЧЙЫХ Enter. еУМЙ ОЕ ФТЕВХЕФУС ЧЩЧПД РПМХЮЕООПК ЙОЖПТНБГЙЙ ОБ ЬЛТБО, ФП ЧНЕУФП ФПЮЛЙ У ЪБРСФПК ЙУРПМШЪХЕФУС УЙНЧПМ $. пВТБФЙФШУС Л ТЕЪХМШФБФХ РПУМЕДОЕК ЛПНБОДЩ НПЦОП У РПНПЭША УЙНЧПМБ %. дМС РПЧФПТБ ТБОЕЕ ЧЧЕДЕООПК ЛПНБОДЩ, УЛБЦЕН (C2), ДПУФБФПЮОП ЧЧЕУФЙ ДЧБ БРПУФТПЖБ Й ЪБФЕН НЕФЛХ ФТЕВХЕНПК ЛПНБОДЩ, ОБРТЙНЕТ, ''C2.

уЙУФЕНБ Maxima ОЕ ПВТБЭБЕФ ЧОЙНБОЙЕ ОБ ТЕЗЙУФТ ЧЧЕДЕООЩИ УЙНЧПМПЧ Ч ЙНЕОБИ ЧУФТПЕООЩИ ЛПОУФБОФ Й ЖХОГЙК. ъБРЙУШ sin(x) ЬЛЧЙЧБМЕОФОБ ЪБРЙУЙ SIN(x), ОП РТЙ ЧЩЧПДЕ ТЕЪХМШФБФПЧ Ч ФЕЛУФПЧПН ТЕЦЙНЕ ЙУРПМШЪХАФУС ЪБЗМБЧОЩЕ ВХЛЧЩ. тЕЗЙУФТ ВХЛЧ, ПДОБЛП, ЧБЦЕО РТЙ ЙУРПМШЪПЧБОЙЙ РЕТЕНЕООЩИ, ОБРТЙНЕТ, Maxima УЮЙФБЕФ x Й X ТБЪОЩНЙ РЕТЕНЕООЩНЙ.

дМС УФБОДБТФОЩИ НБФЕНБФЙЮЕУЛЙИ ЛПОУФБОФ ЙУРПМШЪХАФУС УМЕДХАЭЙЕ ПВПЪОБЮЕОЙС: %e (ЙМЙ %E) ДМС ПУОПЧБОЙС ОБФХТБМШОЩИ МПЗБТЙЖНПЧ, %i (%I) ДМС НОЙНПК ЕДЙОЙГЩ (ЛЧБДТБФОЩК ЛПТЕОШ ЙЪ ЮЙУМБ -1) Й %pi (%PI) ДМС ЮЙУМБ [image].

рТЙУЧБЙЧБОЙЕ ЪОБЮЕОЙС ЛБЛПК-МЙВП РЕТЕНЕООПК ПУХЭЕУФЧМСЕФУС У РПНПЭША ЪОБЛБ : (ДЧПЕФПЮЙЕ), Б УЙНЧПМ = (ТБЧОП) ЙУРПМШЪХЕФУС РТЙ ЪБДБОЙЙ ХТБЧОЕОЙК ЙМЙ РПДУФБОПЧПЛ.

(C1) x:2;
(D1) 				  2
(C2) y:3;
(D2) 				  3
(C3) x + y;
(D3) 				  5
жХОЛГЙС kill БООХМЙТХЕФ РТЙУЧПЕООЩЕ ТБОЕЕ ЪОБЮЕОЙС РЕТЕНЕООЩИ. рБТБНЕФТ all ЬФПК ЖХОЛГЙЙ РТЙЧПДЙФ Л ХДБМЕОЙА ЪОБЮЕОЙС ЧУЕИ РЕТЕНЕООЩИ, ЧЛМАЮБС НЕФЛЙ Ci Й Di.
(C8) kill(x);
(D8) 				 DONE
(C9) x + y;
(D9) 				x + 3
(C10) kill(all);
(D0) 				 DONE
(C1) x + y;
(D1) 				y + x

дМС ЪБЧЕТЫЕОЙС ТБВПФЩ У УЙУФЕНПК РТЙНЕОСЕФУС ЖХОЛГЙС quit();, Б РТЕТЩЧБОЙЕ РТПГЕУУБ ЧЩЮЙУМЕОЙК ПУХЭЕУФЧМСЕФУС РХФЕН ОБЦБФЙС ЛПНВЙОБГЙЙ ЛМБЧЙЫ Ctrl+c (РПУМЕ ЮЕЗП УМЕДХЕФ ЧЧЕУФЙ :q ДМС ЧПЪЧТБФБ Ч ПВЩЮОЩК ТЕЦЙН ТБВПФЩ).

уРТБЧЛБ П ФПК ЙМЙ ЙОПК ЖХОЛГЙЙ ЧЩЧПДЙФУС РП ЛПНБОДЕ describe(ЙНС ЖХОЛГЙЙ). рТЙ ТБВПФЕ Ч ЗТБЖЙЮЕУЛПК ПВПМПЮЛЕ XMaxima, НПЦОП ЧПУРПМШЪПЧБФШУС РХОЛФПН НЕОА help. рТПГЕДХТБ example(ЙНС ЖХОЛГЙЙ) ДЕНПОУФТЙТХЕФ РТЙНЕТЩ ЙУРПМШЪПЧБОЙС ЖХОЛГЙЙ.


чЩТБЦЕОЙС

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

тБВПФБ У ЧЩТБЦЕОЙСНЙ

рТЙ ЪБРЙУЙ НБФЕНБФЙЮЕУЛЙИ ЧЩТБЦЕОЙК НПЗХФ ЙУРПМШЪПЧБФШУС ЮЕФЩТЕ УФБОДБТФОЩЕ БТЙЖНЕФТЙЮЕУЛЙЕ ПРЕТБГЙЙ (+, -, *, /) Й ПРЕТБГЙС ЧПЪЧЕДЕОЙС Ч УФЕРЕОШ (^, ^^ ЙМЙ **). рТЙПТЙФЕФ ЬФЙИ ПРЕТБГЙК ФТБДЙГЙПОЕО, ДМС ЙЪНЕОЕОЙС РПТСДЛБ ЧЩЮЙУМЕОЙК УМЕДХЕФ ЙУРПМШЪПЧБФШ ЛТХЗМЩЕ УЛПВЛЙ. лТПНЕ ЮЙУЕМ ЧЩТБЦЕОЙС НПЗХФ УПДЕТЦБФШ ТЕЪХМШФБФЩ ЧЩЮЙУМЕОЙК НБФЕНБФЙЮЕУЛЙИ ЖХОЛГЙК. бТЗХНЕОФЩ ЖХОЛГЙК ХЛБЪЩЧБАФУС Ч ЛТХЗМЩИ УЛПВЛБИ, ОБРТЙНЕТ, ЪБРЙУШ sqrt(5) ПЪОБЮБЕФ ЛПТЕОШ ЛЧБДТБФОЩК ЙЪ ЮЙУМБ 5. еУМЙ Ч ТЕЪХМШФБФЕ ТБУЮЕФБ РПМХЮБЕФУС ДТПВОПЕ ЧЩТБЦЕОЙЕ, ФП ПОП Й ЧЩЧПДЙФУС Ч ЧЙДЕ ПВЩЛОПЧЕООПК ДТПВЙ. йТТБГЙПОБМШОЩЕ ЮЙУМБ, ЧИПДСЭЙЕ Ч ЧЩТБЦЕОЙЕ, РТЕДУФБЧМСАФУС Ч УЙНЧПМШОПН ЧЙДЕ.

дМС ТБУЛТЩФЙС УЛПВПЛ ЙУРПМШЪХЕФУС ЖХОЛГЙС expand. лПНБОДБ ev РПЪЧПМЙФ РПМХЮЙФШ ЮЙУМЕООПЕ ЪОБЮЕОЙЕ ЧЩТБЦЕОЙС. еЕ РЕТЧЩК БТЗХНЕОФ ЕУФШ ЧЩЮЙУМСЕНПЕ ЧЩТБЦЕОЙЕ, Б ЧФПТПК - ПРГЙС numer. оБРПНОЙН, ЮФП УЙНЧПМ % ПЪОБЮБЕФ ТЕЪХМШФБФ РТЕДЩДХЭЕЗП ЧЩЮЙУМЕОЙС.

оБ ТЙУХОЛЕ ЙЪПВТБЦЕО РТЙНЕТ ТБВПФЩ У ПВПМПЮЛПК texmacs. дБМШОЕКЫЙК ЧЩЧПД УППФЧЕФУФЧХЕФ ТБВПФЕ У РТПЗТБННПК maxima (xmaxima).

дПРХУЛБЕФУС ВПМЕЕ ХДПВОБС ЖПТНБ ЖХОЛГЙЙ ev, ФТЕВХАЭБС ХЛБЪБОЙС ФПМШЛП ЕЕ БТЗХНЕОФПЧ:

(C5) 29*sqrt(2) + 41, numer;
(D5)                      82.01219330881976
рП ХНПМЮБОЙА ТЕЪХМШФБФ УПДЕТЦЙФ 16 ЪОБЮБЭЙИ ГЙЖТ. дМС ЧЩЧПДБ ЮЙУМБ Ч ЬЛУРПОЕОГЙБМШОПК ЖПТНЕ ЙУРПМШЪХЕФУС ЖХОЛГЙС bfloat:
(C6) bfloat(d3);
(D6)                       8.201219330881976B1
ъБРЙУШ mBn ЕУФШ УПЛТБЭЕООБС ЖПТНБ ЧЩТБЦЕОЙС m*10n.

лПМЙЮЕУФЧП ЪОБЮБЭЙИ ГЙЖТ Ч РТЕДУФБЧМЕОЙЙ ЮЙУМБ ПРТЕДЕМСЕФУС УРЕГЙБМШОПК РЕТЕНЕООПК FPPREC. хЧЕМЙЮЕОЙЕ ЕЕ ЪОБЮЕОЙС РТЙЧПДЙФ Л ЧПЪТБУФБОЙА ФПЮОПУФЙ ТЕЪХМШФБФБ, ОБРТЙНЕТ,

(C7) fpprec;
(D7)                                  16

(C8) fpprec:100;
(D8)                                  100

(C9) ''c5;
(D9) 8.20121933088197607657604923686248525#
030775305167218616484631047782707024434954#
8350683851114422615155B1
уЙНЧПМ # Ч ЛПОГЕ ЧЩЧПДЙНПК УФТПЛЙ ПЪОБЮБЕФ, ЮФП ЮЙУМП ОЕ ХНЕУФЙМПУШ ОБ ПДОПК УФТПЛЕ Й ЕЗП ПУФБЧЫБСУС ЮБУФШ РЕТЕОПУЙФУС ОБ УМЕДХАЭХА. ч РПУМЕДОЕН РТЙНЕТЕ НЩ ЙУРПМШЪПЧБМЙ РПЧФПТЕОЙЕ ТБОЕЕ ЧЧЕДЕООПК ЛПНБОДЩ (''c5).

уЙУФЕНБ Maxima НПЦЕФ ТБВПФБФШ У ЮЙУМБНЙ РТПЙЪЧПМШОПК ДМЙОЩ Й ФПЮОПУФЙ:

(C10) 100!;
(D10)  933262154439441526816992388562667004#
9071596826438162146859296389521759999322991#
5608941463976156518286253697920827223758251#
185210916864000000000000000000000000

рТЙНЕТ
чЩЮЙУМЙН ЮЙУМП PI У ФПЮОПУФША 200 ЪОБЛПЧ РПУМЕ ЪБРСФПК:

(C11) %PI, numer;
(D11) 		 3.141592653589793

(C12) fpprec:200;
(D12) 		        200

(C13) bfloat(%PI);
(D13) 3.141592653589793238462643383279502884#
19716939937510582097494459230781640628620899#
86280348253421170679821480865132823066470938#
44609550582231725359408128481117450284102701#
9385211055596446229489549303819B0

еУМЙ ФТЕВХЕФУС ЧЩЧПД У ХЧЕМЙЮЕООПК ФПЮОПУФША ФПМШЛП ДМС ТЕЪХМШФБФПЧ ОЕУЛПМШЛЙИ ЛПНБОД, ФП УМЕДХЕФ ЙУРПМШЪПЧБФШ ЖХОЛГЙА block. рЕТЧЩН БТЗХНЕОФПН ЬФПК ЖХОЛГЙЙ СЧМСЕФУС УРЙУПЛ МПЛБМШОЩИ РЕТЕНЕООЩИ, Ф. Е. РЕТЕНЕООЩИ, ЪОБЮЕОЙС ЛПФПТЩИ ВХДХФ ЧПУУФБОПЧМЕОЩ РПУМЕ ЪБЧЕТЫЕОЙС ЧЩРПМОЕОЙС ЛПНБОД ВМПЛБ. рТЙ ХЛБЪБОЙЙ ФБЛЙИ РЕТЕНЕООЩИ ЧПЪНПЦОП РТЙУЧБЙЧБОЙЕ ЙН ЧТЕНЕООЩИ ЪОБЮЕОЙК. рПУМЕ УРЙУЛБ МПЛБМШОЩИ РЕТЕНЕООЩИ ЮЕТЕЪ ЪБРСФХА ХЛБЪЩЧБЕФУС РПУМЕДПЧБФЕМШОПУФШ ЛПНБОД.

(C14) FPPREC:16;
(D14) 	                              16

(C15) bfloat(%PI);
(D15) 	             3.141592653589793B0

(C16) block([FPPREC:100], bfloat(%PI));
(D16) 3.14159265358979323846264338327950#
2884197169399375105820974944592307816406#
286208998628034825342117068B0

(C17) ''c15;
(D17)                3.141592653589793B0

ч Maxima ДПУФХРОЩ РТСНЩЕ Й ПВТБФОЩЕ ФТЙЗПОПНЕФТЙЮЕУЛЙЕ ЖХОЛГЙЙ: sin (УЙОХУ), cos (ЛПУЙОХУ), tan (ФБОЗЕОУ), cot (ЛПФБОЗЕОУ), asin (БТЛУЙОХУ), acos (БТЛЛПУЙОХУ), atan (БТЛФБОЗЕОУ), acot (БТЛЛПФБОЗЕОУ). лТПНЕ ОЙИ ЙНЕАФУС ДЧЕ НЕОЕЕ ЙЪЧЕУФОЩЕ ЖХОЛГЙЙ - УЕЛПОУ (sec x = 1/cos x) Й ЛПУЕЛПОУ (csc x = 1/sin x).

(C18) block([FPPREC:100],sin(bfloat(%PI)));
(D18) - 2.570579198029723711689569064713781#
2738478411385601247337570449378000209830368#
31739403591933813645377B-101

(C19) block([FPPREC:100],sin(%PI)) ;
(D19)                                 0

(C20) sin(%PI/6)^2 +cos(%PI/6)^2;
(D20)                                 1

(C21) sec(%PI/3);
(D21) 		                      2

(C22) asin(1/2);
                                   %PI
(D22)                              ---
                                    6
л УПЦБМЕОЙА, Maxima ОЕ НПЦЕФ Ч УЙНЧПМШОПН ЧЙДЕ ЧЩЮЙУМЙФШ ЪОБЮЕОЙС ПВТБФОЩИ ФТЙЗПОПНЕФТЙЮЕУЛЙИ ЖХОЛГЙК Ч ОЕЛПФПТЩИ ФПЮЛБИ:
(C23) asin(sqrt(3)/2);
                   SQRT(3)
(D23) 			  ASIN(-------)
                  2
(C24) %, expand;
                   SQRT(3)
(D24)			  ASIN(-------)
                  2

дМС ЧЩЮЙУМЕОЙС ОБФХТБМШОПЗП МПЗБТЙЖНБ ЙУРПМШЪХЕФУС ЖХОЛГЙС log:

(C25) log(%E^2);
(D25) 				 2
(C26) 5*log(a)+6*log(b);
(D26) 			 6 LOG(b) + 5 LOG(a)
(C27) logcontract(%);
                   5  6
(D27) 			      LOG(a  b )


бМЗЕВТБ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

бМЗЕВТБЙЮЕУЛЙЕ РТЕПВТБЪПЧБОЙС

пУПВП ЧБЦОХА ТПМШ ЙЗТБЕФ УРПУПВОПУФШ УЙУФЕНЩ Maxima РТПЙЪЧПДЙФШ ТБЪОППВТБЪОЩЕ УЙНЧПМШОЩЕ РТЕПВТБЪПЧБОЙС БМЗЕВТБЙЮЕУЛЙИ ЧЩТБЦЕОЙК. уМЕДХАЭЙК РТЙНЕТ ДЕНПОУФТЙТХЕФ ТБУЛТЩФЙЕ УЛПВПЛ Ч ОЙИ:

(C1) p1:x^2-1;
                 2
(D1) 			        x  - 1

(C2) p2:x-1;
(D2) 				 x - 1

(C3) expand(p1*p2);
                 3	  2
(D3) 			    x  - x  - x + 1

(C4) expand((p1+p2)^2);
               4      3	     2
(D4) 		      x  + 2 x  - 3 x  - 4 x + 4
жХОЛГЙА divide НПЦОП ЙУРПМШЪПЧБФШ ДМС ОБИПЦДЕОЙС ЮБУФОПЗП Й ПУФБФЛБ ПФ ДЕМЕОЙС ПДОПЗП НОПЗПЮМЕОБ ОБ ДТХЗПК:
(C5) divide(p1*p2, p1);
(D5) 			      [x - 1, 0]
жХОЛГЙС gcd ПРТЕДЕМСЕФ ОБЙВПМШЫЙК ПВЭЙК ДЕМЙФЕМШ НОПЗПЮМЕОПЧ, Б factor ПУХЭЕУФЧМСЕФ ТБЪМПЦЕОЙЕ НОПЗПЮМЕОБ ОБ НОПЦЙФЕМЙ:
(C6) gcd(x^3-1, x^2-1, x-1);
(D6)                         x - 1

(C7) factor(x^8-1);
                     2	      4
(D7)	   (x - 1) (x + 1) (x  + 1) (x  + 1)
рПДУФБОПЧЛБ ЛБЛПЗП-МЙВП ЧЩТБЦЕОЙС ЧНЕУФП РЕТЕНЕООПК ПУХЭЕУФЧМСЕФУС РТЙ РПНПЭЙ ПРЕТБГЙЙ =. оБРТЙНЕТ, ЪБНЕОЙН ЧУЕ ЧИПЦДЕОЙС x Ч ЧЩТБЦЕОЙЙ ОБ 5/z:
(C8)  x^4+3*x^3-2*x, x=5/z;
             10   375   625
(D8) 		       - -- + --- + ---
             z     3     4
                  z	    z
жХОЛГЙС ratsimp ЧЩОПУЙФ ЪБ УЛПВЛЙ ОБЙВПМШЫЙК ПВЭЙК ДЕМЙФЕМШ:
(C9) ratsimp(%);
               3
               10 z  - 375 z - 625
(D9) 		     - -------------------
                4
                   z

йУРПМШЪХС ЖХОЛГЙА assume (to assume - ДПРХУЛБФШ), НПЦОП РТЙ ЧЩЮЙУМЕОЙСИ ХЮЙФЩЧБФШ ДПРПМОЙФЕМШОЩЕ ХУМПЧЙС, ЪБДБЧБЕНЩЕ ОЕТБЧЕОУФЧБНЙ:

(C10) sqrt(x^2);
(D10) 			       ABS(x)
(C11) assume(x<0);
(D11) 			       [x < 0]
(C12) sqrt(x^2);
(D12) 				 - x
жХОЛГЙС forget (to forget - ЪБВЩЧБФШ) УОЙНБЕФ ЧУЕ ПЗТБОЙЮЕОЙС, ОБМПЦЕООЩЕ РТЙ РПНПЭЙ assume:
(C13) forget(x<0);
(D13) 			       [x < 0]
(C14) sqrt(x^2);
(D14) 			       ABS(x)

Maxima МЕЗЛП ПРЕТЙТХЕФ ФТЙЗПОПНЕФТЙЮЕУЛЙНЙ ЧЩТБЦЕОЙСНЙ. фБЛ, ЖХОЛГЙС trigexpand ЙУРПМШЪХЕФ ЖПТНХМЩ РТЕПВТБЪПЧБОЙС УХНН ДЧХИ ХЗМПЧ ДМС РТЕДУФБЧМЕОЙС ЧЧЕДЕООПЗП ЧЩТБЦЕОЙС Ч ЛБЛ НПЦОП ВПМЕЕ РТПУФПН ЧЙДЕ:

(C15) sin(u+v)*cos(u)^3;

           3
(D15) 		COS (u) SIN(v + u)

(C16) trigexpand(%);

       3
(D16) 	COS (u) (COS(u) SIN(v) + SIN(u) COS(v))
жХОЛГЙС trigreduce РТЕПВТБЪХЕФ ФТЙЗПОПНЕФТЙЮЕУЛПЕ ЧЩТБЦЕОЙЕ Л УХННЕ ЬМЕНЕОФПЧ, ЛБЦДЩК ЙЪ ЛПФПТЩИ УПДЕТЦЙФ ФПМШЛП ЕДЙОУФЧЕООЩК sin ЙМЙ cos:

(C17) trigreduce(%);

            SIN(v + 4 u) + SIN(v - 2 u)
(D17)       ---------------------------
                         8

            3 SIN(v + 2 u) + 3 SIN(v)
          + -------------------------
                         8

жХОЛГЙЙ realpart Й imagpart ЧПЪЧТБЭБАФ ДЕКУФЧЙФЕМШОХА Й НОЙНХА ЮБУФШ ЛПНРМЕЛУОПЗП ЧЩТБЦЕОЙС:

(C18) z1:-3+%i*4;
(D18) 		        4 %I - 3

(C19) z2:4-2*%i;
(D19) 		        4 - 2 %I

(C20) z1*z2;
(D20) 	   (4 - 2 %I) (4 %I - 3)

(C21) expand(%);
(D21) 		       22 %I - 4

(C22) realpart(''c20);
(D22) 		             - 4

(C23) imagpart(''c20);
(D23) 		              22


хТБЧОЕОЙС

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

тЕЫЕОЙЕ ХТБЧОЕОЙК

Maxima НПЦЕФ ТЕЫБФШ ХТБЧОЕОЙС Й УЙУФЕНЩ БМЗЕВТБЙЮЕУЛЙИ ХТБЧОЕОЙК У РПНПЭША ЖХОЛГЙЙ solve. тБЧОБС ОХМА РТБЧБС ЮБУФШ ХТБЧОЕОЙС НПЦЕФ ВЩФШ ПРХЭЕОБ:

(C1) solve (x^2=1, x);
(D1) 			        [x = - 1, x = 1]

(C2) solve(x^2-1,x);
(D2) 			        [x = - 1, x = 1]

(C3) solve(log(x+3)=1, x);
(D3) 				  [x = %E - 3]
рТЙ ТЕЫЕОЙЙ ФТЙЗПОПНЕФТЙЮЕУЛЙИ ХТБЧОЕОЙК ЧЩДБЕФУС ФПМШЛП ПДОП ЙЪ ВЕУЛПОЕЮОПЗП НОПЦЕУФЧБ ЧПЪНПЦОЩИ ТЕЫЕОЙК:
(C4) solve(sin(x)-1, x);
SOLVE is using arc-trig functions to get
a solution. Some solutions will be lost.
                 %PI
(D4) 			    [x = ---]
                  2
ч УМЕДХАЭЕН РТЙНЕТЕ ЖХОЛГЙС solve ЙУРПМШЪХЕФУС ДМС ТЕЫЕОЙС УЙУФЕНЩ ЙЪ ФТЕИ ХТБЧОЕОЙК У ФТЕНС ОЕЙЪЧЕУФОЩНЙ:
(C5) s:[x+y+z=3, x+2*y-z=2, x+y*z+z*x=3];
(D5) 	      [z + y + x = 3, - z + 2 y + x = 2,
               y z + x z + x = 3]
(C6) solve(s, [x,y,z]);
(D6) 	       [[x = 1, y = 1, z = 1],
                [x = 7, y = - 3, z = - 1]]

еУМЙ ХТБЧОЕОЙЕ ОЕ ЙНЕЕФ ТЕЫЕОЙК ОБ НОПЦЕУФЧЕ ДЕКУФЧЙФЕМШОЩИ ЮЙУЕМ, ФП Maxima ЙЭЕФ ТЕЫЕОЙС УТЕДЙ ЛПНРМЕЛУОЩИ ЮЙУЕМ:

(C7) solve(x^2+1,x);
(D7) 			       [x = - %I, x = %I]

ъБДБОЙЕ
тЕЫЙФЕ ХТБЧОЕОЙЕ ln(tg x) = 0.


жХОЛГЙЙ

пРТЕДЕМЕОЙЕ ЖХОЛГЙК

дМС ПРТЕДЕМЕОЙС ЖХОЛГЙЙ УМЕДХЕФ ХЛБЪБФШ ЕЕ ЙНС, БТЗХНЕОФ (ЙМЙ БТЗХНЕОФЩ), ЪБЛМАЮЕООЩК Ч ЛТХЗМЩЕ УЛПВЛЙ, УЙНЧПМЩ := Й УБНХ ЖХОЛГЙА, ОБРТЙНЕТ,

(C1) p(x):= x^2+3*x-8;
                         2
(D1) 		            p(x) := x  + 3 x - 8
(C2) p(2*x);
                         2
(D2) 		                  4 x  + 6 x - 8
(C3) factor(p(2*x-4));
                        2
(D3) 		              2 (2 x  - 5 x - 2)
(C4) f(x):=sin(x);
(D4) 		                  f(x) := SIN(x)
(C5) g(x):=log(x);
(D5) 		                  g(x) := LOG(x)
(C6) f(g(x));
(D6)		                     SIN(LOG(x))
(C7) g(f(x));
(D7)		                     LOG(SIN(x))
(C8) dist(x,y):=sqrt(x^2+y^2);
                                     2    2
(D8)	             dist(x, y) := SQRT(x  + y )
(C9) dist(3,4);
(D9) 	                                       5

жХОЛГЙС НПЦЕФ ВЩФШ ЪБДБОБ Й РПДПВОЩН ПВТБЪПН:

(C10) eta(x,y):= if x = y then x
               else (if x > y then x-y else x+y);
(D10) 	    eta(x, y) := IF x = y THEN x ELSE
              (IF x > y THEN x - y ELSE x + y)
(C11) eta(5,6);
(D11) 				  11
(C12) eta(eta(7,7), eta(1,2));
(D12) 				  4


зТБЖЙЛЙ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

рПУФТПЕОЙЕ ЗТБЖЙЛПЧ

зТБЖЙЛЙ УФТПСФУС РТЙ РПНПЭЙ ЖХОЛГЙЙ plot2d, ОБРТЙНЕТ,

(C1) plot2d([2*sin(x), cos(x)], [x, -2*%PI, 2*%PI]);
дМС РПУФТПЕОЙС ЙЪПВТБЦЕОЙК ФТЕИНЕТОЩИ ПВЯЕЛФПЧ ЙУРПМШЪХЕФУС ЖХОЛГЙС plot3d. чПФ ЛБЛ, ОБРТЙНЕТ, ЪБРЙЫЕФУС ЖХОЛГЙС ДМС ТЙУПЧБОЙС МЙУФБ нЕВЙХУБ:
(C2) plot3d([cos(x)*(3+y*cos(x/2)),
  sin(x)*(3+y*cos(x/2)), y*sin(x/2)],
  [x,-%pi,%pi],[y,-1,1],['grid,40,15]);

ч МЕЧПН ЧЕТИОЕН ХЗМХ ТЙУХОЛБ ОБИПДЙФУС НЕОА (РПСЧМСАЭЕЕУС РТЙ РПДЧЕДЕОЙЙ ЛХТУПТБ). пОП УПДЕТЦЙФ ТСД ПРГЙК ДМС УПИТБОЕОЙС ТЙУХОЛБ Й ЕЗП РТЕПВТБЪПЧБОЙК. оЙЦЕ РТЙЧПДСФУС ДЧБ ТЙУХОЛБ, УППФЧЕФУФЧХАЭЙЕ ТБУУНБФТЙЧБЕНПК У ТБЪОЩИ ФПЮЕЛ ТЙНБОПЧПК РПЧЕТИОПУФЙ.

(C3) Plot3d(r^.33*cos(th/3),[r,0,1],[th,0,6*%pi],
     ['grid,12,80],
     ['transform_xy,polar_to_xy],
     ['view_direction,1,1,1.4],
     ['colour_z,true]);


бОБМЙЪ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

пРЕТБГЙЙ НБФЕНБФЙЮЕУЛПЗП БОБМЙЪБ

Maxima НПЦЕФ ЧЩЮЙУМСФШ РТПЙЪЧПДОЩЕ Й ЙОФЕЗТБМЩ, ТБУЛМБДЩЧБФШ ЖХОЛГЙЙ Ч ТСДЩ фЕКМПТБ, ЧЩЮЙУМСФШ РТЕДЕМЩ Й ОБИПДЙФШ ФПЮОЩЕ ТЕЫЕОЙС ПВЩЛОПЧЕООЩИ ДЙЖЖЕТЕОГЙБМШОЩИ ХТБЧОЕОЙК.

дМС ОБИПЦДЕОЙС РТПЙЪЧПДОПК ЙУРПМШЪХЕФУС ЖХОЛГЙС diff, РЕТЧЩН БТЗХНЕОФПН ЛПФПТПК СЧМСЕФУС ЖХОЛГЙС, ЧФПТЩН - РЕТЕНЕООБС, РП ЛПФПТПК РТПЙЪЧПДЙФУС ДЙЖЖЕТЕОГЙТПЧБОЙЕ, Й ФТЕФШЙН (ОЕПВСЪБФЕМШОЩН) - РПТСДПЛ РТПЙЪЧПДОПК:

(C1) f:(x-2*sqrt(x))/x^2;
                         x - 2 SQRT(x)
(D1) 	                 -------------
                       2
                      x

(C2) diff(f, x);
           1
      1 - -------
      SQRT(x)   2 (x - 2 SQRT(x))
(D2)  ----------- - -----------------
       2		    3
      x		   x

(C3) expand(''c2);
                     3     1
(D3) 		            ---- - --
                     5/2    2
                    x      x

(C4) g:x^6;
                           6
(D4) 		                  x

(C5) diff(g, x, 1);
                           5
(D5) 		                6 x

(C6) diff(g, x, 4);
                           2
(D6) 		              360 x

рТЙ ЧЩЮЙУМЕОЙЙ ЛТБФОЩИ РТПЙЪЧПДОЩИ РП ОЕУЛПМШЛЙН РЕТЕНЕООЩН РПУМЕ ХЛБЪБОЙС ЖХОЛГЙЙ РЕТЕЮЙУМСАФУС РЕТЕНЕООЩЕ ДЙЖЖЕТЕОГЙТПЧБОЙС У ХЛБЪБОЙЕН УППФЧЕФУФЧХАЭЙИ ЛТБФОПУФЕК, ОБРТЙНЕТ,

(C7) diff(x^6*y^3, x, 4, y, 2);
                           2
(D7) 		          2160 x  y

жХОЛГЙС integrate РПЪЧПМСЕФ ЧЩЮЙУМСФШ ЙОФЕЗТБМЩ. дМС ОБИПЦДЕОЙС ОЕПРТЕДЕМЕООПЗП ЙОФЕЗТБМБ РПУМЕ ЖХОЛГЙЙ ХЛБЪЩЧБЕФУС ЕДЙОУФЧЕООЩК БТЗХНЕОФ - РЕТЕНЕООБС ЙОФЕЗТЙТПЧБОЙС:

(C8) f:x^2/(4*x^6+1);
                        2
                       x
(D8) 		            --------
                           6
                            4 x  + 1

(C9) integrate(f, x);
                      3
                   ATAN(2 x )
(D9) 	                  ----------
                      6

Maxima Ч УМХЮБЕ ОЕПДОПЪОБЮОПЗП ПФЧЕФБ НПЦЕФ ЪБДБЧБФШ ДПРПМОЙФЕМШОЩЕ ЧПРТПУЩ, ЛБЛ Ч УМЕДХАЭЕН РТЙНЕТЕ:

(C10) integrate(x^n,x);
Is  n + 1  zero or nonzero?
nonzero;
                               n + 1
                      x
(D10) 		              ------
                      n + 1
(C11) integrate(x^n,x);
Is  n + 1  zero or nonzero?
zero;
(D11)                         LOG(x)
нПЦОП ЙУРПМШЪПЧБФШ ЖХОЛГЙА assume ДМС ЪБДБОЙС ДПРПМОЙФЕМШОЩИ ХУМПЧЙК (ОЕ ЪБВЩЧБКФЕ ЪБФЕН ХДБМЙФШ ОБМПЦЕООЩЕ ПЗТБОЙЮЕОЙС):
(C12) assume(notequal(n,-1));
(D12) 			 [NOT EQUAL(n, - 1)]
(C13) integrate(x^n,x);
                       n + 1
                x
(D13) 			        ------
                n + 1
(C14) forget(notequal(n,-1));
(D14) 			 [NOT EQUAL(n, - 1)]
(C15) integrate(x^n,x);
Is  n + 1  zero or nonzero?

zero;
(D15) 			        LOG(x)

дМС ОБИПЦДЕОЙС ПРТЕДЕМЕООПЗП ЙОФЕЗТБМБ УМЕДХЕФ ХЛБЪБФШ ДПРПМОЙФЕМШОЩЕ БЗТХНЕОФЩ - РТЕДЕМЩ ЙОФЕЗТЙТПЧБОЙС:

(C16) integrate(x^2, x, 0, 6);
(D16) 	                              72

(C17) integrate(sin(x), x, 0, %PI);
(D17) 				       2

(C18) integrate(integrate(x*y, x, 1, 3), y, 0, 4);
(D18) 				      32

Maxima ДПРХУЛБЕФ ЪБДБОЙЕ Й ВЕУЛПОЕЮОЩИ РТЕДЕМПЧ ЙОФЕЗТЙТПЧБОЙС. дМС ПВПЪОБЮЕОЙС ВЕУЛПОЕЮОПУФЙ ЙУРПМШЪХЕФУС РЕТЕНЕООБС INF (inf):

(C19) integrate(1/x^2, x, 1, inf);
(D19)                          1

(C20) integrate(1/(1+x^2), x, -inf, inf);
(D20) 				      %PI

(C21) integrate(1/x, x, 0, inf);

Integral is divergent  -- an error.
Quitting. To debug this try DEBUGMODE(TRUE);)
ч РПУМЕДОЕН РТЙНЕТЕ УЙУФЕНБ УППВЭЙМБ П ОЕЧПЪНПЦОПУФЙ ЧЩЮЙУМЕОЙС ЙОФЕЗТБМБ, Ф. Л. ПО ТБУИПДЙФУС (is divergent).

рТЙ ЧЩЮЙУМЕОЙЙ ДПУФБФПЮОП УМПЦОЩИ ЙОФЕЗТБМПЧ ПФЧЕФ ОЕ ЧУЕЗДБ ВХДЕФ РТЕДУФБЧМЕО Ч ОБЙВПМЕЕ РТПУФПН ЧЙДЕ. ч УМЕДХАЭЕН РТЙНЕТЕ Maxima ОЕ НПЦЕФ Ч УЙНЧПМШОПН ЧЙДЕ РПМХЮЙФШ ПФЧЕФ, ТБЧОЩК PI/4:

(C22) g:1/sqrt(2-x^2);
                            1
(D22) 	                      ------------
                            2
                              SQRT(2 - x )

(C23) integrate(g,x, 0,1);
                                  SQRT(2)
(D23) 	                     ASIN(-------)
                             2

дМС ЧЩЮЙУМЕОЙС ЛПОЕЮОЩИ Й ВЕУЛПОЕЮОЩИ УХНН УМЕДХЕФ ЪБРЙУБФШ УХННХ Ч УЙНЧПМШОПН ЧЙДЕ, РПУМЕ ЮЕЗП ХРТПУФЙФШ РПМХЮЕООПЕ ЧЩТБЦЕОЙЕ:

(C24) sum(1/n^2,n,1,inf);
                            INF
                       ====
                       \      1
(D24) 		                >    --
                       /      2
                       ====  n
                           n = 1
(C25) %,simpsum;
                          2
                           %PI
(D25) 		                   ----
                            6

Maxima УРПУПВОБ ОБИПДЙФШ ТБЪМПЦЕОЙЕ ЖХОЛГЙК Ч ТСД фЕКМПТБ. рПМХЮЙН НОПЗПЮМЕО фЕКМПТБ РПТСДЛБ 4 ДМС ЖХОЛГЙЙ f(x)=ln x Ч ФПЮЛЕ x=1:

(C26) g:log(x);
(D26)                            LOG(x)
(C27) taylor(g,x,1,4);
               2	  3	     4
         (x - 1)    (x - 1)    (x - 1)
(D27)/T/ x - 1 - -------- + -------- - -------- + ...
            2	       3	  4

дМС ЧЩЮЙУМЕОЙС РТЕДЕМПЧ ЙУРПМШЪХЕФУС ЖХОЛГЙС limit:

(C28) limit(1/x,x,inf);
(D28) 		                   0
дМС ЧЩЮЙУМЕОЙС ПДОПУФПТПООЙИ РТЕДЕМПЧ ЙУРПМШЪХЕФУС ДПРПМОЙФЕМШОЩК РБТБНЕФТ, РТЙОЙНБАЭЙК ЪОБЮЕОЙЕ plus ДМС ЧЩЮЙУМЕОЙС РТЕДЕМБ УРТБЧБ Й minus - УМЕЧБ.

рТЙНЕТ
йУУМЕДХЕН ОБ ОЕРТЕТЩЧОПУФШ ЖХОЛГЙА arctg(1/(x-4)). ьФБ ЖХОЛГЙС ОЕ ПРТЕДЕМЕОБ Ч ФПЮЛЕ x = 4. чЩЮЙУМЙН РТЕДЕМЩ УРТБЧБ Й УМЕЧБ:

(C28) limit(atan(1/(x-4)), x, 4, plus);
                      %PI
(D28) 				      ---
                       2
(C29) limit(atan(1/(x-4)), x, 4, minus);
                       %PI
(D29) 				     - ---
                    2
лБЛ ЧЙДЙН, ФПЮЛБ x = 4 СЧМСЕФУС ФПЮЛПК ТБЪТЩЧБ I ТПДБ ДМС ДБООПК ЖХОЛГЙЙ, ФБЛ ЛБЛ УХЭЕУФЧХАФ РТЕДЕМЩ УМЕЧБ Й УРТБЧБ, ТБЧОЩЕ -PI/2 Й PI/2 УППФЧЕФУФЧЕООП.

ъБДБОЙС

  1. чЩЮЙУМЙФЕ РЕТЧХА РТПЙЪЧПДОХА ЖХОЛГЙЙ tg2(x4 - 2).
  2. оБКДЙФЕ РТЕДЕМ РТЙ x -> 0 ЖХОЛГЙЙ (3x - sin x)/tg 2x.
  3. оБКДЙФЕ ПДОХ ЙЪ РЕТЧППВТБЪОЩИ ЖХОЛГЙЙ cos2 x.


нБФТЙГЩ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

нБФТЙЮОЩЕ ЧЩЮЙУМЕОЙС

Maxima РПЪЧПМСЕФ МЕЗЛП НБОЙРХМЙТПЧБФШ НБФТЙГБНЙ. ч УМЕДХАЭЕН РТЙНЕТЕ ЪБДБАФУС ДЧЕ НБФТЙГЩ, ЛПФПТЩЕ ЪБФЕН УЛМБДЩЧБАФУС (+) Й РЕТЕНОПЦБАФУС (.):

(C1) A:matrix([1,2],[3,4]);
                    [ 1	 2 ]
(D1) 				    [ 	   ]
                    [ 3	 4 ]
(C2) B:matrix([1,1],[1,1]);
                    [ 1	 1 ]
(D2) 				    [ 	   ]
                    [ 1	 1 ]
(C3) A + B;
                    [ 2	 3 ]
(D3) 				    [ 	   ]
                    [ 4	 5 ]
(C4) A . B;
                    [ 3	 3 ]
(D4) 				    [ 	   ]
                    [ 7	 7 ]
жХОЛГЙС determinant ЧЩЮЙУМСЕФ ПРТЕДЕМЙФЕМШ НБФТЙГЩ.
(C5) determinant(A);
(D5) 				  - 2

(C6) determinant(matrix([a,b],[c,d]));
(D6) 				  a d - b c

фТБОУРПОЙТПЧБОЙЕ НБФТЙГЩ ПУХЭЕУФЧМСЕФУС ЖХОЛГЙЕК transpose.

(C7) transpose(A);
                   [ 1  3 ]
(D7) 			       [      ]
                   [ 2  4 ]
дМС РПМХЮЕОЙА ПВТБФОПК НБФТЙГЩ ЙУРПМШЪХЕФУС ПРЕТБГЙС ^^-1 ЙМЙ ЖХОЛГЙС invert.
(C8) A^^-1;
            [ - 2    1  ]
                    [           ]
(D8) 			[  3      1 ]
            [  -    - - ]
            [  2	  2 ]
(C9) invert(A);
                        [ - 2    1  ]
                        [           ]
(D9)                    [  3      1 ]
                        [  -    - - ]
                        [  2      2 ]
лБЛ ЙЪЧЕУФОП, ЛБЦДЩК ЬМЕНЕОФ bij ПВТБФОПК НБФТЙГЩ B = A -1 РПМХЮБЕФУС ДЕМЕОЙЕН БМЗЕВТБЙЮЕУЛПЗП ДПРПМОЕОЙС Aij УППФЧЕФУФЧХАЭЕЗП ЬМЕНЕОФБ ЙУИПДОПК НБФТЙГЩ ОБ ЕЕ ПРТЕДЕМЙФЕМШ |A|. дМС ФПЗП ЮФПВЩ ЧЩОЕУФЙ 1/|A| Ч ЛБЮЕУФЧЕ УПНОПЦЙФЕМС РТЙНЕОСЕФУС ЖХОЛГЙС detout.
(C10) invert(A), detout;
                  [	 4   - 2 ]
                  [ 	 ]
                  [ - 3   1	 ]
(D10) 			    - ------------
                   2
хВЕДЙНУС Ч РТБЧЙМШОПУФЙ РПМХЮЕООПЗП ТЕЪХМШФБФБ, ХНОПЦЙЧ A ОБ ПВТБФОХА Л ОЕК НБФТЙГХ:
(C11) A . d9;
                   [ 1  0 ]
(D11) 			       [      ]
                   [ 0  1 ]
вХДШФЕ ЧОЙНБФЕМШОЩ: Ч ТЕЪХМШФБФЕ ЧЩРПМОЕОЙС ПРЕТБГЙЙ ^-1 РПМХЮЙФУС НБФТЙГБ, ЛБЦДЩК ЬМЕНЕОФ ЛПФПТПК ПВТБФЕО ЬМЕНЕОФХ ЙУИПДОПК, Б ОЕ ПВТБФОБС НБФТЙГБ.
(C12) A^-1;
                    [	 1 ]
                    [ 1	 - ]
                    [	 2 ]
(D12) 				    [ 	   ]
                    [ 1	 1 ]
                    [ -	 - ]
                    [ 3	 4 ]

йУРПМШЪПЧБОЙЕ НБФТЙГ РПЪЧПМСЕФ МЕЗЛП ТЕЫБФШ УЙУФЕНЩ МЙОЕКОЩИ ХТБЧОЕОЙК У ОЕУЛПМШЛЙНЙ РЕТЕНЕООЩНЙ. рХУФШ A - НБФТЙГБ ЛПЬЖЖЙГЙЕОФПЧ УЙУФЕНЩ, X - НБФТЙГБ ОЕЙЪЧЕУФОЩИ, B - НБФТЙГБ УЧПВПДОЩИ ЮМЕОПЧ УЙУФЕНЩ. фПЗДБ НБФТЙГБ X ОБИПДЙФУС РП ЖПТНХМЕ X = A -1 . B, ЗДЕ ПРЕТБГЙС . ПЪОБЮБЕФ НБФТЙЮОПЕ ХНОПЦЕОЙЕ.

рТЙНЕТ
тЕЫЙН УМЕДХАЭХА УЙУФЕНХ ХТБЧОЕОЙК НБФТЙЮОЩН УРПУПВПН.

уОБЮБМБ ЪБРПМОЙН УППФЧЕФУФЧХАЭЙЕ НБФТЙГЩ, Б ЪБФЕН РПМХЮЙН НБФТЙГХ ТЕЪХМШФБФПЧ:
(C14) A:matrix([1, 2, 1], [2, 1, 1], [1, 3, 1]);

              [ 1  2  1 ]
              [	    ]
(D14) 			  [ 2  1  1 ]
              [	    ]
              [ 1  3  1 ]

(C15) B:matrix([0, 1, 0]);
(D15) 			  [ 0  1  0 ]

(C16) (A^^-1).B;
                [  1  ]
                [	  ]
(D16) 			    [  0  ]
                [	  ]
                [ - 1 ]

ъБДБОЙС

  1. чЩЮЙУМЙФЕ РТПЙЪЧЕДЕОЙЕ НБФТЙГ A.B Й B.A, ЗДЕ
  2. оБКДЙФЕ ПРТЕДЕМЙФЕМЙ НБФТЙГ C Й D.
  3. дМС НБФТЙГЩ D ОБКДЙФЕ ПВТБФОХА, РПУМЕ ЮЕЗП РТПЧЕТШФЕ, ЮФП Ч ТЕЪХМШФБФЕ ЙИ РТПЙЪЧЕДЕОЙС РПМХЮБЕФУС ЕДЙОЙЮОБС НБФТЙГБ.
  4. тЕЫЙФЕ УМЕДХАЭХА УЙУФЕНХ ХТБЧОЕОЙК НБФТЙЮОЩН УРПУПВПН


рТПЗТБННЩ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

рТПЗТБННЙТПЧБОЙЕ Ч УЙУФЕНЕ Maxima

дП УЙИ РПТ НЩ ЙУРПМШЪПЧБМЙ УЙУФЕНХ Maxima Ч ЙОФЕТБЛФЙЧОПН ТЕЦЙНЕ, РПДПВОП ЛБМШЛХМСФПТХ. еУМЙ ЮБУФП РТЙИПДЙФУС ЧЩРПМОСФШ ПРТЕДЕМЕООХА РПУМЕДПЧБФЕМШОПУФШ ЧЩЮЙУМЕОЙК, ФП МХЮЫЕ ПЖПТНЙФШ ЕЕ Ч ЧЙДЕ РТПЗТБННЩ, ЛПФПТБС ЪБФЕН ЧЩЪЩЧБЕФУС Ч УМХЮБЕ ОБДПВОПУФЙ. оЙЦЕ РТЙЧПДЙФУС ОЕВПМШЫБС РТПЗТБННБ ДМС ОБИПЦДЕОЙС ЛТЙФЙЮЕУЛЙИ ФПЮЕЛ ЖХОЛГЙЙ f(x). рПМШЪПЧБФЕМА РТЕДМБЗБЕФУС ЧЧЕУФЙ ЖХОЛГЙА f, РПУМЕ ЮЕЗП ЧЩЮЙУМСЕФУС РТПЙЪЧПДОБС ЧЧЕДЕООПК ЖХОЛГЙЙ Й РТЙ РПНПЭЙ ЖХОЛГЙЙ solve ТЕЫБЕФУС ХТБЧОЕОЙЕ fx = 0. рТПЗТБННБ ЪБРЙУЩЧБЕФУС Ч ФЕЛУФПЧЩК ЖБКМ Й ЪБФЕН ЪБЗТХЦБЕФУС Ч УЙУФЕНХ Maxima РТЙ РПНПЭЙ ЖХОЛГЙЙ batch. рТЙЧЕДЕН ФЕЛУФ РТПЗТБННЩ:

/* -----------------------------------------------------
   ьФП ЖБКМ critpoints.max:
   (Maxima ЙУРПМШЪХЕФ ЛПННЕОФБТЙЙ Ч УФЙМЕ C)
   -------------------------------------------------- */

critpts():=(
   print("рТПЗТБННБ ОБИПЦДЕОЙС ЛТЙФЙЮЕУЛЙИ ФПЮЕЛ"),

/* ъБРТПУ ОБ ЧЧПД ЖХОЛГЙЙ     */
   print("чЧЕДЙФЕ ЖХОЛГЙА f(x):"),
   f:read(),

/* рЕЮБФШ ЧЧЕДЕООПК ЖХОЛГЙЙ (ДМС ЛПОФТПМС) */
   print("f = ",f),

/* ч РЕТЕНЕООХА eq РПНЕЭБЕН ЪОБЮЕОЙЕ РТПЙЪЧПДОПК */
   eq:diff(f,x),

/* тЕЫБЕН ХТБЧОЕОЙЕ */
   solve(eq, x)
)$
рТПЗТБННБ УПУФПЙФ ЙЪ ЕДЙОУФЧЕООПК ЖХОЛГЙЙ (ВЕЪ БТЗХНЕОФПЧ), ЛПФПТБС ОБЪЩЧБЕФУС critpts. лПНБОДЩ ПФДЕМСАФУС ДТХЗ ПФ ДТХЗБ ЪБРСФЩНЙ. чПФ РТЙНЕТ ЧЩРПМОЕОЙС РТПЗТБННЩ:

(C1) batch("critpoints.max");

batching #p/home/test/critpoints.max
(C2) critpts() := (PRINT("рТПЗТБННБ #
ОБИПЦДЕОЙС ЛТЙФЙЮЕУЛЙИ ФПЮЕЛ"),
PRINT("чЧЕДЙФЕ ЖХОЛГЙА f(x):"),
f : READ(),
PRINT("f = ", f),
eq : DIFF(f, x),
SOLVE(eq, x))

(C3) critpts() ;
рТПЗТБННБ ОБИПЦДЕОЙС ЛТЙФЙЮЕУЛЙИ ФПЮЕЛ
чЧЕДЙФЕ ЖХОЛГЙА f(x):
(x+2)/(x^2+1);

                  x + 2
            f =  ------
                  2
                 x  + 1

(D3) [x = - SQRT(5) - 2, x = SQRT(5) - 2]


9. нПДЕМЙ Й РТПЗТБННЙТПЧБОЙЕ

зМБЧБ 9 нПДЕМЙ Й РТПЗТБННЙТПЧБОЙЕ

у ТБЪЧЙФЙЕН ЧЩЮЙУМЙФЕМШОПК ФЕИОЙЛЙ ЧУЕ ЧБЦОЕЕ УФБОПЧЙФУС ТПМШ ЛПНРШАФЕТОПЗП НПДЕМЙТПЧБОЙС Ч ТЕЫЕОЙЙ РТЙЛМБДОЩИ Й ОБХЮОЩИ ЪБДБЮ. дМС РТПЧЕДЕОЙС ЛПНРШАФЕТОЩИ ЬЛУРЕТЙНЕОФПЧ УФТПЙФУС РПДИПДСЭБС НБФЕНБФЙЮЕУЛБС НПДЕМШ Й РПДВЙТБАФУС УППФЧЕФУФЧХАЭЙЕ УТЕДУФЧБ ТБЪТБВПФЛЙ РТПЗТБННОПЗП ПВЕУРЕЮЕОЙС. чЩВПТ СЪЩЛБ РТПЗТБННЙТПЧБОЙС ПЛБЪЩЧБЕФ ПЗТПНОПЕ ЧМЙСОЙЕ ОБ ТЕБМЙЪБГЙА РПМХЮЕООПК НПДЕМЙ.

ч ЬФПК ЗМБЧЕ ДБЕФУС ПРЙУБОЙЕ РТПГЕУУБ НПДЕМЙТПЧБОЙС Й ТБУУНБФТЙЧБАФУС ПУОПЧОЩЕ РБТБДЙЗНЩ РТПЗТБННЙТПЧБОЙС: ЙНРЕТБФЙЧОПЕ РТПЗТБННЙТПЧБОЙЕ (ОБЪЩЧБЕНПЕ ФБЛЦЕ ДЙТЕЛФЙЧОЩН ЙМЙ РТПГЕДХТОЩН), ДЕЛМБТБФЙЧОПЕ (ЖХОЛГЙПОБМШОПЕ Й МПЗЙЮЕУЛПЕ) Й ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЕ.


нПДЕМЙТПЧБОЙЕ

ч 1870 З. БОЗМЙКУЛПЕ бДНЙТБМФЕКУФЧП УРХУФЙМП ОБ ЧПДХ ОПЧЩК ВТПОЕОПУЕГ "лЬРФЕО". лПТБВМШ ЧЩЫЕМ Ч НПТЕ Й РЕТЕЧЕТОХМУС. рПЗЙВ ЛПТБВМШ Й ЧУЕ ОБИПДСЭЙЕУС ОБ ОЕН МАДЙ. ьФП ВЩМП УПЧЕТЫЕООП ОЕПЦЙДБООП ДМС ЧУЕИ, ЛТПНЕ БОЗМЙКУЛПЗП ХЮЕОПЗП-ЛПТБВМЕУФТПЙФЕМС ч. тЙДБ, ЛПФПТЩК РТЕДЧБТЙФЕМШОП РТПЧЕМ ЙУУМЕДПЧБОЙС ОБ НПДЕМЙ ВТПОЕОПУГБ Й ХУФБОПЧЙМ, ЮФП ЛПТБВМШ ПРТПЛЙОЕФУС ДБЦЕ РТЙ ОЕВПМШЫПН ЧПМОЕОЙЙ. оП ХЮЕОПНХ, РТПДЕМЩЧБАЭЕНХ, ЛБЛ ЛБЪБМПУШ, ОЕУЕТШЕЪОЩЕ ПРЩФЩ У "ЙЗТХЫЛПК", ОЕ РПЧЕТЙМЙ МПТДЩ ЙЪ бДНЙТБМФЕКУФЧБ. й УМХЮЙМПУШ ОЕРПРТБЧЙНПЕ...

нПДЕМЙ Й НПДЕМЙТПЧБОЙЕ ЙУРПМШЪХАФУС ЮЕМПЧЕЮЕУФЧПН ДБЧОП. у РПНПЭША НПДЕМЕК Й НПДЕМШОЩИ ПФОПЫЕОЙК ТБЪЧЙМЙУШ ТБЪЗПЧПТОЩЕ СЪЩЛЙ, РЙУШНЕООПУФШ, ЗТБЖЙЛБ. оБУЛБМШОЩЕ ЙЪПВТБЦЕОЙС ОБЫЙИ РТЕДЛПЧ, ЪБФЕН ЛБТФЙОЩ Й ЛОЙЗЙ - ЬФП НПДЕМШОЩЕ, ЙОЖПТНБГЙПООЩЕ ЖПТНЩ РЕТЕДБЮЙ ЪОБОЙК ПВ ПЛТХЦБАЭЕН НЙТЕ РПУМЕДХАЭЙН РПЛПМЕОЙСН. нПДЕМЙ РТЙНЕОСАФУС РТЙ ЙЪХЮЕОЙЙ УМПЦОЩИ СЧМЕОЙК, РТПГЕУУПЧ, ЛПОУФТХЙТПЧБОЙЙ ОПЧЩИ УППТХЦЕОЙК. иПТПЫП РПУФТПЕООБС НПДЕМШ, ЛБЛ РТБЧЙМП, ДПУФХРОЕЕ ДМС ЙУУМЕДПЧБОЙС, ОЕЦЕМЙ ТЕБМШОЩК ПВЯЕЛФ. вПМЕЕ ФПЗП, ОЕЛПФПТЩЕ ПВЯЕЛФЩ ЧППВЭЕ ОЕ НПЗХФ ВЩФШ ЙЪХЮЕОЩ ОЕРПУТЕДУФЧЕООЩН ПВТБЪПН: ОЕДПРХУФЙНЩ, ОБРТЙНЕТ, ЬЛУРЕТЙНЕОФЩ У ЬЛПОПНЙЛПК УФТБОЩ Ч РПЪОБЧБФЕМШОЩИ ГЕМСИ; РТЙОГЙРЙБМШОП ОЕПУХЭЕУФЧЙНЩ ЬЛУРЕТЙНЕОФЩ У РТПЫМЩН ЙМЙ, УЛБЦЕН, У РМБОЕФБНЙ уПМОЕЮОПК УЙУФЕНЩ Й Ф. Р.

нПДЕМШ РПЪЧПМСЕФ ОБХЮЙФШУС РТБЧЙМШОП ТБВПФБФШ У ПВЯЕЛФПН, БРТПВЙТХС ТБЪМЙЮОЩЕ ЧБТЙБОФЩ ХРТБЧМЕОЙС ОБ ЕЗП НПДЕМЙ. ьЛУРЕТЙНЕОФЙТПЧБФШ Ч ЬФЙИ ГЕМСИ У ТЕБМШОЩН ПВЯЕЛФПН Ч МХЮЫЕН УМХЮБЕ ВЩЧБЕФ ОЕХДПВОП, Б ЪБЮБУФХА РТПУФП ЧТЕДОП ЙМЙ ЧППВЭЕ ОЕЧПЪНПЦОП Ч УЙМХ ТСДБ РТЙЮЙО (ВПМШЫПК РТПДПМЦЙФЕМШОПУФЙ ЬЛУРЕТЙНЕОФБ ЧП ЧТЕНЕОЙ, ТЙУЛБ РТЙЧЕУФЙ ПВЯЕЛФ Ч ОЕЦЕМБФЕМШОПЕ Й ОЕПВТБФЙНПЕ УПУФПСОЙЕ Й Ф. Р.)

нПДЕМШ - ЬФП НБФЕТЙБМШОЩК ЙМЙ НЩУМЕООП РТЕДУФБЧМСЕНЩК ПВЯЕЛФ, ЪБНЕЭБАЭЙК Ч РТПГЕУУЕ ЙЪХЮЕОЙС ПВЯЕЛФ-ПТЙЗЙОБМ, Й УПИТБОСАЭЙК ЪОБЮЙНЩЕ ДМС ДБООПЗП ЙУУМЕДПЧБОЙС ФЙРЙЮОЩЕ ЕЗП ЮЕТФЩ. рТПГЕУУ РПУФТПЕОЙС НПДЕМЙ ОБЪЩЧБЕФУС НПДЕМЙТПЧБОЙЕН.

дТХЗЙНЙ УМПЧБНЙ, НПДЕМЙТПЧБОЙЕ - ЬФП РТПГЕУУ ЙЪХЮЕОЙС УФТПЕОЙС Й УЧПКУФЧ ПТЙЗЙОБМБ У РПНПЭША НПДЕМЙ. рТЙЧЕДЕН ПДОХ ЙЪ ЧПЪНПЦОЩИ ЛМБУУЙЖЙЛБГЙК НПДЕМЕК.

тБЪМЙЮБАФ НБФЕТЙБМШОПЕ Й ЙДЕБМШОПЕ НПДЕМЙТПЧБОЙЕ. нБФЕТЙБМШОПЕ НПДЕМЙТПЧБОЙЕ, Ч УЧПА ПЮЕТЕДШ, ДЕМЙФУС ОБ ЖЙЪЙЮЕУЛПЕ Й БОБМПЗПЧПЕ НПДЕМЙТПЧБОЙЕ.

жЙЪЙЮЕУЛЙН РТЙОСФП ОБЪЩЧБФШ НПДЕМЙТПЧБОЙЕ, РТЙ ЛПФПТПН ТЕБМШОПНХ ПВЯЕЛФХ РТПФЙЧПРПУФБЧМСЕФУС ЕЗП ХЧЕМЙЮЕООБС ЙМЙ ХНЕОШЫЕООБС ЛПРЙС, ДПРХУЛБАЭБС ЙУУМЕДПЧБОЙЕ (ЛБЛ РТБЧЙМП, Ч МБВПТБФПТОЩИ ХУМПЧЙСИ) У РПНПЭША РПУМЕДХАЭЕЗП РЕТЕОЕУЕОЙС УЧПКУФЧ ЙЪХЮБЕНЩИ РТПГЕУУПЧ Й СЧМЕОЙК У НПДЕМЙ ОБ ПВЯЕЛФ ОБ ПУОПЧЕ ФЕПТЙЙ РПДПВЙС. рТЙНЕТБНЙ НПДЕМЕК ФБЛПЗП ТПДБ УМХЦБФ: Ч БУФТПОПНЙЙ - РМБОЕФБТЙК, Ч БТИЙФЕЛФХТЕ - НБЛЕФЩ ЪДБОЙК, Ч УБНПМЕФПУФТПЕОЙЙ - НПДЕМЙ МЕФБФЕМШОЩИ БРРБТБФПЧ Й Ф. Р.

бОБМПЗПЧПЕ НПДЕМЙТПЧБОЙЕ ПУОПЧБОП ОБ БОБМПЗЙЙ РТПГЕУУПЧ Й СЧМЕОЙК, ЙНЕАЭЙИ ТБЪМЙЮОХА ЖЙЪЙЮЕУЛХА РТЙТПДХ, ОП ПДЙОБЛПЧП ПРЙУЩЧБЕНЩИ ЖПТНБМШОП (ПДОЙНЙ Й ФЕНЙ ЦЕ НБФЕНБФЙЮЕУЛЙНЙ ХТБЧОЕОЙСНЙ).

пФ РТЕДНЕФОПЗП НПДЕМЙТПЧБОЙС РТЙОГЙРЙБМШОП ПФМЙЮБЕФУС ЙДЕБМШОПЕ НПДЕМЙТПЧБОЙЕ, ЛПФПТПЕ ПУОПЧБОП ОЕ ОБ НБФЕТЙБМШОПК БОБМПЗЙЙ ПВЯЕЛФБ Й НПДЕМЙ, Б ОБ БОБМПЗЙЙ ЙДЕБМШОПК, НЩУМЙНПК. пУОПЧОЩН ФЙРПН ЙДЕБМШОПЗП НПДЕМЙТПЧБОЙС СЧМСЕФУС ЪОБЛПЧПЕ НПДЕМЙТПЧБОЙЕ.

ъОБЛПЧЩН ОБЪЩЧБЕФУС НПДЕМЙТПЧБОЙЕ, ЙУРПМШЪХАЭЕЕ Ч ЛБЮЕУФЧЕ НПДЕМЕК ЪОБЛПЧЩЕ РТЕПВТБЪПЧБОЙС ЛБЛПЗП-МЙВП ЧЙДБ: УИЕНЩ, ЗТБЖЙЛЙ, ЮЕТФЕЦЙ, ЖПТНХМЩ, ОБВПТЩ УЙНЧПМПЧ.

чБЦОЕКЫЙН ЧЙДПН ЪОБЛПЧПЗП НПДЕМЙТПЧБОЙС СЧМСЕФУС НБФЕНБФЙЮЕУЛПЕ НПДЕМЙТПЧБОЙЕ, РТЙ ЛПФПТПН ЙУУМЕДПЧБОЙЕ ПВЯЕЛФБ ПУХЭЕУФЧМСЕФУС РПУТЕДУФЧПН НПДЕМЙ, УЖПТНХМЙТПЧБООПК ОБ СЪЩЛЕ НБФЕНБФЙЛЙ. лМБУУЙЮЕУЛЙН РТЙНЕТПН НБФЕНБФЙЮЕУЛПЗП НПДЕМЙТПЧБОЙС СЧМСЕФУС ПРЙУБОЙЕ Й ЙУУМЕДПЧБОЙЕ ЪБЛПОПЧ НЕИБОЙЛЙ оШАФПОБ УТЕДУФЧБНЙ НБФЕНБФЙЛЙ.

рТЙНЕТ
рПУНПФТЙФЕ ОБ УМЕДХАЭХА ЪБРЙУШ Й РПРТПВХКФЕ ПРТЕДЕМЙФШ, ЮФП УЛТЩЧБЕФУС ЪБ ЬФЙНЙ ЪОБЛБНЙ:

a1x1+b1x2=c1
a2x1+b2x2=c2
пФЧЕФЩ, РПМХЮЕООЩЕ ПФ МАДЕК, ЙНЕАЭЙИ ТБЪМЙЮОЩЕ УРЕГЙБМШОПУФЙ, ВХДХФ УЙМШОП ТБЪМЙЮБФШУС. чПФ ОЕЛПФПТЩЕ ЙЪ ЧПЪНПЦОЩИ ЧБТЙБОФПЧ.

нБФЕНБФЙЛ: "ьФП УЙУФЕНБ ДЧХИ МЙОЕКОЩИ БМЗЕВТБЙЮЕУЛЙИ ХТБЧОЕОЙК У ДЧХНС ОЕЙЪЧЕУФОЩНЙ, ОП ЮФП ЙНЕООП ПОБ ЧЩТБЦБЕФ, УЛБЪБФШ ОЕ НПЗХ".

йОЦЕОЕТ-ЬМЕЛФТЙЛ: "ьФП ХТБЧОЕОЙС ЬМЕЛФТЙЮЕУЛПЗП ОБРТСЦЕОЙС ЙМЙ ФПЛПЧ У БЛФЙЧОЩНЙ ОБРТСЦЕОЙСНЙ".

йОЦЕОЕТ-НЕИБОЙЛ: "ьФП ХТБЧОЕОЙС ТБЧОПЧЕУЙС УЙМ ДМС УЙУФЕНЩ ТЩЮБЗПЧ ЙМЙ РТХЦЙО".

йОЦЕОЕТ-УФТПЙФЕМШ: "ьФП ХТБЧОЕОЙС, УЧСЪЩЧБАЭЙЕ УЙМЩ ДЕЖПТНБГЙЙ Ч ЛБЛПК-ФП УФТПЙФЕМШОПК ЛПОУФТХЛГЙЙ".

лБЛПК ЦЕ ЙЪ ПФЧЕФПЧ РТБЧЙМШОЩК? оЕ ХДЙЧМСКФЕУШ, ОП ЛБЦДЩК ЙЪ ОЙИ Ч ОЕЛПФПТПН УНЩУМЕ ЧЕТЕО. чУЕ ЪБЧЙУЙФ ПФ ФПЗП, ЮФП УЛТЩЧБЕФУС ЪБ РПУФПСООЩНЙ ЛПЬЖЖЙГЙЕОФБНЙ a, b, c Й УЙНЧПМБНЙ ОЕЙЪЧЕУФОЩИ x1 Й x2.

уИЕНБ РТПГЕУУБ НПДЕМЙТПЧБОЙС
пВЯЕЛФ -> нПДЕМШ -> йЪХЮЕОЙЕ НПДЕМЙ -> ъОБОЙС ПВ ПВЯЕЛФЕ

дМС РПУФТПЕОЙС НПДЕМЕК ЙУРПМШЪХАФ ДЧБ РТЙОГЙРБ: ДЕДХЛФЙЧОЩК (ПФ ПВЭЕЗП Л ЮБУФОПНХ) Й ЙОДХЛФЙЧОЩК (ПФ ЮБУФОПЗП Л ПВЭЕНХ). рТЙ РЕТЧПН РПДИПДЕ ТБУУНБФТЙЧБЕФУС ЮБУФОЩК УМХЮБК ПВЭЕЙЪЧЕУФОПК ЖХОДБНЕОФБМШОПК НПДЕМЙ, ЛПФПТБС РТЙУРПУБВМЙЧБЕФУС Л ХУМПЧЙСН НПДЕМЙТХЕНПЗП ПВЯЕЛФБ У ХЮЕФПН ЛПОЛТЕФОЩИ ПВУФПСФЕМШУФЧ. чФПТПК УРПУПВ РТЕДРПМБЗБЕФ ЧЩДЧЙЦЕОЙЕ ЗЙРПФЕЪ, ДЕЛПНРПЪЙГЙА УМПЦОПЗП ПВЯЕЛФБ, БОБМЙЪ, Б ЪБФЕН УЙОФЕЪ. ъДЕУШ ЫЙТПЛП ЙУРПМШЪХЕФУС РПДПВЙЕ, РПЙУЛ БОБМПЗЙК, ХНПЪБЛМАЮЕОЙЕ У ГЕМША ЖПТНЙТПЧБОЙС ЛБЛЙИ-МЙВП ЪБЛПОПНЕТОПУФЕК Ч ЧЙДЕ РТЕДРПМПЦЕОЙК П РПЧЕДЕОЙЙ УЙУФЕНЩ.

фЕИОПМПЗЙС НПДЕМЙТПЧБОЙС ФТЕВХЕФ ПФ ЙУУМЕДПЧБФЕМС ХНЕОЙС ЛПТТЕЛФОП ЖПТНХМЙТПЧБФШ РТПВМЕНЩ Й ЪБДБЮЙ, РТПЗОПЪЙТПЧБФШ ТЕЪХМШФБФЩ, РТПЧПДЙФШ ТБЪХНОЩЕ ПГЕОЛЙ, ЧЩДЕМСФШ ЗМБЧОЩЕ Й ЧФПТПУФЕРЕООЩЕ ЖБЛФПТЩ ДМС РПУФТПЕОЙС НПДЕМЕК, ОБИПДЙФШ БОБМПЗЙЙ Й ЧЩТБЦБФШ ЙИ ОБ СЪЩЛЕ НБФЕНБФЙЛЙ.

ч УПЧТЕНЕООПН НЙТЕ ЧУЕ ЫЙТЕ РТЙНЕОСЕФУС РТПГЕУУ ЛПНРШАФЕТОПЗП НПДЕМЙТПЧБОЙС, РПДТБЪХНЕЧБАЭЙК ЙУРПМШЪПЧБОЙЕ ЧЩЮЙУМЙФЕМШОПК ФЕИОЙЛЙ ДМС РТПЧЕДЕОЙС ЬЛУРЕТЙНЕОФПЧ У НПДЕМША.


лПНРШАФЕТОПЕ НПДЕМЙТПЧБОЙЕ

лПНРШАФЕТОБС НПДЕМШ - ЬФП НПДЕМШ ТЕБМШОПЗП РТПГЕУУБ ЙМЙ СЧМЕОЙС, ТЕБМЙЪПЧБООБС ЛПНРШАФЕТОЩНЙ УТЕДУФЧБНЙ. еУМЙ УПУФПСОЙЕ УЙУФЕНЩ НЕОСЕФУС УП ЧТЕНЕОЕН, ФП НПДЕМЙ ОБЪЩЧБАФ ДЙОБНЙЮЕУЛЙНЙ, Ч РТПФЙЧОПН УМХЮБЕ - УФБФЙЮЕУЛЙНЙ.

рТПГЕУУЩ Ч УЙУФЕНЕ НПЗХФ РТПФЕЛБФШ РП-ТБЪОПНХ Ч ЪБЧЙУЙНПУФЙ ПФ ХУМПЧЙК, Ч ЛПФПТЩИ ОБИПДЙФУС УЙУФЕНБ. уМЕДЙФШ ЪБ РПЧЕДЕОЙЕН ТЕБМШОПК УЙУФЕНЩ РТЙ ТБЪМЙЮОЩИ ХУМПЧЙСИ ВЩЧБЕФ ФТХДОП, Б ЙОПЗДБ Й ОЕЧПЪНПЦОП. ч ФБЛЙИ УМХЮБСИ, РПУФТПЙЧ НПДЕМШ, НПЦОП НОПЗПЛТБФОП ЧПЪЧТБЭБФШУС Л ОБЮБМШОПНХ УПУФПСОЙА Й ОБВМАДБФШ ЪБ ЕЕ РПЧЕДЕОЙЕН. ьФПФ НЕФПД ЙУУМЕДПЧБОЙС УЙУФЕН ОБЪЩЧБЕФУС ЙНЙФБГЙПООЩН НПДЕМЙТПЧБОЙЕН.

рТЙНЕТПН ЙНЙФБГЙПООПЗП НПДЕМЙТПЧБОЙЕ НПЦЕФ УМХЦЙФШ ЧЩЮЙУМЕОЙЕ ЮЙУМБ [image] = 3,1415922653... НЕФПДПН нПОФЕ-лБТМП. ьФПФ НЕФПД РПЪЧПМСЕФ ПРТЕДЕМСФШ РМПЭБДЙ Й ПВЯЕНЩ ЖЙЗХТ (ФЕМ), ЛПФПТЩЕ УМПЦОП ЧЩЮЙУМЙФШ ДТХЗЙНЙ НЕФПДБНЙ. рТЕДРПМПЦЙН, ЮФП ФТЕВХЕФУС ПРТЕДЕМЙФШ РМПЭБДШ ЛТХЗБ. пРЙЫЕН ЧПЛТХЗ ОЕЗП ЛЧБДТБФ (РМПЭБДШ ЛПФПТПЗП, ЛБЛ ЙЪЧЕУФОП, ТБЧОБ ЛЧБДТБФХ ЕЗП УФПТПОЩ) Й ВХДЕН УМХЮБКОЩН ПВТБЪПН ВТПУБФШ Ч ЛЧБДТБФ ФПЮЛЙ, РТПЧЕТСС ЛБЦДЩК ТБЪ, РПРБМБ МЙ ФПЮЛБ Ч ЛТХЗ ЙМЙ ОЕФ. рТЙ ВПМШЫПН ЮЙУМЕ ФПЮЕЛ ПФОПЫЕОЙЕ РМПЭБДЙ ЛТХЗБ Л РМПЭБДЙ ЛЧБДТБФБ ВХДЕФ УФТЕНЙФШУС Л ПФОПЫЕОЙА ЮЙУМБ ФПЮЕЛ, РПРБЧЫЙИ Ч ЛТХЗ, Л ПВЭЕНХ ЮЙУМХ ВТПЫЕООЩИ ФПЮЕЛ.

фЕПТЕФЙЮЕУЛБС ПУОПЧБ ЬФПЗП НЕФПДБ ВЩМБ ЙЪЧЕУФОБ ДБЧОП, ПДОБЛП ДП РПСЧМЕОЙС ЛПНРШАФЕТПЧ ЬФПФ НЕФПД ОЕ НПЗ ОБКФЙ УЛПМШЛП-ОЙВХДШ ЫЙТПЛПЗП РТЙНЕОЕОЙС, ЙВП НПДЕМЙТПЧБФШ УМХЮБКОЩЕ ЧЕМЙЮЙОЩ ЧТХЮОХА - ПЮЕОШ ФТХДПЕНЛБС ТБВПФБ. оБЪЧБОЙЕ НЕФПДБ РТПЙУИПДЙФ ПФ ЗПТПДБ нПОФЕ-лБТМП Ч ЛОСЦЕУФЧЕ нПОБЛП, ЪОБНЕОЙФПЗП УЧПЙНЙ ЙЗПТОЩНЙ ДПНБНЙ, ЙВП ПДОЙН ЙЪ НЕИБОЙЮЕУЛЙИ РТЙВПТПЧ ДМС РПМХЮЕОЙС УМХЮБКОЩИ ЧЕМЙЮЙО СЧМСЕФУС ТХМЕФЛБ.

уМЕДХЕФ ЪБНЕФЙФШ, ЮФП ДБООЩК НЕФПД ЧЩЮЙУМЕОЙС РМПЭБДЙ ЛТХЗБ ВХДЕФ ДБЧБФШ ЛПТТЕЛФОЩК ТЕЪХМШФБФ ФПМШЛП ЕУМЙ ФПЮЛЙ ВХДХФ ОЕ РТПУФП УМХЮБКОП, ОП ЕЭЕ Й ТБЧОПНЕТОП ТБЪВТПУБООЩНЙ РП ЧУЕНХ ЛЧБДТБФХ. дМС НПДЕМЙТПЧБОЙС ТБЧОПНЕТОП ТБУРТЕДЕМЕООЩИ Ч ЙОФЕТЧБМЕ ПФ 0 ДП 1 УМХЮБКОЩИ ЮЙУЕМ ЙУРПМШЪХЕФУС ДБФЮЙЛ УМХЮБКОЩИ ЮЙУЕМ - УРЕГЙБМШОБС ЛПНРШАФЕТОБС РТПЗТБННБ. оБ УБНПН ДЕМЕ ЬФЙ ЮЙУМБ ПРТЕДЕМСАФУС РП ОЕЛПФПТПНХ БМЗПТЙФНХ Й ХЦЕ Ч УЙМХ ЬФПЗП ПОЙ ОЕ СЧМСАФУС ЧРПМОЕ УМХЮБКОЩНЙ. рПМХЮБЕНЩЕ ФБЛПН УРПУПВПН ЮЙУМБ ЮБУФП ОБЪЩЧБАФ РУЕЧДПУМХЮБКОЩНЙ. чПРТПУ П ЛБЮЕУФЧЕ ДБФЮЙЛПЧ УМХЮБКОЩИ ЮЙУЕМ ЧЕУШНБ ОЕРТПУФ, ПДОБЛП ДМС ТЕЫЕОЙС ОЕ УМЙЫЛПН УМПЦОЩИ ЪБДБЮ ПВЩЮОП ДПУФБФПЮОП ЧПЪНПЦОПУФЕК ДБФЮЙЛПЧ, ЧУФТПЕООЩИ Ч ВПМШЫЙОУФЧП УЙУФЕН РТПЗТБННЙТПЧБОЙС Й ЬМЕЛФТПООЩИ ФБВМЙГ.

ъБНЕФЙН, ЮФП ТБУРПМБЗБС ДБФЮЙЛПН ТБЧОПНЕТОП ТБУРТЕДЕМЕООЩИ УМХЮБКОЩИ ЮЙУЕМ, ЗЕОЕТЙТХАЭЙН ЮЙУМБ r ЙЪ ЙОФЕТЧБМБ [0; 1), МЕЗЛП РПМХЮЙФШ ТБЧОПНЕТОП ТБУРТЕДЕМЕООЩЕ УМХЮБКОЩЕ ЮЙУМБ ОБ РТПЙЪЧПМШОПН ЙОФЕТЧБМЕ [a; b) РП ЖПТНХМЕ

x=a+(b-a)*r.

ъБДБОЙС
1. тБЪТБВПФБКФЕ НПДЕМШ УМХЮБКОПЗП ПДОПНЕТОПЗП ВМХЦДБОЙС (НПДЕМШ "РШСОЙГЩ"). вМХЦДБОЙЕ ЪБДБЕФУС РП РТБЧЙМХ: ЕУМЙ УМХЮБКОПЕ ЮЙУМП ЙЪ ПФТЕЪЛБ [0;1) НЕОШЫЕ 0,5, ФП ДЕМБЕФУС ЫБЗ ЧМЕЧП, Ч РТПФЙЧОПН УМХЮБЕ - ЧРТБЧП.

дМС ТЕБМЙЪБГЙЙ НПДЕМЙ ЙУРПМШЪХКФЕ ЬМЕЛФТПООХА ФБВМЙГХ. рТЕДРПМПЦЙН, ЮФП Ч ОБЮБМШОЩК НПНЕОФ ПВЯЕЛФ ОБВМАДЕОЙС ОБИПДЙФУС Ч ФПЮЛЕ У y-ЛППТДЙОБФПК ТБЧОПК y0. еУМЙ УМХЮБКОПЕ ЮЙУМП ВПМШЫЕ 0,5, ФП y-ЛППТДЙОБФБ ХЧЕМЙЮЙЧБЕФУС ОБ 1, Ч РТПФЙЧОПН УМХЮБЕ - ХНЕОШЫБЕФУС ОБ 1.

дМС ОБЗМСДОПУФЙ РТПГЕУУБ ВМХЦДБОЙС РПУФТПКФЕ ДЙБЗТБННХ, ПФТБЦБАЭХА НЕУФПРПМПЦЕОЙЕ ПВЯЕЛФБ. рТЙ РЕТЕУЮЕФЕ ФБВМЙГЩ ДБФЮЙЛЙ ЧЩДБДХФ ОПЧЩЕ РПУМЕДПЧБФЕМШОПУФЙ ЮЙУЕМ Й ФТБЕЛФПТЙС ВМХЦДБОЙС ЙЪНЕОЙФУС.

оБ ТЙУХОЛБИ РТЙЧЕДЕОЩ ДЧЕ УМХЮБКОЩЕ ФТБЕЛФПТЙЙ ВМХЦДБОЙС, ЧДПМШ ЗПТЙЪПОФБМШОПК ПУЙ ПФМПЦЕОП ЮЙУМП ЫБЗПЧ.

2. рПУФТПКФЕ НПДЕМШ ИБПФЙЮЕУЛПЗП ВМХЦДБОЙС ФПЮЛЙ ОБ РМПУЛПУФЙ У ЧПЪНПЦОПУФША ДЕМБФШ ЫБЗЙ ЧМЕЧП-ЧРТБЧП-ЧЧЕТИ-ЧОЙЪ.


лМЕФПЮОЩЕ БЧФПНБФЩ

нПДЕМЙТПЧБОЙЕ УПВЩФЙК ТЕБМШОПЗП НЙТБ НПЦЕФ РТПЙЪЧПДЙФШУС НОПЗЙНЙ УРПУПВБНЙ. сЧМЕОЙС НБЛТПНЙТБ ДПУФБФПЮОП ИПТПЫП ПРЙУЩЧБАФУС НПДЕМСНЙ, РПУФТПЕООЩНЙ ОБ НБФЕНБФЙЛЕ ВЕУЛПОЕЮОПЗП Й ОЕРТЕТЩЧОПЗП. уПВЩФЙС ЦЕ, РТПЙУИПДСЭЙЕ Ч НЙЛТПНЙТЕ, РМПИП РПДДБАФУС ПРЙУБОЙА РПДПВОЩН УРПУПВПН Й ФТЕВХАФ РТЙНЕОЕОЙС ДТХЗЙИ РТЙОГЙРПЧ НПДЕМЙТПЧБОЙС.

еЭЕ Ч 1970 ЗПДХ б.о. лПМНПЗПТПЧЩН ДБЧБМУС РТПЗОПЪ, ЮФП У "ТБЪЧЙФЙЕН УПЧТЕНЕООПК ЧЩЮЙУМЙФЕМШОПК ФЕИОЙЛЙ ВХДЕФ ЧП НОПЗЙИ УМХЮБСИ ТБЪХНОП ЙЪХЮЕОЙЕ ТЕБМШОЩИ СЧМЕОЙК ЧЕУФЙ, ЙЪВЕЗБС РТПНЕЦХФПЮОЩК ЬФБР ЙИ УФЙМЙЪБГЙЙ Ч ДХИЕ НБФЕНБФЙЛЙ ВЕУЛПОЕЮОПЗП Й ОЕРТЕТЩЧОПЗП, РЕТЕИПДС РТСНП Л ДЙУЛТЕФОЩН НПДЕМСН". уЕКЮБУ ХЦЕ НПЦОП У ХЧЕТЕООПУФША УЛБЪБФШ, ЮФП ЬФПФ РТПЗОПЪ УВЩМУС, ФБЛ ЛБЛ РПСЧЙМПУШ ВПМШЫПЕ ЛПМЙЮЕУФЧП ТБЪОППВТБЪОЩИ НБФЕНБФЙЮЕУЛЙИ УЙУФЕН, ПУОПЧБООЩИ ОБ РТЙОГЙРЕ НЕМЛПЪЕТОЙУФПЗП РБТБММЕМЙЪНБ, Й, УБНПЕ ЗМБЧОПЕ, РПСЧЙМЙУШ РТПЗТБННОЩЕ Й БРРБТБФОЩЕ ЛПНРМЕЛУЩ, УРПУПВОЩЕ НПДЕМЙТПЧБФШ ТБВПФХ ФБЛЙИ УЙУФЕН.

пУОПЧОПК ПФМЙЮЙФЕМШОПК ПУПВЕООПУФША УЙУФЕН У НЕМЛПЪЕТОЙУФЩН РБТБММЕМЙЪНПН СЧМСЕФУС ЧПЪНПЦОПУФШ ПДОПЧТЕНЕООПЗП (РБТБММЕМШОПЗП) ЙЪНЕОЕОЙС УПУФПСОЙС ЧУЕК УЙУФЕНЩ, Ч ФП ЧТЕНС ЛБЛ ЛБЦДЩК ХЮБУФПЛ УЙУФЕНЩ ЧЪБЙНПДЕКУФЧХЕФ ФПМШЛП УП УЧПЙНЙ ОЕРПУТЕДУФЧЕООЩНЙ УПУЕДСНЙ. ьФП УЧПКУФЧП РПЪЧПМСЕФ РТЙ НПДЕМЙТПЧБОЙЙ УЧСЪБФШ УПВЩФЙС, РТПЙУИПДСЭЙЕ ОБ НЙЛТПХТПЧОЕ, У ЙЪНЕОЕОЙСНЙ НБЛТПХТПЧОЕЧПЗП НПДЕМЙТХЕНПЗП ПВЯЕЛФБ.

лМБУУЙЮЕУЛПК УЙУФЕНПК У НЕМЛПЪЕТОЙУФЩН РБТБММЕМЙЪНПН СЧМСЕФУС ЛМЕФПЮОЩК БЧФПНБФ, Б ЙЗТБ дЦПОБ лПОЧЕС "цЙЪОШ" - ФЙРЙЮОЩК РТЙНЕТ ЛМЕФПЮОПЗП БЧФПНБФБ, РТЕДУФБЧМСАЭЕЗП УПВПК ДЙУЛТЕФОХА ДЙОБНЙЮЕУЛХА УЙУФЕНХ. лМЕФПЮОЩЕ БЧФПНБФЩ ЖБЛФЙЮЕУЛЙ СЧМСАФУС УЙОФЕФЙЮЕУЛЙНЙ НЙТБНЙ, РПЧЕДЕОЙЕ ЛПФПТЩИ ПРТЕДЕМСЕФУС РТПУФЩНЙ МПЛБМШОП ДЕКУФЧХАЭЙНЙ РТБЧЙМБНЙ. ч ЬФЙИ НЙТБИ РТПУФТБОУФЧП РТЕДУФБЧМСЕФ УПВПК ТБЧОПНЕТОХА УЕФЛХ, ЛБЦДБС СЮЕКЛБ ЛПФПТПК (ЛМЕФЛБ) УПДЕТЦЙФ ЙОЖПТНБГЙА П УЧПЕН УПУФПСОЙЙ. йЪНЕОЕОЙЕ ЧТЕНЕОЙ РТПЙУИПДЙФ ДЙУЛТЕФОП, Б ЪБЛПОЩ ФБЛПЗП НЙТБ РТЕДУФБЧМСАФ УПВПК ОЕВПМШЫПЕ ЛПМЙЮЕУФЧП РТБЧЙМ, ПУОПЧОЩЕ ЙЪ ЛПФПТЩИ ПРЙУЩЧБАФУС ФБВМЙГЕК РЕТЕИПДПЧ, РП ЛПФПТПК ЛМЕФЛБ ЧЩЮЙУМСЕФ УЧПЕ ОПЧПЕ УПУФПСОЙЕ ОБ ЛБЦДПН ФБЛФЕ (НЙОЙНБМШОЩК ПФТЕЪПЛ ЧТЕНЕОЙ) ОБ ПУОПЧЕ УЧПЕЗП УПУФПСОЙС Й УПУФПСОЙК ЕЕ УПУЕДЕК.

еУМЙ УПУФПСОЙЕ УЙУФЕНЩ Ч РТПЙЪЧПМШОЩК НПНЕОФ ЧТЕНЕОЙ ИБТБЛФЕТЙЪХЕФУС МЙЫШ ЕЕ РТЕДЩДХЭЙН УПУФПСОЙЕН Й ОБВПТПН РТБЧЙМ, ТЕЗМБНЕОФЙТХАЭЙИ ЕЕ РЕТЕИПД, ФП ПОБ ОБЪЩЧБЕФУС БЧФПНБФПН. лМЕФПЮОЩЕ БЧФПНБФЩ ЫЙТПЛП РТЙНЕОСАФУС ДМС НПДЕМЙТПЧБОЙС УЙУФЕН, Ч ЛПФПТЩИ ЧБЦОХА ТПМШ ЙЗТБЕФ РТПУФТБОУФЧЕООПЕ ЧЪБЙНПДЕКУФЧЙЕ НЕЦДХ ЬМЕНЕОФБНЙ. уХЭЕУФЧХЕФ НОПЗП РТЙНЕТПЧ ФБЛЙИ НПДЕМЕК Ч ВЙПМПЗЙЙ, ЙОЖПТНБФЙЛЕ (ЧЛМАЮБС УЙУФЕНЩ ФЕМЕЛПННХОЙЛБГЙЙ) Й ДТХЗЙИ ПВМБУФСИ. ч ЖЙЪЙЛЕ, ОБРТЙНЕТ, ЛМЕФПЮОЩЕ БЧФПНБФЩ РТЙНЕОСАФУС ДМС БОБМЙЪБ СЧМЕОЙК РЕТЕОПУБ (ФЕРМПРТПЧПДОПУФЙ, ДЙЖЖХЪЙЙ Й ЧСЪЛПУФЙ) Й НПДЕМЙТПЧБОЙС ФЧЕТДПЗП ФЕМБ.

рПЪОБЛПНЙНУС РПДТПВОЕЕ У ЙЗТПК "цЙЪОШ", ПФОПУСЭЕКУС Л ЛБФЕЗПТЙЙ ФБЛ ОБЪЩЧБЕНЩИ НПДЕМЙТХАЭЙИ ЙЗТ - ЙЗТ, ЛПФПТЩЕ Ч ФПК ЙМЙ ЙОПК УФЕРЕОЙ ЙНЙФЙТХАФ РТПГЕУУЩ, РТПЙУИПДСЭЙЕ Ч ТЕБМШОПК ЦЙЪОЙ. цЙЪОШ, ЛБЛ ЕУФЕУФЧЕООЩК РТПГЕУУ - СЧМЕОЙЕ ОБУФПМШЛП УМПЦОПЕ Й ХЧМЕЛБФЕМШОПЕ, ЮФП ФЩУСЮЙ ХЮЕОЩИ РЩФБМЙУШ ТБУЛТЩФШ ЕЕ ФБКОЩ. уЧПК ЧЛМБД Ч ТЕЫЕОЙЕ ЬФПК РТПВМЕНЩ ЧОЕУ Й ЮЕМПЧЕЛ, ОЕ ЙНЕЧЫЙК Л ВЙПМПЗЙЙ ОЙЛБЛПЗП ПФОПЫЕОЙС, БОЗМЙКУЛЙК НБФЕНБФЙЛ дЦПО иПТФПО лПОЧЕК.

чПЪОЙЛБАЭЙЕ Ч РТПГЕУУЕ РТЙДХНБООПК ЙН ЙЗТЩ УЙФХБГЙЙ ПЮЕОШ РПИПЦЙ ОБ ТЕБМШОЩЕ РТПГЕУУЩ, РТПЙУИПДСЭЙЕ РТЙ ЪБТПЦДЕОЙЙ, ТБЪЧЙФЙЙ Й ЗЙВЕМЙ ЛПМПОЙЙ ЦЙЧЩИ ПТЗБОЙЪНПЧ. пОЙ ТПЦДБАФУС РТЙ ВМБЗПРТЙСФОПН УПЮЕФБОЙЙ УППФЧЕФУФЧХАЭЙИ ЖБЛФПТПЧ Й ХНЙТБАФ, ЛПЗДБ ХУМПЧЙС ЙИ УХЭЕУФЧПЧБОЙС УФБОПЧСФУС ОЕЧЩОПУЙНЩНЙ. хУМПЧЙС ТПЦДЕОЙС Й УНЕТФЙ ПРТЕДЕМСАФУС ЙУЛМАЮЙФЕМШОП ЧЪБЙНОЩН ТБУРПМПЦЕОЙЕН ХЮБУФОЙЛПЧ.

дЕКУФЧЙЕ ЙЗТЩ РТПЙУИПДЙФ ОБ РМПУЛПУФЙ, ТБЪДЕМЕООПК ОБ ЛМЕФЛЙ. лБЦДБС ЛМЕФЛБ ПЛТХЦЕОБ 8 ФБЛЙНЙ ЦЕ ЛМЕФЛБНЙ (ФБЛ ОБЪЩЧБЕНБС ПЛТЕУФОПУФШ нХТБ) Й НПЦЕФ ОБИПДЙФШУС Ч ДЧХИ УПУФПСОЙСИ - ЦЙЧПН ЙМЙ НЕТФЧПН (ВЩФШ РХУФПК). зЙВЕМШ Й ТПЦДЕОЙЕ ЧУЕИ ПТЗБОЙЪНПЧ РТПЙУИПДЙФ ПДОПЧТЕНЕООП. оБ УПУФПСОЙЕ МАВПК ЛМЕФЛЙ ПЛБЪЩЧБАФ ЧМЙСОЙЕ ФПМШЛП УПУФПСОЙС УПУЕДОЙИ У ОЕК ЛМЕФПЛ. чП ЧТЕНЕОЙ ЬФЙ УПУФПСОЙС ДЙУЛТЕФОП ЙЪНЕОСАФУС Ч УППФЧЕФУФЧЙЙ УП УМЕДХАЭЙНЙ РТБЧЙМБНЙ (ЗЕОЕФЙЮЕУЛЙНЙ ЪБЛПОБНЙ лПОЧЕС).

  1. чЩЦЙЧБОЙЕ ЙМЙ ЗЙВЕМШ. еУМЙ ЦЙЧБС ЛМЕФЛБ ЙНЕЕФ НЕОЕЕ 2 ЙМЙ ВПМЕЕ 3 УПУЕДЕК Ч ПЛТЕУФОПУФЙ ЙЪ 8 ЛМЕФПЛ, ФП Ч УМЕДХАЭЕН РПЛПМЕОЙЙ ПОБ ХНЙТБЕФ (НПДЕМЙТПЧБОЙЕ ТЕБМШОЩИ ХУМПЧЙК - ОЕДПУФБФЛБ РЙФБОЙС ЙМЙ РЕТЕОБУЕМЕООПУФЙ), Ч РТПФЙЧОПН УМХЮБЕ ПОБ ЧЩЦЙЧБЕФ.
  2. тПЦДЕОЙЕ. ч РХУФПК ЛМЕФЛЕ РПСЧМСЕФУС ОПЧБС ЦЙЧБС ЛМЕФЛБ, ЕУМЙ Х ОЕЕ ТПЧОП 3 УПУЕДБ.

пУОПЧОБС ЙДЕС ЙЗТЩ УПУФПЙФ Ч ФПН, ЮФПВЩ, ОБЮБЧ У ОЕЛПФПТПЗП ТБУРПМПЦЕОЙС ЦЙЧЩИ ЛМЕФПЛ, РТПУМЕДЙФШ ЪБ ЕЕ ЬЧПМАГЙЕК. рПРХМСГЙС ЛМЕФПЛ РПУФПСООП РТЕФЕТРЕЧБЕФ ОЕПВЩЮОЩЕ ЙЪНЕОЕОЙС. йОПЗДБ ЛПМПОЙС ЛМЕФПЛ РПУФЕРЕООП ЧЩНЙТБЕФ, ПДОБЛП РТПЙЪПКФЙ ЬФП НПЦЕФ ОЕ УТБЪХ, Б МЙЫШ РПУМЕ ФПЗП, ЛБЛ УНЕОЙФУС ПЮЕОШ НОПЗП РПЛПМЕОЙК.

ч ВПМШЫЙОУФЧЕ УЧПЕН ЙУИПДОЩЕ ЛПОЖЙЗХТБГЙЙ МЙВП РЕТЕИПДСФ Ч ХУФПКЮЙЧЩЕ Й РЕТЕУФБАФ ЙЪНЕОСФШУС, МЙВП ОБЧУЕЗДБ РЕТЕИПДСФ Ч ЛПМЕВБФЕМШОЩК ТЕЦЙН. рТЙ ЬФПН, ЛПОЖЙЗХТБГЙЙ, ОЕ ПВМБДБЧЫЙЕ Ч ОБЮБМЕ УЙННЕФТЙЕК, ПВОБТХЦЙЧБАФ ФЕОДЕОГЙА Л РЕТЕИПДХ Ч УЙННЕФТЙЮОЩЕ ЖПТНЩ, ЛПФПТЩЕ Ч РТПГЕУУЕ ЬЧПМАГЙЙ ОЕ ХФТБЮЙЧБАФУС. фТЙ РТЙНЕТБ ТБЪЧЙФЙС ЛПМПОЙК РПЛБЪБОЩ ОБ ТЙУХОЛЕ.

рПЪОБФШ "цЙЪОШ" ОБ РТБЛФЙЛЕ РТПЭЕ ЧУЕЗП У РПНПЭША МЙУФБ ВХНБЗЙ Ч ЛМЕФПЮЛХ Й ТХЮЛЙ. нПЦОП ЧПУРПМШЪПЧБФШУС ФБЛЦЕ ЫБИНБФОПК ДПУЛПК Й ПВЩЮОЩНЙ ЫБЫЛБНЙ ДЧХИ ГЧЕФПЧ. еЭЕ РТПЭЕ - ЙУРПМШЪПЧБФШ ДМС ЬФПК ГЕМЙ ЛПНРШАФЕТ. хЦЕ ОБ ЪБТЕ ТБЪЧЙФЙС ЛПНРШАФЕТОПК ФЕИОЙЛЙ ВЩМЙ ОБРЙУБОЩ НОПЗПЮЙУМЕООЩЕ РТПЗТБННЩ, НПДЕМЙТХАЭЙЕ "цЙЪОШ".

ъБ РТПЫЕДЫЙЕ ЗПДЩ ЙУУМЕДПЧБОЙК ВЩМП ЧЩСЧМЕОП ВПМШЫПЕ ЮЙУМП ЙОФЕТЕУОЩИ ЖЙЗХТ, ОБРТЙНЕТ, ФБЛБС ЛПОУФТХЛГЙС, ЛБЛ "ЮБУЩ", ЛПФПТБС УПДЕТЦЙФ ЧОХФТЙ ОЕЮФП РПИПЦЕЕ ОБ УФТЕМЛХ. пФ ЫБЗБ Л ЫБЗХ ЬФБ УФТЕМЛБ РПЧПТБЮЙЧБЕФУС ОБ 90 ЗТБДХУПЧ, УПЪДБЧБС ЙММАЪЙА ЧТБЭЕОЙС ЕЕ РП ЛТХЗХ.

рМБОЕТ (glider) - ЬФП УБНЩК ТБООЙК ЙЪ ПВОБТХЦЕООЩИ Й ОБЙВПМЕЕ РТЙНЕЮБФЕМШОЩК ПВЯЕЛФ, ПДОПК ЙЪ ПУПВЕООПУФЕК ЛПФПТПЗП СЧМСЕФУС ЕЗП УРПУПВОПУФШ УРПОФБООП ЧПЪОЙЛБФШ Ч УПЧЕТЫЕООП РТПЙЪЧПМШОЩИ УЙФХБГЙСИ Й РЕТЕНЕЭБФШУС ЪБ РТЕДЕМЩ ЧЙДЙНПЗП РТПУФТБОУФЧБ (Ч УМХЮБЕ, ЛПЗДБ ДЧЙЦЕОЙЕ ОБРТБЧМЕОП Ч РТПФЙЧПРПМПЦОХА УФПТПОХ ПФ УПУТЕДПФПЮЕОЙС ПУОПЧОЩИ ПВЯЕЛФПЧ РПРХМСГЙЙ). юЕТЕЪ ПРТЕДЕМЕООПЕ ЛПМЙЮЕУФЧП ЫБЗПЧ РМБОЕТЩ РПЛЙДБАФ РТЕДЕМЩ ПУЧПЕООПК ПВМБУФЙ Й ХУФТЕНМСАФУС Ч "ЛПУНЙЮЕУЛЙЕ ДБМЙ".

вПМЕЕ РПДТПВОХА ЙОЖПТНБГЙА П ЙЗТЕ "цЙЪОШ" Й РТПЗТБННЩ ДМС ОБВМАДЕОЙС ЪБ ЬЧПМАГЙЕК ПВЯЕЛФПЧ НПЦОП ОБКФЙ РП УМЕДХАЭЕНХ URL: elvisti.kiev.ua/skl/conwey1/w_life_n.htm.

лБЛ ХЦЕ ВЩМП УЛБЪБОП, ЙЗТБ "цЙЪОШ"ПРЙУЩЧБЕФУС У РПНПЭША ФЕПТЙЙ БЧФПНБФПЧ. оБ ПУОПЧЕ ЬФПЗП РТЙНЕТБ НПЦОП УЖПТНХМЙТПЧБФШ ПВЭЙЕ РТБЧЙМБ РПУФТПЕОЙС ЛМЕФПЮОЩИ БЧФПНБФПЧ.

  • уПУФПСОЙЕ ЛМЕФПЛ ДЙУЛТЕФОП (ПВЩЮОП 0 Й 1, ИПФС НПЗХФ ВЩФШ БЧФПНБФЩ Й У ВПМШЫЙН ЮЙУМПН УПУФПСОЙК).
  • уПУЕДСНЙ СЧМСЕФУС ПЗТБОЙЮЕООПЕ ЮЙУМП ЛМЕФПЛ, ЮБУФП ЬФП ВМЙЦБКЫЙЕ ЛМЕФЛЙ.
  • рТБЧЙМБ, ЪБДБАЭЙЕ ДЙОБНЙЛХ ТБЪЧЙФЙС ЛМЕФПЮОПЗП БЧФПНБФБ, ПВЩЮОП ЙНЕАФ РТПУФХА ЖХОЛГЙПОБМШОХА ЖПТНХ Й ЪБЧЙУСФ ПФ ТЕЫБЕНПК РТПВМЕНЩ.
  • лМЕФПЮОЩК БЧФПНБФ СЧМСЕФУС ФБЛФЙТХЕНПК УЙУФЕНПК, Ф. Е. УНЕОБ УПУФПСОЙК ЛМЕФПЛ РТПЙУИПДЙФ ПДОПЧТЕНЕООП.
  • лМЕФПЮОЩЕ БЧФПНБФЩ РТЕДПУФБЧМСАФ ВПМШЫХА УЧПВПДХ Ч ЧЩВПТЕ УФТХЛФХТЩ Й РТБЧЙМ ТБЪЧЙФЙС УЙУФЕНЩ. ьФП РПЪЧПМСЕФ НПДЕМЙТПЧБФШ ОБ ЙИ ПУОПЧЕ Й ТЕЫБФШ У ЙИ РПНПЭША УБНЩЕ ТБЪОППВТБЪОЩЕ ЪБДБЮЙ.

рТЕДУФБЧЙН УЕВЕ ОЕЛХА ЙУИПДОХА ЖЙЗХТХ ОБ РМПУЛПУФЙ, Л ЛПФПТПК ОБЮЙОБАФ РТЙНЕОСФШУС РТБЧЙМБ "цЙЪОЙ". ч ТЕЪХМШФБФЕ ЬЧПМАГЙЙ ЧПЪОЙЛОХФ УПФОЙ, Б Ч ПФДЕМШОЩИ УМХЮБСИ Й ФЩУСЮЙ ТБЪОППВТБЪОЕКЫЙИ (ОБ РЕТЧЩК ЧЪЗМСД ОЕ УЧСЪБООЩИ ДТХЗ У ДТХЗПН) ЖЙЗХТ. оП ДПУФБФПЮОП МЙЫШ ЪОБФШ ОБЮБМШОПЕ ТБУРПМПЦЕОЙЕ ЬМЕНЕОФПЧ Й ОПНЕТ ЫБЗБ, ЮФПВЩ ЧПУУФБОПЧЙФШ ОХЦОХА ЖЙЗХТХ. рП-ЧЙДЙНПНХ, ЬФБ ЙДЕС НПЦЕФ ВЩФШ ЙУРПМШЪПЧБОБ ДМС РПУФТПЕОЙС ОПЧЩИ БМЗПТЙФНПЧ УЦБФЙС ЙОЖПТНБГЙЙ.

чПЪОЙЛБАЭЙЕ Ч РТПГЕУУЕ ЬЧПМАГЙЙ ХЪПТЩ НПЗХФ ОБКФЙ РТЙНЕОЕОЙЕ Ч ТБЪМЙЮОЩИ ПВМБУФСИ, ЗДЕ ОЕПВИПДЙНЩ УМПЦОЩЕ ЪБНЩУМПЧБФЩЕ ЙЪПВТБЦЕОЙС, ОБРТЙНЕТ, ДМС ПЖПТНЙФЕМШУЛЙИ ЛБТФЙОПЛ, ФЛБГЛЙИ ХЪПТПЧ, ЛПНРШАФЕТОПЗП ДЙЪБКОБ.. пУПВЕООП ЙОФЕТЕУОЩЕ ТЕЪХМШФБФЩ НПЦОП РПМХЮЙФШ РТЙ РТЙУЧПЕОЙЙ ТБЪМЙЮОЩН ЬМЕНЕОФБН УПВУФЧЕООЩИ ГЧЕФПЧ (ОБРТЙНЕТ, Ч ЪБЧЙУЙНПУФЙ ПФ ЧПЪТБУФБ ЬМЕНЕОФБ).

ъБДБОЙС
1. рПУФТПКФЕ НПДЕМШ РТПГЕУУБ ТБУРТПУФТБОЕОЙС ЙОЖЕЛГЙЙ УФТЙЗХЭЕЗП МЙЫБС РП ХЮБУФЛХ ЛПЦЙ ТБЪНЕТПН n x n (n-ОЕЮЕФОПЕ) ЛМЕФПЛ. ъБТБЦЕОЙЕ ОБЮЙОБЕФУС У ГЕОФТБМШОПК ЛМЕФЛЙ. ч ЛБЦДЩК ЙОФЕТЧБМ ЧТЕНЕОЙ РПТБЦЕООБС ЙОЖЕЛГЙЕК ЛМЕФЛБ НПЦЕФ У ЧЕТПСФОПУФША 1/2 ЪБТБЪЙФШ МАВХА ЙЪ УПУЕДОЙИ ЪДПТПЧЩИ ЛМЕФПЛ. юЕТЕЪ ЫЕУФШ ЕДЙОЙГ ЧТЕНЕОЙ ЪБТБЦЕООБС ЛМЕФЛБ УФБОПЧЙФУС ОЕЧПУРТЙЙНЮЙЧПК Л ЙОЖЕЛГЙЙ. чПЪОЙЛЫЙК ЙННХОЙФЕФ ДЕКУФЧХЕФ Ч ФЕЮЕОЙЕ РПУМЕДХАЭЙИ ЮЕФЩТЕИ ЕДЙОЙГ ЧТЕНЕОЙ, Б ЪБФЕН ЛМЕФЛБ ЧЩЪДПТБЧМЙЧБЕФ.

ч ИПДЕ ЛПНРШАФЕТОПЗП ЬЛУРЕТЙНЕОФБ ЧЩДБЧБКФЕ ФЕЛХЭЕЕ УПУФПСОЙЕ НПДЕМЙТХЕНПЗП ХЮБУФЛБ ЛПЦЙ, ПФНЕЮБС ЪБТБЦЕООЩЕ, ОЕЧПУРТЙЙНЮЙЧЩЕ Л ЙОЖЕЛГЙЙ Й ЪДПТПЧЩЕ ЛМЕФЛЙ.

2. тБЪТБВПФБКФЕ ЙНЙФБГЙПООХА НПДЕМШ УЙУФЕНЩ "ИЙЭОЙЛ-ЦЕТФЧБ" РП УМЕДХАЭЕК УИЕНЕ. пУФТПЧ ТБЪНЕТПН 20x20 ЪБУЕМЕО ДЙЛЙНЙ ЛТПМЙЛБНЙ, ЧПМЛБНЙ Й ЧПМЮЙГБНЙ. йНЕЕФУС ОЕУЛПМШЛП РТЕДУФБЧЙФЕМЕК ЛБЦДПЗП ЧЙДБ. лТПМЙЛЙ ДПЧПМШОП ЗМХРЩ: Ч ЛБЦДЩК НПНЕОФ ЧТЕНЕОЙ ПОЙ У ПДЙОБЛПЧПК ЧЕТПСФОПУФША 1/9 РЕТЕДЧЙЗБАФУС Ч ПДЙО ЙЪ ЧПУШНЙ УПУЕДОЙИ ЛЧБДТБФПЧ (ЪБ ЙУЛМАЮЕОЙЕН ХЮБУФЛПЧ, ПЗТБОЙЮЕООЩИ ВЕТЕЗПЧПК МЙОЙЕК) ЙМЙ РТПУФП УЙДСФ ОЕРПДЧЙЦОП. лБЦДЩК ЛТПМЙЛ У ЧЕТПСФОПУФША 0,2 РТЕЧТБЭБЕФУС Ч 2 ЛТПМЙЛПЧ. чПМЮЙГЩ РЕТЕДЧЙЗБАФУС УМХЮБКОЩН ПВТБЪПН ДП ФЕИ РПТ, РПЛБ Ч ПДОПН ЙЪ УПУЕДОЙИ ЧПУШНЙ ЛЧБДТБФПЧ ОЕ ПЛБЦЕФУС ЛТПМЙЛ. еУМЙ ЧПМЮЙГБ Й ЛТПМЙЛ ПЛБЪЩЧБАФУС Ч ПДОПН ЛЧБДТБФЕ, ЧПМЮЙГБ УЯЕДБЕФ ЛТПМЙЛБ Й РПМХЮБЕФ ПДОП ПЮЛП, Ч РТПФЙЧОПН УМХЮБЕ ПОБ ФЕТСЕФ 0,1 ПЮЛБ ЪБ ЛБЦДХА ЕДЙОЙГХ ЧТЕНЕОЙ. чПМЛЙ Й ЧПМЮЙГЩ У ОХМЕЧЩН ЛПМЙЮЕУФЧПН ПЮЛПЧ ХНЙТБАФ. ч ОБЮБМШОЩК НПНЕОФ ЧТЕНЕОЙ ЧУЕ ЧПМЛЙ Й ЧПМЮЙГЩ ЙНЕАФ 1 ПЮЛП. чПМЛ ЧЕДЕФ УЕВС РПДПВОП ЧПМЮЙГЕ ДП ФЕИ РПТ, РПЛБ Ч УПУЕДОЙИ ЛЧБДТБФБИ ОЕ ЙУЮЕЪОХФ ЧУЕ ЛТПМЙЛЙ; Ч ЬФПН УМХЮБЕ, ЕУМЙ ЧПМЮЙГБ ОБИПДЙФУС Ч ПДОПН ЙЪ ЧПУШНЙ ВМЙЦБКЫЙИ ЛЧБДТБФПЧ, ЧПМЛ ЗПОЙФУС ЪБ ОЕК. еУМЙ ЧПМЛ Й ЧПМЮЙГБ ПЛБЦХФУС Ч ПДОПН ЛЧБДТБФЕ, ПОЙ РТПЙЪЧПДСФ РПФПНУФЧП УМХЮБКОПЗП РПМБ. рТПУМЕДЙФЕ, ЛБЛ УЛБЪЩЧБАФУС ОБ ЬЧПМАГЙЙ РПРХМСГЙЙ ЙЪНЕОЕОЙЕ ТБЪМЙЮОЩИ РБТБНЕФТПЧ НПДЕМЙ.


рБТБДЙЗНЩ РТПЗТБННЙТПЧБОЙС

рП ПДОПК ЙЪ ЛМБУУЙЖЙЛБГЙК СЪЩЛЙ РТПЗТБННЙТПЧБОЙС ДЕМСФУС ОБ

  • ДЙТЕЛФЙЧОЩЕ (directive), ОБЪЩЧБЕНЩЕ ФБЛЦЕ РТПГЕДХТОЩНЙ (procedural) ЙМЙ ЙНРЕТБФЙЧОЩНЙ (imperative),
  • ДЕЛМБТБФЙЧОЩЕ (declarative) СЪЩЛЙ,
  • ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩЕ (object-oriented).

л ДЙТЕЛФЙЧОЩН СЪЩЛБН ПФОПУСФУС ФБЛЙЕ ЛМБУУЙЮЕУЛЙЕ СЪЩЛЙ РТПЗТБННЙТПЧБОЙС, ЛБЛ Algol, Fortran, Basic, Pascal, C. оБЙВПМЕЕ УХЭЕУФЧЕООЩНЙ ЛМБУУБНЙ ДЕЛМБТБФЙЧОЩИ СЪЩЛПЧ СЧМСАФУС ЖХОЛГЙПОБМШОЩЕ (functional) ЙМЙ БРРМЙЛБФЙЧОЩЕ, Й МПЗЙЮЕУЛЙЕ (logic) СЪЩЛЙ. л ЛБФЕЗПТЙЙ ЖХОЛГЙПОБМШОЩИ СЪЩЛПЧ ПФОПУСФУС, ОБРТЙНЕТ, Lisp Й Haskell. уБНЩН ЙЪЧЕУФОЩН СЪЩЛПН МПЗЙЮЕУЛПЗП РТПЗТБННЙТПЧБОЙС СЧМСЕФУС Prolog (рТПМПЗ). уТЕДЙ ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩИ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС (СЪЩЛПЧ ппр) ПФНЕФЙН C++, Java, Python Й Ruby.

пФМПЦЙН РПЛБ ПВУХЦДЕОЙЕ ЛПОГЕРГЙЙ ппр Й РПЗПЧПТЙН П ТБЪМЙЮЙЙ НЕЦДХ РЕТЧЩНЙ ДЧХНС РБТБДЙЗНБНЙ. зМБЧОПЕ ЪБЛМАЮБЕФУС Ч УМЕДХАЭЕН: ДЕЛМБТБФЙЧОБС РТПЗТБННБ ЪБСЧМСЕФ (ДЕЛМБТЙТХЕФ), ЮФП ДПМЦОП ВЩФШ ДПУФЙЗОХФП Ч ЛБЮЕУФЧЕ ГЕМЙ, Б ДЙТЕЛФЙЧОБС РТЕДРЙУЩЧБЕФ, ЛБЛ ЕЕ ДПУФЙЮШ.

рПСУОЙН ЬФП ОБ УМЕДХАЭЕН РТЙНЕТЕ. рТЕДРПМПЦЙН, ЧБН ОБДП РТПКФЙ Ч ЗПТПДЕ ЙЪ РХОЛФБ б Ч РХОЛФ в. дЕЛМБТБФЙЧОБС РТПЗТБННБ - ЬФП РМБО ЗПТПДБ, Ч ЛПФПТПН ХЛБЪБОЩ ПВБ РХОЛФБ, РМАУ РТБЧЙМБ ХМЙЮОПЗП ДЧЙЦЕОЙС. тХЛПЧПДУФЧХСУШ ЬФЙНЙ РТБЧЙМБНЙ Й РМБОПН ЗПТПДБ, ЛХТШЕТ УБН ОБКДЕФ РХФШ ПФ РХОЛФБ б Л РХОЛФХ в.

дЙТЕЛФЙЧОБС РТПЗТБННБ - ЬФП УРЙУПЛ ЛПНБОД РТЙНЕТОП ФБЛПЗП ТПДБ: ПФ РХОЛФБ б РП ХМ. уБДПЧПК ОБ УЕЧЕТ ДП РМПЭБДЙ уМБЧЩ, ПФФХДБ РП ХМ. рХЫЛЙОБ ДЧБ ЛЧБТФБМБ, РПФПН РПЧЕТОХФШ ОБРТБЧП Й ЙДФЙ ДП фЕБФТБМШОПЗП РЕТЕХМЛБ, РП ЬФПНХ РЕТЕХМЛХ ОБМЕЧП РП РТБЧПК УФПТПОЕ ДП ДПНБ 20, ЛПФПТЩК Й ЕУФШ РХОЛФ в.

ч ДЙТЕЛФЙЧОПК РТПЗТБННЕ ДЕКУФЧЙС ЪБДБАФУС СЧОЩНЙ ЛПНБОДБНЙ, РПДЗПФПЧМЕООЩНЙ ЕЕ УПУФБЧЙФЕМЕН. йУРПМОЙФЕМШ ЦЕ РТПУФП ЙН УМЕДХЕФ. иПФС ЛПНБОДЩ Ч ТБЪМЙЮОЩИ СЪЩЛБИ ДЙТЕЛФЙЧОПЗП РТПЗТБННЙТПЧБОЙС Й ЧЩЗМСДСФ РП-ТБЪОПНХ, ЧУЕ ПОЙ УЧПДСФУС МЙВП Л РТЙУЧБЙЧБОЙА ЛБЛПК-ОЙВХДШ РЕТЕНЕООПК ОЕЛПФПТПЗП ЪОБЮЕОЙС, МЙВП Л ЧЩВПТХ УМЕДХАЭЕК ЛПНБОДЩ, ЛПФПТБС ДПМЦОБ ВХДЕФ ЧЩРПМОСФШУС. рТЙУЧБЙЧБОЙА НПЦЕФ РТЕДЫЕУФЧПЧБФШ ЧЩРПМОЕОЙЕ ТСДБ БТЙЖНЕФЙЮЕУЛЙИ Й ЙОЩИ ПРЕТБГЙК, ЧЩЮЙУМСАЭЙИ ФТЕВХЕНПЕ ЪОБЮЕОЙЕ, Б ЛПНБОДЩ ЧЩВПТБ ТЕБМЙЪХАФУС Ч ЧЙДЕ ХУМПЧОЩИ ПРЕТБФПТПЧ Й ПРЕТБФПТПТ РПЧФПТЕОЙС (ГЙЛМПЧ).

дМС ЛМБУУЙЮЕУЛЙИ ДЙТЕЛФЙЧОЩИ СЪЩЛПЧ ИБТБЛФЕТОП, ЮФП РПУМЕДПЧБФЕМШОПУФШ ЧЩРПМОСЕНЩИ ЛПНБОД УПЧЕТЫЕООП ПДОПЪОБЮОП ПРТЕДЕМСЕФУС ЕЕ ЧИПДОЩНЙ ДБООЩНЙ. лБЛ ЗПЧПТСФ, РПЧЕДЕОЙЕ ЙУРПМОЙФЕМС ЙНРЕТБФЙЧОПК РТПЗТБННЩ РПМОПУФША ДЕФЕТНЙОЙТПЧБОП.

дЕЛМБТБФЙЧОЩЕ РТПЗТБННЩ ОЕ РТЕДРЙУЩЧБАФ ЧЩРПМОСФШ ПРТЕДЕМЕООХА РПУМЕДПЧБФЕМШОПУФШ ДЕКУФЧЙК, Ч ОЙИ МЙЫШ ДБЕФУС ТБЪТЕЫЕОЙЕ УПЧЕТЫБФШ ЙИ. йУРПМОЙФЕМШ ДПМЦЕО УБН ОБКФЙ УРПУПВ ДПУФЙЦЕОЙС РПУФБЧМЕООПК РЕТЕД ОЙН УПУФБЧЙФЕМЕН РТПЗТБННЩ (РТПЗТБННЙУФПН) ГЕМЙ, РТЙЮЕН ЪБЮБУФХА ЬФП НПЦОП УДЕМБФШ ТБЪМЙЮОЩНЙ УРПУПВБНЙ - ДЕФЕТНЙОЙТПЧБООПУФШ Ч ДБООПН УМХЮБЕ ПФУХФУФЧХЕФ.

оЕМШЪС УЛБЪБФШ, ЮФП ПДЙО СЪЩЛ МХЮЫЕ ДТХЗПЗП ФПМШЛП РПФПНХ, ЮФП Ч ОЕН ЕУФШ ЧПЪНПЦОПУФЙ, ЛПФПТЩЕ Ч ДТХЗПН ПФУХФУФЧХАФ. ъДЕУШ ВПМЕЕ ЧБЦОП ОЕ ФП, ЛБЛЙНЙ ЧПЪНПЦОПУФСНЙ ПВМБДБЕФ СЪЩЛ, Б ФП, ОБУЛПМШЛП ЙНЕАЭЙЕУС Ч ОЕН ЧПЪНПЦОПУФЙ РПДДЕТЦЙЧБАФ ЙЪВТБООЩК УФЙМШ РТПЗТБННЙТПЧБОЙС ДМС ТЕЫЕОЙС ПРТЕДЕМЕООПЗП ЛТХЗБ ЪБДБЮ.


дЙТЕЛФЙЧОПЕ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

дЙТЕЛФЙЧОПЕ РТПЗТБННЙТПЧБОЙЕ

дЙТЕЛФЙЧОПЕ РТПЗТБННЙТПЧБОЙЕ - ПДЙО ЙЪ ОБЙВПМЕЕ ЕУФЕУФЧЕООЩИ ДМС ЮЕМПЧЕЛБ РПДИПДПЧ Л ОБРЙУБОЙА РТПЗТБНН. чЕДШ РТПЗТБННБ Ч ЬФПН УМХЮБЕ УПУФПЙФ ЙЪ ПРЕТБФПТПЧ РТЙУЧБЙЧБОЙС Й РТЕДМПЦЕОЙК, ХРТБЧМСАЭЙИ РПУМЕДПЧБФЕМШОПУФША ЙИ ЧЩРПМОЕОЙС. рТЙ ОБРЙУБОЙЙ РПДПВОПК РТПЗТБННЩ ОЕПВИПДЙНП ОБКФЙ ФБЛХА ГЕРПЮЛХ ЛПНБОД, ЛПФПТБС РТЙЧЕДЕФ Ч ЛПОГЕ ЛПОГПЧ Л ЧЩЮЙУМЕОЙА (Й, ЧПЪНПЦОП, РЕЮБФЙ) ПДОПК ЙМЙ ОЕУЛПМШЛЙИ ЙУЛПНЩИ ЧЕМЙЮЙО.

дЙТЕЛФЙЧОПЕ РТПЗТБННЙТПЧБОЙЕ УФБМЙ ОБЪЩЧБФШ РТПГЕДХТОЩН, ЛПЗДБ Ч РТПГЕУУЕ ХЧЕМЙЮЕОЙС УМПЦОПУФЙ НПДЕМЙТХЕНЩИ УЙУФЕН Й ТБЪНЕТБ РПМХЮБЕНЩИ РТПЗТБНН ЧПЪОЙЛМБ ЛПОГЕРГЙС РПДРТПЗТБНН, ОБЪЩЧБЕНЩИ ФБЛЦЕ РТПГЕДХТБНЙ (procedure), ЖХОЛГЙСНЙ (function) ЙМЙ НЕФПДБНЙ (method). рПДРТПЗТБННБ РПЪЧПМСЕФ МПЛБМЙЪПЧБФШ Ч ОЕК РТПГЕУУ ЧЩРПМОЕОЙС ПРТЕДЕМЕООПЗП ДЕКУФЧЙС, ЛПФПТПЕ НПЦЕФ ВЩФШ РПЧФПТЕОП НОПЗПЛТБФОП У РПНПЭША НЕИБОЙЪНБ ЧЩЪПЧБ.

рТЙ ЬФПН ЙУИПДОБС РТПЗТБННБ РТЕЧТБЭБЕФУС ЙЪ ПДОПК ВПМШЫПК ГЕРПЮЛЙ ЛПНБОД Ч ЪОБЮЙФЕМШОП ВПМЕЕ ЛПТПФЛХА Й РПОСФОХА РПУМЕДПЧБФЕМШОПУФШ ЧЩЪПЧПЧ РПДРТПЗТБНН, ТЕЫБАЭЙИ ВПМЕЕ РТПУФЩЕ РПДЪБДБЮЙ. рТЙ ЧЩЪПЧЕ РПДРТПЗТБННЩ ЕК ЮБУФП РЕТЕДБАФ ФБЛ ОБЪЩЧБЕНЩЕ РБТБНЕФТЩ, Б ПОБ РПУМЕ ЪБЧЕТЫЕОЙС УЧПЕК ТБВПФЩ ПВЩЮОП ЧПЪЧТБЭБЕФ ОЕЛПФПТЩК ТЕЪХМШФБФ. нЕИБОЙЪНЩ РЕТЕДБЮЙ РБТБНЕФТПЧ Ч ТБЪМЙЮОЩИ СЪЩЛБИ РТПЗТБННЙТПЧБОЙС УЙМШОП ПФМЙЮБАФУС ДТХЗ ПФ ДТХЗБ.

оЙЦЕ РТЙЧПДЙФУС РТЙНЕТ РТПЗТБННЩ ОБ СЪЩЛЕ C, Ч ЛПФПТПК ЛТПНЕ ЗМБЧОПК ЖХОЛГЙЙ main ЙУРПМШЪХАФУС ЕЭЕ ДЧЕ РПДРТПЗТБННЩ - print_array, РЕЮБФБАЭБС ЬМЕНЕОФЩ РЕТЕДБООПЗП ЕК НБУУЙЧБ ГЕМЩИ ЮЙУЕМ, Й selection, УПТФЙТХАЭБС НБУУЙЧ, РЕТЕДБООЩК ЕК Ч ЛБЮЕУФЧЕ БТЗХНЕОФБ.

#include <stdio.h>

void print_array(int c[], int n, char* t) {
  int i;
  printf("%s",t);
  for (i = 0; i < n; i += 1)
    printf("\ta[%d]=%d", i, c[i]);
  printf("\n");
}

void selection(int c[], int n) {
    int i, j, k, x;

    for (i = 0; i < n; i += 1) {
    for (x = c[k=i], j = i + 1; j < n; j++)
        if (c[j] < x) x = c[k=j];
    c[k] = c[i]; c[i] = x;
    }
}

int main(void) {
  int a[] = {8, 3, 2, 7, 9, 5};

  int n = sizeof(a)/sizeof(int);
  print_array(a, n, "йУИПДОЩК НБУУЙЧ\n");
  selection(a, n);
  print_array(a, n, "пФУПТФЙТПЧБООЩК НБУУЙЧ\n");
  return 0;
}
тБЪНЕУФЙФЕ ФЕЛУФ ЬФПК РТПЗТБННЩ Ч ЖБКМЕ У ЙНЕОЕН sort.c Й ЧЩРПМОЙФЕ УМЕДХАЭЙЕ ЛПНБОДЩ, ЛПНРЙМЙТХАЭЙЕ Й ЪБРХУЛБАЭЙЕ ЕЕ:
cc sort.c
./a.out
жХОЛГЙС main ДЧБЦДЩ ЧЩЪЩЧБЕФ РТПГЕДХТХ print_array: УОБЮБМБ ДМС РЕЮБФЙ ЙУИПДОПЗП НБУУЙЧБ, Б ЪБФЕН, РПУМЕ ЧЩЪПЧБ ЖХОЛГЙЙ selection, ДМС РЕЮБФЙ ЕЗП ЦЕ Ч ХЦЕ ПФУПТФЙТПЧБООПН ЧЙДЕ. пДОБЦДЩ ТЕБМЙЪПЧБООЩЕ ЖХОЛГЙЙ print_array Й selection НПЗХФ ВЩФШ ЙУРПМШЪПЧБОЩ РТЙ ОБРЙУБОЙЙ ПФОПУЙФЕМШОП ВПМШЫПК РТПЗТБННЩ НОПЗПЛТБФОП.

дМС ФПЗП ЮФПВЩ РТПЗТБННБ ВЩМБ РПОСФОПК, РПДРТПЗТБННЩ ОЕ ДПМЦОЩ ВЩФШ УМЙЫЛПН ВПМШЫЙНЙ. хЧЕМЙЮЕОЙЕ ЮЙУМБ РПДРТПЗТБНН ФПЦЕ ЧЕДЕФ Л ЪОБЮЙФЕМШОПНХ ТПУФХ УМПЦОПУФЙ РТПЗТБННЩ Ч ГЕМПН Й, ЛБЛ УМЕДУФЧЙЕ, Л УОЙЦЕОЙА ЕЕ ОБДЕЦОПУФЙ. пФУАДБ УМЕДХЕФ ЧЩЧПД: ОБРЙУБФШ ВПМШЫХА РТБЧЙМШОП ТБВПФБАЭХА РТПЗТБННХ, ЙУРПМШЪХС ЛМБУУЙЮЕУЛПЕ РТПГЕДХТОПЕ РТПЗТБННЙТПЧБОЙЕ РТБЛФЙЮЕУЛЙ ОЕЧПЪНПЦОП.

уП ЧТЕНЕОЕН РТЙ РТПЕЛФЙТПЧБОЙЙ РТПЗТБНН БЛГЕОФ УНЕУФЙМУС У ПТЗБОЙЪБГЙЙ РТПГЕДХТ ОБ ПТЗБОЙЪБГЙА УФТХЛФХТ ДБООЩИ. уПЧТЕНЕООЩЕ ДЙТЕЛФЙЧОЩЕ СЪЩЛЙ РТПЗТБННЙТПЧБОЙС РТЕДМБЗБАФ ЕЭЕ ПДЙО НЕФПД УФТХЛФХТЙТПЧБОЙС РТПЗТБНН: ЙОЛБРУХМСГЙС (ПФ УМПЧБ capsule - ЛБРУХМБ, ЛПОФЕКОЕТ) ДБООЩИ Й РПДРТПЗТБНН Ч ВПМЕЕ ЛТХРОЩЕ ПВЯЕЛФЩ, ОБЪЩЧБЕНЩЕ НПДХМСНЙ. вПМШЫХА ЮБУФШ ДБООЩИ НПДХМС Й ЧЩРПМОСЕНЩЕ ПРЕТБФПТЩ НПЦОП УЛТЩФШ ФБЛЙН ПВТБЪПН, ЮФП ЙИ ОЕМШЪС ВХДЕФ ЙЪНЕОЙФШ ЙМЙ ЙУРПМШЪПЧБФШ УРПУПВБНЙ, ПФМЙЮОЩНЙ ПФ ЪБТБОЕЕ РТЕДПРТЕДЕМЕООЩИ. ьФБ РБТБДЙЗНБ ЙЪЧЕУФОБ, ЛБЛ РТЙОГЙР УПЛТЩФЙС ДБООЩИ. еУМЙ Ч СЪЩЛЕ ОЕФ ЧПЪНПЦОПУФЙ УЗТХРРЙТПЧБФШ РТПГЕДХТЩ ЧНЕУФЕ У ДБООЩНЙ, ФП ПО РМПИП РПДДЕТЦЙЧБЕФ НПДХМШОЩК УФЙМШ РТПЗТБННЙТПЧБОЙС.

фЙРЙЮОЩК РТЙНЕТ НПДХМС - ТЕБМЙЪБГЙС УФТХЛФХТЩ ДБООЩИ, ОБЪЩЧБЕНПК УФЕЛПН. уФЕЛ НПЦОП ХРПДПВЙФШ ЛПТПВЛЕ У МЙУФБНЙ ВХНБЗЙ. оПЧЩК МЙУФ ЛМБДЕФУС Ч УФПРЛХ РПЧЕТИ ПУФБМШОЩИ. фПМШЛП ЧЕТИОЙК МЙУФ НПЦЕФ ВЩФШ РТПЮЙФБО ЙМЙ ЙЪЧМЕЮЕО ЙЪ ЛПТПВЛЙ. дМС ФПЗП ЮФПВЩ ЙЪЧМЕЮШ ОЕЛПФПТЩК МЙУФ ЙЪ ЛПТПВЛЙ, ОЕПВИПДЙНП УОБЮБМБ ЧЩОХФШ ЧУЕ ФЕ, ЮФП МЕЦБФ ОБД ОЙН.

уФЕЛ ЖХОЛГЙПОЙТХЕФ ФПЮОП ФБЛЦЕ, ФПМШЛП Ч ОЕН ИТБОЙФУС УПЧПЛХРОПУФШ РТПЙЪЧПМШОЩИ ЬМЕНЕОФПЧ. оПЧЩК ЬМЕНЕОФ РПНЕЭБЕФУС ОБ ЧЕТЫЙОХ УФЕЛБ У РПНПЭША ПРЕТБГЙЙ ЧФПМЛОХФШ (push). чЙДЕО Ч УФЕЛЕ ФПМШЛП УБНЩК ЧЕТИОЙК ЬМЕНЕОФ, ЛПФПТЩК НПЦЕФ ВЩФШ ЙЪЧМЕЮЕО ЙЪ ОЕЗП ЛПНБОДПК ЧЩФПМЛОХФШ (pop). йОПЗДБ ЗПЧПТСФ, ЮФП УФЕЛ ЪБДБЕФ ДЙУГЙРМЙОХ ПВУМХЦЙЧБОЙС LIFO (Last In First Out - РПУМЕДОЙН РТЙЫЕМ, РЕТЧЩН ЧЩКДЕЫШ). пТЗБОЙЪБГЙС ДБООЩИ Ч ЧЙДЕ УФЕЛБ ЫЙТПЛП ТБУРТПУФТБОЕОБ Ч РТПЗТБННЙТПЧБОЙЙ. оБРТЙНЕТ, ХРТБЧМЕОЙЕ БЧФПНБФЙЮЕУЛЙ ТБУРТЕДЕМСЕНПК РБНСФША Ч РТПГЕУУЕ ЧЩРПМОЕОЙС РТПЗТБННЩ РТПЙЪЧПДЙФУС РП РТЙОГЙРХ УФЕЛБ.

рТЙ НПДХМШОПН РПДИПДЕ ЪБДБЮБ УОБЮБМБ ТБЪВЙЧБЕФУС ОБ РПДЪБДБЮЙ Й ПУХЭЕУФЧМСЕФУС ТЕБМЙЪБГЙС ЬФЙИ РПДЪБДБЮ, Б ЪБФЕН ЬФЙ РПДЪБДБЮЙ ЛПНВЙОЙТХАФУС ДТХЗ У ДТХЗПН ДМС ТЕЫЕОЙС ПУОПЧОПК ЪБДБЮЙ. рТПЗТБННБ, ТЕБМЙЪХАЭБС ТБВПФХ УП УФЕЛПН, ОБРЙУБООБС Ч НПДХМШОПН УФЙМЕ, ОЕ РПЪЧПМЙФ РПМШЪПЧБФЕМА ДПВТБФШУС ДП ЧОХФТЕООЕЗП РТЕДУФБЧМЕОЙС ДБООЩИ УФЕЛБ. дПУФХР Л ЕЗП ЬМЕНЕОФБН ВХДЕФ ЧПЪНПЦЕО ФПМШЛП У РПНПЭША НЕФПДПЧ push Й pop.

уРПУПВОПУФШ СЪЩЛБ РПДДЕТЦЙЧБФШ НПДХМЙ ОЕ РПНПЗБЕФ ТБЪТБВПФЮЙЛХ ПРФЙНБМШОП ТБЪВЙФШ РТПЗТБННХ ОБ НПДХМЙ. ч ФП ЦЕ ЧТЕНС ЙНЕООП ПФ ЛБЮЕУФЧБ ДЕЛПНРПЪЙГЙЙ Й УРПУПВОПУФЙ ТБЪТБВПФЮЙЛБ РТПЗТБННЩ ЧЩВТБФШ ОБЙВПМЕЕ РПДИПДСЭХА УФТХЛФХТХ ДМС ЕЕ ТЕБМЙЪБГЙЙ ЪБЧЙУЙФ ЛБЮЕУФЧП ЧУЕК УЙУФЕНЩ. пВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЕ РТПЗТБННЙТПЧБОЙЕ, У ЛПФПТЩН НЩ РПЪОБЛПНЙНУС ЮХФШ РПЪЦЕ, РТЕДМБЗБЕФ РТЙОГЙРЙБМШОП ЙОПК РПДИПД Л ТЕЫЕОЙА ДБООПК РТПВМЕНЩ.


дЕЛМБТБФЙЧОПЕ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

дЕЛМБТБФЙЧОПЕ РТПЗТБННЙТПЧБОЙЕ

сЪЩЛЙ, ЛПФПТЩЕ НЩ ХЦЕ ПВУХДЙМЙ, ЙНЕАФ ПДОХ ПВЭХА ЮЕТФХ: ВБЪПЧЩК ПРЕТБФПТ Ч ОЙИ - ЬФП ПРЕТБФПТ РТЙУЧБЙЧБОЙС, ЛПФПТЩК ЪБУФБЧМСЕФ ЛПНРШАФЕТ РЕТЕНЕУФЙФШ ДБООЩЕ ЙЪ ПДОПЗП НЕУФБ Ч ДТХЗПЕ. рТЙОГЙРЙБМШОП ЙОПК РПДИПД Л РТПЗТБННЙТПЧБОЙА ЪБЛМАЮБЕФУС Ч ФПН, ЮФПВЩ ПРЙУЩЧБФШ ЧЩЮЙУМЕОЙЕ, ЙУРПМШЪХС ХТБЧОЕОЙС, ЖХОЛГЙЙ, МПЗЙЮЕУЛЙЕ ЧЩЧПДЩ Й Ф. Р. пУПВПЕ ЧОЙНБОЙЕ Ч ДЕЛМБТБФЙЧОПН РТПЗТБННЙТПЧБОЙЙ ХДЕМСЕФУС ФПНХ, ЮФП ОХЦОП УДЕМБФШ, Б ОЕ ФПНХ ЛБЛ ЬФП ОХЦОП УДЕМБФШ.

нЩ ТБУУНПФТЙН ПУПВЕООПУФЙ ДЧХИ ЧЕФЧЕК ДЕЛМБТБФЙЧОПЗП РТПЗТБННЙТПЧБОЙС: ЖХОЛГЙПОБМШОПЕ, ПУОПЧБООПЕ ОБ НБФЕНБФЙЮЕУЛПН РПОСФЙЙ ЖХОЛГЙЙ, ЛПФПТБС ОЕ ЙЪНЕОСЕФ УЧПЕ ПЛТХЦЕОЙЕ, Ч ПФМЙЮЙЙ ПФ ЖХОЛГЙК Ч РТПГЕДХТОЩИ СЪЩЛБИ, ДПРХУЛБАЭЙИ РПВПЮОЩЕ ЬЖЖЕЛФЩ, Й МПЗЙЮЕУЛПЕ, Ч ЛПФПТПН РТПЗТБННЩ ЧЩТБЦЕОЩ Ч ЧЙДЕ ЖПТНХМ НБФЕНБФЙЮЕУЛПК МПЗЙЛЙ Й ЛПНРШАФЕТ ДМС ТЕЫЕОЙС ЪБДБЮЙ РЩФБЕФУС ЧЩЧЕУФЙ МПЗЙЮЕУЛЙЕ УМЕДУФЧЙС ЙЪ ОЙИ.

жХОЛГЙПОБМШОБС РТПЗТБННБ УПУФПЙФ ЙЪ УПЧПЛХРОПУФЙ ПРТЕДЕМЕОЙК ЖХОЛГЙК, ЛПФПТЩЕ Ч УЧПА ПЮЕТЕДШ РТЕДУФБЧМСАФ УПВПК ЧЩЪПЧЩ ДТХЗЙИ ЖХОЛГЙК Й РТЕДМПЦЕОЙК, ХРТБЧМСАЭЙИ РПУМЕДПЧБФЕМШОПУФША ЧЩЪПЧПЧ. рТЙ ЬФПН ЖХОЛГЙЙ ЮБУФП МЙВП РТСНП, МЙВП ПРПУТЕДПЧБООП ЧЩЪЩЧБАФ УБНЙ УЕВС (ТЕЛХТУЙС).

лБЦДБС ЖХОЛГЙС ЧПЪЧТБЭБЕФ ОЕЛПФПТПЕ ЪОБЮЕОЙЕ Ч ЧЩЪЧБЧЫХА ЕЗП ЖХОЛГЙА, ЧЩЮЙУМЕОЙЕ ЛПФПТПК РПУМЕ ЬФПЗП РТПДПМЦБЕФУС; ЬФПФ РТПГЕУУ РПЧФПТСЕФУС ДП ФЕИ РПТ, РПЛБ ОБЮБЧЫБС РТПГЕУУ ЧЩЮЙУМЕОЙК ЖХОЛГЙС ОЕ ЧЕТОЕФ ЛПОЕЮОЩК ТЕЪХМШФБФ РПМШЪПЧБФЕМА.

"юЙУФПЕ" ЖХОЛГЙПОБМШОПЕ РТПЗТБННЙТПЧБОЙЕ ОЕ УПДЕТЦЙФ ПРЕТБФПТБ РТЙУЧБЙЧБОЙС, Ч ОЕН ЧЩЮЙУМЕОЙЕ МАВПК ЖХОЛГЙЙ ОЕ РТЙЧПДЙФ ОЙ Л ЛБЛЙН РПВПЮОЩН ЬЖЖЕЛФБН, ПФМЙЮОЩН ПФ УПВУФЧЕООП ЧЩЮЙУМЕОЙС ЕЕ ЪОБЮЕОЙС. тБЪЧЕФЧМЕОЙЕ ЧЩЮЙУМЕОЙК ПУОПЧБОП ОБ НЕИБОЙЪНЕ ПВТБВПФЛЕ БТЗХНЕОФПЧ ХУМПЧОПЗП РТЕДМПЦЕОЙС, Б ГЙЛМЙЮЕУЛЙЕ ЧЩЮЙУМЕОЙС ТЕБМЙЪХАФУС У РПНПЭША ТЕЛХТУЙЙ.

пФУХФУФЧЙЕ ПРЕТБФПТБ РТЙУЧБЙЧБОЙС ДЕМБЕФ РЕТЕНЕООЩЕ, ЙУРПМШЪХЕНЩЕ Ч ЖХОЛГЙПОБМШОЩИ СЪЩЛБИ РТПЗТБННЙТПЧБОЙС, ПЮЕОШ РПИПЦЙНЙ ОБ РЕТЕНЕООЩЕ Ч НБФЕНБФЙЛЕ - РПМХЮЙЧ ПДОБЦДЩ УЧПЙ ЪОБЮЕОЙС, ПОЙ ВПМШЫЕ ОЙЛПЗДБ ЙИ ОЕ НЕОСАФ. пФУХФУФЧЙЕ РПВПЮОЩИ ЬЖЖЕЛФПЧ Ч РТПГЕУУЕ ЧЩЮЙУМЕОЙС ЖХОЛГЙК РТЙЧПДЙФ Л ФПНХ, ЮФП РПТСДПЛ ЧЩРПМОЕОЙС ПФДЕМШОЩИ ЖТБЗНЕОФПЧ РТПЗТБННЩ ОЕ УХЭЕУФЧЕОЕО - ЙФПЗПЧПЕ ЪОБЮЕОЙЕ Ч МАВПН УМХЮБЕ ВХДЕФ ПДЙОБЛПЧЩН.

жХОЛГЙПОБМШОПЕ РТПЗТБННЙТПЧБОЙЕ ЧЕУШНБ ЛТБУЙЧП Й ЙОПЗДБ Ч ЛБЮЕУФЧЕ РЕТЧПЗП СЪЩЛБ РТПЗТБННЙТПЧБОЙС, ЙЪХЮБЕНПЗП УФХДЕОФБНЙ, ЧЩВЙТБЕФУС Haskell ЙМЙ Lisp. дМС ХУРЕЫОПЗП ПЧМБДЕОЙС ДБООЩН УФЙМЕН РТПЗТБННЙТПЧБОЙС, ЧРТПЮЕН, ОЕПВИПДЙНП ЧЕУШНБ ЗМХВПЛПЕ РПОЙНБОЙЕ НОПЗЙИ ТБЪДЕМПЧ НБФЕНБФЙЛЙ.

рТЙНЕТ
иПТПЫЕК ЙММАУФТБГЙЕК ЖХОЛГЙПОБМШОПЗП УФЙМС РТПЗТБННЙТПЧБОЙС СЧМСЕФУС РТПЗТБННБ ОБ СЪЩЛЕ Haskell ДМС РПМХЮЕОЙС ЧУЕИ РЙЖБЗПТПЧЩИ ФТПЕЛ ЮЙУЕМ, ОЕ РТЕЧПУИПДСЭЙИ ЪБДБООПЗП ЮЙУМБ (РЙЖБЗПТПЧПК ФТПКЛПК ОБЪЩЧБАФ ФТЙ ГЕМЩИ ЮЙУМБ, СЧМСАЭЙИУС УФПТПОБНЙ ОЕЛПФПТПЗП РТСНПХЗПМШОПЗП ФТЕХЗПМШОЙЛБ).

уПЪДБКФЕ ЖБКМ У ЙНЕОЕН triads.hs Ч ЛПФПТЩК РПНЕУФЙФЕ УМЕДХАЭЙК ФЕЛУФ:

(УЛБЮБФШ ЖБКМ triads.hs)
triads n = [(x,y,z) | let ns = [1 .. n],
             x <- ns, y <- ns, z <- ns, x*x+y*y == z*z]
фБЛХА РТПЗТБННХ МЕЗЛП РПОСФШ: РПМХЮЙФШ ЧУЕ ФТПКЛЙ ГЕМЩИ ЮЙУЕМ x, y Й z, ОЕ РТЕЧЩЫБАЭЙИ ЪБДБООПЗП ЮЙУМБ n Й ХДПЧМЕФЧПТСАЭЙИ ХУМПЧЙА x2+y2=z2.

дМС ЪБРХУЛБ ЙОФЕТРТЕФБФПТБ СЪЩЛБ Haskell Ч ЛПНБОДОПК УФТПЛЕ ОБВЕТЙФЕ hugs. рПУМЕ РПСЧМЕОЙС РТЙЗМБЫЕОЙС > ЧЧЕДЙФЕ ЛПНБОДХ :load triads.hs ДМС ЪБЗТХЪЛЙ УПДЕТЦЙНПЗП ЖБКМБ Ч РБНСФШ. фЕРЕТШ НПЦОП ОБИПДЙФШ РЙЖБЗПТПЧЩ ФТЙБДЩ, ОБРТЙНЕТ, РТЙ РПНПЭЙ УМЕДХАЭЕЗП ЧЩЪПЧБ ЖХОЛГЙЙ triads 50. дМС ЪБЧЕТЫЕОЙС ТБВПФЩ ЙОФЕТРТЕФБФПТБ ОБВЕТЙФЕ :quit Й ОБЦНЙФЕ ОБ ЛМБЧЙЫХ Enter.

уМЕДХАЭБС РТПЗТБННБ ОБ СЪЩЛЕ Haskell ХЦЕ ОЕ УФПМШ ПЮЕЧЙДОБ, ОП ПОБ РПТБЦБЕФ УЧПЕК ЛТБФЛПУФША.

рТЙНЕТ
уПЪДБКФЕ ЖБКМ У ЙНЕОЕН primes.hs Й РПНЕУФЙФЕ Ч ОЕЗП УМЕДХАЭЙЕ УФТПЛЙ:

(УЛБЮБФШ ЖБКМ primes.hs)
primes  = map head (iterate sieve [2 ..])
sieve (p:xs) = [ x | x <- xs, x `rem` p /= 0 ]

рПУМЕ УФБТФБ ЙОФЕТРТЕФБФПТБ hugs Й ЪБЗТХЪЛЙ Ч ОЕЗП ЬФПК РТПЗТБННЩ ДПУФБФПЮОП ЧЩЪЧБФШ ЖХОЛГЙА primes (ВЕЪ БТЗХНЕОФПЧ) Й РТПЗТБННБ ОБЮОЕФ РЕЮБФБФШ РТПУФЩЕ ЮЙУМБ ДП ФЕИ РПТ, РПЛБ ЧЩ ОЕ РТЕТЧЕФЕ ЕЕ ЧЩРПМОЕОЙЕ, ОБЦБЧ ЛПНВЙОБГЙА ЛМБЧЙЫ Ctrl+C.

еЭЕ ПДОПК ТЕБМЙЪБГЙЕК ДЕЛМБТБФЙЧОПЗП УФЙМС СЧМСЕФУС МПЗЙЮЕУЛПЕ РТПЗТБННЙТПЧБОЙЕ, ПУОПЧБООПЕ ОБ МПЗЙЛЕ РТЕДЙЛБФПЧ, ЛПФПТПЕ РПДТПВОП ТБУУНБФТЙЧБЕФУС Ч УМЕДХАЭЕК ЗМБЧЕ.

мПЗЙЛБ РТЕДЙЛБФПЧ - ЬФП ЧЕФЧШ ЖПТНБМШОПК МПЗЙЛЙ, РПМХЮЙЧЫБС ТБЪЧЙФЙЕ Ч XX ЧЕЛЕ. ч МПЗЙЮЕУЛПН РТПЗТБННЙТПЧБОЙЙ ПУОПЧОПЕ ЧОЙНБОЙЕ ХДЕМСЕФУС ПРЙУБОЙА УФТХЛФХТЩ РТЙЛМБДОПК ЪБДБЮЙ, Б ОЕ ЧЩТБВПФЛЕ РТЕДРЙУБОЙК ЛПНРШАФЕТХ, ЮФП ЕНХ УМЕДХЕФ ДЕМБФШ. Prolog (ПФ ЖТБОГХЪУЛПЗП PROgrammation LOGique, ДБМЕЕ рТПМПЗ) - ЬФП ОБЙВПМЕЕ ЙЪЧЕУФОЩК СЪЩЛ МПЗЙЮЕУЛПЗП РТПЗТБННЙТПЧБОЙС. ьФПФ СЪЩЛ (ОБТСДХ У ЖХОЛГЙПОБМШОЩН СЪЩЛПН Lisp) ЮБУФП ОБЪЩЧБАФ СЪЩЛПН ЙУЛХУУФЧЕООПЗП ЙОФЕММЕЛФБ - У ЕЗП РПНПЭША ТЕЫБАФУС ЪБДБЮЙ УПЪДБОЙС ЬЛУРЕТФОЩИ УЙУФЕН Й УЙУФЕН ПВТБВПФЛЙ ЕУФЕУФЧЕООЩИ СЪЩЛПЧ.

рТЙНЕТ
дМС ЙММАУФТБГЙЙ РТЙОГЙРПЧ МПЗЙЮЕУЛПЗП РТПЗТБННЙТПЧБОЙС У ЙУРПМШЪПЧБОЙЕН СЪЩЛБ рТПМПЗ РТЙЧЕДЕН РТПЗТБННХ, ОБИПДСЭХА ТЕЫЕОЙЕ ЙЪЧЕУФОПК ЗПМПЧПМПНЛЙ "иБОПКУЛБС ВБЫОС", ЙЪПВТЕФЕООПК ЖТБОГХЪУЛЙН НБФЕНБФЙЛПН мАЛБ Ч 1883 ЗПДХ Й ХЛТБЫЕООПК ЙН ЦЕ МЕЗЕОДПК.

"зДЕ-ФП Ч ОЕРТПИПДЙНЩИ ДЦХОЗМСИ, ОЕДБМЕЛП ПФ ЗПТПДБ иБОПС, ЕУФШ НПОБУФЩТШ ВПЗБ вТБНЩ. ч ОБЮБМЕ ЧТЕНЕО, ЛПЗДБ вТБНБ УПЪДБЧБМ нЙТ, ПО ЧПЪДЧЙЗ Ч ЬФПН НПОБУФЩТЕ ФТЙ ЧЩУПЛЙИ БМНБЪОЩИ УФЕТЦОС Й ОБ ПДЙО ЙЪ ОЙИ ЧПЪМПЦЙМ 64 ДЙУЛБ, УДЕМБООЩИ ЙЪ ЮЙУФПЗП ЪПМПФБ. пО РТЙЛБЪБМ НПОБИБН РЕТЕОЕУФЙ ЬФХ ВБЫОА ОБ ДТХЗПК УФЕТЦЕОШ (Ч УППФЧЕФУФЧЙЙ У РТБЧЙМБНЙ, ТБЪХНЕЕФУС). у ЬФПЗП ЧТЕНЕОЙ НПОБИЙ ТБВПФБАФ ДЕОШ Й ОПЮШ. лПЗДБ ПОЙ ЪБЛПОЮБФ УЧПК ФТХД, ОБУФХРЙФ ЛПОЕГ УЧЕФБ."

рТБЧЙМБ РЕТЕНЕЭЕОЙС ДЙУЛПЧ ФБЛПЧЩ: ТБЪТЕЫБЕФУС УОЙНБФШ УП УФЕТЦОС ФПМШЛП ЧЕТИОЙК ДЙУЛ, ЪБРТЕЭБЕФУС ЛМБУФШ ВПМШЫЙК ДЙУЛ ОБ НЕОШЫЙК, РТЙ ЛБЦДПН ИПДЕ РЕТЕДЧЙЗБЕФУС ФПМШЛП ПДЙО ДЙУЛ.

рПНЕУФЙФЕ Ч ЖБКМ У ЙНЕОЕН hanoi.pl УМЕДХАЭЙК ФЕЛУФ (УЙНЧПМ % ОБЮЙОБЕФ ЛПННЕОФБТЙК, ЛПФПТЩК ОЕ ПВСЪБФЕМШОП РПНЕЭБФШ Ч ЖБКМ).

(УЛБЮБФШ ЖБКМ hanoi.pl)

% move(ЮЙУМП_ДЙУЛПЧ, ПФЛХДБ, ЛХДБ, ЮЕТЕЪ)
move(1,X,Y,_) :- write('Move top disk from '),
                 write(X), write(' to '),
                 write(Y), nl.
move(N,X,Y,Z) :- N>1, M is N-1,
                 move(M,X,Z,Y),
                 move(1,X,Y,_),
                 move(M,Z,Y,X).

ъБРХУФЙФЕ ЙОФЕТРТЕФБФПТ СЪЩЛБ рТПМПЗ РТЙ РПНПЭЙ ЛПНБОДЩ pl. рПУМЕ РПСЧМЕОЙС РТЙЗМБЫЕОЙС Л ТБВПФЕ (?- ) ЪБЗТХЪЙФЕ УПДЕТЦЙНПЕ ЖБКМБ ЛПНБОДПК [hanoi]. (ТБУЫЙТЕОЙЕ ЖБКМБ ХЛБЪЩЧБФШ ОЕ ОХЦОП, Б ЧПФ ФПЮЛБ РПУМЕ ЪБЛТЩЧБАЭЕК ЛЧБДТБФОПК УЛПВЛЙ ОЕПВИПДЙНБ). фЕРЕТШ, ЮФПВЩ ЪБУФБЧЙФШ рТПМПЗ ТЕЫЙФШ ЪБДБЮХ П РЕТЕНЕЭЕОЙЙ ФТЕИ ДЙУЛПЧ, ЧЧЕДЙФЕ УМЕДХАЭЙК ЪБРТПУ:

move(3,left,right,center).
(ОЕ ЪБВХДШФЕ П ФПЮЛЕ Ч ЛПОГЕ ЧЧПДБ). оЙЦЕ РТЙЧПДЙФУС РПТСДПЛ РЕТЕНЕЭЕОЙС ДЙУЛПЧ, ОБКДЕООЩК ЬФПК РТПЗТБННПК.

дМС ЪБЧЕТЫЕОЙС ТБВПФЩ У ЙОФЕТРТЕФБФПТПН ОБВЕТЙФЕ ЛПНБОДХ halt. Й ОБЦНЙФЕ Enter.

ъБДБОЙС

  1. йЪНЕОЙФЕ РТПЗТБННХ triads.hs ФБЛ, ЮФПВЩ ОЕ ЧЩЧПДЙМЙУШ ПДЙОБЛПЧЩЕ ФТПКЛЙ ЮЙУЕМ, ФБЛЙЕ ЛБЛ (3,4,5) Й (4,3,5). дМС ЬФПЗП ЧЧЕДЙФЕ ДПРПМОЙФЕМШОПЕ ХУМПЧЙЕ, ОБРТЙНЕТ, x<y.
  2. рПМХЮЙФЕ ТЕЫЕОЙЕ ЗПМПЧПМПНЛЙ "иБОПКУЛБС ВБЫОС" ДМС ЮЕФЩТЕИ ДЙУЛПЧ.


пВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЕ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

пВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЕ РТПЗТБННЙТПЧБОЙЕ

пВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЕ РТПЗТБННЙТПЧБОЙЕ (ппр) - ЬФП ТЕЪХМШФБФ ЕУФЕУФЧЕООПК ЬЧПМАГЙЙ ВПМЕЕ ТБООЙИ НЕФПДПМПЗЙК РТПЗТБННЙТПЧБОЙС. рПФТЕВОПУФШ Ч ппр УЧСЪБОБ УП УФТЕНЙФЕМШОЩН ХУМПЦОЕОЙЕН ТБЪТБВБФЩЧБЕНЩИ РТПЗТБНН Й, ЛБЛ УМЕДУФЧЙЕ, ЙИ ОЕДПУФБФПЮОПК ОБДЕЦОПУФША. нПДХМШОПЕ РТПЗТБННЙТПЧБОЙЕ, ТБУУНПФТЕООПЕ ЧЩЫЕ, ПЛБЪБМПУШ ОЕ УРПУПВОЩН ТЕЫЙФШ ЬФХ РТПВМЕНХ.

рТБЛФЙЮЕУЛЙ ЧУЕ УПЧТЕНЕООЩЕ СЪЩЛЙ РТПЗТБННЙТПЧБОЙС, ОЕЪБЧЙУЙНП ПФ РТЙОБДМЕЦОПУФЙ Л ФПНХ ЙМЙ ЙОПНХ УФЙМА (ДЙТЕЛФЙЧОПНХ ЙМЙ ДЕЛМБТБФЙЧОПНХ), РПДДЕТЦЙЧБАФ ЛПОГЕРГЙА ппр. уТЕДЙ ОЙИ C++, Java, Ruby Й Haskell. уХЭЕУФЧХАФ Й ЧЕТУЙЙ ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЗП рТПМПЗБ.

нПЦОП УЛБЪБФШ, ЮФП ппр - ЬФП НПДЕМЙТПЧБОЙЕ ПВЯЕЛФПЧ РПУТЕДУФЧПН ЙЕТБТИЙЮЕУЛЙ УЧСЪБООЩИ ЛМБУУПЧ. рТЙ ЬФПН НБМПЪОБЮБЭЙЕ ДЕФБМЙ ПВЯЕЛФБ УЛТЩФЩ ПФ ОБУ, Й ЕУМЙ НЩ ДБЕН ЛПНБОДХ ЛБЛПНХ-ФП ПВЯЕЛФХ, ФП ПО "ЪОБЕФ", ЛБЛ ЕЕ ЧЩРПМОЙФШ. жХОДБНЕОФБМШОПК ЛПОГЕРГЙЕК Ч ппр СЧМСЕФУС РПОСФЙЕ ПВСЪБООПУФЙ ЙМЙ ПФЧЕФУФЧЕООПУФЙ ЪБ ЧЩРПМОЕОЙЕ ДЕКУФЧЙС.

чУЕ ПВЯЕЛФЩ СЧМСАФУС РТЕДУФБЧЙФЕМСНЙ, ЙМЙ ЬЛЪЕНРМСТБНЙ, ЛМБУУПЧ. нЕФПД, БЛФЙЧЙЪЙТХЕНЩК ПВЯЕЛФПН Ч ПФЧЕФ ОБ УППВЭЕОЙЕ, ПРТЕДЕМСЕФУС ЛМБУУПН, Л ЛПФПТПНХ РТЙОБДМЕЦЙФ РПМХЮБФЕМШ УППВЭЕОЙС. чУЕ ПВЯЕЛФЩ ПДОПЗП ЛМБУУБ ЙУРПМШЪХАФ ПДОЙ Й ФЕ ЦЕ НЕФПДЩ Ч ПФЧЕФ ОБ ПДЙОБЛПЧЩЕ УППВЭЕОЙС.

лМБУУЩ РТЕДУФБЧМСАФУС Ч ЧЙДЕ ЙЕТБТИЙЮЕУЛПК ДТЕЧПЧЙДОПК УФТХЛФХТЩ, Ч ЛПФПТПК ЛМБУУЩ У ВПМЕЕ ПВЭЙНЙ ЮЕТФБНЙ ТБУРПМБЗБАФУС Ч ЛПТОЕ ДЕТЕЧБ, Б УРЕГЙБМЙЪЙТПЧБООЩЕ ЛМБУУЩ Й Ч ЛПОЕЮОПН ЙФПЗЕ ЙОДЙЧЙДХНЩ ТБУРПМБЗБАФУС Ч ЧЕФЧСИ. оБ ТЙУХОЛЕ РПЛБЪБОБ ПДОБ ЙЪ ЧПЪНПЦОЩИ ЙЕТБТИЙК ЛМБУУПЧ, ЧЛМАЮБАЭБС Ч УЕВС УПВБЛ вЕМЛХ Й уФТЕМЛХ, ЛПЫЛХ нХТЛХ Й ХФЛПОПУБ жТПУА.

лМБУУЩ УПВБЛ, ЛПЫЕЛ Й ХФЛПОПУПЧ СЧМСАФУС ДПЮЕТОЙНЙ РП ПФОПЫЕОЙА Л ЛМБУУХ НМЕЛПРЙФБАЭЙИ, УМЕДПЧБФЕМШОП ОБУМЕДХАФ ЕЗП УЧПКУФЧБ. рТЙ РТПЗТБННОПК ТЕБМЙЪБГЙЙ ЬФПК ЙЕТБТИЙЙ МПЗЙЮОП НЕФПД "ЛПТНМЕОЙЕ ДЕФЕОЩЫЕК" ТЕБМЙЪПЧЩЧБФШ Ч ТПДЙФЕМШУЛПН ЛМБУУЕ, ЧНЕУФП ФПЗП, ЮФПВЩ ОЕУЛПМШЛП ТБЪ ДХВМЙТПЧБФШ ЕЗП Ч ЛБЦДПН ЙЪ РПДЛМБУУПЧ. оБУМЕДПЧБОЙЕ УЧПКУФЧ ТПДЙФЕМШУЛПЗП ЛМБУУБ РПЪЧПМСЕФ ЙУРПМШЪПЧБФШ ЙИ Ч ДПЮЕТОЙИ ЛМБУУБИ. оЕНОПЗП ДТХЗБС УЙФХБГЙС У ТПЦДЕОЙЕН ДЕФЕОЩЫЕК, ЧЕДШ ХФЛПОПУЩ ПФЛМБДЩЧБАФ СКГБ, Б ОЕ СЧМСАФУС ЦЙЧПТПДСЭЙНЙ ЦЙЧПФОЩНЙ? ч ЬФПК УЙФХБГЙЙ ЧЩТХЮБЕФ УЧПКУФЧП РПМЙЖПТНЙЪНБ: ТБЪМЙЮОЩЕ ТЕБМЙЪБГЙЙ НЕФПДПЧ НПЗХФ ОПУЙФШ ПДЙОБЛПЧЩЕ ЙНЕОБ, Б УЙУФЕНБ УБНБ ПРТЕДЕМЙФ ЛБЛХА ЙЪ ТЕБМЙЪБГЙК ЙУРПМШЪПЧБФШ Ч ФПН ЙМЙ ЙОПН УМХЮБЕ. ч ОБЫЕН РТЙНЕТЕ УМЕДХЕФ Ч ЛМБУУЕ НМЕЛПРЙФБАЭЙИ ТЕБМЙЪПЧБФШ НЕФПД "РПФПНУФЧП" (ТПДЙФШ ДЕФЕОЩЫБ), Ч ЛМБУУБИ УПВБЛ Й ЛПЫЕЛ ЬФПФ НЕФПД ВХДЕФ ПФУХФУФЧПЧБФШ (УЙУФЕНБ ВХДЕФ ЙУЛБФШ ЕЗП Ч ТПДЙФЕМШУЛПН ЛМБУУЕ Й ОБКДЕФ ЕЗП ФБН), Б Ч ЛМБУУЕ ХФЛПОПУПЧ ОХЦОП ОБРЙУБФШ ОПЧЩК НЕФПД, У ФЕН ЦЕ ЙНЕОЕН, ОП ДТХЗПК ТЕБМЙЪБГЙЕК (ПФМПЦЙФШ СКГБ).

йФБЛ, Ч ПУОПЧЕ ппр МЕЦБФ ФТЙ ПУОПЧОЩИ РПОСФЙС:

  • ЙОЛБРУХМСГЙС (УПЛТЩФЙЕ ДБООЩИ Ч ЛМБУУЕ ЙМЙ НЕФПДЕ);
  • ОБУМЕДПЧБОЙЕ;
  • РПМЙНПТЖЙЪН.

йОЛБРУХМСГЙА НПЦОП РТЕДУФБЧЙФШ, ЛБЛ ЪБЭЙФОХА ПВПМПЮЛХ ЧПЛТХЗ ЛПДБ ДБООЩИ, У ЛПФПТЩНЙ ЬФПФ ЛПД ТБВПФБЕФ. пВПМПЮЛБ ЪБДБЕФ РПЧЕДЕОЙЕ Й ЪБЭЙЭБЕФ ЛПД ПФ РТПЙЪЧПМШОПЗП ДПУФХРБ ЙЪЧОЕ.

оБУМЕДПЧБОЙЕ - ЬФП РТПГЕУУ, Ч ТЕЪХМШФБФЕ ЛПФПТПЗП ПДЙО ФЙР ОБУМЕДХЕФ УЧПКУФЧБ ДТХЗПЗП ФЙРБ.

рПМЙНПТЖЙЪН - ЬФП ЛПОГЕРГЙС, РПЪЧПМСАЭБС ЙНЕФШ ТБЪМЙЮОЩЕ ТЕБМЙЪБГЙЙ ДМС ПДОПЗП Й ФПЗП ЦЕ НЕФПДБ, ЛПФПТЩЕ ВХДХФ ЧЩВЙТБФШУС Ч ЪБЧЙУЙНПУФЙ ПФ ФЙРБ ПВЯЕЛФБ, РЕТЕДБООПЗП НЕФПДХ РТЙ ЧЩЪПЧЕ.

рТЙНЕТ
дМС ЙММАУФТБГЙЙ ОЕЛПФПТЩИ РТЙОГЙРПЧ ппр РТЙЧЕДЕН ОЕВПМШЫХА РТПЗТБННХ ОБ СЪЩЛЕ Ruby, ЛПФПТЩК ФПЦЕ РПДДЕТЦЙЧБЕФ ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩК УФЙМШ РТПЗТБННЙТПЧБОЙС.

рПНЕУФЙФЕ Ч ЖБКМ У ЙНЕОЕН life.rb ЖТБЗНЕОФ ЛПДБ, ТБУРПМПЦЕООЩК ОЙЦЕ.

(УЛБЮБФШ ЖБКМ life.rb)
class Animal
  def breath #дЩИБОЙЕ
    print "ЧУЕ ЦЙЧПФОЩЕ ДЩЫБФ: ЧДПИОХМЙ Й ЧЩДПИОХМЙ\n"
  end
end
class Cat<Animal
  def bark # рПДБФШ ЗПМПУ
    print "Mew Mew, С ЛПЫЛБ. \n"
  end
end
class Dog
  def bark # рПДБФШ ЗПМПУ
    print "Bow Wow, С УПВБЛБ. \n"
  end
end
class Bird
  def lay_egg
    print "сКГП УОЕУЕОП\n"
  end
  def fly
    print "с РФЙГБ, С МЕЮХ!!!\n"
  end
end
class Penguin<Bird
  def fly
    print "рЙОЗЧЙОЩ ОЕ МЕФБАФ!!!\n"
  end
end
# уПЪДБЕН ПВЯЕЛФЩ ТБЪОЩИ ЛМБУУПЧ
pochi = Dog.new
pochi.bark
tama = Cat.new
tama.breath
tama.bark
macaw  = Bird.new
macaw.lay_egg
macaw.fly
penguin  = Penguin.new
penguin.lay_egg
penguin.fly
дМС ЪБРХУЛБ ЬФПК РТПЗТБННЩ ЧЩРПМОЙФЕ Ч ПЛОЕ shell ЛПНБОДХ
ruby life.rb
еУМЙ ЧЩ РПОСМЙ, ЛБЛПК НЙТ ПРЙУЩЧБЕФ ДБООБС РТПЗТБННБ, ФП РПРТПВХКФЕ УРТБЧЙФШУС У РТЙЧЕДЕООЩНЙ ОЙЦЕ ЪБДБОЙСНЙ.

ъБДБОЙС

  1. уПЪДБКФЕ ЕЭЕ ПДОХ ЛПЫЛХ.
  2. пВЯСУОЙФЕ, ЛЕН СЧМСЕФУС pochi Й УНПЦЕФ МЙ ПО ЧЩРПМОЙФШ ЛПНБОДХ pochi.breath (ДЩЫБФШ)? еУМЙ ОЕФ, ФП ЧОЕУЙФЕ УППФЧЕФУФЧХАЭЙЕ ЙЪНЕОЕОЙС Ч ФЕЛУФ РТПЗТБННЩ.
  3. йЪНЕОЙФЕ ЛПД РТПЗТБННЩ ФБЛ, ЮФПВЩ Й РФЙГЩ Ч ОЕК ФПЦЕ ХНЕМЙ ДЩЫБФШ.


10. мПЗЙЮЕУЛПЕ РТПЗТБННЙТПЧБОЙЕ

зМБЧБ 10 мПЗЙЮЕУЛПЕ РТПЗТБННЙТПЧБОЙЕ

рТПМПЗ (Prolog, РТПЗТБННЙТПЧБОЙЕ Ч МПЗЙЛЕ) - ПДЙО ЙЪ ОБЙВПМЕЕ ЫЙТПЛП ЙУРПМШЪХЕНЩИ СЪЩЛПЧ МПЗЙЮЕУЛПЗП РТПЗТБННЙТПЧБОЙС. лБЛ Й ДМС ДТХЗЙИ ДЕЛМБТБФЙЧОЩИ СЪЩЛПЧ, РТЙ ТБВПФЕ У ОЙН НЩ ПРЙУЩЧБЕН УЙФХБГЙА (РТБЧЙМБ Й ЖБЛФЩ) Й ЖПТНХМЙТХЕН ГЕМШ (ЪБРТПУ), РПЪЧПМСС ЙОФЕТРТЕФБФПТХ рТПМПЗБ ОБКФЙ ТЕЫЕОЙЕ ЪБДБЮЙ ЪБ ОБУ.

рПД ЙОФЕТРТЕФБФПТПН рТПМПЗБ НЩ ВХДЕН РПОЙНБФШ НЕИБОЙЪН ТЕЫЕОЙС ЪБДБЮЙ РТЙ РПНПЭЙ СЪЩЛБ рТПМПЗ. дТХЗЙНЙ УМПЧБНЙ, ЙОФЕТРТЕФБФПТ СЪЩЛБ рТПМПЗ - ЬФП ЙУРПМОЙФЕМШ рТПМПЗ-РТПЗТБНН, Ф. Е. ФБ "БЛФЙЧОБС УЙМБ", ЛПФПТБС ЧЩРПМОСЕФ РТПЗТБННЩ, ОБРЙУБООЩЕ ОБ рТПМПЗЕ.

х ЛБЦДПЗП ЙЪ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС ЕУФШ УЧПК ЛТХЗ ЪБДБЮ, РТЙ ТЕЫЕОЙЙ ЛПФПТЩИ ПО ЙУРПМШЪХЕФУС У ОБЙВПМШЫЕК ЬЖЖЕЛФЙЧОПУФША. дМС рТПМПЗБ ЬФП ЪБДБЮЙ, УЧСЪБООЩЕ У ТБЪТБВПФЛПК УЙУФЕН ЙУЛХУУФЧЕООПЗП ЙОФЕММЕЛФБ (ТБЪМЙЮОЩЕ ЬЛУРЕТФОЩЕ УЙУФЕНЩ, РТПЗТБННЩ-РЕТЕЧПДЮЙЛЙ, ЙОФЕММЕЛФХБМШОЩЕ ЙЗТЩ). пО ЙУРПМШЪХЕФУС ДМС ПВТБВПФЛЙ ЕУФЕУФЧЕООПЗП СЪЩЛБ Й ПВМБДБЕФ НПЭОЩНЙ УТЕДУФЧБНЙ, РПЪЧПМСАЭЙНЙ ЙЪЧМЕЛБФШ ЙОЖПТНБГЙА ЙЪ ВБЪ ДБООЩИ, РТЙЮЕН НЕФПДЩ РПЙУЛБ, ЙУРПМШЪХЕНЩЕ Ч ОЕН, РТЙОГЙРЙБМШОП ПФМЙЮБАФУС ПФ ФТБДЙГЙПООЩИ.

рТПМПЗ ОБЫЕМ РТЙНЕОЕОЙЕ Й Ч ТСДЕ ДТХЗЙИ ПВМБУФЕК, ОБРТЙНЕТ, РТЙ ТЕЫЕОЙЙ ЪБДБЮ УПУФБЧМЕОЙС УМПЦОЩИ ТБУРЙУБОЙК. рТЙ ЬФПН ПО ОЕ СЧМСЕФУС ХОЙЧЕТУБМШОЩН СЪЩЛПН РТПЗТБННЙТПЧБОЙС Й ОЕ РТЕДОБЪОБЮЕО, ОБРТЙНЕТ, ДМС ТЕЫЕОЙС ЪБДБЮ, УЧСЪБООЩИ У ЗТБЖЙЛПК ЙМЙ ЮЙУМЕООЩНЙ НЕФПДБНЙ.

уХЭЕУФЧХЕФ ВПМШЫПЕ ЛПМЙЮЕУФЧП ТЕБМЙЪБГЙК СЪЩЛБ рТПМПЗ, ЛБЛ ЛПННЕТЮЕУЛЙИ, ФБЛ Й УЧПВПДОП ТБУРТПУФТБОСЕНЩИ. нЩ ВХДЕН ПТЙЕОФЙТПЧБФШУС ОБ SWI-Prolog, ТБЪТБВПФБООЩК Ч ХОЙЧЕТУЙФЕФЕ ЗПТПДБ бНУФЕТДБН. чПЪНПЦОПУФЕК ДБООПК ТЕБМЙЪБГЙЙ ЧРПМОЕ ДПУФБФПЮОП ДМС РЕТЧПОБЮБМШОПЗП ЪОБЛПНУФЧБ У ПУОПЧБНЙ МПЗЙЮЕУЛПЗП РТПЗТБННЙТПЧБОЙС.

SWI-Prolog ТБУРТПУФТБОСЕФУС РПД МЙГЕОЪЙЕК GPL, ЮФП ПВЕУРЕЮЙЧБЕФ ЧПЪНПЦОПУФШ ЕЗП ЙУРПМШЪПЧБОЙС ВЕЪ ОБТХЫЕОЙК ЮШЙИ-МЙВП ЛПННЕТЮЕУЛЙИ ЙОФЕТЕУПЧ. ьФБ ЧЕТУЙС СЪЩЛБ рТПМПЗ ДПУФХРОБ ЛБЛ РПМШЪПЧБФЕМСН пу Linux, ФБЛ Й РПМШЪПЧБФЕМСН Windows.


мПЗЙЛБ Й рТПМПЗ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

лМБУУЙЮЕУЛБС МПЗЙЛБ Й СЪЩЛ рТПМПЗ

мПЗЙЮЕУЛЙЕ СЪЩЛЙ, ЛБЛ Й УМЕДХЕФ ЙЪ ЙИ ОБЪЧБОЙС, ДМС ГЕМЙ РЕТЕДБЮЙ УНЩУМБ РТПЗТБНН ЙУРПМШЪХАФ УТЕДУФЧБ НБФЕНБФЙЮЕУЛПК МПЗЙЛЙ. уБНБ РП УЕВЕ МПЗЙЛБ ВЩМБ ЙЪПВТЕФЕОБ ЛБЛ ЙОУФТХНЕОФ ЮЕМПЧЕЮЕУЛПК НЩУМЙ, РПЪЧПМСАЭЙК ХРПТСДПЮЙФШ ЪОБОЙС Й РПМХЮЙФШ ЙЪ ОЙИ УППФЧЕФУФЧХАЭЙЕ ЧЩЧПДЩ. рПЬФПНХ ЙДЕС ЙУРПМШЪПЧБОЙС РТЙОГЙРПЧ НБФЕНБФЙЮЕУЛПК МПЗЙЛЙ РТЙ УПУФБЧМЕОЙЙ ЛПНРШАФЕТОЩИ РТПЗТБНН ЛБЦЕФУС ДПЧПМШОП ЕУФЕУФЧЕООПК.

тБОЕЕ НЩ ХЦЕ РПЪОБЛПНЙМЙУШ У ЮБУФША МПЗЙЛЙ, ОБЪЩЧБЕНПК ЙУЮЙУМЕОЙЕН ЧЩУЛБЪЩЧБОЙК. оП ЙУЮЙУМЕОЙЕ ЧЩУЛБЪЩЧБОЙК ОЕ ДБЕФ ЧПЪНПЦОПУФЙ ЧЩТБЪЙФШ НОПЗЙЕ ЖБЛФЩ Й ТБУУХЦДЕОЙС, ЛПФПТЩНЙ РПМШЪХАФУС Ч ПВЩДЕООПК ЦЙЪОЙ. оБРТЙНЕТ, ТБУУНПФТЙН ЛМБУУЙЮЕУЛПЕ ТБУУХЦДЕОЙЕ:

чУЕ МАДЙ УНЕТФОЩ (p);
уПЛТБФ - ЮЕМПЧЕЛ (q);
УМЕДПЧБФЕМШОП, (->)
уПЛТБФ УНЕТФЕО (r).
ьФП ТБУУХЦДЕОЙЕ ЧЕТОПЕ, ОП ЕЗП ОЕЧПЪНПЦОП ДПЛБЪБФШ Ч ТБНЛБИ ФЕПТЙЙ ЧЩУЛБЪЩЧБОЙК. нЩ НПЦЕН ЪБРЙУБФШ ЖПТНХМХ (p&&q)->r, ОП ДПЛБЪБФШ ЕЕ ЙУФЙООПУФШ ХЦЕ ОЕ УНПЦЕН. фБЛЙН ПВТБЪПН, МПЗЙЛБ ЧЩУЛБЪЩЧБОЙК ОЕ РПЪЧПМСЕФ ДПУФБФПЮОП ФПЮОП ЧЩТБЪЙФШ ТБУУНБФТЙЧБЕНПЕ ТБУУХЦДЕОЙЕ. ьФП УЧСЪБОП У ФЕН, ЮФП ПОБ ТБУУНБФТЙЧБЕФ ЛБЦДПЕ ЧЩУЛБЪЩЧБОЙЕ ЛБЛ ОЕДЕМЙНЩК ПВЯЕЛФ, Ч ФП ЧТЕНС ЛБЛ НОПЗЙЕ ЙЪ ЧЩУЛБЪЩЧБОЙК ЪБЧЙУСФ ПФ ОЕЛЙИ РБТБНЕФТПЧ.

йУЮЙУМЕОЙЕ РТЕДЙЛБФПЧ СЧМСЕФУС ПВПВЭЕОЙЕН ЙУЮЙУМЕОЙС ЧЩУЛБЪЩЧБОЙК, РПЪЧПМСАЭЙН ЙУРПМШЪПЧБФШ РБТБНЕФТЩ (ОБЪЩЧБЕНЩЕ ФБЛЦЕ БТЗХНЕОФБНЙ ЙМЙ РЕТЕНЕООЩНЙ) Ч ЧЩУЛБЪЩЧБОЙСИ. ч ФЕТНЙОБИ ФЕПТЙЙ РТЕДЙЛБФПЧ ОБЫЕ ТБУУХЦДЕОЙЕ НПЦОП ЪБРЙУБФШ ФБЛ:

дМС ЧУЕИ x, ЕУМЙ x СЧМСЕФУС ЮЕМПЧЕЛПН,
ФП x СЧМСЕФУС УНЕТФОЩН;
уПЛТБФ СЧМСЕФУС ЮЕМПЧЕЛПН;
(УМЕДПЧБФЕМШОП)
уПЛТБФ СЧМСЕФУС УНЕТФОЩН.

йЪХЮЕОЙЕ ЙУЮЙУМЕОЙС РТЕДЙЛБФПЧ ОЕ СЧМСЕФУС ОБЫЕК ЪБДБЮЕК, ПДОБЛП, ДМС ФПЗП, ЮФПВЩ РТЙНЕОСФШ СЪЩЛ МПЗЙЮЕУЛПЗП РТПЗТБННЙТПЧБОЙС, ОЕ ПВСЪБФЕМШОП ЪОБФШ МПЗЙЛХ РТЕДЙЛБФПЧ: ПОБ ХЦЕ ЧУФТПЕОБ Ч ОЕЗП. дПУФБФПЮОП ЙЪХЮЙФШ УБН СЪЩЛ Й РТЙЧЩЛОХФШ Л ЕЗП ЧЩТБЪЙФЕМШОЩН УТЕДУФЧБН.

сЪЩЛ рТПМПЗ, УБНЩК ЙЪЧЕУФОЩК ЙЪ РТЕДУФБЧЙФЕМЕК УЕНЕКУФЧБ СЪЩЛПЧ МПЗЙЮЕУЛПЗП РТПЗТБННЙТПЧБОЙС, ЧЩТПУ ЙЪ ТБВПФ бМБОБ лПМНЕТБХЬТБ (A. Colmerauer) РП ПВТБВПФЛЕ ЕУФЕУФЧЕООПЗП СЪЩЛБ Й ОЕЪБЧЙУЙНЩИ ТБВПФ тПВЕТФБ лПЧБМШЛПЗП (R. Kowalski) РП РТЙМПЦЕОЙСН МПЗЙЛЙ Л РТПЗТБННЙТПЧБОЙА. дЬЧЙДХ хПТТЕОХ (D. Warren) Й ЕЗП ЛПММЕЗБН ЙЪ ьДЙОВХТЗУЛПЗП ХОЙЧЕТУЙФЕФБ ХДБМПУШ ПУХЭЕУФЧЙФШ ДПУФБФПЮОП ЬЖЖЕЛФЙЧОХА ТЕБМЙЪБГЙА рТПМПЗБ. йНС хПТТЕОБ ЧПЫМП Ч ЙУФПТЙА МПЗЙЮЕУЛПЗП РТПЗТБННЙТПЧБОЙС. ч ЕЗП ЮЕУФШ ОБЪЧБОБ ВБЪПЧБС ФЕИОЙЛБ ТЕБМЙЪБГЙЙ рТПМПЗБ, РПМХЮЙЧЫБС ОБЪЧБОЙЕ БВУФТБЛФОПК НБЫЙОЩ хПТТЕОБ.

рТПЗТБННБ ОБ СЪЩЛЕ рТПМПЗ РТЕДУФБЧМСЕФ УПВПК ОБВПТ ЖБЛФПЧ Й (ЧПЪНПЦОП) РТБЧЙМ. еУМЙ РТПЗТБННБ УПДЕТЦЙФ ФПМШЛП ЖБЛФЩ, ФП ЕЕ ОБЪЩЧБАФ ВБЪБ ДБООЩИ. еУМЙ ПОБ УПДЕТЦЙФ ЕЭЕ Й РТБЧЙМБ, ФП ЮБУФП ЙУРПМШЪХАФ ФЕТНЙО ВБЪБ ЪОБОЙК.

дМС ЪБРХУЛБ рТПМПЗБ, ОБВЕТЙФЕ Ч ЛПНБОДОПК УФТПЛЕ pl Й ОБЦНЙФЕ Enter. оБ ЬЛТБОЕ РПСЧЙФУС РТЙЗМБЫЕОЙЕ ДМС ЧЧПДБ ЪБРТПУПЧ:

?-

ъБРТПУ (ЧПРТПУ) ЧЧПДЙФУС РПУМЕ РТЙЗМБЫЕОЙС Й ПВСЪБФЕМШОП ЪБЛБОЮЙЧБЕФУС ФПЮЛПК, ОБРТЙНЕТ,

?- 5+4<3.
No
рТПМПЗ БОБМЙЪЙТХЕФ ЪБРТПУ Й ЧЩДБЕФ ПФЧЕФ Yes (дБ) Ч УМХЮБЕ ЙУФЙООПУФЙ ХФЧЕТЦДЕОЙС Й No (оЕФ) Ч РТПФЙЧОПН УМХЮБЕ ЙМЙ ЛПЗДБ ПФЧЕФ ОЕ НПЦЕФ ВЩФШ ОБКДЕО.

иТБОСФ РТПЗТБННЩ ОБ СЪЩЛЕ рТПМПЗ Ч ФЕЛУФПЧЩИ ЖБКМБИ, ЮБЭЕ ЧУЕЗП ЙНЕАЭЙИ ТБУЫЙТЕОЙЕ pl, ОБРТЙНЕТ, example1.pl. дМС ФПЗП ЮФПВЩ рТПМПЗ НПЗ ПРЕТЙТПЧБФШ ЙОЖПТНБГЙЕК, УПДЕТЦБЭЕКУС Ч ЖБКМЕ, ПО ДПМЦЕО ПЪОБЛПНЙФУС У ЕЗП УПДЕТЦЙНЩН (РТПЛПОУХМШФЙТПЧБФШУС У ОЙН). ьФП НПЦОП УДЕМБФШ ОЕУЛПМШЛЙНЙ УРПУПВБНЙ. рТЙ ЙУРПМШЪПЧБОЙЙ РЕТЧПЗП ЧБТЙБОФБ Ч ЛЧБДТБФОЩИ УЛПВЛБИ ЪБРЙУЩЧБЕФУС ЙНС ЖБКМБ (ВЕЪ pl), ОБРТЙНЕТ,

?- [example1].
ч УМХЮБЕ ХДБЮОПЗП ЪБЧЕТЫЕОЙС ЬФПК ПРЕТБГЙЙ ВХДЕФ ЧЩДБОП УППВЭЕОЙЕ, БОБМПЗЙЮОПЕ УМЕДХАЭЕНХ:
% example1 compiled 0.00 sec, 612 bytes
Yes
ч РТПФЙЧОПН УМХЮБЕ ВХДЕФ ЧЩДБО УРЙУПЛ ПЫЙВПЛ (ERROR) Й/ЙМЙ РТЕДХРТЕЦДЕОЙК (Warning).

чФПТПК УРПУПВ УПУФПЙФ Ч ЧЩЪПЧЕ ЧУФТПЕООПЗП РТЕДЙЛБФБ consult, ЛПФПТПНХ Ч ЛБЮЕУФЧЕ БТЗХНЕОФБ РЕТЕДБЕФУС ЙНС ЖБКМБ (ФБЛЦЕ ВЕЪ ТБУЫЙТЕОЙС), ОБРТЙНЕТ:

?- consult(example1).

тБУЫЙТЕОЙЕ pl ЮБУФП ЙУРПМШЪХЕФУС ДМС ЖБКМПЧ, УПДЕТЦБЭЙИ РТПЗТБННЩ ОБ СЪЩЛЕ РТПЗТБННЙТПЧБОЙС Perl, РПЬФПНХ НПЦОП ЧУФТЕФЙФШ Й ДТХЗЙЕ ТБУЫЙТЕОЙС ДМС ЖБКМПЧ У РТПЗТБННБНЙ ОБ рТПМПЗЕ. дМС ЪБЗТХЪЛЙ ЖБКМПЧ У ТБУЫЙТЕОЙСНЙ, ПФМЙЮОЩНЙ ПФ pl, ЧУЕ ЙНС ЖБКМБ УМЕДХЕФ ПВСЪБФЕМШОП ЪБЛМАЮБФШ Ч БРПУФТПЖЩ:

?- consult('example2.prolog').
?- ['example2.prolog'].

пВЕ ЬФЙ ЛПНБОДЩ ДПВБЧМСАФ ЖБЛФЩ Й РТБЧЙМБ ЙЪ ХЛБЪБООПЗП ЖБКМБ Ч ВБЪХ ДБООЩИ рТПМПЗБ. нПЦОП ЪБЗТХЦБФШ ОЕУЛПМШЛП ЖБКМПЧ ПДОПЧТЕНЕООП. ч ЬФПН УМХЮБЕ ПОЙ РЕТЕЮЙУМСАФУС ЮЕТЕЪ ЪБРСФХА, ОБРТЙНЕТ,

?- [example1, 'example2.prolog'].

чБЦОП РПНОЙФШ, ЮФП ЧУЕ ЪБРТПУЩ ДПМЦОЩ ЪБЛБОЮЙЧБФШУС ФПЮЛПК. еУМЙ ЧЩ ЪБВХДЕФЕ ЕЕ РПУФБЧЙФШ, ФП рТПМПЗ ЧЩЧЕДЕФ УЙНЧПМ '|' Й ВХДЕФ ПЦЙДБФШ ДБМШОЕКЫЕЗП ЧЧПДБ. ч ЬФПН УМХЮБЕ ОБДП ЧЧЕУФЙ ФПЮЛХ Й ОБЦБФШ ЛМБЧЙЫХ Enter:

?- [example1]
| .
Yes


фЕТНЩ Й ПВЯЕЛФЩ

рТПЗТБННБ ОБ СЪЩЛЕ рТПМПЗ ПВЩЮОП ПРЙУЩЧБЕФ ОЕЛХА ДЕКУФЧЙФЕМШОПУФШ. пВЯЕЛФЩ (ЬМЕНЕОФЩ) ПРЙУЩЧБЕНПЗП НЙТБ РТЕДУФБЧМСАФУС У РПНПЭША ФЕТНПЧ. фЕТН ЙОФХЙФЙЧОП ПЪОБЮБЕФ ПВЯЕЛФ. уХЭЕУФЧХЕФ 4 ЧЙДБ ФЕТНПЧ: БФПНЩ, ЮЙУМБ, РЕТЕНЕООЩЕ Й УПУФБЧОЩЕ ФЕТНЩ. бФПНЩ Й ЮЙУМБ ЙОПЗДБ ЗТХРРЙТХАФ ЧНЕУФЕ Й ОБЪЩЧБАФ РТПУФЕКЫЙНЙ ФЕТНБНЙ.

бФПН - ЬФП ПФДЕМШОЩК ПВЯЕЛФ, УЮЙФБАЭЙКУС ЬМЕНЕОФБТОЩН. ч рТПМПЗЕ БФПН РТЕДУФБЧМСЕФУС РПУМЕДПЧБФЕМШОПУФША ВХЛЧ ОЙЦОЕЗП Й ЧЕТИОЕЗП ТЕЗЙУФТБ, ГЙЖТ Й УЙНЧПМБ РПДЮЕТЛЙЧБОЙС '_', ОБЮЙОБАЭЕКУС УП УФТПЮОПК ВХЛЧЩ. лТПНЕ ФПЗП, МАВПК ОБВПТ ДПРХУФЙНЩИ УЙНЧПМПЧ, ЪБЛМАЮЕООЩК Ч БРПУФТПЖЩ, ФБЛЦЕ СЧМСЕФУС БФПНПН. оБЛПОЕГ, ЛПНВЙОБГЙЙ УРЕГЙБМШОЩИ УЙНЧПМПЧ + - * = < > : & ФБЛЦЕ СЧМСАФУС БФПНБНЙ (УМЕДХЕФ ПФНЕФЙФШ, ЮФП ОБВПТ ЬФЙИ УЙНЧПМПЧ НПЦЕФ ПФМЙЮБФШУС Ч ТБЪМЙЮОЩИ ЧЕТУЙСИ рТПМПЗБ).

рТЙНЕТ
рТЕДУФБЧМЕООЩЕ ДБМЕЕ РПУМЕДПЧБФЕМШОПУФЙ СЧМСАФУС ЛПТТЕЛФОЩНЙ БФПНБНЙ:

b, abcXYZ, x_123, efg_hij, ЛПМС, УМЕУБТШ,
'ьФП ФБЛЦЕ БФПН рТПМПЗБ',
+, ::, <---->, ***

юЙУМБ Ч рТПМПЗЕ ВЩЧБАФ ГЕМЩНЙ (Integer) Й ЧЕЭЕУФЧЕООЩНЙ (Float).

уЙОФБЛУЙУ ГЕМЩИ ЮЙУЕМ РТПУФ, ЛБЛ ЬФП ЧЙДОП ЙЪ УМЕДХАЭЙИ РТЙНЕТПЧ: 1, 1313, 0, -97. оЕ ЧУЕ ГЕМЩЕ ЮЙУМБ НПЗХФ ВЩФШ РТЕДУФБЧМЕОЩ Ч НБЫЙОЕ, ЙИ ДЙБРБЪПО ПЗТБОЙЮЕО ЙОФЕТЧБМПН НЕЦДХ ОЕЛПФПТЩНЙ НЙОЙНБМШОЩН Й НБЛУЙНБМШОЩН ЪОБЮЕОЙСНЙ, ПРТЕДЕМЕООЩНЙ ЛПОЛТЕФОПК ТЕБМЙЪБГЙЕК рТПМПЗБ. SWI-Prolog ДПРХУЛБЕФ ЙУРПМШЪПЧБОЙЕ ГЕМЩИ ЮЙУЕМ Ч ДЙБРБЪПОЕ ПФ -2147483648 (-231) ДП 2147483647 (231-1).

уЙОФБЛУЙУ ЧЕЭЕУФЧЕООЩИ ЮЙУЕМ ФБЛЦЕ ЪБЧЙУЙФ ПФ ЛПОЛТЕФОПК ТЕБМЙЪБГЙЙ. нЩ ВХДЕН РТЙДЕТЦЙЧБФШУС РТПУФЩИ РТБЧЙМ, РПОСФОЩИ ЙЪ УМЕДХАЭЙИ РТЙНЕТПЧ: 3.14, -0.0035, 100.2. рТЙ ПВЩЮОПН РТПЗТБННЙТПЧБОЙЙ ОБ рТПМПЗЕ ЧЕЭЕУФЧЕООЩЕ ЮЙУМБ ЙУРПМШЪХАФУС ТЕДЛП. рТЙЮЙОБ ЬФПЗП ЛТПЕФУС Ч ФПН, ЮФП рТПМПЗ - СЪЩЛ, РТЕДОБЪОБЮЕООЩК Ч РЕТЧХА ПЮЕТЕДШ ДМС ПВТБВПФЛЙ УЙНЧПМШОПК, Б ОЕ ЮЙУМПЧПК ЙОЖПТНБГЙЙ. рТЙ УЙНЧПМШОПК ПВТБВПФЛЕ ЮБУФП ЙУРПМШЪХАФУС ГЕМЩЕ ЮЙУМБ, ОХЦДБ ЦЕ Ч ЧЕЭЕУФЧЕООЩИ ЮЙУМБИ ОЕЧЕМЙЛБ. чЕЪДЕ, ЗДЕ НПЦОП, рТПМПЗ УФБТБЕФУС РТЙЧЕУФЙ ЮЙУМП Л ГЕМПНХ ЧЙДХ.

рЕТЕНЕООЩНЙ Ч рТПМПЗЕ СЧМСАФУС УФТПЛЙ УЙНЧПМПЧ, ГЙЖТ Й УЙНЧПМБ РПДЮЕТЛЙЧБОЙС, ОБЮЙОБАЭЙЕУС У ЪБЗМБЧОПК ВХЛЧЩ ЙМЙ УЙНЧПМБ РПДЮЕТЛЙЧБОЙС:

X, _4711, X_1_2, тЕЪХМШФБФ, _x23, пВЯЕЛФ2, _
рПУМЕДОЙК РТЙНЕТ (ЕДЙОУФЧЕООЩК УЙНЧПМ РПДЮЕТЛЙЧБОЙС) СЧМСЕФУС ПУПВЩН УМХЮБЕН - БОПОЙНОПК РЕТЕНЕООПК (РЕТЕНЕООПК ВЕЪ ЙНЕОЙ). бОПОЙНОБС РЕТЕНЕООБС РТЙНЕОСЕФУС, ЛПЗДБ ЕЕ ЪОБЮЕОЙЕ ОЕ ЙУРПМШЪХЕФУС Ч РТПЗТБННЕ. чПЪНПЦОПЕ ОЕПДОПЛТБФОПЕ ХРПФТЕВМЕОЙЕ ВЕЪЩНСООПК РЕТЕНЕООПК Ч ПДОПН ЧЩТБЦЕОЙЙ РТЙНЕОСЕФУС ДМС ФПЗП, ЮФПВЩ РПДЮЕТЛОХФШ ОБМЙЮЙЕ РЕТЕНЕООЩИ РТЙ ПФУХФУФЧЙЙ ЙИ УРЕГЙЖЙЮЕУЛПК ЪОБЮЙНПУФЙ.

уПУФБЧОЩЕ ФЕТНЩ (ЖХОЛГЙЙ) УПУФПСФ ЙЪ ЙНЕОЙ ЖХОЛГЙЙ (ОЕЮЙУМПЧПЗП БФПНБ) Й УРЙУЛБ БТЗХНЕОФПЧ (ФЕТНПЧ рТПМПЗБ, ФП ЕУФШ БФПНПЧ, ЮЙУЕМ, РЕТЕНЕООЩИ ЙМЙ ДТХЗЙИ УПУФБЧОЩИ ФЕТНПЧ), ЪБЛМАЮЕООЩИ Ч ЛТХЗМЩЕ УЛПВЛЙ Й ТБЪДЕМЕООЩИ ЪБРСФЩНЙ. зТХРРЩ УПУФБЧОЩИ ФЕТНПЧ ЙУРПМШЪХАФ ДМС УПУФБЧМЕОЙС ЖТБЪ рТПМПЗБ. оЕМШЪС РПНЕЭБФШ УЙНЧПМ РТПВЕМБ НЕЦДХ ЖХОЛФПТПН (ЙНЕОЕН ЖХОЛГЙЙ) Й ПФЛТЩЧБАЭЕК ЛТХЗМПК УЛПВЛПК. ч ДТХЗЙИ РПЪЙГЙСИ, ПДОБЛП, РТПВЕМЩ НПЗХФ ВЩФШ РПМЕЪОЩ ДМС УПЪДБОЙС ВПМЕЕ ЮЙФБЕНЩИ РТПЗТБНН. оЙЦЕ РТЙЧЕДЕОЩ ДЧБ УПУФБЧОЩИ ФЕТНБ:

ЙФПЗП(ЛМЙЕОФ(X,23,_), 71)
'юФП УМХЮЙМПУШ?'(ОЙЮЕЗП)

рТЙ ЪБДБОЙЙ ЙНЕО ФЕТНПЧ РТЕДРПЮФЙФЕМШОЕЕ ЙУРПМШЪПЧБФШ НОЕНПОЙЮЕУЛЙЕ ("ЗПЧПТСЭЙЕ") ЙНЕОБ, ФБЛ ЛБЛ ФЕТН a(Ц), ОБРТЙНЕТ, ЗПТБЪДП НЕОЕЕ ЙОЖПТНБФЙЧЕО, ЮЕН ФЕТН aЧФПТ(ЦАМШ_ЧЕТО).

еЭЕ ПДОПК ЧБЦОПК УФТХЛФХТПК ДБООЩИ Ч рТПМПЗЕ СЧМСЕФУС УРЙУПЛ. нЩ РПЪОБЛПНЙНУС У ОЙН РПЪДОЕЕ. уЕКЮБУ ПФНЕФЙН ФПМШЛП ПДЙО ЙЪ ЧЙДПЧ УРЙУЛПЧ - УРЙУПЛ УЙНЧПМПЧ. фБЛЙЕ УРЙУЛЙ НПЗХФ ВЩФШ РТЕДУФБЧМЕОЩ Ч ЧЙДЕ УФТПЛ, ОБРТЙНЕТ, РЕТЧЩК БТЗХНЕОФ УПУФБЧОПЗП ФЕТНБ ЧПЪТБУФ("вПТЙУ",10) - УФТПЛБ. рТЙ ЪБРЙУЙ УФТПЛЙ ЪБЛМАЮБАФУС Ч ЛБЧЩЮЛЙ.


жБЛФЩ

рТПЗТБННЙТПЧБФШ ОБ рТПМПЗЕ - ЪОБЮЙФ ПРЙУЩЧБФШ ОЕЛЙК НЙТ. рТПЗТБННБ ОБ ЬФПН СЪЩЛЕ УПУФПЙФ ЙЪ НОПЦЕУФЧБ ЖТБЪ, ЪБДБАЭЙИ ЧЪБЙНПУЧСЪШ НЕЦДХ ФЕТНБНЙ. лБЦДЩК ФЕТН ПВПЪОБЮБЕФ ФХ ЙМЙ ЙОХА УХЭОПУФШ, РТЙОБДМЕЦБЭХА НЙТХ. пДЙО ЙЪ УРПУПВПЧ ПРЙУБОЙС - ЬФП ЪБДБОЙЕ ЖБЛФПЧ.

жБЛФ - ЬФП ХФЧЕТЦДЕОЙЕ П ФПН, ЮФП УПВМАДБЕФУС ОЕЛПФПТПЕ ЛПОЛТЕФОПЕ ПФОПЫЕОЙЕ. пО СЧМСЕФУС ВЕЪХУМПЧОП ЧЕТОЩН. ч ТБЪЗПЧПТОПК ТЕЮЙ РПД ЖБЛФПН РПОЙНБЕФУС ОЕЮФП ЧТПДЕ "уЕЗПДОС УПМОЕЮОП" ЙМЙ "чБУЕ 10 МЕФ". оБ рТПМПЗЕ ЬФП ЪБРЙЫЕФУС Ч ЧЙДЕ

'уЕЗПДОС УПМОЕЮОП'.
'чБУЕ 10 МЕФ'.
еУМЙ ЧЩ УПИТБОЙФЕ ЬФЙ ЖБЛФЩ Ч ЖБКМЕ Й ЪБФЕН ЪБЗТХЪЙФЕ ЕЗП, ФП НПЦОП ЪБДБЧБФШ ЧПРТПУЩ ЙОФЕТРТЕФБФПТХ рТПМПЗБ (ОБРПНОЙН, ЮФП ЪБРТПУ ЧЧПДЙФУС РПУМЕ РТЙЗМБЫЕОЙС рТПМПЗБ, ЛПФПТПЕ Ч ВПМШЫЙОУФЧЕ ЧЕТУЙК ЙНЕЕФ ЧЙД ?-) , ОБРТЙНЕТ,
?- 'уЕЗПДОС УПМОЕЮОП'.
Yes

?- 'чБУЕ 10 МЕФ'.
Yes

?- 'уЕЗПДОС УПМОЕЮОП', 'чБУЕ 10 МЕФ'.
Yes
ъБРСФБС НЕЦДХ ЖБЛФБНЙ Ч РПУМЕДОЕН ЪБРТПУЕ ПЪОБЮБЕФ ПРЕТБГЙА МПЗЙЮЕУЛПЗП Й (ЛПОЯАОЛГЙА).

фБЛБС ЖПТНБ ЪБРЙУЙ УППФЧЕФУФЧХЕФ МПЗЙЛЕ ЧЩУЛБЪЩЧБОЙК, ЧПЪНПЦОПУФЙ ЛПФПТПК, ЛБЛ ХЦЕ ЗПЧПТЙМПУШ, ДПУФБФПЮОП ПЗТБОЙЮЕОЩ. нЩ ОЕ НПЦЕН ЪБДБФШ, ОБРТЙНЕТ, ЧПРТПУ П ФПН, УЛПМШЛП МЕФ чБУЕ. зПТБЪДП ХДПВОЕЕ ЙУРПМШЪПЧБФШ РБТБНЕФТЙЪПЧБООЩЕ ЖБЛФЩ, ТБВПФХ У ЛПФПТЩНЙ РПДДЕТЦЙЧБЕФ МПЗЙЛБ РТЕДЙЛБФПЧ. оБ рТПМПЗЕ ЖБЛФ НПЦЕФ ВЩФШ ЪБРЙУБО Ч ЧЙДЕ РТЕДЙЛБФБ, БТЗХНЕОФЩ ЛПФПТПЗП СЧМСАФУС УЙНЧПМШОЩНЙ ЙМЙ ЮЙУМПЧЩНЙ ЛПОУФБОФБНЙ.

ч ПВЭЕН УМХЮБЕ РТЕДЙЛБФ - ЬФП МПЗЙЮЕУЛБС ЖХОЛГЙС ПФ ПДОПЗП ЙМЙ ОЕУЛПМШЛЙИ БТЗХНЕОФПЧ, ФП ЕУФШ ЖХОЛГЙС, ДЕКУФЧХАЭБС Ч НОПЦЕУФЧП ЙЪ ДЧХИ ЪОБЮЕОЙК: ЙУФЙОБ Й МПЦШ. рТЕДЙЛБФ рТПМПЗБ ЪБРЙУЩЧБЕФУС Ч ЧЙДЕ УПУФБЧОПЗП ФЕТНБ:

ЙНС_РТЕДЙЛБФБ(БТЗХНЕОФЩ).

бТЗХНЕОФЩ РЕТЕЮЙУМСАФУС ЮЕТЕЪ ЪБРСФХА Й РТЕДУФБЧМСАФ УПВПК ЛБЛЙЕ-ФП ПВЯЕЛФЩ ЙМЙ УЧПКУФЧБ ПВЯЕЛФПЧ, Б ЙНС РТЕДЙЛБФБ ПВПЪОБЮБЕФ УЧСЪШ ЙМЙ ПФОПЫЕОЙЕ НЕЦДХ БТЗХНЕОФБНЙ. рТЕДЙЛБФ ПДОПЪОБЮОП ПРТЕДЕМСЕФУС РБТПК: ЙНС Й ЛПМЙЮЕУФЧП БТЗХНЕОФПЧ. дЧБ РТЕДЙЛБФБ У ПДЙОБЛПЧЩН ЙНЕОЕН, ОП ТБЪМЙЮОЩН ЛПМЙЮЕУФЧПН БТЗХНЕОФПЧ, УЮЙФБАФУС ТБЪМЙЮОЩНЙ. лПМЙЮЕУФЧП РБТБНЕФТПЧ РТЕДЙЛБФБ ОБЪЩЧБЕФУС ЕЗП БТОПУФША (arity). рТЙ ПРЙУБОЙЙ РТЕДЙЛБФБ БТОПУФШ ХЛБЪЩЧБАФ РПУМЕ ЕЗП ЙНЕОЙ, ТБЪДЕМСС ЙИ УЙНЧПМПН '/' (УМЬЫ).

лБЛ РТБЧЙМП, ЙНЕОБ РТЕДЙЛБФПЧ Й БТЗХНЕОФПЧ ЪБРЙУЩЧБАФУС Ч ЙНЕОЙФЕМШОПН РБДЕЦЕ. рТПВЕМЩ Ч ОЙИ ОЕ ДПРХУЛБАФУС, РПЬФПНХ Ч ЛБЮЕУФЧЕ ТБЪДЕМЙФЕМЕК Ч УЙНЧПМШОЩИ ЛПОУФБОФБИ ЙУРПМШЪХЕФУС УЙНЧПМ РПДЮЕТЛЙЧБОЙС.

рТЙНЕТ
жБЛФ "лПМС ТБВПФБЕФ УМЕУБТЕН" ОБ рТПМПЗЕ ЪБРЙЫЕФУС УМЕДХАЭЙН ПВТБЪПН:

РТПЖЕУУЙС(ЛПМС, УМЕУБТШ).
ъДЕУШ РТЕДЙЛБФ РТПЖЕУУЙС/2 ЙНЕЕФ ДЧБ БТЗХНЕОФБ: РЕТЧЩК ПЪОБЮБЕФ ЙНС ЮЕМПЧЕЛБ, Б ЧФПТПК - РТПЖЕУУЙА. жБЛФ "вПТЙУХ 10 МЕФ" НПЦОП РТЕДУФБЧЙФШ Ч ЧЙДЕ:
ЧПЪТБУФ("вПТЙУ", 10).

рПТСДПЛ БТЗХНЕОФПЧ РТЕДЙЛБФБ УЧСЪБО УП УНЩУМПН ЖБЛФБ Й РПЬФПНХ ОЕ ЙЪНЕОСЕН. рТЙ ЪБРЙУЙ ЖБЛФПЧ ОБДП РПНОЙФШ, ЮФП:

ЙНС ЖБЛФБ ОБЮЙОБЕФУС УП УФТПЮОПК ВХЛЧЩ;
ЪБРЙУШ ЛБЦДПЗП ЖБЛФБ ЪБЛБОЮЙЧБЕФУС ФПЮЛПК.

ч РТЙЧЕДЕООЩИ ЧЩЫЕ РТЙНЕТБИ РТПЖЕУУЙС/2 Й ЧПЪТБУФ/2 - РТЕДЙЛБФЩ (УПУФБЧОЩЕ ФЕТНЩ), ЛПМС Й УМЕУБТШ - БФПНЩ, 10 - ЮЙУМП, "вПТЙУ" - УФТПЛБ. рПДТПВОЕЕ П ЧЙДБИ ФЕТНПЧ рТПМПЗБ ТБУУЛБЪЩЧБЕФУС Ч УМЕДХАЭЕН ТБЪДЕМЕ.

вБЪБ ДБООЩИ ОБ рТПМПЗЕ - ЬФП УПЧПЛХРОПУФШ ЖБЛФПЧ. ч РТПГЕУУЕ ТБВПФЩ Ч ВБЪХ ДБООЩИ НПЦОП ДПВБЧМСФШ ОПЧЩЕ ЖБЛФЩ, ХДБМСФШ ЙМЙ ЙЪНЕОСФШ УФБТЩЕ.

рТЙНЕТ
уПУФБЧЙН ВБЪХ ДБООЩИ ЙЪ УМЕДХАЭЙИ ЖБЛФПЧ: "УМПО ВПМШЫЕ, ЮЕН МПЫБДШ", "МПЫБДШ ВПМШЫЕ, ЮЕН ПУЕМ", "ПУЕМ ВПМШЫЕ, ЮЕН УПВБЛБ" Й "ПУЕМ ВПМШЫЕ, ЮЕН ПВЕЪШСОБ":

ВПМШЫЕ(УМПО, МПЫБДШ).
ВПМШЫЕ(МПЫБДШ, ПУЕМ).
ВПМШЫЕ(ПУЕМ, УПВБЛБ).
ВПМШЫЕ(ПУЕМ, ПВЕЪШСОБ).
нЩ ЙУРПМШЪПЧБМЙ РТЕДЙЛБФ ВПМШЫЕ/2, ЙНЕАЭЙК ДЧБ РБТБНЕФТБ.

уПИТБОЙН ЬФХ ВБЪХ ДБООЩИ Ч ФЕЛУФПЧПН ЖБКМЕ Й ЪБФЕН РПЪОБЛПНЙН рТПМПЗ У ОЕК. фЕРЕТШ НПЦОП ЖПТНХМЙТПЧБФШ ЪБРТПУЩ Л ЙОФЕТРТЕФБФПТХ рТПМПЗБ:

?- ВПМШЫЕ(УМПО, МПЫБДШ).
Yes

?- ВПМШЫЕ(МПЫБДШ, УМПО).
No

ъБДБОЙС

  1. уПИТБОЙФЕ ВБЪХ ДБООЩИ "гЧЕФ" Ч ЖБКМЕ task1.pl:

ГЧЕФ(НБЫЙОБ, ЛТБУОЩК).
ГЧЕФ(УЧЕФПЖПТ, ЪЕМЕОЩК).
ГЧЕФ(УПМОГЕ, ЦЕМФЩК).
ГЧЕФ(НПТЕ, УЙОЙК).
    уЖПТНХМЙТХКФЕ ОЕУЛПМШЛП ЪБРТПУПЧ Л ДБООПК ВБЪЕ ДБООЩИ.
  2. рПУФТПКФЕ ВБЪХ ДБООЩИ ЙЪ УМЕДХАЭЙИ ЖБЛФПЧ, ЙУРПМШЪХС РТЕДЙЛБФ РТЙЪОБЛ/2.
    Б) рТЙЪОБЛ ЪЙНЩ - УОЕЗ.
    В) рТЙЪОБЛ ЧЕУОЩ - ЛБРЕМШ.
             Ч) рТЙЪОБЛ МЕФБ - УПМОГЕ.
    З) рТЙЪОБЛ ПУЕОЙ - ДПЦДШ.
    уПИТБОЙФЕ ЕЕ Ч ФПН ЦЕ ЖБКМЕ Й УЖПТНХМЙТХКФЕ ОЕУЛПМШЛП ЪБРТПУПЧ Л ДБООПК ВБЪЕ ДБООЩИ.


ъБРТПУЩ Л ВБЪЕ ДБООЩИ

ъБРТПУ - ЬФП РПУМЕДПЧБФЕМШОПУФШ РТЕДЙЛБФПЧ, ТБЪДЕМЕООЩИ ЪБРСФЩНЙ Й ЪБЧЕТЫБАЭБСУС ФПЮЛПК. оБ ЕУФЕУФЧЕООПН СЪЩЛЕ ЪБРСФБС УППФЧЕФУФЧХЕФ УПАЪХ "Й", Б ОБ СЪЩЛЕ НБФЕНБФЙЮЕУЛПК МПЗЙЛЙ ПВПЪОБЮБЕФ ЛПОЯАОЛГЙА. у РПНПЭША ЪБРТПУПЧ НПЦОП "УРТБЫЙЧБФШ" ВБЪХ ДБООЩИ П ФПН, ЛБЛЙЕ ХФЧЕТЦДЕОЙС СЧМСАФУС ЙУФЙООЩНЙ. рТЕДЙЛБФ ЪБРТПУБ ОБЪЩЧБЕФУС ГЕМША.

рТПУФЩЕ ЧПРТПУЩ, ОЕ УПДЕТЦБЭЙЕ ОЙЛБЛЙИ РЕТЕНЕООЩИ, ОБЪЩЧБАФ ДБ-ОЕФ-ЧПРТПУБНЙ. пОЙ ДПРХУЛБАФ МЙЫШ ДЧБ ЧПЪНПЦОЩИ ПФЧЕФБ: "Yes" ПЪОБЮБЕФ ОБМЙЮЙЕ УППФЧЕФУФЧХАЭЕЗП ЖБЛФБ Ч ВБЪЕ ДБООЩИ (РЕТЧЩК ЪБРТПУ РТЙНЕТБ, РТЙЧЕДЕООПЗП ОЙЦЕ), "No" - ЕЗП ПФУХФУФЧЙЕ (ЧФПТПК ЪБРТПУ). ч УМХЮБЕ ПФЧЕФБ "Yes" ЗПЧПТСФ, ЮФП ЪБРТПУ ЪБЧЕТЫЙМУС ХУРЕИПН, ГЕМШ ДПУФЙЗОХФБ.

рТЙНЕТ

?- ВПМШЫЕ(УМПО, МПЫБДШ), ВПМШЫЕ(МПЫБДШ,ПУЕМ).
Yes

?- ВПМШЫЕ(УМПО, УПВБЛБ).
No

йУРПМШЪПЧБОЙЕ РЕТЕНЕООЩИ Ч ЪБРТПУБИ РПЪЧПМСЕФ ЪБДБЧБФШ ВПМЕЕ УМПЦОЩЕ ЧПРТПУЩ. рТЕДРПМПЦЙН, ОБРТЙНЕТ, ЮФП НЩ ИПФЙН ПРТЕДЕМЙФШ, ЛБЛЙЕ ЦЙЧПФОЩЕ ВПМШЫЕ ПУМБ? ч УМЕДХАЭЕН ЪБРТПУЕ РЕТЕНЕООБС X ПВПЪОБЮБЕФ ЙУЛПНЩК ПФЧЕФ:

?- ВПМШЫЕ(X, ПУЕМ).
X = МПЫБДШ
Yes
рТЙ ПВТБВПФЛЕ ЪБРТПУБ РЕТЕНЕООБС X РТЙОСМБ ЪОБЮЕОЙЕ "МПЫБДШ". рТПУНБФТЙЧБС ВБЪХ ДБООЩИ, ЙОФЕТРТЕФБФПТ ПВОБТХЦЙМ ЖБЛФ, ХФЧЕТЦДБАЭЙК, ЮФП МПЫБДШ ВПМШЫЕ ПУМБ, Й ЪБРТПУ ВЩМ ХУРЕЫОП ЧЩРПМОЕО.

ъБРТПУЩ У РЕТЕНЕООЩНЙ НПЗХФ ЙНЕФШ ВПМЕЕ ПДОПЗП ТЕЫЕОЙС. рЕТЧЩН ЧУЕЗДБ ЧЩЧПДЙФУС ФП ЙЪ ТЕЫЕОЙК, ЛПФПТПЕ ОБИПДЙФУС ВМЙЦЕ Л ОБЮБМХ ВБЪЩ ДБООЩИ. еУМЙ ОБН ДПУФБФПЮОП ФПМШЛП ПДОПЗП ПФЧЕФБ, ФП НПЦОП ОБЦБФШ Enter Й ЪБЛПОЮЙФШ РПЙУЛ. ч УМХЮБЕ, ЕУМЙ НЩ ЪБИПФЙН РПМХЮЙФШ ПЮЕТЕДОПК ПФЧЕФ, ОХЦОП ОБЦБФШ ЛМБЧЙЫХ ; (ФПЮЛБ У ЪБРСФПК), Й рТПМПЗ ОБЮОЕФ РПЙУЛ ДТХЗЙИ ЧБТЙБОФПЧ ПФЧЕФБ ОБ ЪБРТПУ. уППВЭЕОЙЕ "No" ЗПЧПТЙФ ПВ ПФУХФУФЧЙЙ ПЮЕТЕДОПЗП ТЕЫЕОЙС.

рТЙНЕТ

?- ВПМШЫЕ(ПУЕМ, и).
X = УПВБЛБ;
X = ПВЕЪШСОБ;
No

?- ВПМШЫЕ(X,Y).
X = УМПО
Y = МПЫБДШ;

X = МПЫБДШ
Y = ПУЕМ;

X = ПУЕМ
Y = УПВБЛБ;

X = ПУЕМ
Y = ПВЕЪШСОБ;
No

ъБДБОЙС

  1. ъБЗТХЪЙФЕ Ч рТПМПЗ ВБЪХ ДБООЩИ "гЧЕФ" (ЖБКМ task1.pl) Й УЖПТНХМЙТХКФЕ Л ОЕК УМЕДХАЭЙЕ ЪБРТПУЩ.
    Б) нБЫЙОБ ЛТБУОПЗП ГЧЕФБ?
    В) уЧЕФПЖПТ ЦЕМФПЗП ГЧЕФБ?
    Ч) нПТЕ УЙОЕЗП ГЧЕФБ Й УПМОГЕ ЦЕМФПЗП ГЧЕФБ?
  2. дПВБЧШФЕ Ч ВБЪХ ДБООЩИ ЖБЛФ
    ГЧЕФ(ФТБЧБ, ЪЕМЕОЩК).
    уЖПТНХМЙТХКФЕ ЪБРТПУЩ Л ЙЪНЕОЕООПК ВБЪЕ ДБООЩИ.
    Б) лБЛПЗП ГЧЕФБ НБЫЙОБ?
    В) юФП Ч ЬФПК ВБЪЕ ДБООЩИ ЪЕМЕОПЗП ГЧЕФБ?
    В) лБЛЙЕ ЬМЕНЕОФЩ УПУФБЧМСАФ ЬФХ ВБЪХ ДБООЩИ Й ЛБЛПЧЩ УППФЧЕФУФЧХАЭЙЕ ЙН ГЧЕФБ?


хОЙЖЙЛБГЙС

хОЙЖЙЛБГЙС ЕУФШ ПУОПЧОПК НЕИБОЙЪН ПВТБВПФЛЙ ЪБРТПУПЧ Ч МПЗЙЮЕУЛПН РТПЗТБННЙТПЧБОЙЙ. рПУМЕ ФПЗП ЛБЛ РПМШЪПЧБФЕМШ РПУЩМБЕФ ЪБРТПУ ЙОФЕТРТЕФБФПТХ, ЬФПФ ЪБРТПУ БЛФЙЧЙЪЙТХЕФУС. йОФЕТРТЕФБФПТ РТЙУФХРБЕФ Л БОБМЙЪХ ЖТБЪ ВБЪЩ ДБООЩИ Ч РПЙУЛБИ РЕТЧПК ЖТБЪЩ, ЪБЗПМПЧПЛ ЛПФПТПК ВХДЕФ ХОЙЖЙГЙТПЧБФШУС У ЪБРТПУПН. дМС ФПЗП ЮФПВЩ ЪБРТПУ ХОЙЖЙГЙТПЧБМУС У ЪБЗПМПЧЛПН ЖТБЪЩ, ОЕПВИПДЙНП УПЧРБДЕОЙЕ Х ОЙИ ЙНЕОЙ РТЕДЙЛБФБ, ЛПМЙЮЕУФЧБ БТЗХНЕОФПЧ Й ХОЙЖЙЛБГЙС ЛБЦДПЗП ЙЪ ОЙИ.

хОЙЖЙЛБГЙС ФЕТНПЧ, ЛПФПТЩНЙ СЧМСАФУС БТЗХНЕОФЩ, ПРЙУЩЧБЕФУС РТЙЧПДЙНЩНЙ ОЙЦЕ РТБЧЙМБНЙ. ч РТЙНЕТБИ ЙУРПМШЪХЕФУС РТЕДЙЛБФ =, ЛПФПТЩК РЩФБЕФУС ХОЙЖЙГЙТПЧБФШ УЧПЙ БТЗХНЕОФЩ.

1) рЕТЕНЕООБС ХОЙЖЙГЙТХЕФУС У БФПНПН ЙМЙ УПУФБЧОЩН ФЕТНПН. ч ТЕЪХМШФБФЕ ЬФПЗП РЕТЕНЕООБС УФБОПЧЙФУС ЛПОЛТЕФЙЪЙТПЧБООПК, Ф. Е. РТЙОЙНБЕФ ЪОБЮЕОЙЕ ДБООПЗП БФПНБ ЙМЙ ФЕТНБ.

?- X=ЛПМС.
X=ЛПМС
Yes
2) рЕТЕНЕООБС ХОЙЖЙГЙТХЕФУС У РЕТЕНЕООПК, РТЙ ЬФПН ПОЙ ПВЕ УФБОПЧСФУС ЛБЛ ВЩ ПДОПК Й ФПК ЦЕ РЕТЕНЕООПК.
?- X=Y.
X = _G161
Y = _G161
Yes
3) бОПОЙНОБС РЕТЕНЕООБС ХОЙЖЙГЙТХЕФУС У МАВЩН ФЕТНПН.
?- БЧФПТ(РХЫЛЙО)=_.
Yes
4) бФПН ХОЙЖЙГЙТХЕФУС У БФПНПН, ЕУМЙ ПОЙ ЙДЕОФЙЮОЩ.
?- ЛПМС=ЛПМС.
Yes
5) уПУФБЧОПК ФЕТН ХОЙЖЙГЙТХЕФУС У ДТХЗЙН УПУФБЧОЩН ФЕТНПН, ЕУМЙ ЙИ ЙНЕОБ Й ЛПМЙЮЕУФЧП БТЗХНЕОФПЧ УПЧРБДБЕФ, Б БТЗХНЕОФЩ РПДДБАФУС ХОЙЖЙЛБГЙЙ.
?- ПФЕГ(ВПТЙУ)=ПФЕГ(X).
X = ВПТЙУ
Yes
?- ДЕДХЫЛБ(ВПТЙУ, Y)=ПФЕГ(X).
No

рТЙНЕТ
фЕТНЩ ВПМШЫЕ(и, УПВБЛБ) Й ВПМШЫЕ(ПУЕМ, УПВБЛБ) ХОЙЖЙГЙТХАФУС, РПФПНХ ЮФП РЕТЕНЕООБС X НПЦЕФ ВЩФШ ЛПОЛТЕФЙЪЙТПЧБОБ БФПНПН ПУЕМ:

?- ВПМШЫЕ(и,УПВБЛБ) = ВПМШЫЕ(ПУЕМ,УПВБЛБ).
X = ПУЕМ
Yes
тБУУНБФТЙЧБЕНЩК Ч УМЕДХАЭЕН РТЙНЕТЕ ЪБРТПУ ОЕ ВХДЕФ ХУРЕЫОЩН, РПФПНХ ЮФП РЕТЕНЕООБС X ОЕ НПЦЕФ ВЩФШ ЛПОЛТЕФЙЪЙТПЧБОБ ДЧХНС ЪОБЮЕОЙСНЙ 1 Й 2 ПДОПЧТЕНЕООП.
?- p(X,2,2) = p(1,Y,X).
No

еУМЙ Ч ЬФПН РТЙНЕТЕ ЧНЕУФП X НЩ ЙУРПМШЪХЕН БОПОЙНОХА РЕТЕНЕООХА _, ФП ХОЙЖЙЛБГЙС ВХДЕФ ЧПЪНПЦОБ, РПФПНХ ЮФП РТЙ ЛБЦДПН ЙУРПМШЪПЧБОЙЙ _ УПЪДБЕФУС ОПЧБС РЕТЕНЕООБС. уНЩУМ БОПОЙНОПУФЙ Ч ФПН, ЮФП НЩ РТЕДПУФБЧМСЕН рТПМПЗХ ЧПЪНПЦОПУФШ ЗЕОЕТБГЙЙ ЙНЕОЙ ДМС ДБООПК РЕТЕНЕООПК Й ОБН ОЕ ОХЦОЩ ОЙ ЕЕ ЙНС, ОЙ ЕЕ ЪОБЮЕОЙЕ. рЕТЕНЕООБС Y ЧП ЧТЕНС ХОЙЖЙЛБГЙЙ ЛПОЛТЕФЙЪЙТХЕФУС ЪОБЮЕОЙЕН 2:

?- p(_,2,2) = p(1,Y,_).
Y = 2
Yes

рТЙНЕТ
ч УМЕДХАЭЕН ЪБРТПУЕ ХОЙЖЙЛБГЙС ЧПЪНПЦОБ, ИПФС Й ОЕФ УРЕГЙЖЙЮЕУЛЙИ РЕТЕНЕООЩИ, ЛПФПТЩЕ НПЗМЙ ВЩ ВЩФШ УЧСЪБОЩ ЙМЙ ХОЙЖЙГЙТПЧБОЩ (ЛБЛ Ч РТЕДЩДХЭЙИ РТЙНЕТБИ):

?- f(a,g(X,Y)) = f(X,Z), Z = g(W,h(x)).
X = a
Y = h(x)
Z = g(a, h(x))
W = a
Yes


рТБЧЙМБ

лТПНЕ ЖБЛФПЧ РТПЗТБННЩ ОБ СЪЩЛЕ рТПМПЗ НПЗХФ УПДЕТЦБФШ РТБЧЙМБ, РПЪЧПМСАЭЙЕ РПМХЮБФШ ДПРПМОЙФЕМШОЩЕ ЪОБОЙС П ФПН НЙТЕ, ЛПФПТЩК ПРЙУЩЧБЕФ РТПЗТБННБ. рТБЧЙМП ЪБДБЕФ ОПЧЩК РТЕДЙЛБФ ЮЕТЕЪ ПРТЕДЕМЕООЩЕ ТБОЕЕ.

рТБЧЙМП УПУФПЙФ ЙЪ ЗПМПЧЩ (РТЕДЙЛБФБ) Й ФЕМБ (РПУМЕДПЧБФЕМШОПУФЙ РТЕДЙЛБФПЧ, ТБЪДЕМЕООЩИ ЪБРСФЩНЙ). зПМПЧБ Й ФЕМП ТБЪДЕМЕОЩ ЪОБЛПН :- Й, РПДПВОП ЛБЦДПК ЖТБЪЕ рТПМПЗБ, РТБЧЙМП ДПМЦОП ЪБЛБОЮЙЧБФШУС ФПЮЛПК. ъБРСФБС Ч ФЕМЕ РТБЧЙМБ ПЪОБЮБЕФ ЛПОЯАОЛГЙА (&&, МПЗЙЮЕУЛПЕ Й).

ъОБЛ :- ЕУФШ УИЕНБФЙЮЕУЛБС ЪБРЙУШ УФТЕМЛЙ (<-) Й РПЛБЪЩЧБЕФ, ЮФП ЙЪ РТБЧПК ЮБУФЙ УМЕДХЕФ МЕЧБС. ьФПФ ЪОБЛ ЮЙФБЕФУС ЛБЛ "ЕУМЙ". йОФХЙФЙЧОЩК УНЩУМ РТБЧЙМБ УПУФПЙФ Ч ФПН, ЮФП ГЕМШ, СЧМСАЭБСУС ЗПМПЧПК, ВХДЕФ ЙУФЙООПК, ЕУМЙ рТПМПЗ УНПЦЕФ РПЛБЪБФШ, ЮФП ЧУЕ ЧЩТБЦЕОЙС (РПДГЕМЙ) Ч ФЕМЕ РТБЧЙМБ СЧМСАФУС ЙУФЙООЩНЙ.

рТЙНЕТ
рТБЧЙМП, ПРТЕДЕМСАЭЕЕ ПФОПЫЕОЙЕ ТЕВЕОПЛ/2 ЮЕТЕЪ ПФОПЫЕОЙЕ ПФЕГ/2, ЪБРЙЫЕФУС УМЕДХАЭЙН ПВТБЪПН:

ТЕВЕОПЛ(X, Y) :- ПФЕГ(Y, X).
ьФП ПЪОБЮБЕФ, ЮФП ЕУМЙ ЮЕМПЧЕЛ Y СЧМСЕФУС ДМС ЮЕМПЧЕЛБ X ПФГПН, ФП X СЧМСЕФУС ТЕВЕОЛПН Y. ъДЕУШ X Й Y - РЕТЕНЕООЩЕ. оБРПНОЙН, ЮФП ЪБРЙУШ ТЕВЕОПЛ/2 РПЛБЪЩЧБЕФ, ЮФП РТЕДЙЛБФ ТЕВЕОПЛ СЧМСЕФУС ЖХОЛГЙЕК ПФ ДЧХИ БТЗХНЕОФПЧ.

рТЙНЕТ
пРТЕДЕМЙН ПФОПЫЕОЙЕ НБФШ/2 ЮЕТЕЪ ПФОПЫЕОЙС ТПДЙФЕМШ/2 Й ЦЕОЭЙОБ/1 УМЕДХАЭЙН ПВТБЪПН: НБФЕТША X ДМС ЮЕМПЧЕЛБ Y СЧМСЕФУС ЕЗП ТПДЙФЕМШ ЦЕОУЛПЗП ТПДБ.

НБФШ(X, Y) :- ТПДЙФЕМШ(X, Y), ЦЕОЭЙОБ(X).

рТЕДЙЛБФЩ ПФМЙЮБАФУС ДТХЗ ПФ ДТХЗБ ОЕ ФПМШЛП ЙНЕОЕН, ОП Й ЛПМЙЮЕУФЧПН БТЗХНЕОФПЧ. нПЦОП, ОБРТЙНЕТ, ПРТЕДЕМЙФШ ПФОПЫЕОЙЕ НБФШ/1 УМЕДХАЭЙН ПВТБЪПН:

НБФШ(X) :- ТПДЙФЕМШ(X, _), ЦЕОЭЙОБ(X).
фБЛ ЛБЛ ОБН Ч ДБООПН РТЕДЙЛБФЕ ОЕ ЧБЦОП, ЮШЙН ТПДЙФЕМЕН СЧМСЕФУС ДБООБС ЦЕОЭЙОБ, ФП НЩ ЙУРПМШЪПЧБМЙ БОПОЙНОХА РЕТЕНЕООХА.
?- НБФШ(X, Y).
X=БООБ
Y=АМЙС
Yes

?- НБФШ(X).
X=БООБ
Yes

рТЙНЕТ
пРТЕДЕМЙН ПФОПЫЕОЙЕ ДЕДХЫЛБ/2:

ДЕДХЫЛБ(X, Y) :- ПФЕГ(X, Z), ПФЕГ(Z, Y).
ДЕДХЫЛБ(X, Y) :- ПФЕГ(X, Z), НБФШ(Z, Y).
ьФЙ РТБЧЙМБ ХФЧЕТЦДБАФ, ЮФП ДЕДХЫЛПК X ДМС ЮЕМПЧЕЛБ Y СЧМСЕФУС ПФЕГ ЮЕМПЧЕЛБ Z, ЛПФПТЩК Ч УЧПА ПЮЕТЕДШ СЧМСЕФУС ПФГПН ЙМЙ НБФЕТША ЮЕМПЧЕЛБ Y.

ъБДБОЙС

  1. уПЪДБКФЕ ЖБКМ, УПДЕТЦБЭЙК УМЕДХАЭХА ВБЪХ ДБООЩИ:
    (УЛПРЙТПЧБФШ ЖБКМ)
    ЦЕОЭЙОБ(БООБ).    НХЦЮЙОБ(ВПТЙУ).
ЦЕОЭЙОБ(АМЙС).	  НХЦЮЙОБ(ПМЕЗ).
ЦЕОЭЙОБ(ЗБМЙОБ).  НХЦЮЙОБ(БОФПО).
ЦЕОЭЙОБ(ЕМЕОБ).   НХЦЮЙОБ(РБЧЕМ).

ТПДЙФЕМШ(ВПТЙУ,РБЧЕМ).  %         ЛФП  ЮЕК
ТПДЙФЕМШ(БООБ,АМЙС).    ТПДЙФЕМШ(БООБ,БОФПО).
ТПДЙФЕМШ(БООБ,ВПТЙУ).   ТПДЙФЕМШ(ПМЕЗ,АМЙС).
ТПДЙФЕМШ(ПМЕЗ,БОФПО).   ТПДЙФЕМШ(ПМЕЗ,ВПТЙУ).
ТПДЙФЕМШ(ЗБМЙОБ,БООБ).  ТПДЙФЕМШ(ЗБМЙОБ,ЕМЕОБ).
  2. дПВБЧШФЕ РТБЧЙМБ, ЪБДБАЭЕЕ ПФОПЫЕОЙС ПФЕГ/2, НБФШ/2, НБФШ/1 Й ДЕДХЫЛБ/2, РПУМЕ ЮЕЗП УЖПТНХМЙТХКФЕ ЪБРТПУЩ, ПРТЕДЕМСАЭЙЕ ЧУЕИ НБФЕТЕК Й ДЕДХЫЕЛ Ч ДБООПК ВБЪЕ.
  3. пРТЕДЕМЙФЕ ПФОПЫЕОЙЕ УЕУФТБ/2 ЮЕТЕЪ ПФОПЫЕОЙС ТПДЙФЕМШ/2 Й ЦЕОЭЙОБ/1.
  4. уЖПТНХМЙТХКФЕ РТБЧЙМП, ПРТЕДЕМСАЭЕЕ ПФОПЫЕОЙЕ ФЕФС/2 ЮЕТЕЪ ПФОПЫЕОЙС ТПДЙФЕМШ/2 Й УЕУФТБ/2.


тЕЛХТУЙС

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

тЕЛХТУЙЧОЩЕ РТПГЕДХТЩ

тЕЛХТУЙС Ч ВПМШЫЙОУФЧЕ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС - ЬФП ФБЛПК УРПУПВ ПТЗБОЙЪБГЙЙ ПВТБВПФЛЙ ДБООЩИ, РТЙ ЛПФПТПН РТПЗТБННБ (РТПГЕДХТБ) ЧЩЪЩЧБЕФ УБНБ УЕВС ОЕРПУТЕДУФЧЕООП, МЙВП У РПНПЭША ДТХЗПК РТПЗТБННЩ (РТПГЕДХТЩ).

зТБЧАТБ ЗПММБОДУЛПЗП ИХДПЦОЙЛБ нПТЙУБ ьЫЕТБ "тЙУХАЭЙЕ ТХЛЙ" - ПДОБ ЙЪ МХЮЫЙИ ЙММАУФТБГЙК РПОСФЙС ТЕЛХТУЙЙ. чУЕН ЙЪЧЕУФОЩК УФЙЫПЛ П РПРЕ Й ЕЗП УПВБЛЕ ДЕНПОУФТЙТХЕФ ОБН ВЕУЛПОЕЮОПУФШ ТЕЛХТУЙЧОЩИ ЧЩЪПЧПЧ. йУРПМШЪХС ТЕЛХТУЙА ЛБЛ РТЙЕН РТПЗТБННЙТПЧБОЙС НЩ ДПМЦОЩ ВЩФШ ХЧЕТЕОЩ, ЮФП ТЕЛХТУЙЧОБС РТПГЕДХТБ ВХДЕФ ЪБЧЕТЫЕОБ.

ч рТПМПЗЕ ТЕЛХТУЙС ЧУФТЕЮБЕФУС, ЛПЗДБ РТЕДЙЛБФ УПДЕТЦЙФ ГЕМШ, ЛПФПТБС УУЩМБЕФУС ОБ УБНХ УЕВС. ч ТЕЛХТУЙЧОПН РТБЧЙМЕ ВПМЕЕ УМПЦОЩЕ ЧИПДОЩЕ БТЗХНЕОФЩ ДПМЦОЩ ЧЩТБЦБФШУС ЮЕТЕЪ НЕОЕЕ УМПЦОЩЕ.

оБ РТЙНЕТЕ ХЦЕ ЙНЕАЭЕКУС Х ОБУ ВБЪЩ ДБООЩИ ПВЯСУОЙН РТЕЙНХЭЕУФЧБ ЙУРПМШЪПЧБОЙС ТЕЛХТУЙЙ Й ПУПВЕООПУФЙ ТЕЛХТУЙЧОЩИ РТБЧЙМ. рХУФШ ЙНЕАФУС УМЕДХАЭЙЕ ЖБЛФЩ:

ВПМШЫЕ(УМПО, МПЫБДШ).
ВПМШЫЕ(МПЫБДШ, ПУЕМ).
ВПМШЫЕ(ПУЕМ, УПВБЛБ).
ВПМШЫЕ(ПУЕМ, ПВЕЪШСОБ).
чЩРПМОЙН ЪБРТПУ Л ВБЪЕ ДБООЩИ
?- ВПМШЫЕ(ПУЕМ, УПВБЛБ).
Yes
гЕМШ ВПМШЫЕ(ПУЕМ, УПВБЛБ) ВЩМБ ДПУФЙЗОХФБ РПФПНХ, ЮФП ЬФПФ ЖБЛФ ВЩМ УППВЭЕО рТПМПЗХ РТЙ ЪБЗТХЪЛЕ ВБЪЩ. фЕРЕТШ РТПЧЕТЙН, ВПМШЫЕ МЙ ПВЕЪШСОБ УМПОБ?
?- ВПМШЫЕ(ПВЕЪШСОБ, УМПО).
No
оЕФ, ОЕ ВПМШЫЕ. нЩ РПМХЮЙМЙ ФБЛПК ПФЧЕФ, ЛБЛПК Й ПЦЙДБМЙ: УППФЧЕФУФЧХАЭЙК ЪБРТПУ, Б ЙНЕООП ВПМШЫЕ(ПВЕЪШСОБ, УМПО) ОЕ РПДФЧЕТДЙМУС. оП, ЮФП УМХЮЙФУС, ЕУМЙ НЩ ЪБДБДЙН ЧПРТПУ РП-ДТХЗПНХ?
?- ВПМШЫЕ(УМПО, ПВЕЪШСОБ).
No
фБЛЙН ПВТБЪПН, УМПОЩ ОЕ ВПМШЫЕ, ЮЕН ПВЕЪШСОЩ. рПМХЮЕООЩК ТЕЪХМШФБФ УПЧЕТЫЕООП ОЕ УПЗМБУХЕФУС У ОБЫЙНЙ РТЕДУФБЧМЕОЙСНЙ П НЙТЕ, ОП ЕУМЙ РПУНПФТЕФШ ОБ ВБЪХ ДБООЩИ, ФП МЕЗЛП ЪБНЕФЙФШ, ЮФП Ч ОЕК ДЕКУФЧЙФЕМШОП ОЙЮЕЗП ОЕ УЛБЪБОП ПВ ПФОПЫЕОЙСИ НЕЦДХ УМПОБНЙ Й ПВЕЪШСОБНЙ. пДОБЛП, НЩ ЪОБЕН, ЮФП УМПОЩ ВПМШЫЕ, ЮЕН МПЫБДЙ, ЛПФПТЩЕ Ч УЧПА ПЮЕТЕДШ ВПМШЫЕ, ЮЕН ПУМЩ, ЛПФПТЩЕ ВПМШЫЕ ПВЕЪШСО, РПЬФПНХ УМПОЩ ФБЛЦЕ ДПМЦОЩ ВЩФШ ВПМШЫЕ, ЮЕН ПВЕЪШСОЩ.

рТБЧЙМШОБС ЙОФЕТРТЕФБГЙС ПФТЙГБФЕМШОПЗП ПФЧЕФБ, ДБООПЗП рТПМПЗПН, ФБЛПЧБ: ЙОЖПТНБГЙЙ, УППВЭЕООПК УЙУФЕНЕ, ОЕДПУФБФПЮОП ДМС ДПЛБЪБФЕМШУФЧБ ФПЗП, ЮФП УМПО ВПМШЫЕ ПВЕЪШСОЩ. еУМЙ НЩ ЪБИПФЙН РПМХЮЙФШ РПМПЦЙФЕМШОЩК ПФЧЕФ ОБ ЪБРТПУ ЧЙДБ ВПМШЫЕ(УМПО, ПВЕЪШСОБ), ФП НЩ ДПМЦОЩ ПВЕУРЕЮЙФШ ВПМЕЕ ФПЮОПЕ ПРЙУБОЙЕ НЙТБ. пДОЙН ЙЪ ЧПЪНПЦОЩИ УРПУПВПЧ ТЕЫЕОЙС ЬФПК РТПВМЕНЩ СЧМСЕФУС ДПВБЧМЕОЙЕ ПФУХФУФЧХАЭЙИ ЖБЛФПЧ, ОБРТЙНЕТ,

ВПМШЫЕ(УМПО, ПВЕЪШСОБ).
дМС ОБЫЕЗП НБМЕОШЛПЗП РТЙНЕТБ ЬФП ПЪОБЮБЕФ ДПВБЧМЕОЙЕ ЕЭЕ 5 ЖБЛФПЧ. пДОБЛП ЗПТБЪДП МХЮЫЙН ТЕЫЕОЙЕН ВХДЕФ ДПВБЧМЕОЙЕ Ч РТПЗТБННХ ОПЧПЗП ПФОПЫЕОЙС, ЛПФПТПЕ НЩ ОБЪПЧЕН ВПМШЫЕ_2. цЙЧПФОПЕ X ВПМШЫЕ, ЮЕН ЦЙЧПФОПЕ Y, ЕУМЙ ЬФП ПРТЕДЕМЕОП ЛБЛ ЖБЛФ (РЕТЧПЕ РТБЧЙМП) ЙМЙ УХЭЕУФЧХЕФ ЦЙЧПФОПЕ Z, ДМС ЛПФПТПЗП ПРТЕДЕМЕО ЖБЛФ, ЮФП ЦЙЧПФОПЕ X ВПМШЫЕ, ЮЕН ЦЙЧПФОПЕ Z Й НПЦЕФ ВЩФШ РПЛБЪБОП, ЮФП ЦЙЧПФОПЕ Z ВПМШЫЕ, ЮЕН ЦЙЧПФОПЕ Y (ЧФПТПЕ РТБЧЙМП). оБ рТПМПЗЕ ЬФП ЪБРЙЫЕФУС ФБЛ:
ВПМШЫЕ_2(X, Y) :- ВПМШЫЕ(X, Y).
ВПМШЫЕ_2(X, Y) :- ВПМШЫЕ(X, Z), ВПМШЫЕ(Z, Y).
еУМЙ Ч ГЕРПЮЛЕ ХЮБУФЧХАФ ОЕ ФТЙ, Б ВПМШЫЕЕ ЮЙУМП ПВЯЕЛФПЧ, ФП РТЙДЕФУС ДПВБЧЙФШ ОПЧЩЕ РТБЧЙМБ:
ВПМШЫЕ_2(X, Y) :- ВПМШЫЕ(X, Z1), ВПМШЫЕ(Z1, Z2),
                  ВПМШЫЕ(Z2, Y).
ВПМШЫЕ_2(X, Y) :- ВПМШЫЕ(X, Z1), ВПМШЫЕ(Z1, Z2),
                  ВПМШЫЕ(Z2, Z3), ВПМШЫЕ(Z3, Y).
...
ьФБ РТПЗТБННБ ДМЙООБ Й ТБВПФБФШ ВХДЕФ ДБМЕЛП ОЕ ЧУЕЗДБ. пОБ УНПЦЕФ РТПУНБФТЙЧБФШ ВБЪХ ДБООЩИ ФПМШЛП ДП ПРТЕДЕМЕООПК ЗМХВЙОЩ, ЪБДБЧБЕНПК НБЛУЙНБМШОЩН ЛПМЙЮЕУФЧПН РПДГЕМЕК Ч РТБЧЙМБИ.

рПЬФПНХ ЧПУРПМШЪХЕНУС ВПМЕЕ ЛПТТЕЛФОПК Й ЬМЕЗБОФОПК ЖПТНХМЙТПЧЛПК. лМАЮЕЧБС ЙДЕС ЪДЕУШ - ПРТЕДЕМЙФШ ПФОПЫЕОЙЕ ВПМШЫЕ_2 У РПНПЭША ЕЗП УБНПЗП. фЕРЕТШ ЧФПТПЕ (Й РПУМЕДОЕЕ!) РТБЧЙМП ЧЩЗМСДЙФ ФБЛ:

ВПМШЫЕ_2(X, Y) :- ВПМШЫЕ(X, Z), ВПМШЫЕ_2(Z, Y).
фБЛЙН ПВТБЪПН, ЙФПЗПЧБС РТПЗТБННБ ВХДЕФ ЙНЕФШ ЧЙД
ВПМШЫЕ_2(X, Y) :- ВПМШЫЕ(X, Y).
ВПМШЫЕ_2(X, Y) :- ВПМШЫЕ(X, Z), ВПМШЫЕ_2(Z, Y).

пВТБФЙФЕ ЧОЙНБОЙЕ ОБ РПТСДПЛ РПДГЕМЕК ЧП ЧФПТПН РТБЧЙМЕ: ЕУМЙ ЙИ РПНЕОСФШ НЕУФБНЙ, ФП Ч ВПМШЫЙОУФЧЕ ТЕБМЙЪБГЙК СЪЩЛБ рТПМПЗ ЧЩРПМОЕОЙЕ ЪБРТПУБ Л ФБЛПК ВБЪЕ ЪОБОЙК РТЙЧЕДЕФ Л УППВЭЕОЙА ПВ ПЫЙВЛЕ, БОБМПЗЙЮОПНХ УМЕДХАЭЕНХ:

ERROR: Out of local stack

еУМЙ ФЕРЕТШ Ч ЪБРТПУЕ ЙУРПМШЪПЧБФШ РТЕДЙЛБФ ВПМШЫЕ_2 ЧНЕУФП ВПМШЫЕ, ФП РТПЗТБННБ ВХДЕФ ТБВПФБФШ ФБЛ, ЛБЛ Й РТЕДРПМБЗБМПУШ:

?- ВПМШЫЕ_2(УМПО, ПВЕЪШСОБ).
Yes

йОФЕТРТЕФБФПТ ЧУЕЗДБ РТПУНБФТЙЧБЕФ ВБЪХ ДБООЩИ УЧЕТИХ ЧОЙЪ. рПЬФПНХ ПО БОБМЙЪЙТХЕФ УОБЮБМБ РЕТЧХА ЖТБЪХ РТПГЕДХТЩ ВПМШЫЕ_2 Й РЩФБЕФУС ХОЙЖЙГЙТПЧБФШ ЛБЦДЩК БТЗХНЕОФ ЪБРТПУБ У УППФЧЕФУФЧХАЭЙН БТЗХНЕОФПН ЬФПК ЖТБЪЩ. ьФП РТПЙУИПДЙФ РТЙ РПНПЭЙ УТБЧОЕОЙС ЪБРТПУБ У ОБЮБМПН РТБЧЙМБ ВПМШЫЕ_2(X, Y) (Ф. Е. У ЕЗП ЗПМПЧПК). рПУМЕ ЬФПЗП ДЧХН РЕТЕНЕООЩН РТЙУЧБЙЧБАФУС ЪОБЮЕОЙС: X = УМПО Й Y = ПВЕЪШСОБ.

рПУМЕ ЛПОЛТЕФЙЪБГЙЙ РЕТЕНЕООПК ОЕЛПФПТЩН ФЕТНПН ЬФП ЪОБЮЕОЙЕ "ЪБЛТЕРМСЕФУС" ЪБ ЧУЕНЙ УМХЮБСНЙ ЙУРПМШЪПЧБОЙС ЬФПК РЕТЕНЕООПК Ч РТБЧЙМЕ. рПУМЕ ХОЙЖЙЛБГЙЙ ЪБРТПУБ У ЪБЗПМПЧЛПН ЖТБЪЩ ЙОФЕТРТЕФБФПТ РЕТЕИПДЙФ Л ПВТБВПФЛЕ ГЕМЕК, УПДЕТЦБЭЙИУС Ч ФЕМЕ ЬФПК ЖТБЪЩ.

ч ДБООПН УМХЮБЕ рТПМПЗ ОЕ НПЦЕФ ОБКФЙ Ч ВБЪЕ ДБООЩИ ЖБЛФБ ВПМШЫЕ(УМПО, ПВЕЪШСОБ) Й РЕТЕИПДЙФ Л ТБУУНПФТЕОЙА ЧФПТПЗП РТБЧЙМБ. пОП ЗМБУЙФ, ЮФП ДМС ФПЗП, ЮФПВЩ РПМХЮЙФШ ПФЧЕФ ОБ ЧПРТПУ ВПМШЫЕ_2(X,Y) (У ЖЙЛУЙТПЧБООЩНЙ ЪОБЮЕОЙСНЙ РЕТЕНЕООЩИ, ФП ЕУФШ ВПМШЫЕ_2(УМПО, ПВЕЪШСОБ)), рТПМПЗ ДПМЦЕО ПФЧЕФЙФШ ОБ ДЧБ РПДЧПРТПУБ ВПМШЫЕ(X, Z) Й ВПМШЫЕ_2(Z, Y), ПРСФШ ЦЕ У УППФЧЕФУФЧХАЭЙНЙ ЪОБЮЕОЙСНЙ РЕТЕНЕООЩИ. рТПГЕУУ РТПУНПФТБ ВБЪЩ ЪОБОЙК У УБНПЗП ОБЮБМБ РПЧФПТСЕФУС ДП ФЕИ РПТ, РПЛБ ЖБЛФЩ, УПУФБЧМСАЭЙЕ ГЕРПЮЛХ НЕЦДХ УМПО Й ПВЕЪШСОБ, ОЕ ВХДХФ ОБКДЕОЩ, Б ЪБРТПУ ХУРЕЫОП ПВТБВПФБО.

мАВБС ТЕЛХТУЙЧОБС РТПГЕДХТБ ДПМЦОБ ЧЛМАЮБФШ РП ЛТБКОЕК НЕТЕ РП ПДОПК ЙЪ ОЙЦЕ РЕТЕЮЙУМЕООЩИ ЛПНРПОЕОФ.

  1. оЕТЕЛХТУЙЧОХА ЖТБЪХ, ПРТЕДЕМСАЭХА РТБЧЙМП, РТЙНЕОСЕНПЕ Ч НПНЕОФ РТЕЛТБЭЕОЙС ТЕЛХТУЙЙ.
  2. тЕЛХТУЙЧОПЕ РТБЧЙМП, РЕТЧБС РПДГЕМШ ЛПФПТПЗП ЧЩТБВБФЩЧБЕФ ОПЧЩЕ ЪОБЮЕОЙС БТЗХНЕОФПЧ, Б ЧФПТБС - ТЕЛХТУЙЧОБС РПДГЕМШ- ЙУРПМШЪХЕФ ЬФЙ ЪОБЮЕОЙС.

ъБДБОЙЕ
дБОБ ВБЪБ ДБООЩИ "тПДЙФЕМЙ", Ч ЛПФПТПК РТЕДЙЛБФ ТПДЙФЕМШ(ЛПМС, БОДТЕК) ПЪОБЮБЕФ, ЮФП лПМС СЧМСЕФУС ТПДЙФЕМЕН бОДТЕС:

ТПДЙФЕМШ(ЛПМС, БОДТЕК).
ТПДЙФЕМШ(БОДТЕК, УБЫБ).
ТПДЙФЕМШ(ЧЙЛФПТ, ЖЕДПТ).
ТПДЙФЕМШ(ЧЙЛФПТ, РЕФТ).
ТПДЙФЕМШ(РЕФТ, ЕМЕОБ).
йУРПМШЪХС ТЕЛХТУЙА, ПРТЕДЕМЙФЕ ПФОПЫЕОЙЕ РТЕДПЛ/2 ЮЕТЕЪ ПФОПЫЕОЙЕ ТПДЙФЕМШ/2. вХДЕН ЗПЧПТЙФШ, ЮФП ОЕЛПФПТЩК X СЧМСЕФУС ПФДБМЕООЩН РТЕДЛПН ОЕЛПФПТПЗП Y, ЕУМЙ НЕЦДХ X Й Y УХЭЕУФЧХЕФ ГЕРПЮЛБ МАДЕК, УЧСЪБООЩИ НЕЦДХ УПВПК ПФОПЫЕОЙЕН ТПДЙФЕМШ - ТЕВЕОПЛ.


вБЪЩ ЪОБОЙК

лБЛ ХЦЕ ПФНЕЮБМПУШ, РТПЗТБННБ ОБ СЪЩЛЕ рТПМПЗ, УПДЕТЦБЭБС ЖБЛФЩ Й РТБЧЙМБ, УПУФБЧМСЕФ ВБЪХ ЪОБОЙК. рТЙ ТБЪТБВПФЛЕ РТПЗТБНН ОБ рТПМПЗЕ ЮБУФП ЙУРПМШЪХАФ ЧУФТПЕООЩЕ РТЕДЙЛБФЩ, Ф. Е. РТЕДЙЛБФЩ, ПРТЕДЕМСЕНЩЕ БЧФПНБФЙЮЕУЛЙ РТЙ ЙОЙГЙБМЙЪБГЙЙ ЙОФЕТРТЕФБФПТБ рТПМПЗБ.

чУФТПЕООЩЕ РТЕДЙЛБФЩ ЙУРПМШЪХАФУС ФБЛ ЦЕ, ЛБЛ Й ПРТЕДЕМСЕНЩЕ РПМШЪПЧБФЕМЕН РТЕДЙЛБФЩ. еДЙОУФЧЕООПЕ ПЗТБОЙЮЕОЙЕ - ЧУФТПЕООЩК РТЕДЙЛБФ ОЕ НПЦЕФ СЧМСФШУС ЗПМПЧПК РТБЧЙМБ ЙМЙ РПСЧМСФШУС Ч ЖБЛФЕ.

пДОЙН ЙЪ ОБЙВПМЕЕ ЮБУФП ЙУРПМШЪХЕНЩИ ЧУФТПЕООЩИ РТЕДЙЛБФПЧ СЧМСЕФУС РТЕДЙЛБФ not/1 (ПФТЙГБОЙЕ). ьФПФ РТЕДЙЛБФ ЙУФЙООЕО, ЕУМЙ ЕЗП БТЗХНЕОФ МПЦЕО, Й ОБПВПТПФ. нПЦОП ЙУРПМШЪПЧБФШ Й ДТХЗХА ЖПТНХ ЪБРЙУЙ ДБООПЗП РТЕДЙЛБФБ \+.

рТЙНЕТ
еУМЙ НЩ ПРТЕДЕМЙН РТБЧЙМП

МПЦШ(X) :- not(X).
МПЦШ1(X) :- \+(X).
ФП УМЕДХАЭЙЕ ЪБРТПУЩ ВХДХФ ЬЛЧЙЧБМЕОФОЩ:
?- not(ВПМШЫЕ(УПВБЛБ, МПЫБДШ)).
Yes;

?- МПЦШ(ВПМШЫЕ(УПВБЛБ, МПЫБДШ)).
Yes

дТХЗЙН ЮБУФП ЙУРПМШЪХЕНЩН ЧУФТПЕООЩН РТЕДЙЛБФПН СЧМСЕФУС =/2 (ХОЙЖЙЛБГЙС): =(X, Y). ьФПФ РТЕДЙЛБФ ДПРХУЛБЕФ ВПМЕЕ ХДПВОХА ЖПТНХ ЪБРЙУЙ X = Y. ъОБЮЕОЙЕ ЬФПЗП РТЕДЙЛБФБ ЙУФЙООП, ЕУМЙ ФЕТНЩ X Й Y ХДБЕФУС ХОЙЖЙГЙТПЧБФШ.

оБ РТЕДЙЛБФ not/1 РПИПЦ ЧУФТПЕООЩК РТЕДЙЛБФ \=, ЪБЧЙУСЭЙК ПФ ДЧХИ БТЗХНЕОФПЧ. хФЧЕТЦДЕОЙЕ X \= Y ЬЛЧЙЧБМЕОФОП ХФЧЕТЦДЕОЙА not(X = Y).

йОПЗДБ ВЩЧБЕФ РПМЕЪОП ЙУРПМШЪПЧБФШ РТЕДЙЛБФЩ, РТП ЛПФПТЩЕ ЪБТБОЕЕ ЙЪЧЕУФОП, ЙУФЙООЩ ПОЙ ЙМЙ МПЦОЩ. дМС ЬФЙИ ГЕМЕК ЙУРПМШЪХАФ РТЕДЙЛБФЩ true/0 Й fail/0. рТЕДЙЛБФ true ЧУЕЗДБ ЙУФЙОЕО, Ч ФП ЧТЕНС ЛБЛ fail ЧУЕЗДБ МПЦЕО.

чУФТПЕООЩК РТЕДЙЛБФ read/1 РПЪЧПМСЕФ УЮЙФЩЧБФШ ФЕТНЩ У ЛМБЧЙБФХТЩ. рТЙ ЬФПН РТЙЗМБЫЕОЙЕ рТПМПЗБ ?- НЕОСЕФУС ОБ |:. чЧПДЙНЩК ФЕТН ДПМЦЕО ПВСЪБФЕМШОП ЪБЛБОЮЙЧБФШУС ФПЮЛПК.

рТЙНЕТ

?- read(Name), read(Age).
|: ЛПМС. 15.

Name = ЛПМС
Age = 15
Yes

?- read(X), ВПМШЫЕ_2(X,Y).
|: ПУЕМ.

X = ПУЕМ
Y = УПВБЛБ ;

X = ПУЕМ
Y = ПВЕЪШСОБ ;
No

еУМЙ РТЙ ПВТБВПФЛЕ ЪБРТПУПЧ рТПМПЗБ ЧЩ РПЦЕМБЕФЕ РПМХЮЙФШ ВПМЕЕ РПДТПВОЩК ЧЩЧПД, ФП ДМС ЬФЙИ ГЕМЕК НПЦОП ЙУРПМШЪПЧБФШ РТЕДЙЛБФ write/1. бТЗХНЕОФПН ЬФПЗП РТЕДЙЛБФБ НПЦЕФ СЧМСФШУС МАВПК ДПРХУФЙНЩК ФЕТН рТПМПЗБ. ч УМХЮБЕ, ЛПЗДБ БТЗХНЕОФПН СЧМСЕФУС РЕТЕНЕООБС, ВХДЕФ ОБРЕЮБФБОП ЕЕ ЪОБЮЕОЙЕ.

чЩРПМОЕОЙЕ РТЕДЙЛБФБ nl/0 ПУХЭЕУФЧМСЕФ РЕТЕЧПД УФТПЛЙ: РПУМЕДХАЭЙК ЧЩЧПД ОБЮОЕФУС У ОПЧПК УФТПЛЙ. рТЕДЙЛБФ tab/1 ЧЩЧПДЙФ ЛПМЙЮЕУФЧП РТПВЕМПЧ, ПРТЕДЕМСЕНПЕ ЕЗП БТЗХНЕОФПН.

рТЙНЕТ

?- write('Hello World!').
Hello World!
Yes

?- write('Hello'), nl, tab(5), write('World!').
Hello
     World!
Yes

?- X = УМПО, write(X), nl.
УМПО

X = УМПО
Yes

ч РПУМЕДОЕН РТЙНЕТЕ УОБЮБМБ РЕТЕНЕООБС X ХОЙЖЙГЙТХЕФУС У БФПНПН УМПО, Б ЪБФЕН ЪОБЮЕОЙЕ РЕТЕНЕООПК X, Ф. Е. УМПО, ЧЩЧПДЙФУС ОБ ЬЛТБО РТЙ РПНПЭЙ РТЕДЙЛБФБ write/1. рПУМЕ РЕТЕИПДБ ОБ ОПЧХА УФТПЛХ рТПМПЗ ЧЩДБЕФ ПФЮЕФ ПВ ХОЙЖЙГЙТПЧБООПК РЕТЕНЕООПК, Ф. Е. РЕЮБФБЕФ X = УМПО.

вПМШЫЙОУФЧП рТПМПЗ-УЙУФЕН РТЕДПУФБЧМСЕФ ДПУФХР Л УРТБЧПЮОПК ЙОЖПТНБГЙЙ РТЙ ЧЩЪПЧЕ РТЕДЙЛБФБ help/1. рТЙНЕОЕООЩК Л ФЕТНХ (ПВЩЮОП РТЕДУФБЧМСАЭЕНХ ЙНС ЧУФТПЕООПЗП РТЕДЙЛБФБ) ПО ПУХЭЕУФЧМСЕФ ЧЩЧПД ЛТБФЛПЗП ПРЙУБОЙС ЬФПЗП ФЕТНБ.

рТЙНЕТ

?- help(write).
write(+Term)
  Write Term to the current output, using brackets and operators
  where appropriate. See feature/2 for contrillong   floating point
  output format.

write(+Stream, +Term)
  Write Term to Stream.
Yes

й, ОБРПУМЕДПЛ, РПЗПЧПТЙН П ЛПННЕОФБТЙСИ. лПННЕОФБТЙЙ ОЙЛБЛ ОЕ ЧМЙСАФ ОБ ЧЩРПМОЕОЙЕ РТПЗТБННЩ, ОП РТЙ РТБЧЙМШОПН ЙИ ЙУРПМШЪПЧБОЙЙ ПОЙ ПЛБЪЩЧБАФУС ЧЕУШНБ УХЭЕУФЧЕООПК ЮБУФША ЙУИПДОПЗП ФЕЛУФБ. оЕУЛПМШЛП ХДБЮОП ТБУРПМПЦЕООЩИ УФТПЛ У ЛПННЕОФБТЙСНЙ НПЗХФ ПЛБЪБФШ ЮЕМПЧЕЛХ, ЮЙФБАЭЕНХ РТПЗТБННХ, ВПМШЫХА РПНПЭШ. рТПМПЗ ЙЗОПТЙТХЕФ РТПЙЪЧПМШОПЕ ЮЙУМП УФТПЛ, ЪБЛМАЮЕООПЕ НЕЦДХ УЙНЧПМБНЙ /* Й */. чУЕ, ЮФП ОБИПДЙФУС НЕЦДХ % Й ЛПОГПН УФТПЛЙ, ФБЛЦЕ ТБУУНБФТЙЧБЕФУС ЛБЛ ЛПННЕОФБТЙК:

рТЙНЕТ

/* ьФП
        ЛПННЕОФБТЙК */

% ьФП ФПЦЕ ЛПННЕОФБТЙК


мПЗЙЮЕУЛЙЕ ЪБДБЮЙ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

тЕЫЕОЙЕ МПЗЙЮЕУЛЙИ ЪБДБЮ

йОФЕТРТЕФБФПТ рТПМПЗБ НПЦОП ЪБУФБЧЙФШ ТЕЫБФШ МПЗЙЮЕУЛЙЕ ЪБДБЮЙ, ЮФП ОЕДПУФХРОП ВПМШЫЙОУФЧХ РТПГЕДХТОЩИ СЪЩЛПЧ.

нОПЗЙЕ МПЗЙЮЕУЛЙЕ ЪБДБЮЙ УЧСЪБОЩ У ТБУУНПФТЕОЙЕН ОЕУЛПМШЛЙИ ЛПОЕЮОЩИ НОПЦЕУФЧ У ПДЙОБЛПЧЩН ЛПМЙЮЕУФЧПН ЬМЕНЕОФПЧ, НЕЦДХ ЛПФПТЩНЙ ХУФБОБЧМЙЧБЕФУС ЧЪБЙНОП-ПДОПЪОБЮОПЕ УППФЧЕФУФЧЙЕ. оБ СЪЩЛЕ рТПМПЗ ЬФЙ НОПЦЕУФЧБ НПЦОП ПРЙУЩЧБФШ ЛБЛ ВБЪЩ ДБООЩИ, Б ЪБЧЙУЙНПУФЙ НЕЦДХ ПВЯЕЛФБНЙ ХУФБОБЧМЙЧБФШ У РПНПЭША РТБЧЙМ.

рТЙНЕТ
ч БЧФПНПВЙМШОЩИ ЗПОЛБИ ФТЙ РЕТЧЩИ НЕУФБ ЪБОСМЙ бМЕЫБ, рЕФС Й лПМС. лБЛПЕ НЕУФП ЪБОСМ ЛБЦДЩК ЙЪ ОЙИ, ЕУМЙ рЕФС ЪБОСМ ОЕ ЧФПТПЕ Й ОЕ ФТЕФШЕ НЕУФП, Б лПМС - ОЕ ФТЕФШЕ?

йНС | I НЕУФП | II НЕУФП | III НЕУФП
бМЕЫБ |  |  |
рЕФС |  | - | -
лПМС |  |  | -

фТБДЙГЙПООЩН УРПУПВПН ЪБДБЮБ ТЕЫБЕФУС ЪБРПМОЕОЙЕН ФБВМЙГЩ.рП ХУМПЧЙА ЪБДБЮЙ рЕФС ЪБОСМ ОЕ ЧФПТПЕ Й ОЕ ФТЕФШЕ НЕУФП, Б лПМС - ОЕ ФТЕФШЕ. ьФП РПЪЧПМСЕФ РПУФБЧЙФШ УЙНЧПМ '-' Ч УППФЧЕФУФЧХАЭЙИ ЛМЕФЛБИ. нЕЦДХ НОПЦЕУФЧПН ЙНЕО ХЮБУФОЙЛПЧ ЗПОЛЙ Й НОПЦЕУФЧПН НЕУФ ДПМЦОП ВЩФШ ХУФБОПЧМЕОП ЧЪБЙНОП-ПДОПЪОБЮОПЕ УППФЧЕФУФЧЙЕ. рПЬФПНХ ПРТЕДЕМСЕН ЪБОСФПЕ НЕУФП УОБЮБМБ Х рЕФЙ, ЪБФЕН Х лПМЙ Й, ОБЛПОЕГ, Х бМЕЫЙ. ч УППФЧЕФУФЧХАЭЙИ ЛМЕФЛБИ РТПУФБЧМСЕН ЪОБЛ '+'. ч ЛБЦДПК УФТПЛЕ Й ЛБЦДПН УФПМВГЕ ДПМЦЕО ВЩФШ ФПМШЛП ПДЙО ФБЛПК ЪОБЛ.

йНС | I НЕУФП | II НЕУФП | III НЕУФП
бМЕЫБ | - | - | +
рЕФС | + | - | -
лПМС | - | + | -

йЪ РПУМЕДОЕК ФБВМЙГЩ УМЕДХЕФ, ЮФП бМЕЫБ ЪБОСМ ФТЕФШЕ НЕУФП, рЕФС - РЕТЧПЕ, лПМС - ЧФПТПЕ.

оБ СЪЩЛЕ рТПМПЗ УФТХЛФХТБ РТПЗТБННЩ ВХДЕФ УМЕДХАЭЕК: УОБЮБМБ РЕТЕЮЙУМСАФУС ДБООЩЕ - ЙНЕОБ Й ОПНЕТ ЪБОСФПЗП НЕУФБ, Б ЪБФЕН ЪБРЙУЩЧБАФУС РТБЧЙМБ, УЧСЪЩЧБАЭЙЕ ЬФЙ ДЧБ НОПЦЕУФЧБ.

/* вБЪБ ДБООЩИ ЙНЕО */
ЙНС(БМЕЫБ).
ЙНС(РЕФС).
ЙНС(ЛПМС).

/* вБЪБ ДБООЩИ РТЙЪПЧЩИ НЕУФ  */
НЕУФП(РЕТЧПЕ).
НЕУФП(ЧФПТПЕ).
НЕУФП(ФТЕФШЕ).

/* хУФБОБЧМЙЧБЕН ЧЪБЙНОП-ПДОПЪОБЮОПЕ УППФЧЕФУФЧЙЕ
НЕЦДХ ВБЪБНЙ ДБООЩИ, X - ЬМЕНЕОФ ЙЪ ВБЪЩ ДБООЩИ ЙНЕО,
Y - ЬМЕНЕОФ ЙЪ ВБЪЩ ДБООЩИ ЪБОСФЩИ НЕУФ */

/* рЕФС ЪБОСМ ОЕ ЧФПТПЕ Й ОЕ ФТЕФШЕ НЕУФП */
УППФЧЕФУФЧЙЕ(X, Y) :- ЙНС(X),  X=РЕФС,
         НЕУФП(Y), not(Y=ЧФПТПЕ), not(Y=ФТЕФШЕ).

/* лПМС ЪБОСМ ОЕ ФТЕФШЕ НЕУФП */
УППФЧЕФУФЧЙЕ(X, Y) :- ЙНС(X), X=ЛПМС,
         НЕУФП(Y), not(Y=ФТЕФШЕ).

УППФЧЕФУФЧЙЕ(X, Y) :- ЙНС(X),  X=БМЕЫБ, НЕУФП(Y).

/* х ЧУЕИ ТЕВСФ ТБЪОЩЕ НЕУФБ */
ТЕЫЕОЙЕ(X1,Y1,X2,Y2,X3,Y3) :-
         X1=РЕФС, УППФЧЕФУФЧЙЕ(X1,Y1),
         X2=ЛПМС, УППФЧЕФУФЧЙЕ(X2,Y2),
         X3=БМЕЫБ, УППФЧЕФУФЧЙЕ(X3,Y3),
         Y1\=Y2, Y2\=Y3, Y1\=Y3.

дМС РПМХЮЕОЙС ПФЧЕФБ УМЕДХЕФ ЧЩРПМОЙФШ ЪБРТПУ

?- ТЕЫЕОЙЕ(X1,Y1,X2,Y2,X3,Y3).

ч ПФЧЕФ рТПМПЗ ЧЩДБУФ ЙНЕОБ ТЕВСФ Й ЪБОСФЩЕ ЙНЙ НЕУФБ. рТПЧЕТШФЕ, ЕУФШ МЙ ДТХЗЙЕ ЧБТЙБОФЩ ПФЧЕФПЧ.

рТЙНЕТ
чЙФС, аТБ Й нЙЫБ УЙДЕМЙ ОБ УЛБНЕКЛЕ. ч ЛБЛПН РПТСДЛЕ ПОЙ УЙДЕМЙ, ЕУМЙ ЙЪЧЕУФОП, ЮФП нЙЫБ УЙДЕМ УМЕЧБ ПФ аТЩ, Б чЙФС УМЕЧБ ПФ нЙЫЙ.

ч ХУМПЧЙЙ ЪБДБЮЙ РЕТЕЮЙУМСАФУС ПВЯЕЛФЩ ПДОПЗП ФЙРБ, УЧСЪБООЩЕ НЕЦДХ УПВПК. ъБРПМОЙН ВБЪХ ДБООЩИ:

/* нЙЫБ УЙДЕМ УМЕЧБ ПФ аТЩ  */
УМЕЧБ(АТБ,НЙЫБ).

/* чЙФС УЙДЕМ УМЕЧБ ПФ нЙЫЙ */
УМЕЧБ(НЙЫБ,ЧЙФС).

рТБЧЙМП ДМС ХУФБОПЧМЕОЙС УМЕДПЧБОЙС ПВЯЕЛФПЧ ДТХЗ ЪБ ДТХЗПН ВХДЕФ ФБЛЙН:

/* пВЯЕЛФЩ X, Y Й Z ПВТБЪХАФ ТСД,
ЕУМЙ X УМЕЧБ ПФ Y Й Y УМЕЧБ ПФ Z */

ТСД(X, Y, Z) :- УМЕЧБ(Y, X), УМЕЧБ(Z, Y).

лПМЙЮЕУФЧП БТЗХНЕОФПЧ Ч ЗПМПЧЕ ДБООПЗП РТБЧЙМБ ТБЧОП ЛПМЙЮЕУФЧХ ПВЯЕЛФПЧ Ч ЪБДБЮЕ. ъБРТПУ

?- ТСД(X, Y, Z).
ДБУФ ОБН ТЕЫЕОЙЕ ЪБДБЮЙ.

ъБДБОЙЕ
тЕЫЙФЕ УМЕДХАЭЙЕ МПЗЙЮЕУЛЙЕ ЪБДБЮЙ У РПНПЭША ЙОФЕТРТЕФБФПТБ рТПМПЗБ.

  1. фТПЕ ТЕВСФ ЧЩЫМЙ ЗХМСФШ У УПВБЛПК, ЛПЫЛПК Й ИПНСЮЛПН. йЪЧЕУФОП, ЮФП рЕФС ОЕ МАВЙФ ЛПЫЕЛ Й ЦЙЧЕФ Ч ПДОПН РПДЯЕЪДЕ У ИПЪСКЛПК ИПНСЮЛБ. мЕОБ ДТХЦЙФ У фБОЕК, ЗХМСАЭЕК У ЛПЫЛПК. пРТЕДЕМЙФШ, У ЛБЛЙН ЦЙЧПФОЩН ЗХМСМ ЛБЦДЩК ЙЪ ДЕФЕК.
    рПДУЛБЪЛБ: РТЕЦДЕ ЧУЕЗП УПУФБЧШФЕ ФБВМЙГХ, ЛБЛ Ч РТЙНЕТЕ 1.
  2. чЙФС, аТБ Й нЙЫБ УЙДЕМЙ ОБ УЛБНЕКЛЕ. ч ЛБЛПН РПТСДЛЕ ПОЙ УЙДЕМЙ, ЕУМЙ ЙЪЧЕУФОП, ЮФП аТБ УЙДЕМ УМЕЧБ ПФ нЙЫЙ Й УРТБЧБ ПФ чЙФЙ.


тБВПФБ У ЮЙУМБНЙ

 рТЕДЩДХЭЙК ТБЪДЕМ хТПЧЕОШ ЧЩЫЕ уМЕДХАЭЙК ТБЪДЕМ

бТЙЖНЕФЙЮЕУЛЙЕ ЧЩТБЦЕОЙС

ч СЪЩЛЕ рТПМПЗ ЙНЕЕФУС ТСД ЧУФТПЕООЩИ ЖХОЛГЙК ДМС ЧЩЮЙУМЕОЙС БТЙЖНЕФЙЮЕУЛЙИ ЧЩТБЦЕОЙК, ОЕЛПФПТЩЕ ЙЪ ЛПФПТЩИ РЕТЕЮЙУМЕОЩ Ч ФБВМЙГЕ.

X + Y | уХННБ X Й Y
X - Y | тБЪОПУФШ X Й Y
X * Y | рТПЙЪЧЕДЕОЙЕ X Й Y
X / Y | дЕМЕОЙЕ X ОБ Y
X mod Y | пУФБФПЛ ПФ ДЕМЕОЙС X ОБ Y
X // Y | дЕМЕОЙЕ ОБГЕМП X ОБ Y
X ** Y | чПЪЧЕДЕОЙЕ X Ч УФЕРЕОШ Y
- X | уНЕОБ ЪОБЛБ X
abs(X) | бВУПМАФОБС ЧЕМЙЮЙОБ ЮЙУМБ X
max(X,Y) | вПМШЫЕЕ ЙЪ ЮЙУЕМ X Й Y
min(X,Y) | нЕОШЫЕЕ ЙЪ ЮЙУЕМ X Й Y
sqrt(X) | лЧБДТБФОЩК ЛПТЕОШ ЙЪ X
random(Int) | уМХЮБКОПЕ ГЕМПЕ ЮЙУМП Ч ДЙБРБЪПОЕ ПФ 0 ДП Int
sin(X) | уЙОХУ X
cos(X) | лПУЙОХУ X
tan(X) | фБОЗЕОУ X
log(X) | оБФХТБМШОЩК МПЗБТЙЖН (ln) ЮЙУМБ X
log10(X) | дЕУСФЙЮОЩК МПЗБТЙЖН (lg) ЮЙУМБ X
float(X) | чЕЭЕУФЧЕООПЕ ЮЙУМП, УППФЧЕФУФЧХАЭЕЕ ГЕМПНХ ЮЙУМХ X
pi | 3.14159 (РТЙВМЙЦЕООПЕ ЪОБЮЕОЙЕ ЮЙУМБ [image] )
Е | 2.71828 (РТЙВМЙЦЕООПЕ ЪОБЮЕОЙЕ ЮЙУМБ Е)

еЭЕ ТБЪ ПФНЕФЙН, ЮФП рТПМПЗ УФБТБЕФУС УЛТЩФШ ТБЪМЙЮЙЕ НЕЦДХ БТЙЖНЕФЙЛПК ГЕМЩИ Й ЧЕЭЕУФЧЕООЩИ ЮЙУЕМ ЧЕЪДЕ, ЗДЕ ЬФП НПЦОП.

дМС ЧЩЮЙУМЕОЙС БТЙЖНЕФЙЮЕУЛЙИ ЧЩТБЦЕОЙК Ч рТПМПЗЕ ЙУРПМШЪХЕФУС ЧУФТПЕООЩК ВЙОБТОЩК ПРЕТБФПТ is, ЛПФПТЩК ЙОФЕТРТЕФЙТХЕФ РТБЧЩК ФЕТН ЛБЛ БТЙЖНЕФЙЮЕУЛПЕ ЧЩТБЦЕОЙЕ, РПУМЕ ЮЕЗП ХОЙЖЙГЙТХЕФ (ЕУМЙ ЧПЪНПЦОП) ТЕЪХМШФБФ ЧЩЮЙУМЕОЙС У МЕЧЩН ФЕТНПН (ПВЩЮОП У РЕТЕНЕООПК). рТЙПТЙФЕФ ЧЩРПМОЕОЙС БТЙЖНЕФЙЮЕУЛЙИ ПРЕТБГЙК СЧМСЕФУС ФТБДЙГЙПООЩН. лТХЗМЩЕ УЛПВЛЙ ЙУРПМШЪХАФУС ДМС ЙЪНЕОЕОЙС РПТСДЛБ ЧЩЮЙУМЕОЙК. ч УМЕДХАЭЙИ РТЙНЕТБИ РЕТЕНЕООБС X ХОЙЖЙГЙТХЕФУС УП ЪОБЮЕОЙСНЙ БТЙЖНЕФЙЮЕУЛЙИ ЧЩТБЦЕОЙК:

?- X is 2.5 + 2.5.
X = 5
Yes

?- X is 4/(2+1).
X =  1.33333
Yes

?- X is cos(3*pi).
X = -1
Yes

?- 1 is sin(pi/2).
Yes

?- 1.0 is sin(pi/2).
No
рПСУОЙН ОЕУЛПМШЛП ОЕПЦЙДБООЩК ПФЧЕФ рТПМПЗБ Ч РПУМЕДОЕН ЪБРТПУЕ. ъОБЮЕОЙЕ sin(pi/2) БЧФПНБФЙЮЕУЛЙ ПЛТХЗМСЕФУС РТЕДЙЛБФПН is ДП ГЕМПЗП ЪОБЮЕОЙС 1, ЛПФПТПЕ ОЕ ХДБЕФУС ХОЙЖЙГЙТПЧБФШ У ЧЕЭЕУФЧЕООЩН ЮЙУМПН 1.0. рТЕДЙЛБФ float ЪБУФБЧЙФ УЮЙФБФШ ЪОБЮЕОЙЕ sin(pi/2) ЧЕЭЕУФЧЕООЩН ЮЙУМПН:

?- 1.0 is float( sin(pi/2)).
Yes

дМС УТБЧОЕОЙС БТЙЖНЕФЙЮЕУЛЙИ ЧЩТБЦЕОЙК ЙУРПМШЪХЕФУС ТСД ПРЕТБФПТПЧ. гЕМШ X > Y (ВПМШЫЕ) ВХДЕФ ХУРЕЫОБ, ЕУМЙ ЧЩТБЦЕОЙЕ X ВХДЕФ УППФЧЕФУФЧПЧБФШ ВПМШЫЕНХ ЮЙУМХ, ЮЕН ЧЩТБЦЕОЙЕ Y.

бОБМПЗЙЮОП ЙУРПМШЪХАФУС ПРЕТБФПТЩ < (НЕОШЫЕ), =< (НЕОШЫЕ ЙМЙ ТБЧОП), >= (ВПМШЫЕ ЙМЙ ТБЧОП), =\= (ОЕ ТБЧОП) Й =:= (БТЙЖНЕФЙЮЕУЛЙ ТБЧОЩК). тБЪМЙЮЙС НЕЦДХ ПРЕТБФПТБНЙ =:= Й = ПЮЕОШ УХЭЕУФЧЕООЩ. рЕТЧЩК ПРЕТБФПТ УТБЧОЙЧБЕФ ЪОБЮЕОЙС БТЙЖНЕФЙЮЕУЛЙИ ЧЩТБЦЕОЙК, ФПЗДБ ЛБЛ РПУМЕДОЙК РЩФБЕФУС ХОЙЖЙГЙТПЧБФШ ЙИ.

рТЙНЕТ

?- 2 ** 3 =:= 3 + 5.
Yes

?- 2 ** 3 = 3 + 5.
No

?- 1.0 = float(sin(pi/2)).
No

?- 1.0 =:= sin(pi/2).
Yes

ъБНЕФШФЕ, ЮФП ГЕМШ X =:= Y ВХДЕФ ЙУФЙООБ, ДБЦЕ ЕУМЙ ПДЙО ЙЪ ФЕТНПЧ ЕУФШ ГЕМПЕ ЮЙУМП, Б ДТХЗПК - ТБЧОПЕ ЕНХ ЧЕЭЕУФЧЕООПЕ.

рТЙНЕТ
рПТСДПЛ РПДГЕМЕК Ч ЪБРТПУЕ ЧМЙСЕФ ОБ ЕЗП ТЕЪХМШФБФ:

?- X is 4+Y, Y=3.
ERROR: Arguments are not sufficiently instantiated

?- Y=3, X is 4+Y.
Y = 3
X = 7
Yes
ч РЕТЧПН ЪБРТПУЕ УППВЭЕОЙЕ ПВ ПЫЙВЛЕ РПСЧЙМПУШ РПФПНХ, ЮФП РЕТЧБС РПДГЕМШ ЪБРТПУБ (X is 4+Y) РПФЕТРЕМБ ОЕХДБЮХ, Ф. Л. Ч НПНЕОФ ЕЕ ПВТБВПФЛЙ ОЕЧПЪНПЦОП ЧЩЮЙУМЙФШ ЧЩТБЦЕОЙЕ 4+Y.

ъБДБОЙЕ
лБЛПК ПФЧЕФ ЧЩДБУФ ЙОФЕТРТЕФБФПТ рТПМПЗБ ОБ УМЕДХАЭЙЕ ЪБРТПУЩ?

  1. ?- 3 is 2+1.
  2. ?- X=3/2.
  3. ?- X is 3/2.
  4. ?- X is min(tan(pi/4), log(pi)).


рТЙНЕТЩ РТПЗТБНН

тБУУНПФТЙН ОЕЛПФПТЩЕ РТПЗТБННЩ, ДЕНПОУФТЙТХАЭЙЕ ПВТБВПФЛХ ЮЙУМПЧЩИ ДБООЩИ. пФНЕФЙН ЧБЦОХА ПУПВЕООПУФШ РТПГЕДХТ, УПЪДБЧБЕНЩИ ОБ СЪЩЛЕ рТПМПЗ: ПОЙ, Ч ПФМЙЮЙЙ ПФ ЧУФТПЕООЩИ ЖХОЛГЙК, ОЕ НПЗХФ РПСЧМСФШУС Ч БТЙЖНЕФЙЮЕУЛЙИ ЧЩТБЦЕОЙСИ. еУМЙ ФТЕВХЕФУС, ОБРТЙНЕТ, РЕТЕНЕООПК R РТЙУЧПЙФШ ЪОБЮЕОЙЕ, ТБЧОПЕ ХНОПЦЕООПНХ ОБ ФТЙ ВПМШЫЕНХ ЙЪ ДЧХИ ЧЩТБЦЕОЙК X Й Y, ФП, ЙУРПМШЪХС ПРТЕДЕМЕООХА ОЙЦЕ РТПГЕДХТХ НБЛУЙНХН, ЬФП НПЦОП ЪБРЙУБФШ ФБЛ:

НБЛУЙНХН(X,Y,Z), R is 3*Z.
(УЛБЮБФШ ЖБКМ У РТЙНЕТБНЙ)

рТЙНЕТ
оБРЙУБФШ РТПГЕДХТХ, ЧЩЮЙУМСАЭХА НБЛУЙНХН ЙЪ ДЧХИ ЮЙУЕМ.

НБЛУЙНХН(X,X,X).
НБЛУЙНХН(X,Y,X):- X>Y.
НБЛУЙНХН(X,Y,Y):- X<Y.
ч РТЕДЙЛБФЕ НБЛУЙНХН/3 ФТЕФЙК БТЗХНЕОФ СЧМСЕФУС НБЛУЙНХНПН ЙЪ ДЧХИ ЮЙУЕМ - РЕТЧПЗП Й ЧФПТПЗП ЕЗП БТЗХНЕОФПЧ. уНЩУМ ЛБЦДПЗП ЙЪ РТБЧЙМ ДБООПК РТПГЕДХТЩ ЧРПМОЕ ПЮЕЧЙДЕО. рПУНПФТЙН ОБ ТЕБЛГЙА ЙОФЕТРТЕФБФПТБ рТПМПЗБ ОБ ЪБРТПУЩ, УПДЕТЦБЭЙЕ ДБООЩК РТЕДЙЛБФ.
?- НБЛУЙНХН(20,50,X).
X = 50
Yes

?- НБЛУЙНХН(100,50,X).
X = 100
Yes

?- НБЛУЙНХН(X,50,100).
X = 100
Yes
рПУМЕДОЙК ПФЧЕФ РПЛБЪЩЧБЕФ, ЮФП ОБЫ РТЕДЙЛБФ РПЪЧПМСЕФ ОБИПДЙФШ ПФЧЕФ ОБ ЧПРТПУЩ ФЙРБ: "лБЛПЧП ДПМЦОП ВЩФШ ЮЙУМП, ЮФПВЩ НБЛУЙНХН ЙЪ ЙУЛПНПЗП ЮЙУМБ Й ЮЙУМБ 50 ТБЧОСМУС ВЩ 100?".

лБЛ ЧЩ ДХНБЕФЕ, РПЮЕНХ ВЩМ РПМХЮЕО ПФЧЕФ "No" ОБ УМЕДХАЭЙК ЪБРТПУ?

?- НБЛУЙНХН(X,50,40).
No

рТЙНЕТ
уПУФБЧШФЕ РТПГЕДХТХ ЗЙРПФЕОХЪБ/3, ЛПФПТБС РП ДЧХН ЛБФЕФБН РТСНПХЗПМШОПЗП ФТЕХЗПМШОЙЛБ ЧЩЮЙУМСЕФ ЕЗП ЗЙРПФЕОХЪХ.

чПУРПМШЪХЕНУС ФЕПТЕНПК рЙЖБЗПТБ Й ЧУФТПЕООПК ЖХОЛГЙЕК sqrt ДМС ЧЩЮЙУМЕОЙС ЛЧБДТБФОПЗП ЛПТОС:

ЗЙРПФЕОХЪБ(X,Y,Z):- Z is sqrt(X**2 + Y**2).
рТПЗТБННБ ЛПТТЕЛФОП ЧЩЮЙУМСЕФ ЗЙРПФЕОХЪХ, ОП ЕУМЙ НЩ РПРТПВХЕН РТЙ ЕЕ РПНПЭЙ ОБКФЙ ПДЙО ЙЪ ЛБФЕФПЧ, ФП ХВЕДЙНУС, ЮФП РТПГЕДХТБ ТБВПФБЕФ ОЕ ЧРПМОЕ РТБЧЙМШОП. юФПВЩ ЙЪВЕЦБФШ ЬФПЗП ДПВБЧЙН РТПЧЕТЛХ ФПЗП, ЮФП РЕТЧЩЕ ДЧБ БТЗХНЕОФБ РТЕДЙЛБФБ - РПМПЦЙФЕМШОЩЕ ЮЙУМБ, ДМС ЮЕЗП ЙУРПМШЪХЕН ЧУФТПЕООЩК РТЕДЙЛБФ number/1 Й УТБЧОЕОЙЕ У ОХМЕН:
ЗЙРПФЕОХЪБ(X,Y,Z):- number(X), X>0, number(Y), Y>0,
                    Z is sqrt(X**2 + Y**2).
фЕРЕТШ ОБЫБ РТПЗТБННБ ТБВПФБЕФ ЛПТТЕЛФОП:
?- ЗЙРПФЕОХЪБ(3,4,X).
X = 5
Yes

?- ЗЙРПФЕОХЪБ(3,'a',X).
No

?- ЗЙРПФЕОХЪБ(3,X,5).
No

рТЙНЕТ
оБРЙЫЙФЕ РТЕДЙЛБФ, ЛПФПТЩК РП ДЧХН РБТБН ЮЙУЕМ - ДМЙОБН ЛБФЕФПЧ РТСНПХЗПМШОЩИ ФТЕХЗПМШОЙЛПЧ - ПРТЕДЕМСЕФ ЧЕМЙЮЙОХ НЕОШЫЕК ЙЪ ЗЙРПФЕОХЪ.

чПУРПМШЪХЕНУС РТПГЕДХТПК ЗЙРПФЕОХЪБ/3, ТБЪПВТБООПК ЧЩЫЕ, Й ЧУФТПЕООПК ЖХОЛГЙЕК min/2:

НЙО_ЗЙР(A1,B1,A2,B2,Min):-
                   ЗЙРПФЕОХЪБ(A1,B1,C1),
                   ЗЙРПФЕОХЪБ(A2,B2,C2),
                   Min is min(C1,C2).
ъБРТПУЩ Л ЙОФЕТРТЕФБФПТХ рТПМПЗБ НПЗХФ ЧЩЗМСДЕФШ ФБЛ:
?- НЙО_ЗЙР(3,4,8,6,X).
X = 5
Yes

?- НЙО_ЗЙР(3,4,Y,6,X).
No

рТЙНЕТ
жБЛФПТЙБМПН ОБФХТБМШОПЗП ЮЙУМБ n ОБЪЩЧБАФ РТПЙЪЧЕДЕОЙЕ ЧУЕИ ГЕМЩИ ЮЙУЕМ ПФ 1 ДП n ЧЛМАЮЙФЕМШОП. дМС ЪБРЙУЙ ЖБЛФПТЙБМБ ЮЙУМБ n ЙУРПМШЪХАФ ПВПЪОБЮЕОЙЕ n!.

          n!=n*(n-1)*(n-2)*...*2*1=n*(n-1)!

уМЕДХАЭБС РТПГЕДХТБ ЧЩЮЙУМСЕФ ЖБЛФПТЙБМ ЮЙУМБ. пВТБФЙФЕ ЧОЙНБОЙЕ ОБ ЙУРПМШЪПЧБОЙЕ ТЕЛХТУЙЙ Ч ДБООПК РТПГЕДХТЕ:

ЖБЛФПТЙБМ(1,1).
ЖБЛФПТЙБМ(N,R):- integer(N), N>1, N1 is N-1,
                 ЖБЛФПТЙБМ(N1,R1), R is N*R1.

рЕТЧПЕ РТБЧЙМП (ФБЛ ОБЪЩЧБЕНЩК ФЕТНЙОБМШОЩК УМХЮБК, ФП ЕУФШ ФПФ НПНЕОФ ЧЩРПМОЕОЙС РТПГЕДХТЩ, ЛПЗДБ ПОБ РЕТЕУФБЕФ ЧЩЪЩЧБФШ УБНБ УЕВС) ЗМБУЙФ, ЮФП ЖБЛФПТЙБМ ЕДЙОЙГЩ ТБЧЕО ЕДЙОЙГЕ. чФПТПЕ РТБЧЙМП ЕУФШ РТПУФП ЪБРЙУШ ПРТЕДЕМЕОЙС ЖБЛФПТЙБМБ: ТЕЪХМШФБФ R РПМХЮБЕФУС ХНОПЦЕОЙЕН ЮЙУМБ N ОБ ЖБЛФПТЙБМ ЮЙУМБ, ОБ ЕДЙОЙГХ НЕОШЫЕЗП. пОП ВХДЕФ УТБВБФЩЧБФШ РТЙ ЧУЕИ n>1 РПФПНХ, ЮФП ЙОФЕТРТЕФБФПТ рТПМПЗБ РТПУНБФТЙЧБЕФ ВБЪХ ДБООЩИ УЧЕТИХ ЧОЙЪ Й РЕТЕИПДЙФ Л УМЕДХАЭЕНХ РТБЧЙМХ ЙМЙ ЖБЛФХ ФПМШЛП Ч ФПН УМХЮБЕ, ЛПЗДБ ПО ОЕ НПЦЕФ ЧЩРПМОЙФШ ФЕЛХЭЕЕ РТБЧЙМП.

рТЙНЕТ
оБРЙЫЙФЕ РТПЗТБННХ ОБ СЪЩЛЕ рТПМПЗ, РЕЮБФБАЭХА УХННХ ЧУЕИ ГЙЖТ ЧЧЕДЕООПЗП У ЛМБЧЙБФХТЩ ЮЙУМБ.

дМС ТЕЫЕОЙС ДБООПК ЪБДБЮЙ ЧПУРПМШЪХЕНУС ДЧХНС РТЕДЙЛБФБНЙ. рТЕДЙЛБФ УХННБ/2 ЙНЕЕФ УЧПЙН РЕТЧЩН БТЗХНЕОФПН ЮЙУМП, УХННБ ГЙЖТ ЛПФПТПЗП СЧМСЕФУС ЕЗП ЧФПТЩН БТЗХНЕОФПН. чФПТПК РТЕДЙЛБФ - РЕЮБФШ_УХННЩ/0 - ЪБРТБЫЙЧБЕФ ЮЙУМП, ЧЩЪЩЧБЕФ РТЕДЙЛБФ УХННБ/2 Й РЕЮБФБЕФ РПМХЮЕООЩК ТЕЪХМШФБФ.

УХННБ(X,Y):- integer(X), X<10, Y is X.
УХННБ(X,Y):- integer(X), X1 is X//10, УХННБ(X1,Y1),
             Z is X mod 10, Y is Y1+Z.

РЕЮБФШ_УХННЩ:-  write('чЧЕДЙФЕ ЮЙУМП (Ч ЛПОГЕ ФПЮЛБ): '),
                read(X), nl, УХННБ(X,Y),
                write('уХННБ ГЙЖТ  ЮЙУМБ '), write(X),
        write(' ТБЧОБ '), write(Y), nl.

рТБЧЙМП РЕЮБФШ_УХННЩ ОЕ ЙНЕЕФ БТЗХНЕОФПЧ, ДБООЩЕ ЧЧПДСФУС У ЛМБЧЙБФХТЩ Й ЪБФЕН, РТЙ РПНПЭЙ НЕИБОЙЪНБ ХОЙЖЙЛБГЙЙ, РЕТЕДБАФУС ДТХЗЙН РПДГЕМСН ДБООПЗП РТБЧЙМБ.

рТЙНЕТ
оБРЙЫЙФЕ РТПЗТБННХ ОБ СЪЩЛЕ рТПМПЗ, ЧЧПДСЭХА У ЛМБЧЙБФХТЩ ДЧБ ЮЙУМБ - ЛППТДЙОБФЩ ФПЮЛЙ ОБ РМПУЛПУФЙ Й ПРТЕДЕМСАЭХА, РПРБДБЕФ МЙ ДБООБС ФПЮЛБ Ч ЛТХЗ ЕДЙОЙЮОПЗП ТБДЙХУБ У ГЕОФТПН Ч ОБЮБМЕ ЛППТДЙОБФ.

inside(X,Y,РПРБДБЕФ):- number(X), number(Y),
                       X**2+Y**2=<1.
inside(X,Y,ОЕ_РПРБДБЕФ):-number(X), number(Y),
                       X**2+Y**2>1.

/* чЧЕУФЙ ДЧБ ЮЙУМБ Й ЧЩЪЧБФШ РТЕДЙЛБФ inside/3 */

input:-write('чЧЕДЙФЕ x-ЛППТДЙОБФХ: '),
       read(X), nl,
       write('чЧЕДЙФЕ y-ЛППТДЙОБФХ: '),
       read(Y), nl,
       inside(X,Y,R), write(R).

ъБДБОЙЕ
оБРЙЫЙФЕ РТПГЕДХТЩ ОБ СЪЩЛЕ рТПМПЗ ДМС ТЕЫЕОЙС УМЕДХАЭЙИ ЪБДБЮ Й РТЙЧЕДЙФЕ РТЙНЕТЩ ЙУРПМШЪПЧБОЙС ЬФЙИ РТПГЕДХТ.

  1. йЪНЕОЙФЕ РПУМЕДОАА ЙЪ ТБУУНПФТЕООЩИ РТПЗТБНН ФБЛ, ЮФПВЩ РПМШЪПЧБФЕМШ НПЗ ЧЧЕУФЙ ЛППТДЙОБФЩ ГЕОФТБ ЛТХЗБ.
  2. оБКДЙФЕ ЛПМЙЮЕУФЧП ГЙЖТ ЧП ЧЧЕДЕООПН ЮЙУМЕ.
  3. пРТЕДЕМЙФЕ НБЛУЙНБМШОХА ГЙЖТХ ЧЧЕДЕООПЗП ЮЙУМБ.
  4. пДОПЛМЕФПЮОБС БНЕВБ ЛБЦДЩЕ 3 ЮБУБ ДЕМЙФУС ОБ 2 ЛМЕФЛЙ. пРТЕДЕМЙФЕ, УЛПМШЛП ЛМЕФПЛ ВХДЕФ ЮЕТЕЪ N ЮБУПЧ (N=3, 6, ..., 24, Ф. Е. ЛТБФОП 3), ЕУМЙ РЕТЧПОБЮБМШОП ВЩМБ ПДОБ БНЕВБ.


уРЙУЛЙ

уРЙУЛЙ - ПДОБ ЙЪ ОБЙВПМЕЕ ЮБУФП ХРПФТЕВМСЕНЩИ УФТХЛФХТ Ч рТПМПЗЕ. рТЙ ЪБРЙУЙ УРЙУПЛ ЪБЛМАЮБАФ Ч ЛЧБДТБФОЩЕ УЛПВЛЙ, Б ЬМЕНЕОФЩ УРЙУЛБ ТБЪДЕМСАФ ЪБРСФЩНЙ, ОБРТЙНЕТ,

[УМПО, МПЫБДШ, ПВЕЪШСОБ, УПВБЛБ]
ьФП УРЙУПЛ ЙЪ ЮЕФЩТЕИ БФПНПЧ - УМПО, МПЫБДШ, ПВЕЪШСОБ, УПВБЛБ.

ьМЕНЕОФБНЙ УРЙУЛБ НПЗХФ ВЩФШ МАВЩЕ ФЕТНЩ рТПМПЗБ, Ф. Е. БФПНЩ, ЮЙУМБ, РЕТЕНЕООЩЕ Й УПУФБЧОЩЕ ФЕТНЩ, ЮФП РПЪЧПМСЕФ, Ч ЮБУФОПУФЙ, УПУФБЧМСФШ УРЙУЛЙ ЙЪ УРЙУЛПЧ. рХУФПК УРЙУПЛ ЪБРЙУЩЧБЕФУС ЛБЛ [ ].

чПФ РТЙНЕТ УРЙУЛБ У ОЕУЛПМШЛП ВПМЕЕ УМПЦОПК УФТХЛФХТПК:

[УМПО, [ ], X, РТЕДПЛ(и, ФПН), [a,b,c], f(22)]

рЕТЧЩК ЬМЕНЕОФ ОЕРХУФПЗП УРЙУЛБ ОБЪЩЧБЕФУС ЗПМПЧПК, Б ПУФБМШОБС ЮБУФШ УРЙУЛБ ОПУЙФ ОБЪЧБОЙЕ ИЧПУФ. х УРЙУЛБ, УПУФПСЭЕЗП ФПМШЛП ЙЪ ПДОПЗП ЬМЕНЕОФБ ЗПМПЧПК СЧМСЕФУС ЬФПФ ЕДЙОУФЧЕООЩК ЬМЕНЕОФ, Б ИЧПУФПН - РХУФПК УРЙУПЛ. пВПЪОБЮЕОЙЕ [H|T] ЙУРПМШЪХЕФУС ДМС РТЕДУФБЧМЕОЙС УРЙУЛБ У ЗПМПЧПК H Й ИЧПУФПН T. еУМЙ УЙНЧПМ | РПНЕЭЕО РЕТЕД РПУМЕДОЙН ФЕТНПН УРЙУЛБ, ФП ЬФП ПЪОБЮБЕФ, ЮФП ЬФПФ РПУМЕДОЙК ФЕТН ПРТЕДЕМСЕФ ДТХЗПК УРЙУПЛ. рПМОЩК УРЙУПЛ РПМХЮЙФУС, ЕУМЙ УПЕДЙОЙФШ ЬФПФ РПДУРЙУПЛ У РПУМЕДПЧБФЕМШОПУФША ЬМЕНЕОФПЧ, ТБУРПМПЦЕООЩИ ДП ЮЕТФЩ.

ч УМЕДХАЭЕН РТЙНЕТЕ 1 - ЗПМПЧБ УРЙУЛБ, Б [2, 3, 4, 5] - ИЧПУФ. рТПМПЗ РПЛБЦЕФ ЬФП РТЙ РПНПЭЙ УПРПУФБЧМЕОЙС УРЙУЛБ ЮЙУЕМ У ПВТБЪГПН, УПУФПСЭЙН ЙЪ ЗПМПЧЩ Й ИЧПУФБ.

?- [1, 2, 3, 4, 5] = [Head | Tail].
Head = 1
Tail = [2, 3, 4, 5]
Yes

ъДЕУШ Head Й Tail - ФПМШЛП ЙНЕОБ РЕТЕНЕООЩИ. нЩ НПЗМЙ ВЩ ЙУРПМШЪПЧБФШ X Й Y ЙМЙ ЛБЛЙЕ-ОЙВХДШ ДТХЗЙЕ ЙНЕОБ РЕТЕНЕООЩИ У ФЕН ЦЕ ХУРЕИПН. ъБНЕФЙН, ЮФП ИЧПУФ УРЙУЛБ ЧУЕЗДБ СЧМСЕФУС УРЙУЛПН. зПМПЧБ, Ч УЧПА ПЮЕТЕДШ, ЕУФШ ЬМЕНЕОФ УРЙУЛБ, ЮФП ЧЕТОП Й ДМС ЧУЕИ ДТХЗЙИ ЬМЕНЕОФПЧ, ТБУРПМПЦЕООЩИ ДП ЧЕТФЙЛБМШОПК ЮЕТФЩ. ьФП РПЪЧПМСЕФ РПМХЮЙФШ, УЛБЦЕН, ЧФПТПК ЬМЕНЕОФ УРЙУЛБ.

рТЙНЕТ
йУРПМШЪХЕН БОПОЙНОЩЕ РЕТЕНЕООЩЕ ДМС ЗПМПЧЩ Й УРЙУЛБ, УФПСЭЕЗП РПУМЕ ЮЕТФЩ, ЕУМЙ ОБН ОХЦЕО ФПМШЛП ЧФПТПК ЬМЕНЕОФ УРЙУЛБ:

?- [УМПО, МПЫБДШ, ПУЕМ, УПВБЛБ] = [_, X | _ ].
X = МПЫБДШ
Yes

тБУУНПФТЙН ОЕУЛПМШЛП РТПГЕДХТ ПВТБВПФЛЙ УРЙУЛПЧ. пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП ЧУЕ ПОЙ ЙУРПМШЪХАФ ТЕЛХТУЙА, Ч ЛПФПТПК ФЕТНЙОБМШОПЕ (ВБЪПЧПЕ) РТБЧЙМП ПРТЕДЕМЕОП ДМС РХУФПЗП УРЙУЛБ.

рТЙНЕТ
оБРЙЫЕН РТЕДЙЛБФ ДМС ЧЩЮЙУМЕОЙС УХННЩ ЧУЕИ ЬМЕНЕОФПЧ УРЙУЛБ ЮЙУЕМ.

УХННБ_УРЙУЛБ([],0).
УХННБ_УРЙУЛБ([H|T],S):- number(H), УХННБ_УРЙУЛБ(T,S1),
                        S is S1+H.

рТЙНЕТ
рТЕДЙЛБФ НЕУФП/3 ХУРЕЫЕО, ЕУМЙ ФТЕФЙК БТЗХНЕОФ ЕУФШ УРЙУПЛ, РПМХЮЕООЩК ЧУФБЧЛПК РЕТЧПЗП БТЗХНЕОФБ Ч РТПЙЪЧПМШОПЕ НЕУФП УРЙУЛБ, СЧМСАЭЕЗПУС ЧФПТЩН БТЗХНЕОФПН.

НЕУФП(E, L, [E|L]).
НЕУФП(E, [H|L], [H|Y]):-  НЕУФП(E, L,Y).
рПУНПФТЙН ОБ ТЕЪХМШФБФЩ ОЕЛПФПТЩИ ЪБРТПУПЧ, ЙУРПМШЪХАЭЙИ ЬФПФ РТЕДЙЛБФ.
?- НЕУФП(1,[2,3],X).
X = [1, 2, 3] ;
X = [2, 1, 3] ;
X = [2, 3, 1] ;
No

?- НЕУФП(1,L,[2,1,3]).
L = [2, 3] ;
No

?- НЕУФП(X,[2,3],[2,1,3]).
X = 1 ;
No

рТЙНЕТ
рТЕДЙЛБФ РЕТЕУФБОПЧЛБ/2 ЧЩДБЕФ УРЙУЛЙ, РПМХЮЕООЩЕ РЕТЕУФБОПЧЛПК ЬМЕНЕОФПЧ УЧПЕЗП РЕТЧПЗП БТЗХНЕОФБ.

РЕТЕУФБОПЧЛБ([],[]).
РЕТЕУФБОПЧЛБ([H|L],Z):- РЕТЕУФБОПЧЛБ(L,Y), НЕУФП(H,Y,Z).
рТЙНЕТ ЙУРПМШЪПЧБОЙС:
?- РЕТЕУФБОПЧЛБ([a,b,c],X).
X = [a, b, c] ;
X = [b, a, c] ;
X = [b, c, a] ;
X = [a, c, b] ;
X = [c, a, b] ;
X = [c, b, a] ;
No
й, ОБЛПОЕГ, РТЙЧЕДЕН РТБЧЙМП ДМС РЕЮБФЙ ЧУЕИ ЧПЪНПЦОЩИ РЕТЕУФБОПЧПЛ УРЙУЛБ:
ЧУЕ_РЕТЕУФБОПЧЛЙ(L):- РЕТЕУФБОПЧЛБ(L,R), write(R), nl, fail.

рЕТЧБС РПДГЕМШ РТЕДЙЛБФБ ЧЩЮЙУМСЕФ ПЮЕТЕДОХА РЕТЕУФБОПЧЛХ, РЕЮБФБЕФ ЕЕ Й РЕТЕИПДЙФ Л РПУМЕДОЕК РПДГЕМЙ - fail. ьФБ РПДГЕМШ ЧУЕЗДБ ОЕХУРЕЫОБ, ЮФП ЪБУФБЧМСЕФ рТПМПЗ ЧЕТОХФШУС Л ОБЮБМХ РТБЧЙМБ Й РТПДПМЦЙФШ РПЙУЛ ТЕЫЕОЙС. тБВПФБ РТПГЕДХТЩ ЪБЧЕТЫЙФУС, ЛПЗДБ ЧУЕ РЕТЕУФБОПЧЛЙ ВХДХФ ЙУЮЕТРБОЩ:

?- ЧУЕ_РЕТЕУФБОПЧЛЙ(['НБТЛЙЪБ', 'ЧБЫЙ РТЕЛТБУОЩЕ ЗМБЪБ',
|            'УХМСФ НОЕ УНЕТФШ ПФ МАВЧЙ']).

[НБТЛЙЪБ, ЧБЫЙ РТЕЛТБУОЩЕ ЗМБЪБ, УХМСФ НОЕ УНЕТФШ ПФ МАВЧЙ]
[ЧБЫЙ РТЕЛТБУОЩЕ ЗМБЪБ, НБТЛЙЪБ, УХМСФ НОЕ УНЕТФШ ПФ МАВЧЙ]
[ЧБЫЙ РТЕЛТБУОЩЕ ЗМБЪБ, УХМСФ НОЕ УНЕТФШ ПФ МАВЧЙ, НБТЛЙЪБ]
[НБТЛЙЪБ, УХМСФ НОЕ УНЕТФШ ПФ МАВЧЙ, ЧБЫЙ РТЕЛТБУОЩЕ ЗМБЪБ]
[УХМСФ НОЕ УНЕТФШ ПФ МАВЧЙ, НБТЛЙЪБ, ЧБЫЙ РТЕЛТБУОЩЕ ЗМБЪБ]
[УХМСФ НОЕ УНЕТФШ ПФ МАВЧЙ, ЧБЫЙ РТЕЛТБУОЩЕ ЗМБЪБ, НБТЛЙЪБ]

No

рТЙНЕТ
ч УФБТПСРПОУЛПН ЛБМЕОДБТЕ ВЩМ РТЙОСФ 60-МЕФОЙК ГЙЛМ, УПУФПСЭЙК ЙЪ РСФЙ 12-МЕФОЙИ РПДГЙЛМПЧ. рПДГЙЛМЩ ПВПЪОБЮБМЙУШ ОБЪЧБОЙСНЙ ГЧЕФПЧ: ЪЕМЕОЩК, ЛТБУОЩК, ЦЕМФЩК, ВЕМЩК Й ЮЕТОЩК. чОХФТЙ ЛБЦДПЗП РПДГЙЛМБ ЗПДБ ОПУЙМЙ ОБЪЧБОЙС ЦЙЧПФОЩИ: ЛТЩУБ, ЛПТПЧБ, ФЙЗТ, ЪБСГ, ДТБЛПО, ЪНЕС, МПЫБДШ, ПЧГБ, ПВЕЪШСОБ, ЛХТЙГБ, УПВБЛБ Й УЧЙОШС. оБРТЙНЕТ, 1984 ЗПД - ЗПД ОБЮБМБ ПЮЕТЕДОПЗП ГЙЛМБ - ОБЪЩЧБМУС зПДПН ъЕМЕОПК лТЩУЩ.

уПУФБЧЙН РТПЗТБННХ, ЛПФПТБС РП ЪБДБООПНХ ОПНЕТХ ЗПДБ ОБЫЕК ЬТЩ n РЕЮБФБЕФ ЕЗП ОБЪЧБОЙЕ Ч УФБТПСРПОУЛПН ЛБМЕОДБТЕ. тБУУНПФТЙН ДЧБ УМХЮБС:

(1) ЪОБЮЕОЙЕ n ОЕ НЕОШЫЕ, ЮЕН 1984;

(2) ЪОБЮЕОЙЕ n - МАВПЕ ОБФХТБМШОПЕ ЮЙУМП.

чПУРПМШЪХЕНУС ЧУФТПЕООЩН РТЕДЙЛБФПН nth0(ЙОДЕЛУ, УРЙУПЛ, ЬМЕНЕОФ), ЛПФПТЩК ВХДЕФ ХУРЕЫОЩН, ЕУМЙ ЬМЕНЕОФ ОБИПДЙФУС ОБ НЕУФЕ У ОПНЕТПН ЙОДЕЛУ, УЮЙФБС ПФ 0. дМС УМХЮБС (1) ЙУРПМШЪХЕН РТЕДЙЛБФ nam, ДМС УМХЮБС (2) РТЕДЙЛБФ - nm.

color(N,X):- N1 is ((N-1984) mod 60)//12,
             nth0(N1, ['ЪЕМЕОЩК',
                       'ЛТБУОЩК', 'ЦЕМФЩК',
                       'ВЕМЩК', 'ЮЕТОЩК'],
                  X).

animal(N,X):- N1 is (N-1984) mod 12,
              nth0(N1,
                   ['ЛТЩУБ',  'ЛПТПЧБ', 'ФЙЗТ',
                'ЪБСГ',   'ДТБЛПО', 'ЪНЕС',
                    'МПЫБДШ', 'ПЧГБ',   'ПВЕЪШСОБ',
                    'ЛХТЙГБ', 'УПВБЛБ', 'УЧЙОШС'],
                   X).

nam(N,[X,Y]):- number(N), color(N,X), animal(N,Y).

nm(N,X):- N>1983, nam(N,X).
nm(N,X):- N<1984, N1 is N+60, nm(N1,X).

ъБДБОЙЕ
оБРЙЫЙФЕ РТПГЕДХТЩ ОБ СЪЩЛЕ рТПМПЗ ДМС ТЕЫЕОЙС УМЕДХАЭЙИ ЪБДБЮ Й РТЙЧЕДЙФЕ РТЙНЕТЩ ЙУРПМШЪПЧБОЙС ЬФЙИ РТПГЕДХТ.

  1. пРТЕДЕМЙФЕ НБЛУЙНБМШОЩК ЬМЕНЕОФ УРЙУЛБ ЮЙУЕМ.
  2. оБКДЙФЕ ЧФПТПК РП ЧЕМЙЮЙОЕ ЬМЕНЕОФ УРЙУЛБ.
  3. уЖПТНЙТХКФЕ ОПЧЩК УРЙУПЛ ЙЪ ФЕИ ЬМЕНЕОФПЧ ДБООПЗП УРЙУЛБ, ЛПФПТЩЕ УФПСФ ОБ ОЕЮЕФОЩИ РПЪЙГЙСИ. оБРТЙНЕТ, ЙЪ УРЙУЛБ ЮЙУЕМ [1, 2, 3, 4, 5, 6, 7] ОХЦОП РПМХЮЙФШ УМЕДХАЭЙК: [1, 3, 5, 7].


11. чЧЕДЕОЙЕ Ч ппр

зМБЧБ 11 чЧЕДЕОЙЕ Ч ппр

йДЕЙ ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЗП РТПЗТБННЙТПЧБОЙС Ч ФПК ЙМЙ ЙОПК НЕТЕ РТПОЙЛМЙ РТБЛФЙЮЕУЛЙ ЧП ЧУЕ УПЧТЕНЕООЩЕ СЪЩЛЙ. дЧХНС ПУОПЧОЩНЙ РТЕДУФБЧЙФЕМСНЙ ЬФПЗП НЙТБ, ЛПФПТЩЕ ЙЪОБЮБМШОП УПЪДБЧБМЙУШ ЛБЛ ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩЕ, СЧМСАФУС C++ Й Java. ьФП - СЪЩЛЙ ДМС РТПЖЕУУЙПОБМПЧ, "РТПНЩЫМЕООЩЕ" СЪЩЛЙ, ОБ ЛПФПТЩИ ОБРЙУБОБ ЪОБЮЙФЕМШОБС ЮБУФШ УПЧТЕНЕООПЗП РТПЗТБННОПЗП ПВЕУРЕЮЕОЙС.

дМС ОБЮБМШОПЗП ЪОБЛПНУФЧБ У НЙТПН РТПЗТБННЙТПЧБОЙС, ПДОБЛП, ЗПТБЪДП МХЮЫЕ РПДИПДСФ СЪЩЛЙ ЙОПЗП ФЙРБ: РТПУФЩЕ, ЙОФЕТРТЕФЙТХЕНЩЕ, ВЕЪФЙРПЧЩЕ, У ЙОФХЙФЙЧОП СУОЩН УЙОФБЛУЙУПН. йНЕООП ФБЛЙН Й СЧМСЕФУС СЪЩЛ Ruby (тХВЙ).


сЪЩЛ РТПЗТБННЙТПЧБОЙС Ruby

Ruby - ПДЙО ЙЪ УБНЩИ НПМПДЩИ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС. уЧПЙН ЙНЕОЕН ПО ПВСЪБО ДТБЗПГЕООПНХ ЛБНОА ТХВЙОХ (РП БОБМПЗЙЙ У ДТХЗЙН ЫЙТПЛП ТБУРТПУФТБОЕООЩН СЪЩЛПН РТПЗТБННЙТПЧБОЙС Perl - ЦЕНЮХЗ). чПФ ЛБЛ ПРЙУЩЧБЕФ Ruby ЕЗП УПЪДБФЕМШ, СРПОУЛЙК РТПЗТБННЙУФ аЛЙИЙТП нБГХНПФП (Yukihiro Matsumoto): "ьФП НПЭОЩК Й ДЙОБНЙЮЕУЛЙК ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩК СЪЩЛ У ПФЛТЩФЩНЙ ЙУИПДОЙЛБНЙ, ЛПФПТЩК С ОБЮБМ ТБЪТБВБФЩЧБФШ Ч 1993 ЗПДХ. Ruby ТБВПФБЕФ ОБ НОПЗЙИ РМБФЖПТНБИ, ЧЛМАЮБС Linux Й НОПЗЙЕ ТЕБМЙЪБГЙЙ Unix, MS-DOS, Windows 9x/2000/NT, BeOS Й MacOS. зМБЧОБС ГЕМШ Ruby - ЬЖЖЕЛФЙЧОПУФШ ТБЪТБВПФЛЙ РТПЗТБНН, Й РПМШЪПЧБФЕМЙ ОБКДХФ, ЮФП РТПЗТБННЙТПЧБОЙЕ ОБ ОЕН ЬЖЖЕЛФЙЧОП Й ДБЦЕ ЪБВБЧОП".

ч сРПОЙЙ Ruby УЙМШОП РПФЕУОЙМ ФБЛЙЕ ЙЪЧЕУФОЩЕ СЪЩЛЙ ЛБЛ Python Й Perl (Б ЛОЙЗБ "Ruby the Object-Oriented Scripting Language" УФБМБ ВЕУФУЕММЕТПН) Й ОБЮБМ ТБУРТПУФТБОСФШУС РП ЧУЕНХ НЙТХ. ъБ РПУМЕДОЙК ЗПД РПСЧЙМЙУШ ФТЙ БОЗМПСЪЩЮОЩИ ЛОЙЗЙ, РПУЧСЭЕООЩЕ Ruby (Л УПЦБМЕОЙА, РПЛБ ОЕ ЙНЕАЭЙЕ ТХУУЛПЗП РЕТЕЧПДБ). х ЬФПЗП СЪЩЛБ ПЮЕОШ ОЕРМПИЙЕ ЫБОУЩ УФБФШ ДЕКУФЧЙФЕМШОП РПРХМСТОЩН - ЧЕДШ ПО ЧПВТБМ Ч УЕВС ДПУФПЙОУФЧБ ДТХЗЙИ СЪЩЛПЧ, ХЮФС ЙИ ОЕДПУФБФЛЙ.

Ruby ЧИПДЙФ Ч УФБОДБТФОХА РПУФБЧЛХ пу Linux (ОБЮЙОБС У ЧЕТУЙЙ 7.2), Б РПМШЪПЧБФЕМСН MS Windows ДМС РЕТЧПЗП ЪОБЛПНУФЧБ УФПЙФ РПТЕЛПНЕОДПЧБФШ ЕЗП ОЕУЛПМШЛП ХУФБТЕЧЫХА

ЧЕТУЙА (1,2 нВБКФ),
МЕЗЛП ХНЕЭБАЭХАУС ОБ ПДОПК ДЙУЛЕФЕ, ЛПФПТБС ЧЛМАЮБЕФ, РПНЙНП ЙОФЕТРТЕФБФПТБ СЪЩЛБ Й ВЙВМЙПФЕЛ, ТХЛПЧПДУФЧП РПМШЪПЧБФЕМС, FAQ (ПФЧЕФЩ ОБ ЮБУФП ЪБДБЧБЕНЩЕ ЧПРТПУЩ) Й НОПЦЕУФЧП РТЙНЕТПЧ. Ruby СЧМСЕФУС УЧПВПДОП ТБУРТПУФТБОСЕНЩН РТПДХЛФПН, РПЬФПНХ ЧЩ НПЦЕФЕ ОЕ ВЕУРПЛПЙФШУС ОЙ П ЕЗП УФПЙНПУФЙ, ОЙ ПВ ПЗТБОЙЮЕОЙСИ Ч ЕЗП ЙУРПМШЪПЧБОЙЙ.

ьФПФ СЪЩЛ ОЕУПНОЕООП СЧМСЕФУС ПДОЙН ЙЪ МХЮЫЙИ Ч ЛБЮЕУФЧЕ РЕТЧПЗП СЪЩЛБ РТПЗТБННЙТПЧБОЙС, ЙЪХЮБЕНПЗП УФХДЕОФБНЙ Й ЫЛПМШОЙЛБНЙ. вЩУФТЩК ГЙЛМ ТБЪТБВПФЛЙ (ТЕДБЛФЙТПЧБОЙЕ - ЪБРХУЛ - ТЕДБЛФЙТПЧБОЙЕ), ЙУРПМШЪПЧБОЙЕ ЙОФЕТРТЕФБФПТБ, ЙЪОБЮБМШОБС ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООПУФШ СЪЩЛБ, ОЕФЙРЙЪЙТПЧБООЩЕ РЕТЕНЕООЩЕ, ЛПФПТЩЕ ОЕ ФТЕВХАФ ПВЯСЧМЕОЙС - ЧУЕ ЬФП РПЪЧПМСЕФ ХЮБЭЙНУС УЛПОГЕОФТЙТПЧБФШ УЧПЕ ЧОЙНБОЙЕ ОБ ПВЭЙИ РТЙОГЙРБИ РТПЗТБННЙТПЧБОЙС. ч ДБМШОЕКЫЕН ЙЪМПЦЕОЙЙ НЩ ВХДЕН ПТЙЕОФЙТПЧБФШУС ОБ ТБВПФХ Ч пу Linux. йУРПМШЪПЧБОЙЕ Ruby Ч ДТХЗЙИ ПРЕТБГЙПООЩИ УЙУФЕНБИ РТБЛФЙЮЕУЛЙ ОЙЮЕН ОЕ ПФМЙЮБЕФУС, Б ТЕЪХМШФБФЩ ЧЩРПМОЕОЙС ОЕ ЪБЧЙУСФ ПФ ЙУРПМШЪХЕНПК пу.

уОБЮБМБ РТПЧЕТЙН, ХУФБОПЧМЕО МЙ ЙОФЕТРТЕФБФПТ Ruby Ч УЙУФЕНЕ ЙМЙ ОЕФ. ч ПЛОЕ shell ЧЧЕДЙФЕ ЛПНБОДХ ruby -v (ЬФПФ ЛМАЮ ФТЕВХЕФ ЧЩЧПДБ ЧЕТУЙЙ СЪЩЛБ). еУМЙ УМЕДХАЭЕЕ УППВЭЕОЙЕ РПСЧЙФУС, ФП Ruby ХУФБОПЧМЕО (ЧЕТУЙС, ДБФБ Й РМБФЖПТНБ НПЗХФ ПФМЙЮБФШУС):

ruby 1.6.4 (2001-06-04) [i386-linux-gnu]

жБКМЩ, УПДЕТЦБЭЙЕ РТПЗТБННЩ ОБ СЪЩЛЕ Ruby, ПВЩЮОП ЙНЕАФ ТБУЫЙТЕОЙЕ rb. рП ДБЧОЕК РТПЗТБННЙУФУЛПК ФТБДЙГЙЙ ОБЫБ РЕТЧБС РТПЗТБННБ ВХДЕФ РЕЮБФБФШ ЖТБЪХ "Hello, World!". рТЙ РПНПЭЙ МАВПЗП ТЕДБЛФПТБ plain-ФЕЛУФБ (emacs, kwrite, notebook Й Ф. Р.) УПЪДБДЙН ЖБКМ hello.rb, Ч ЛПФПТЩК РПНЕУФЙН ФЕЛУФ

puts "Hello, World!"
дМС ЧЩРПМОЕОЙС ЬФПК РТПЗТБННЩ Ч ЛПНБОДОПК УФТПЛЕ ЧЧЕДЙФЕ
ruby hello.rb
ч ТЕЪХМШФБФЕ ЧЩРПМОЕОЙС РТПЗТБННЩ Ч ЛПНБОДОПН ПЛОЕ ВХДЕФ ОБРЕЮБФБОБ ФТЕВХЕНБС ЖТБЪБ.

чФПТПК УРПУПВ ЧЩРПМОЕОЙС РТПЗТБНН ДПУФХРЕО РПМШЪПЧБФЕМСН ОЕ ЧУЕИ ПРЕТБГЙПООЩИ УЙУФЕН, Ч ЛПФПТЩИ ЖХОЛГЙПОЙТХЕФ Ruby. рПМШЪПЧБФЕМСН пу Linux УМЕДХЕФ РПНЕУФЙФШ Ч ОБЮБМП ЖБКМБ У ФЕЛУФПН РТПЗТБННЩ УМЕДХАЭХА УФТПЛХ:

#!/usr/bin/env ruby
пОБ ПВСЪБФЕМШОП ДПМЦОБ ОБЮЙОБФШУС У РЕТЧПК РПЪЙГЙЙ. ъБФЕН ОХЦОП ЙЪНЕОЙФШ РТБЧБ ДПУФХРБ ЖБКМБ У РТПЗТБННПК, УДЕМБЧ ЕЗП ЙУРПМОСЕНЩН: chmod +x hello.rb фЕРЕТШ ДМС ЪБРХУЛБ РТПЗТБННЩ ДПУФБФПЮОП ЧЧЕУФЙ ЛПНБОДХ
./hello.rb

дМС ФПЗП ЮФПВЩ УДЕМБФШ РТПЗТБННХ ВПМЕЕ РПОСФОПК ЮЕМПЧЕЛХ, ЛПФПТЩК ЕЕ ЮЙФБЕФ, ЧУФБЧМСАФУС ЛПННЕОФБТЙЙ. пДОПУФТПЮОЩЕ ЛПННЕОФБТЙЙ ОБЮЙОБАФУС У УЙНЧПМБ # Й РТПДПМЦБАФУС ДП ЛПОГБ УФТПЛЙ. нОПЗПУФТПЮОЩЕ ЛПННЕОФБТЙЙ ЪБЛМАЮБАФ Ч УРЕГЙБМШОЩЕ "УЛПВЛЙ" - ЧУЕ, ЮФП ТБУРПМБЗБЕФУС НЕЦДХ УФТПЛБНЙ =begin Й =end, УЮЙФБЕФУС ЛПННЕОФБТЙЕН. оБРТЙНЕТ,

#!/usr/bin/env ruby
=begin
ьФП
 ЛПННЕОФБТЙК
=end
puts "Hello, World!"
# ьФП ФПЦЕ ЛПННЕОФБТЙК

рТПЗТБННБ ОБ СЪЩЛЕ Ruby, ЮБУФП ОБЪЩЧБЕНБС УЛТЙРФПН, ЕУФШ РПУМЕДПЧБФЕМШОПУФШ ЙОУФТХЛГЙК (ХФЧЕТЦДЕОЙК, РТЕДМПЦЕОЙК). лБЦДБС ЙОУФТХЛГЙС РП ХНПМЮБОЙА ЪБЛБОЮЙЧБЕФУС ЛПОГПН УФТПЛЙ. еУМЙ ЦЕ РП ЛБЛЙН-МЙВП РТЙЮЙОБН ФТЕВХЕФУС ТБЪНЕУФЙФШ ОЕУЛПМШЛП ЙОУФТХЛГЙК ОБ ПДОПК УФТПЛЕ, ФП ЙИ ОХЦОП ТБЪДЕМСФШ УЙНЧПМПН ; (ФПЮЛБ У ЪБРСФПК). у ДТХЗПК УФПТПОЩ, ЙОПЗДБ ЙОУФТХЛГЙС ОЕ РПНЕЭБЕФУС ОБ ПДОПК УФТПЛЕ. ч ЬФПН УМХЮБЕ УЙНЧПМ \ УЙЗОБМЙЪЙТХЕФ П ФПН, ЮФП ЕЕ РТПДПМЦЕОЙЕ ТБУРПМБЗБЕФУС Ч УМЕДХАЭЕК УФТПЛЕ.

рТЙНЕТ

#!/usr/bin/env ruby
# йОУФТХЛГЙС ЪБЛБОЮЙЧБЕФУС ЛПОГПН УФТПЛЙ
puts "Hello, World!"

# оЕУЛПМШЛП ЙОУФТХЛГЙК Ч ПДОПК УФТПЛЕ
puts "ьФП ФЕУФ, "; puts "ДЕНПОУФТЙТХАЭЙК ТБВПФХ Ruby."

# оЕЪБЛПОЮЕООБС ЙОУФТХЛГЙС,
# РТПДПМЦЕОЙЕ ЛПФПТПК ОБ УМЕДХАЭЕК УФТПЛЕ
puts "рТПЗТБННЙТПЧБОЙЕ ОБ Ruby - " +
  "РТЙСФОПЕ ЪБОСФЙЕ."

# хФЧЕТЦДЕОЙЕ, ТБЪДЕМЕООПЕ ОБ ОЕУЛПМШЛП УФТПЛ
puts \
       "й НЩ ПВСЪБФЕМШОП ЬФПНХ ОБХЮЙНУС!"

йОУФТХЛГЙС (ХФЧЕТЦДЕОЙЕ) ЮБЭЕ ЧУЕЗП РТЕДУФБЧМСЕФ УПВПК ОЕЛХА РПУМЕДПЧБФЕМШОПУФШ ПРЕТБФПТПЧ, РТЙНЕОСЕНЩИ Л ТБЪМЙЮОЩН ЧЩТБЦЕОЙСН, Й (ЧПЪНПЦОП) ЧЩЪПЧПЧ ЖХОЛГЙК.

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТБНЙ)

дБМЕЕ УФТПЛБ #!/usr/bin/env ruby Ч ФЕЛУФЩ РТПЗТБНН ОЕ ЧЛМАЮБЕФУС.


пВЯЕЛФЩ Й НЕФПДЩ

рТЙ ПРЙУБОЙЙ Ruby ВЩМП ПФНЕЮЕОП, ЮФП ПО СЧМСЕФУС ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩН СЪЩЛПН РТПЗТБННЙТПЧБОЙС. ьФП ПЪОБЮБЕФ ЮФП ЧУЕ, У ЮЕН ТБВПФБЕФ РТПЗТБННБ, СЧМСЕФУС ПВЯЕЛФПН, РТЙ ЬФПН ЧЩЮЙУМЕОЙЕ ПУХЭЕУФЧМСЕФУС РПУТЕДУФЧПН ЧЪБЙНПДЕКУФЧЙС ПВЯЕЛФПЧ. лБЦДЩК ПВЯЕЛФ ЕУФШ РТЕДУФБЧЙФЕМШ (ЬЛЪЕНРМСТ) ОЕЛПФПТПЗП ЛМБУУБ Й ЕЗП РПЧЕДЕОЙЕ (ЖХОЛГЙПОБМШОПУФШ) ПРТЕДЕМСЕФУС ЙНЕООП ЙН. фЕН УБНЩН ЧУЕ ПВЯЕЛФЩ, ЛПФПТЩЕ СЧМСАФУС ЬЛЪЕНРМСТБНЙ ПДОПЗП ЛМБУУБ, НПЗХФ ЧЩРПМОСФШ ПДОЙ Й ФЕ ЦЕ ДЕКУФЧЙС, ОБЪЩЧБЕНЩЕ НЕФПДБНЙ. дМС ФПЗП ЮФПВЩ РТЙНЕОЙФШ НЕФПД Л ОЕЛПФПТПНХ ПВЯЕЛФХ ЙУРПМШЪХЕФУС ПРЕТБФПТ ЧЩЪПЧБ НЕФПДБ, ПВПЪОБЮБЕНЩК УЙНЧПМПН . (ФПЮЛБ): РПУМЕ ХЛБЪБОЙС ПВЯЕЛФБ УФБЧЙФУС ФПЮЛБ, Б ЪБФЕН ХЛБЪЩЧБЕФУС РТЙНЕОСЕНЩК НЕФПД.

рПЛБ НЩ ОЕ ВХДЕН ЧДБЧБФШУС Ч ПУПВЕООПУФЙ ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЗП РТПЗТБННЙТПЧБОЙС (ФЕН ВПМЕЕ, ЮФП Ч ТБЪМЙЮОЩИ СЪЩЛБИ РТПЗТБННЙТПЧБОЙС РП ТБЪОПНХ ФТБЛФХЕФУС ЛПОГЕРГЙС ппр), Б МЙЫШ РПЪОБЛПНЙНУС У ОЕЛПФПТЩНЙ "РТПУФЕКЫЙНЙ" ПВЯЕЛФБНЙ, ВЕЪ ЛПФПТЩИ ОЕЧПЪНПЦОП РТЙУФХРБФШ Л ДБМШОЕКЫЕНХ ЙЪХЮЕОЙА СЪЩЛБ. ьФП РТЕДУФБЧЙФЕМЙ ФБЛ ОБЪЩЧБЕНЩИ "ЧУФТПЕООЩИ" ЛМБУУПЧ. уТЕДЙ ОЙИ:

true
МПЗЙЮЕУЛБС ЧЕМЙЮЙОБ, ПЪОБЮБАЭБС ЙУФЙОХ; ЕДЙОУФЧЕООЩК РТЕДУФБЧЙФЕМШ ЛМБУУБ TrueClass;
false
МПЗЙЮЕУЛБС ЧЕМЙЮЙОБ, ПЪОБЮБАЭБС МПЦШ; ЕДЙОУФЧЕООЩК РТЕДУФБЧЙФЕМШ ЛМБУУБ FalseClass;
ЮЙУМБ
РТЕДУФБЧЙФЕМЙ ЛМБУУБ Numeric, ЛПФПТЩК Ч ЛБЮЕУФЧЕ РПДЛМБУУПЧ УПДЕТЦЙФ ДТПВОЩЕ (Float) Й ГЕМЩЕ ЮЙУМБ (Integer);
УФТПЛЙ
РТЕДУФБЧЙФЕМЙ ЛМБУУБ String;
nil
"ОЙЮФП"; ЕДЙОУФЧЕООЩК РТЕДУФБЧЙФЕМШ ЛМБУУБ NilClass.
НПНЕОФЩ ЧТЕНЕОЙ
РТЕДУФБЧЙФЕМЙ ЛМБУУБ Time.

юЙУМБ

ъОБЛПНУФЧП У РТЕДУФБЧЙФЕМСНЙ ТБЪМЙЮОЩИ ЛМБУУПЧ ОБЮОЕН У ЮЙУЕМ. гЕМЩЕ ЮЙУМБ Ч Ruby СЧМСАФУС ЬЛЪЕНРМСТБНЙ ЛМБУУБ Integer, ЛПФПТЩК ПВЯЕДЙОСЕФ ДЧБ РПДЛМБУУБ: Fixnum ЙМЙ Bignum. пВЯЕЛФБНЙ ЛМБУУБ Fixnum СЧМСАФУС ФЕ ГЕМЩЕ, ЮШЕ ДЧПЙЮОПЕ РТЕДУФБЧМЕОЙЕ УРПУПВОП ТБЪНЕУФЙФУС Ч НБЫЙООПН УМПЧЕ (31 ВЙФ ОБ ВПМШЫЙОУФЧЕ ЛПНРШАФЕТПЧ). еУМЙ ЮЙУМП ЧЩИПДЙФ ЪБ ЗТБОЙГЩ ХЛБЪБООПЗП ДЙБРБЪПОБ, ФП ПОП БЧФПНБФЙЮЕУЛЙ РТЕПВТБЪХЕФУС Ч ПВЯЕЛФ ЛМБУУБ Bignum, ЮЕК ДЙБРБЪПО ЙЪНЕОЕОЙС ПЗТБОЙЮЙЧБЕФУС ФПМШЛП ПВЯЕНПН ДПУФХРОПК РБНСФЙ. еУМЙ Ч ТЕЪХМШФБФЕ ТБВПФЩ У ПВЯЕЛФБНЙ ЛМБУУБ Bignum ЙФПЗПЧПЕ ЪОБЮЕОЙЕ РПРБДБЕФ Ч ДЙБРБЪПО, ЪБДБЧБЕНЩК ЛМБУУПН Fixnum, ФП ЧЩДБЧБЕНЩК ТЕЪХМШФБФ РТЕПВТБЪХЕФУС Ч ЬЛЪЕНРМСТ ЛМБУУБ Fixnum.

юЙУМП | лМБУУ
123456 | Fixnum
123_456 | Fixnum (РПДЮЕТЛЙЧБОЙЕ ЙЗОПТЙТХЕФУС)
-543 | ПФТЙГБФЕМШОПЕ Fixnum
123_456_789_123_456 | Bignum
0xaabb | ЫЕУФОБДГБФЕТЙЮОПЕ
0377 | ЧПУШНЕТЙЮОПЕ
-0b1010 | ДЧПЙЮОПЕ (ПФТЙГБФЕМШОПЕ)
0b001_001 | ДЧПЙЮОПЕ

рТЙ ЪБРЙУЙ ГЕМЩИ ЮЙУЕМ УОБЮБМБ ХЛБЪЩЧБЕФУС ЕЗП ЪОБЛ (ЪОБЛ + ПВЩЮОП ПРХУЛБЕФУС). дБМЕЕ УМЕДХЕФ ПУОПЧБОЙЕ УЙУФЕНЩ УЮЙУМЕОЙС, Ч ЛПФПТПК ЪБДБЕФУС ЮЙУМП (ЕУМЙ ПОП ПФМЙЮОП ПФ 10): 0 - ДМС ЧПУШНЕТЙЮОПК, 0x - ДМС ЫЕУФОБДГБФЕТЙЮОПК, 0b - ДМС ДЧПЙЮОПК. ъБФЕН ЙДЕФ РПУМЕДПЧБФЕМШОПУФШ ГЙЖТ, ЧЩТБЦБАЭЙИ ЮЙУМП Ч ДБООПК УЙУФЕНЕ УЮЙУМЕОЙС. рТЙ ЪБРЙУЙ ВПМШЫЙИ ЮЙУЕМ НПЦОП ЙУРПМШЪПЧБФШ УЙНЧПМ РПДЮЕТЛЙЧБОЙС, ЛПФПТЩК ЙЗОПТЙТХЕФУС РТЙ ПВТБВПФЛЕ. ч ФБВМЙГЕ РТЕДУФБЧМЕОЩ ГЕМЩЕ ЮЙУМБ Й ХЛБЪБОБ ЙИ РТЙОБДМЕЦОПУФШ Л ФПНХ ЙМЙ ЙОПНХ ЛМБУУХ.

дТПВОЩЕ ЮЙУМБ ЪБДБАФУС Ч ДЕУСФЙЮОПК УЙУФЕНЕ УЮЙУМЕОЙС, РТЙ ЬФПН ДМС ПФДЕМЕОЙС ДТПВОПК ЮБУФЙ ЙУРПМШЪХЕФУС УЙНЧПМ . (ФПЮЛБ). фБЛЙЕ ЮЙУМБ СЧМСАФУС ЬЛЪЕНРМСТБНЙ ЛМБУУБ Float, ОБРТЙНЕТ, 12.34. дМС ЪБДБОЙС ДТПВОЩИ ЮЙУЕМ НПЦЕФ ВЩФШ РТЙНЕОЕОБ Й ЬЛУРПОЕОГЙБМШОБС ЖПТНБ ЪБРЙУЙ: ДЧБ ТБЪМЙЮОЩИ РТЕДУФБЧМЕОЙС -.1234Е2 Й 1234Е-2 ЪБДБАФ ПДОП Й ФПЦЕ ЮЙУМП 12.34.

дМС ЧЩЮЙУМЕОЙС БТЙЖНЕФЙЮЕУЛЙИ ЧЩТБЦЕОЙК РТЙНЕОСАФУС УМЕДХАЭЙЕ ПРЕТБФПТЩ: + (УМПЦЕОЙЕ), - (ЧЩЮЙФБОЙЕ), * (ХНОПЦЕОЙЕ), / (ДЕМЕОЙЕ), % (ПУФБФПЛ ПФ ДЕМЕОЙС), ** (ЧПЪЧЕДЕОЙЕ Ч УФЕРЕОШ). рПТСДПЛ ЧЩЮЙУМЕОЙС ПРТЕДЕМСЕФУС УФБОДБТФОЩНЙ РТЙПТЙФЕФБНЙ ПРЕТБГЙК, Б ДМС ЕЗП ЙЪНЕОЕОЙС ЙУРПМШЪХАФУС ЛТХЗМЩЕ УЛПВЛЙ. ъБНЕФЙН, ЮФП ЕУМЙ ЧУЕ БТЗХНЕОФЩ ЧЩТБЦЕОЙС ГЕМЩЕ ЮЙУМБ, ФП Й ТЕЪХМШФБФ ВХДЕФ ГЕМЩН, ЕУМЙ ЦЕ ИПФС ВЩ ПДОП ЙЪ ЮЙУЕМ, ЧИПДСЭЙИ Ч ЧЩТБЦЕОЙЕ - ДТПВОПЕ, ФП Й ТЕЪХМШФБФ ВХДЕФ ЬЛЪЕНРМСТПН ЛМБУУБ Float.

рТЙНЕТ
уПЪДБКФЕ ЖБКМ У ЙНЕОЕН object.rb, Ч ЛПФПТЩК РПНЕУФЙФЕ УМЕДХАЭЙК ЖТБЗНЕОФ. чЩРПМОЙФЕ РТПЗТБННХ Й ПВЯСУОЙФЕ ТЕЪХМШФБФ.

puts 5/8                       # 0
puts 5.0/8                     # 0.625
puts 2**1000
puts ((2*500+1)*(2**500-1))

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

пФНЕФЙН ЕЭЕ ОЕУЛПМШЛП НЕФПДПЧ, ЙУРПМШЪХЕНЩИ РТЙ ТБВПФЕ У ЮЙУМБНЙ (Ф. Е. РТЕДУФБЧЙФЕМСНЙ ЛМБУУБ Numeric). уТЕДЙ ОЙИ: ceil (ОБИПЦДЕОЙЕ ОБЙНЕОШЫЕЗП ГЕМПЗП ОЕ НЕОШЫЕЗП, ЮЕН ДБООПЕ), floor (ОБЙВПМШЫЕЕ ГЕМПЕ, ОЕ ВПМШЫЕЕ ДБООПЗП), round (ПЛТХЗМЕОЙЕ ДП ВМЙЦБКЫЕЗП ГЕМПЗП), РПМХЮЕОЙЕ БВУПМАФОПК ЧЕМЙЮЙОЩ ЮЙУМБ abs. оЙЦЕ РТЙЧЕДЕОЩ РТЙНЕТЩ ЙУРПМШЪПЧБОЙС ЬФЙИ НЕФПДПЧ.

puts 12.34.ceil                  #  13
puts 12.34.floor                 #  12
puts -12.ceil                    # -12
puts -12.floor                   # -12
puts 12.34.round                 #  12
puts 12.54.round                 #  13
puts -34.56.abs                  #  34.56

ч Ruby ЙНЕЕФУС ОЕУЛПМШЛП НЕФПДПЧ, РПЪЧПМСАЭЙИ РТЕПВТБЪПЧЩЧБФШ ПВЯЕЛФЩ ПДОПЗП ЛМБУУБ Ч ДТХЗПК.

нЕФПД | оБЪОБЮЕОЙЕ НЕФПДБ | рТЙНЕТ ЙУРПМШЪПЧБОЙС | тЕЪХМШФБФ
to_f | рТЕПВТБЪПЧБФШ ПВЯЕЛФ Ч ЬЛЪЕНРМСТ ЛМБУУБ Float | 1234.to_f | 1234.0
to_i | рТЕПВТБЪПЧБФШ ПВЯЕЛФ Ч ЬЛЪЕНРМСТ ЛМБУУБ Fixnum ЙМЙ Bignum | -12.34.to_i | -12
ч РПУМЕДОЕН РТЙНЕТЕ РЕТЧБС ФПЮЛБ ПФДЕМСЕФ ДТПВОХА ЮБУФШ ЮЙУМБ, Б ЧФПТБС СЧМСЕФУС ПРЕТБФПТПН ЧЩЪПЧБ НЕФПДБ.

уФТПЛЙ

дТХЗЙН УФПМШ ЦЕ ТБУРТПУФТБОЕООЩН ЛМБУУПН СЧМСЕФУС ЛМБУУ String. л ЬФПНХ ЛМБУУХ ПФОПУСФУС РТПЙЪЧПМШОЩЕ УФТПЛЙ УЙНЧПМПЧ, ЪБЛМАЮЕООЩЕ Ч БРПУФТПЖЩ ЙМЙ ЛБЧЩЮЛЙ, ОБРТЙНЕТ, 'hello', 'ТБЪ, ДЧБ, ФТЙ', "РТЙЧЕФ ЧУЕН". еУФШ ОЕУЛПМШЛП БМШФЕТОБФЙЧОЩИ УРПУПВПЧ ЪБДБОЙС ЛБЦДПЗП ЙЪ ЬФЙИ ЧЙДПЧ УФТПЛ.

дМС ЪБДБОЙС УФТПЛЙ Ч БРПУФТПЖБИ НПЦОП ЙУРПМШЪПЧБФШ МАВПК ЙЪ УРПУПВПЧ РТЕДУФБЧМЕООЩИ ОЙЦЕ.

puts 'hello'        # hello
puts %q/hello/      # hello
puts %q(hello)      # hello
дЧБ РПДТСД ЙДХЭЙИ УЙНЧПМБ \ ЧОХФТЙ ФБЛПК УФТПЛЙ ЪБНЕОСАФУС ОБ ПДЙО.
puts 'hell\\o'      #  hell\o
puts %q(hell\\o)    #  hell\o
дМС ФПЗП ЮФПВЩ ЧОХФТШ УФТПЛЙ, ЪБЛМАЮЕООПК Ч БРПУФТПЖЩ, ЧУФБЧЙФШ БРПУФТПЖ, УМЕДХЕФ РТЕДЧБТЙФЕМШОП "ЬЛТБОЙТПЧБФШ" ЕЗП УЙНЧПМПН \ (ПВТБФОЩК УМЕЫ).
puts 'hell\'o'      # hell'o
puts %q(hell\'o)    # hell\'o
puts 'hel"l"o'      # hel"l"o

дМС УПЪДБОЙС УФТПЛЙ, ЪБЛМАЮЕООПК Ч ЛБЧЩЮЛЙ, УМЕДХЕФ МЙВП РТПУФП ЪБЛМАЮЙФШ ЕЕ Ч ЛБЧЩЮЛЙ, МЙВП ЙУРПМШЪПЧБФШ ЛПОУФТХЛГЙЙ %Q ЙМЙ %, РПУМЕ ЛПФПТЩИ ХЛБЪЩЧБЕФУС УФТПЛБ, ПВТБНМЕООБС У ДЧХИ УФПТПО ПДОЙН Й ФЕН ЦЕ УЙНЧПМПН, ПФМЙЮОЩН ПФ ГЙЖТ Й ВХЛЧ (НПЦОП ЙУРПМШЪПЧБФШ ФБЛЦЕ РБТХ МАВЩИ УЛПВПЛ). оЙЦЕ РЕТЕЮЙУМЕОП ОЕУЛПМШЛП УРПУПВПЧ ЪБДБОЙС УФТПЛЙ "hello".

"hello"  %Q/hello/ %Q{hello} %Q(hello) %Q!hello!
%<hello> %(hello)  %!hello!  %*hello*  %+hello+
дМС ЧЛМАЮЕОЙС ЧОХФТШ ФБЛПК УФТПЛЙ УЙНЧПМБ ", ЕЗП ФБЛЦЕ УМЕДХЕФ ЬЛТБОЙТПЧБФШ УЙНЧПМПН \:
puts "Say \"Hello\""   #  Say "Hello"
уФТПЛБ, ЪБЛМАЮЕООБС Ч ЛБЧЩЮЛЙ, РПЪЧПМСЕФ ЙОФЕТРТЕФЙТПЧБФШ РПУМЕДПЧБФЕМШОПУФЙ УЙНЧПМПЧ, ОБЮЙОБАЭЙЕУС У УЙНЧПМБ \ ФБЛЙЕ, ОБРТЙНЕТ, ЛБЛ \n (УЙНЧПМ РЕТЕИПДБ ОБ ОПЧХА УФТПЛХ) Й \t (ФБВХМСГЙС). дТХЗПК ПУПВЕООПУФША УФТПЛ, ЪБЛМАЮЕООЩИ Ч ЛБЧЩЮЛЙ, СЧМСЕФУС ЧПЪНПЦОПУФШ ЙУРПМШЪПЧБОЙС РПДУФБОПЧЛЙ: ЕУМЙ УФТПЛБ УПДЕТЦЙФ ОЕЛПФПТПЕ ЧЩТБЦЕОЙЕ, ПЗТБОЙЮЕООПЕ УЙНЧПМБНЙ #{ Й }, ФП ПОП ЪБНЕОСЕФУС ОБ ТЕЪХМШФБФ ЕЗП ЧЩЮЙУМЕОЙС. дПВБЧШФЕ Ч РТПЗТБННХ УМЕДХАЭЙЕ УФТПЛЙ Й РТПБОБМЙЪЙТХКФЕ РПМХЮЕООЩК ЧЩЧПД.
puts "a \t b"; puts 'a \t b'
puts "ЧЩТБЦЕОЙЕ 3*5+8 ТБЧОП  #{3*5+8}"
puts 'ЧЩТБЦЕОЙЕ 3*5+8 ТБЧОП  #{3*5+8}'
puts "ТБВПФБ У ГЕМЩНЙ ЮЙУМБНЙ: 5/8 = #{5/8}"
puts "РЕТЕЧПД Ч ЛМБУУ Float: 5/8 = #{5/8.to_f}"
л УФТПЛБН НПЗХФ РТЙНЕОСФШУС НЕФПДЩ to_i Й to_f. рТЙ РТЕПВТБЪПЧБОЙЙ Л ГЕМПНХ ЮЙУМХ ПФВТБУЩЧБЕФУС ПУФБЧЫБСУС ЮБУФШ УФТПЛЙ, ЛБЛ ФПМШЛП ЧУФТЕЮБЕФУС УЙНЧПМ, ПФМЙЮОЩК ПФ ГЙЖТЩ (ЙУЛМАЮЕОЙЕ - ЪОБЛ РМАУ ЙМЙ НЙОХУ Ч РЕТЧПК РПЪЙГЙЙ УФТПЛЙ). бОБМПЗЙЮОЩЕ РТБЧЙМБ РТЙНЕОСАФУС Й РТЙ РТЕПВТБЪПЧБОЙЙ Л ДТПВОПНХ ЮЙУМХ. еДЙОУФЧЕООЩН ПФМЙЮЙЕН СЧМСЕФУС ФП, ЮФП РЕТЧБС ОБКДЕООБС ФПЮЛБ ТБУУНБФТЙЧБЕФУС ЛБЛ ТБЪДЕМЙФЕМШ НЕЦДХ ГЕМПК Й ДТПВОПК ЮБУФСНЙ. уМЕДХАЭЙК ЖТБЗНЕОФ ЙММАУФТЙТХЕФ УЛБЪБООПЕ:
puts "-12.34".to_i
puts "12.34".to_f
puts "+12:34".to_i
puts "12qq34".to_f

дМС РПМХЮЕОЙС УФТПЛЙ, УПДЕТЦБЭЕК УЙНЧПМ У ЪБДБООЩН ASCII ЛПДПН, ЙУРПМШЪХЕФУС НЕФПД chr, ОБРТЙНЕТ,

puts 209.chr
уМЕДХЕФ РПНОЙФШ, ЮФП ЬФПФ НЕФПД НПЦЕФ ВЩФШ РТЙНЕОЕО ФПМШЛП Л РПМПЦЙФЕМШОПНХ ГЕМПНХ ЮЙУМХ, ОЕ РТЕЧЩЫБАЭЕНХ 255.

лМБУУ String РТЕДПУФБЧМСЕФ ВПМШЫПЕ ЮЙУМП НЕФПДПЧ ДМС ТБВПФЩ УП УФТПЛБНЙ, ОЕЛПФПТЩЕ ЙЪ ЛПФПТЩИ РТЕДУФБЧМЕОЩ Ч УМЕДХАЭЕК ФБВМЙГЕ.

оБЪОБЮЕОЙЕ Й РТЙНЕТ ЙУРПМШЪПЧБОЙС НЕФПДБ тЕЪХМШФБФ
+ уГЕРМЕОЙЕ УФТПЛ
"НПМ" + "ПЛП" 		"НПМПЛП"
* рПЧФПТ УФТПЛЙ
"ab" * 3 		"ababab"
[ ] чПЪЧТБЭБЕФ ASCII-ЛПД УЙНЧПМБ, ОБИПДСЭЕЗПУС ОБ ХЛБЪБООПК РПЪЙГЙЙ УФТПЛЙ (ПФУЮЕФ ОБЮЙОБЕФУС У ОХМС)
"abcdef"[0]
"abcdef"[0].chr 		97
"a"
[ОБЮ..ЛПО] чПЪЧТБЭБЕФ РПДУФТПЛХ, ЪБЛМАЮЕООХА Ч ХЛБЪБООПН ДЙБРБЪПОЕ (ЧЛМАЮБС ЛПОГЩ)
"abcdef"[0..3] 		"abcd"
[ОБЮ, ДМ] чПЪЧТБЭБЕФ РПДУФТПЛХ, ОБЮЙОБАЭХАУС У ХЛБЪБООПК РПЪЙГЙЙ Й ЙНЕАЭХА ЪБДБООХА ДМЙОХ
"abcdef"[0,3] 		"abc"
capitalize ъБНЕОСЕФ РЕТЧЩК УЙНЧПМ УФТПЛЙ (ЕУМЙ ПО СЧМСЕФУС ВХЛЧПК МБФЙОУЛПЗП БМЖБЧЙФБ) ОБ ЪБЗМБЧОХА
"abc".capitalize 		"Abc"
chop хДБМСЕФ РПУМЕДОЙК УЙНЧПМ УФТПЛЙ (ДЧБ УЙНЧПМБ, ЕУМЙ ПОЙ ЕУФШ "\r\n")
"abcdef".chop 		"abcde"
delete хДБМСЕФ ХЛБЪБООЩЕ УЙНЧПМЩ ЙЪ УФТПЛЙ, НПЦЕФ ХЛБЪЩЧБФШУС ДЙБРБЪПО ЙЪНЕОЕОЙС УЙНЧПМПЧ
"abcdef".delete('ea')
"abcdef".delete('a-c') 		"bcdf"
"def"
index пРТЕДЕМСЕФ ОПНЕТ РПЪЙГЙЙ, У ЛПФПТПК ОБЮЙОБЕФУС ХЛБЪБООБС РПДУФТПЛБ; НПЦОП ХЛБЪЩЧБФШ ОПНЕТ РПЪЙГЙЙ, У ЛПФПТПК ОБЮЙОБЕФУС РПЙУЛ
"abcdabcd".index("cd")
"abcdabcd".index("cd",3) 		2
6
length
size 		пРТЕДЕМСАФ ДМЙОХ УФТПЛЙ (Ч ВБКФБИ)
"12345678".length
"12345678".size 		8
8
ljust
rjust
center 		дПРПМОСАФ УФТПЛХ РТПВЕМБНЙ ДП ХЛБЪБООПК ЫЙТЙОЩ, ЧЩТБЧОЙЧБС УППФЧЕФУФЧЕООП РП МЕЧПНХ ЛТБА, РП РТБЧПНХ ЛТБА ЙМЙ РП ГЕОФТХ
"123".ljust(8)
"123".rjust(8)
"123".center(8) 		"123     "
"     123"
"  123   "
reverse чПЪЧТБЭБЕФ УФТПЛХ, УПДЕТЦБЭХА УЙНЧПМЩ Ч ПВТБФОПН РПТСДЛЕ
"1234567".reverse 		"7654321"
strip хДБМСЕФ РТПВЕМЩ Ч ОБЮБМЕ Й ЛПОГЕ УФТПЛЙ
"   123   ".strip 		"123"
squeeze пУФБЧМСЕФ Ч ЗТХРРЕ РПЧФПТСАЭЙИУС УЙНЧПМПЧ ФПМШЛП ПДЙО; ДПРХУЛБЕФУС ЪБДБОЙЕ УРЙУЛБ УЙНЧПМПЧ, ОБ ЛПФПТЩИ ТБУРТПУФТБОСЕФУС ДБООПЕ ДЕКУФЧЙЕ
"22---23**".squeeze
"22---23**".squeeze('*-') 		"2-23*"
"22-23*"
tr ъБНЕОСЕФ ЧУЕ ОБКДЕООЩЕ ЧИПЦДЕОЙС УЙНЧПМПЧ ОБ ЪБДБООЩЕ
"22+33=55".tr('25','47') 		"44+33=77"

пФДЕМШОПЗП ХРПНЙОБОЙС ЪБУМХЦЙЧБЕФ НЕФПД eval, РПЪЧПМСАЭЙК ДЙОБНЙЮЕУЛЙ ЧЩРПМОСФШ ДТХЗЙЕ НЕФПДЩ. ьФПФ НЕФПД БОБМЙЪЙТХЕФ РЕТЕДБООХА ЕНХ УФТПЛХ, ТБУУНБФТЙЧБС ЕЕ ЛБЛ ЮБУФШ РТПЗТБННЩ, Й ЧЩРПМОСЕФ ЕЕ. пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП РТЙ ЧЩЪПЧЕ ЬФПЗП НЕФПДБ ЙУРПМШЪХЕФУС ОЕ ФПЮЕЮОБС, Б ЖХОЛГЙПОБМШОБС ЖПТНБ ЪБРЙУЙ:

puts eval("2**10")
puts eval('"НПМ".size * "ПЛП".size')   # 9
(ЪБЗТХЪЙФШ ЖБКМ У РТЙНЕТБНЙ)

чТЕНС Й ДБФБ

ьЛЪЕНРМСТ ЛМБУУБ Time Ч СЪЩЛЕ Ruby УПДЕТЦЙФ ЙОЖПТНБГЙА П ДБФЕ, ЧТЕНЕОЙ Й ЧТЕНЕООПК ЪПОЕ. дМС УПЪДБОЙС ПВЯЕЛФБ ЬФПЗП ЛМБУУБ, УПДЕТЦБЭЕЗП ФЕЛХЭЙЕ ДБФХ Й ЧТЕНС, ЙУРПМШЪХЕФУС НЕФПД now. фБЛЙЕ ПВЯЕЛФЩ НПЗХФ СЧМСФШУС БТЗХНЕОФБНЙ ПРЕТБГЙК + Й -:

puts Time.now
puts Time.now+60   # ДПВБЧЙМЙ 60 УЕЛХОД Л ФЕЛХЭЕНХ ЧТЕНЕОЙ
puts Time.now-60   # ПФОСМЙ 60 УЕЛХОД ПФ ФЕЛХЭЕЗП ЧТЕНЕОЙ
пФНЕФЙН ОЕЛПФПТЩЕ НЕФПДЩ ЬФПЗП ЛМБУУБ, ДМС ЧЩЪПЧБ ЛПФПТЩИ ЙУРПМШЪХЕФУС ФПЮЕЮОБС ОПФБГЙС.

нЕФПД | оБЪОБЮЕОЙЕ НЕФПДБ
sec | рПМХЮЙФШ ЮЙУМП УЕЛХОД
min | рПМХЮЙФШ ЮЙУМП НЙОХФ
hour | рПМХЮЙФШ ЮЙУМП ЮБУПЧ
mday Й day | рПМХЮЙФШ ДЕОШ НЕУСГБ
mon Й month | рПМХЮЙФШ ОПНЕТ НЕУСГБ
year | рПМХЮЙФШ ЗПД
wday | рПМХЮЙФШ ОПНЕТ ДОС ОЕДЕМЙ
yday | рПМХЮЙФШ ОПНЕТ ДОС Ч ЗПДХ
zone | рПМХЮЙФШ ЙОЖПТНБГЙА П ЧТЕНЕООПК ЪПОЕ
to_i | рПМХЮЙФШ ЮЙУМП УЕЛХОД, РТПЫЕДЫЙИ У 1 СОЧБТС 1970 ЗПДБ

ч СЪЩЛЕ Ruby ЙНЕЕФУС НЕФПД sleep, ЛПФПТЩК ЪБУФБЧМСЕФ РТПЗТБННХ "ЪБУОХФШ" ОБ ЮЙУМП УЕЛХОД, ХЛБЪБООПЕ Ч ЛБЮЕУФЧЕ БТЗХНЕОФБ НЕФПДБ. рПУНПФТЙФЕ ОБ РТЙНЕТ ЙУРПМШЪПЧБОЙС НЕФПДПЧ ДМС ТБВПФЩ У ПВЯЕЛФБНЙ ЛМБУУБ Time.

puts "дП оПЧПЗП ЗПДБ ПУФБМПУШ #{365-Time.now.yday} ДОЕК"
puts Time.now
puts "рПДПЦДЕН 10 УЕЛХОД."
sleep(10)
puts Time.now

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

чЩЧПД ДБООЩИ

нЩ ХЦЕ ЧЙДЕМЙ, ЛБЛ ПУХЭЕУФЧМСЕФУС ЧЩЧПД ЙОЖПТНБГЙЙ Ч Ruby. рПЪОБЛПНЙНУС У ДТХЗЙНЙ ПРЕТБФПТБНЙ, ПВЕУРЕЮЙЧБАЭЙНЙ РЕЮБФШ ДБООЩИ. уПЪДБКФЕ ЖБКМ print.rb, ЧЛМАЮЙФЕ Ч ОЕЗП УМЕДХАЭЙК ФЕЛУФ Й РПУНПФТЙФЕ ОБ ТЕЪХМШФБФ ЧЩРПМОЕОЙС РПМХЮЕООПК РТПЗТБННЩ.

puts "puts ЧУЕЗДБ ЪБЧЕТЫБЕФУС РЕТЕИПДПН Л ОПЧПК УФТПЛЕ."
print "б ПРЕТБФПТ print ОЕ ДЕМБЕФ ЬФПЗП РП ХНПМЮБОЙА, "
print "ЛБЛ ЧЩ ЧЙДЙФЕ Ч ЬФПН РТЙНЕТЕ.\n"
print "print НПЦЕФ ВЩФШ ЧЩЪЧБО УТБЪХ  ",
   "У ОЕУЛПМШЛЙНЙ БТЗХНЕОФБНЙ.\n"

пРЕТБФПТ p РПДПВЕО ПРЕТБФПТХ puts Й ПФПВТБЦБЕФ ПВЯЕЛФЩ Ч ЧЙДЕ, РПОСФОПН ЮЕМПЧЕЛХ. оЕ УМЕДХЕФ ЙУРПМШЪПЧБФШ ЕЗП ДМС ЧЩЧПДБ ТХУУЛЙИ ВХЛЧ - ПО РЕЮБФБЕФ ЙИ ASCII-ЛПДЩ.

p Time.now, Time.now+3600

ъОБЮЙФЕМШОП ВПМШЫЙНЙ ЧПЪНПЦОПУФСНЙ ПВМБДБЕФ ПРЕТБФПТ printf, ПВЕУРЕЮЙЧБАЭЙК ЖПТНБФОЩК ЧЩЧПД. уТБЪХ РПУМЕ ЙНЕОЙ ПРЕТБФПТБ ХЛБЪЩЧБЕФУС УФТПЛБ ЖПТНБФБ, УПДЕТЦБЭБС ЛБЛ ПВЩЮОЩЕ УЙНЧПМЩ, ЧЩЧПДЙНЩЕ ОБ РЕЮБФШ, ФБЛ Й УРЕГЙЖЙЛБГЙЙ РТЕПВТБЪПЧБОЙС, ЛПФПТЩЕ ЧЩЪЩЧБАФ РТЕПВТБЪПЧБОЙЕ Й РЕЮБФШ ПУФБМШОЩИ БТЗХНЕОФПЧ Ч ФПН РПТСДЛЕ, Ч ЛБЛПН ПОЙ РЕТЕЮЙУМЕОЩ. лБЦДБС УРЕГЙЖЙЛБГЙС РТЕПВТБЪПЧБОЙС ОБЮЙОБЕФУС У УЙНЧПМБ % Й ЪБЛБОЮЙЧБЕФУС УЙНЧПМПН-УРЕГЙЖЙЛБФПТПН РТЕПВТБЪПЧБОЙС. нЕЦДХ % Й УЙНЧПМПН-УРЕГЙЖЙЛБФПТПН Ч РПТСДЛЕ, ХЛБЪБООЩН ОЙЦЕ, НПЗХФ ТБУРПМБЗБФШУС УМЕДХАЭЙЕ НПДЙЖЙЛБФПТЩ:

  • ЖМБЗЙ (Ч МАВПН РПТСДЛЕ):
    - ХЛБЪЩЧБЕФ ОБ ФП, ЮФП РТЕПВТБЪПЧБООЩК БТЗХНЕОФ ДПМЦЕО ВЩФШ РТЙЦБФ Л МЕЧПНХ ЛТБА РПМС;
    + РТЕДРЙУЩЧБЕФ ЧУЕЗДБ РЕЮБФБФШ ЮЙУМП УП ЪОБЛПН;
    0 | ХЛБЪЩЧБЕФ, ЮФП ЮЙУМБ ДПМЦОЩ ДПРПМОСФШУС ЧЕДХЭЙНЙ ОХМСНЙ ДП ЧУЕК ЫЙТЙОЩ РПМС;
    РТПВЕМ | ЕУМЙ РЕТЧЩК РЕЮБФБЕНЩК УЙНЧПМ ОЕ ЪОБЛ, ФП ЮЙУМХ ДПМЦЕО РТЕДЫЕУФЧПЧБФШ РТПВЕМ;
  • ЮЙУМП, ЪБДБАЭЕЕ НЙОЙНБМШОХА ЫЙТЙОХ РПМС;
  • ФПЮЛБ, ПФДЕМСАЭБС ХЛБЪБФЕМШ ЫЙТЙОЩ РПМС ПФ ХЛБЪБФЕМС ФПЮОПУФЙ;
  • ЮЙУМП, ЪБДБАЭЕЕ ФПЮОПУФШ.
пУОПЧОЩЕ МЙФЕТЩ-УРЕГЙЖЙЛБФПТЩ Й ТБЪЯСУОЕОЙЕ ЙИ УНЩУМБ РТЙЧПДСФУС Ч УМЕДХАЭЕК ФБВМЙГЕ.

мЙФЕТБ | бТЗХНЕОФ | чЙД РЕЮБФЙ
d | Fixnum, Bignum | РЕЮБФШ ГЕМПЗП ЮЙУМБ
s | String | РЕЮБФШ УФТПЛЙ
f | Float | РЕЮБФШ ДТПВОПЗП ЮЙУМБ

чЛМАЮЙФЕ Ч ЖБКМ УМЕДХАЭЙЕ ПРЕТБФПТЩ ЖПТНБФОПК РЕЮБФЙ Й РПУНПФТЙФЕ ОБ ТЕЪХМШФБФЩ ЧЩРПМОЕОЙС:

printf "%8s~~%-8s\n", "abcd", "abcd"
printf "%8-s::%8s\n", "abcd", "abcd"
printf "%06d\n", 2**10; printf "%+6d\n", 2**10
printf "%6d\n", 2**10;  printf "%+6d\n", 2.5*1.3
printf "%4.3f\n", 2.5*1.3
printf "-2/7=%+1.6f, -2/6=%2.15f\n",
      -2/7.to_f, -2/6.to_f

пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП УФТПЛБ ЖПТНБФБ ЪБЛМАЮБЕФУС Ч ДЧПКОЩЕ ЛБЧЩЮЛЙ Й НПЦЕФ УПДЕТЦБФШ УРЕГЙБМШОЩЕ РПУМЕДПЧБФЕМШОПУФЙ УЙНЧПМПЧ. пДОПК ЙЪ ОЙИ СЧМСЕФУС \n. ьФБ РПУМЕДПЧБФЕМШОПУФШ ДБЕФ ХЛБЪБОЙЕ ЙОФЕТРТЕФБФПТХ Ruby РТПДПМЦЙФШ ЧЩЧПД ЙОЖПТНБГЙЙ УП УМЕДХАЭЕК УФТПЛЙ (newline). дТХЗПК ЮБУФП ЙУРПМШЪХЕНПК РПУМЕДПЧБФЕМШОПУФША СЧМСЕФУС \t (ФБВХМСГЙС), ЛПФПТБС РЕТЕДЧЙЗБЕФ ЖПЛХУ ЧЩЧПДБ Л УМЕДХАЭЕК РПЪЙГЙЙ ФБВХМСГЙЙ.

puts "*\t*\t*\t*\t*"
puts " 1234567 1234567 1234567 1234567 "
(УЛБЮБФШ РТПЗТБННХ)


рЕТЕНЕООЩЕ Й ЛПОУФБОФЩ

ч ЬФПН ЛХТУЕ НЩ ВХДЕН ЙУРПМШЪПЧБФШ ФБЛ ОБЪЩЧБЕНЩЕ МПЛБМШОЩЕ РЕТЕНЕООЩЕ. йНЕОБ МПЛБМШОЩИ РЕТЕНЕООЩИ ОБЮЙОБАФУС УП УФТПЮОПК МБФЙОУЛПК ВХЛЧЩ (ПФ a ДП z) ЙМЙ УЙНЧПМБ РПДЮЕТЛЙЧБОЙС Й РТПДПМЦБАФУС МАВПК ЛПНВЙОБГЙЕК МБФЙОУЛЙИ ВХЛЧ, ГЙЖТ Й УЙНЧПМБ РПДЮЕТЛЙЧБОЙС. фЕ ЦЕ РТБЧЙМБ ТБУРТПУФТБОСАФУС Й ОБ ЙНЕОБ НЕФПДПЧ.

ч СЪЩЛЕ ЙНЕЕФУС ОЕВПМШЫПЕ НОПЦЕУФЧП ЪБТЕЪЕТЧЙТПЧБООЩИ УМПЧ, ЛПФПТЩЕ ОЕМШЪС ЙУРПМШЪПЧБФШ Ч ЛБЮЕУФЧЕ ЙНЕО РЕТЕНЕООЩИ Й НЕФПДПЧ.

ъБТЕЪЕТЧЙТПЧБООЩЕ УМПЧБ
__FILE__ | and | def | end | in | or | self | unless
__LINE__ | begin | defined? | ensure | module | redo | super | until
BEGIN | break | do | false | next | rescue | then | when
END | case | else | for | nil | retry | true | while
alias | class | elsif | if | not | return | undef | yield

лТПНЕ МПЛБМШОЩИ РЕТЕНЕООЩИ Ruby РПДДЕТЦЙЧБЕФ Й ДТХЗЙЕ ЙИ ЧЙДЩ - ЗМПВБМШОЩЕ РЕТЕНЕООЩЕ, РЕТЕНЕООЩЕ ЛМБУУПЧ Й ЬЛЪЕНРМСТПЧ. рТЙОБДМЕЦОПУФШ Л ЛБЦДПНХ ЙЪ ЬФЙИ ЧЙДПЧ ПРТЕДЕМСАФУС УЙНЧПМПН, УФПСЭЙН РЕТЕД ЙНЕОЕН РЕТЕНЕООПК (РТЕЖЙЛУПН): УЙНЧПМ $ ЪБДБЕФ ЗМПВБМШОХА РЕТЕНЕООХА, @ - РЕТЕНЕООХА ЬЛЪЕНРМСТБ, @@ - РЕТЕНЕООХА ЛМБУУБ. мПЛБМШОЩЕ РЕТЕНЕООЩЕ ОЕ ЙНЕАФ РТЕЖЙЛУБ. йНЕОБ ЛПОУФБОФ Й ЛМБУУПЧ ДПМЦОЩ ОБЮЙОБФШУС У РТПРЙУОПК МБФЙОУЛПК ВХЛЧЩ (A-Z) Й, БОБМПЗЙЮОП РЕТЕНЕООЩН, РТПДПМЦБАФУС МАВПК ЛПНВЙОБГЙЕК МБФЙОУЛЙИ ВХЛЧ, ГЙЖТ Й УЙНЧПМБ РПДЮЕТЛЙЧБОЙС.

мПЛБМШОБС РЕТЕНЕООБС УПЪДБЕФУС ДЙОБНЙЮЕУЛЙ Ч НПНЕОФ, ЛПЗДБ ЕК Ч РТПГЕУУЕ ЧЩРПМОЕОЙС РТПЗТБННЩ РЕТЧЩК ТБЪ РТЙУЧБЙЧБЕФУС ЛБЛПЕ-ФП ЪОБЮЕОЙЕ. пРЕТБФПТ РТЙУЧБЙЧБОЙС ЙНЕЕФ ЧЙД ЪОБЛБ = (ТБЧОП), ОБРТЙНЕТ, a = 1; b = a; name = "йЧБО". рЕТЕНЕООЩЕ НПЗХФ ЙУРПМШЪПЧБФШУС ЧП ЧУЕИ ЧЩТБЦЕОЙСИ Ruby БОБМПЗЙЮОП УППФЧЕФУФЧХАЭЙН ПВЯЕЛФБН:

a = "рТЙЧЕФ ЧУЕН!"
puts a

ч Ruby РЕТЕНЕООЩЕ ЕУФШ УУЩМЛЙ ОБ ПВЯЕЛФЩ. йИ УМЕДХЕФ ФТБЛФПЧБФШ ЛБЛ ОЕЛЙЕ НЕФЛЙ. дМС ФПЗП ЮФПВЩ МХЮЫЕ РПОСФШ ЬФХ ЛПОГЕРГЙА РТПЧЕДЕН УМЕДХАЭХА БОБМПЗЙА: РХУФШ Х ЧБУ ЕУФШ ОЕЛПФПТБС ЛПТПВЛБ (ПВЯЕЛФ), ЧЩ ВЕТЕФЕ ОБЛМЕКЛХ (РЕТЕНЕООХА), РПДРЙУЩЧБЕФЕ ЕЕ (ДБЕФЕ ЙНС РЕТЕНЕООПК), РПУМЕ ЮЕЗП ОБЛМЕЙЧБЕФЕ ЕЕ ОБ ЛПТПВЛХ (ПВЯЕЛФ). ч Ruby РЕТЕНЕООЩЕ ОЕ ЙНЕАФ ФЙРБ, ФБЛ ЛБЛ ПОЙ ЕУФШ ЧУЕЗП МЙЫШ УУЩМЛЙ ОБ ПВЯЕЛФЩ РТПЙЪЧПМШОЩИ ФЙРПЧ. рТПЙММАУФТЙТХЕН УЛБЪБООПЕ УМЕДХАЭЙН РТЙНЕТПН:

a = "one"
puts a
puts a.type
a = 23
puts a
puts a.type
пВТБФЙФЕ ЧОЙНБОЙЕ ОБ НЕФПД type, ЧПЪЧТБЭБАЭЙК ФЙР ПВЯЕЛФБ. рТЙ РЕТЧПН ЙУРПМШЪПЧБОЙЙ РЕТЕНЕООБС a ЕУФШ УУЩМЛБ ОБ ПВЯЕЛФ ЛМБУУБ String, ЪБФЕН НЩ РТЙУЧБЙЧБЕН ЬФПК РЕТЕНЕООПК ДТХЗПЕ ЪОБЮЕОЙЕ (ОБЛМЕЙЧБЕН ФХ ЦЕ ЬФЙЛЕФЛХ ОБ ОПЧЩК ПВЯЕЛФ), РПУМЕ ЮЕЗП ПОБ УФБОПЧЙФУС УУЩМЛПК ОБ ЬЛЪЕНРМСТ ЛМБУУБ Fixnum.

Ruby РПДДЕТЦЙЧБЕФ ФБЛЦЕ Й РТЙУЧБЙЧБОЙЕ У ПРЕТБГЙЕК. тЕЪХМШФБФ ЧЩРПМОЕОЙС УМЕДХАЭЙИ ДЧХИ ПРЕТБФПТПЧ ПДЙОБЛПЧЩ:

a+=12
a=a+12
пВЭБС ЖПТНБ РПДПВОЩИ ПРЕТБФПТПЧ ЧЩЗМСДЙФ ФБЛ:
ЧЩТБЦЕОЙЕ1 ПРЕТБГЙС= ЧЩТБЦЕОЙЕ2
ЮФП УППФЧЕФУФЧХЕФ ПРЕТБФПТХ
ЧЩТБЦЕОЙЕ1 = ЧЩТБЦЕОЙЕ1 ПРЕТБГЙС ЧЩТБЦЕОЙЕ2
нЕЦДХ ЪОБЛПН ПРЕТБГЙЙ Й УЙНЧПМПН ТБЧЕОУФЧБ ОЕ ДПМЦОП ВЩФШ РТПВЕМБ. фБЛПК УЙОФБЛУЙУ ДПРХУФЙН ДМС УМЕДХАЭЙИ ПРЕТБГЙК:
    +, -, *, /, %, **, &, |, ^, <<, >>, &&, |

лПЗДБ ФТЕВХЕФУС РТЙУЧПЙФШ ЪОБЮЕОЙЕ ОЕУЛПМШЛЙН РЕТЕНЕООЩН, НПЦОП ЙУРПМШЪПЧБФШ НОПЦЕУФЧЕООПЕ РТЙУЧБЙЧБОЙЕ:

a, b, c = 1, 2, 3

рТЙНЕТ
рХУФШ ФТЕВХЕФУС ПВНЕОСФШ ЪОБЮЕОЙС ДЧХИ РЕТЕНЕООЩИ, ОЕ ЧЧПДС ЧУРПНПЗБФЕМШОХА РЕТЕНЕООХА. у ЙУРПМШЪПЧБОЙЕН НОПЦЕУФЧЕООПЗП РТЙУЧБЙЧБОЙС ЬФП НПЦОП ЪБРЙУБФШ ФБЛ:

a, b = b, a
дБООЩК РТЙНЕТ ПВЯСУОСЕФ, РПЮЕНХ ЬФХ ЖПТНХ ПРЕТБФПТБ РТЙУЧБЙЧБОЙС ОБЪЩЧБАФ ФБЛЦЕ "РБТБММЕМШОЩН РТЙУЧБЙЧБОЙЕН".

нЩ ХЦЕ ХРПНЙОБМЙ ПДОХ ЙЪ ЪБНЕЮБФЕМШОЩИ ЧПЪНПЦОПУФЕК Ruby - РПДУФБОПЧЛХ. пОБ РПЪЧПМСЕФ ЧЩРПМОСФШ ТБЪОППВТБЪОЩЕ ФТАЛЙ УП УФТПЛПК, ЪБЛМАЮЕООПК Ч ДЧПКОЩЕ ЛБЧЩЮЛЙ, ОБРТЙНЕТ,

magic = 42
puts "уЕЛТЕФОПЕ ЮЙУМП ТБЧОП #{magic - 3}!!"
лПЗДБ Ruby ОБИПДЙФ ЛПОУФТХЛГЙА #{ЧЩТБЦЕОЙЕ} ЧОХФТЙ УФТПЛЙ, ЪБЛМАЮЕООПК Ч ДЧПКОЩЕ ЛБЧЩЮЛЙ, ФП ЪБНЕОСЕФ ЬФХ ЕЕ ЮБУФШ ОБ ТЕЪХМШФБФ ЧЩЮЙУМЕОЙС ЧЩТБЦЕОЙС.

рТЙНЕТ
дБОП ФТЕИЪОБЮОПЕ ЮЙУМП. оБРЕЮБФБФШ ЮЙУМП, РПМХЮБАЭЕЕУС РТЙ РЕТЕУФБОПЧЛЕ ГЙЖТ ДЕУСФЛПЧ Й ЕДЙОЙГ ЪБДБООПЗП ЮЙУМБ.

number = 342
puts "йУИПДОПЕ ЮЙУМП ТБЧОП #{number}"
n1 = number/100                   # ЮЙУМП УПФЕО
n2 = (number/10)%10               # ЮЙУМП ДЕУСФЛПЧ
n3 = number%10                    # ЮЙУМП ЕДЙОЙГ
answer = n1*100 + n3*10 + n2
puts "тЕЪХМШФБФ #{answer}"
(ЪБЗТХЪЙФШ РТПЗТБННХ)

йОПЗДБ ЧПЪОЙЛБЕФ ОЕПВИПДЙНПУФШ ХЛБЪБФШ, ЮФП ФПФ ЙМЙ ЙОПК ПВЯЕЛФ Ч РТПЗТБННЕ СЧМСЕФУС ОЕЙЪНЕОСЕНЩН. фБЛЙЕ ПВЯЕЛФЩ ОБЪЩЧБАФУС ЛПОУФБОФБНЙ. ч Ruby ЙНЕОБ ЛПОУФБОФ, ФБЛЦЕ ЛБЛ Й ЙНЕОБ ЛМБУУПЧ, ДПМЦОЩ ОБЮЙОБФШУС У ЪБЗМБЧОПК ВХЛЧЩ (ЕУФШ ПРТЕДЕМЕООБС ФТБДЙГЙС ЪБДБЧБФШ ЙНЕОБ ЛПОУФБОФ, УПУФПСЭЙЕ ЙЪ ПДОЙИ ЪБЗМБЧОЩИ ВХЛЧ). тБУУНПФТЙН УМЕДХАЭЙК ЖТБЗНЕОФ РТПЗТБННЩ:

NUM = 234
p NUM      # 234
NUM = "qq" # warning: already initialized constant NUM
p NUM      # "qq"
лБЛ ЧЙДЙН, ЙОФЕТРТЕФБФПТ ЧЩДБМ РТЕДХРТЕЦДЕОЙЕ П ФПН, ЮФП ЛПОУФБОФБ NUM ХЦЕ ВЩМБ ПРТЕДЕМЕОБ ТБОЕЕ. фЕН ОЕ НЕОЕЕ ЪОБЮЕОЙЕ ЛПОУФБОФЩ ВЩМП ЙЪНЕОЕОП.

ъБДБОЙС

  1. оБРЙЫЙФЕ РТПЗТБННХ, РЕЮБФБАЭХА ЛПМЙЮЕУФЧП ЛЧБДТБФПЧ УП УФПТПОПК 130 НН, ЛПФПТПЕ НПЦОП ПФТЕЪБФШ ПФ РТСНПХЗПМШОЙЛБ УП УФПТПОБНЙ 543x130 НН.
  2. оБРЙЫЙФЕ РТПЗТБННХ, ЛПФПТБС РП ДБООПНХ ЮЙУМХ a, ОЕ ЙУРПМШЪХС ОЙЛБЛЙИ БТЙЖНЕФЙЮЕУЛЙИ ПРЕТБГЙК, ЛТПНЕ ХНОПЦЕОЙС, РПМХЮБЕФ a8 ЪБ ФТЙ ПРЕТБГЙЙ.


нБУУЙЧЩ

тБОЕЕ НЩ ХЦЕ ЗПЧПТЙМЙ П "РТПУФЕКЫЙИ" ПВЯЕЛФБИ Ruby - ЮЙУМБИ Й УФТПЛБИ. л ЙИ ЮЙУМХ ПФОПУСФУС Й НБУУЙЧЩ - ЬЛЪЕНРМСТЩ ЛМБУУБ Array. нБУУЙЧ ЕУФШ РТПУФП ОБВПТ (ЛПММЕЛГЙС) ЬМЕНЕОФПЧ, Ч ЛПФПТПН ДПУФХР Л ЛБЦДПНХ ЬМЕНЕОФХ ЧПЪНПЦЕО РП ЕЗП ОПНЕТХ (ГЕМПНХ ЮЙУМХ).

нБУУЙЧ НПЦЕФ УПУФПСФШ ЙЪ ЬМЕНЕОФПЧ, РТЙОБДМЕЦБЭЙИ ТБЪМЙЮОЩН ЛМБУУБН. пВТБФЙФЕ ЧОЙНБОЙЕ ОБ ФП, ЮФП ОХНЕТБГЙС ЬМЕНЕОФПЧ НБУУЙЧБ ОБЮЙОБЕФУС У ОХМС.

юФПВЩ УПЪДБФШ ЬЛЪЕНРМСТ ЛМБУУБ Array, ЕЗП ЬМЕНЕОФЩ, ТБЪДЕМЕООЩЕ ЪБРСФЩНЙ, ЪБЛМАЮБАФ Ч ЛЧБДТБФОЩЕ УЛПВЛЙ, ОБРТЙНЕТ, [1, 2, 3].

дМС ЪБДБОЙС НБУУЙЧБ УФТПЛ НПЦОП ЙУРПМШЪПЧБФШ ВПМЕЕ ХДПВОХА ЖПТНХ У ЙУРПМШЪПЧБОЙЕН ЧЩТБЦЕОЙС %w: ЪБРЙУШ %w(ТБЪ ДЧБ ФТЙ) ЬЛЧЙЧБМЕОФОБ ЪБРЙУЙ ["ТБЪ", "ДЧБ", "ФТЙ"]. нЕЦДХ УЙНЧПМПН w Й ПФЛТЩЧБАЭЕК УЛПВЛПК ОЕ ДПМЦОП ВЩФШ РТПВЕМБ. еУМЙ ОЕУЛПМШЛП УМПЧ ДПМЦОЩ УФБФШ ПДОЙН ЬМЕНЕОФПН НБУУЙЧБ, ФП ДМС ЙИ ТБЪДЕМЕОЙС РЕТЕД РТПВЕМПН ДПВБЧМСЕФУС УЙНЧПМ \ (backslash):

%w(ТБЪ\ ДЧБ ФТЙ\ ЮЕФЩТЕ)  # ["ТБЪ ДЧБ", "ФТЙ ЮЕФЩТЕ"]

йОПЗДБ ФТЕВХЕФУС ФПМШЛП УПЪДБФШ НБУУЙЧ, ОП ОЕ ЪБРПМОСФШ ЕЗП ЬМЕНЕОФБНЙ. ч ЬФПН УМХЮБЕ ЙУРПМШЪХЕФУС ПДОБ ЙЪ УМЕДХАЭЙИ ЛПОУФТХЛГЙК:

a = [ ]
b = Array.new
еУМЙ ФТЕВХЕФУС УПЪДБФШ "РХУФПК" НБУУЙЧ ЪБДБООПЗП ТБЪНЕТБ, ФП ПО ХЛБЪЩЧБЕФУС Ч ЛБЮЕУФЧЕ БТЗХНЕОФБ НЕФПДБ new, ОБРТЙНЕТ,
myArray = Array.new(10)

# ЛПЗДБ Х ЖХОЛГЙЙ ФПМШЛП ПДЙО БТЗХНЕОФ,
# УЛПВЛЙ НПЦОП ПРХУФЙФШ
myArray = Array.new 10
оЕПВСЪБФЕМШОЩК ЧФПТПК БТЗХНЕОФ НЕФПДБ new ЪБДБЕФ ЛМБУУ, ЬЛЪЕНРМСТЩ ЛПФПТПЗП РТЕДРПМБЗБЕФУС ТБЪНЕЭБФШ Ч НБУУЙЧЕ:
timeArray = Array.new(3, Time)
p timeArray           #[Time, Time, Time]

пДОЙН ЙЪ ОЕУПНОЕООЩИ ДПУФПЙОУФЧ Ruby СЧМСЕФУС ОБМЙЮЙЕ Ч ОЕН ВПМШЫПЗП ЮЙУМБ НЕФПДПЧ ДМС ТБВПФЩ У НБУУЙЧБНЙ. ч ФБВМЙГЕ ОЙЦЕ РЕТЕЮЙУМЕОЩ ОБЙВПМЕЕ ХРПФТЕВЙНЩЕ ЙЪ ОЙИ, ЙММАУФТЙТХАЭЙЕ ЧПЪНПЦОПУФШ ТБВПФЩ У НБУУЙЧПН ЛБЛ У НОПЦЕУФЧПН, УФЕЛПН Й ЙОЩНЙ УФТХЛФХТБНЙ ДБООЩИ.

оБЪОБЮЕОЙЕ Й РТЙНЕТ ЙУРПМШЪПЧБОЙС НЕФПДБ тЕЪХМШФБФ
[ ]
at 		рПМХЮЕОЙЕ ЬМЕНЕОФБ У ХЛБЪБООЩН ЙОДЕЛУПН; ЕУМЙ БТЗХНЕОФ СЧМСЕФУС ПФТЙГБФЕМШОЩН ЮЙУМПН, ФП ЙОДЕЛУ ПФУЮЙФЩЧБЕФУС У ЛПОГБ
a = ["a", "b", "c", "d"]; a[0]; a.at(0); a[0 .. 2]
a[-2]; a.at(-2); a[2, 2]
"a"; ["a", "b", "c"]
"c"; ["c", "d"]
+ дПВБЧМЕОЙЕ ПДОПЗП НБУУЙЧБ Л ДТХЗПНХ
[1, 2, 3] + [4, 5]
[1, 2, 3, 4, 5]
* рПЧФПТЕОЙЕ
[1, 2] * 2
[1, 2, 1, 2]
| пВЯЕДЙОЕОЙЕ НОПЦЕУФЧ
["a", "b", "c"] | ["c", "d", "a"] 		["a", "b", "c", "d"]
& рЕТЕУЕЮЕОЙЕ НОПЦЕУФЧ
[1, 1, 3, 5] & [1, 2, 3]
[1, 3]
- тБЪОПУФШ НОПЦЕУФЧ
[1, 2, 2, 3, 3, 3, 4, 5] - [1, 2, 4] 		[3, 5]
<<
push 		дПВБЧМЕОЙЕ Ч ЛПОЕГ НБУУЙЧБ
[1, 2] << "c" << [3, 4]
a = ["a", "b"]; a.push("c", "d") 		[1, 2, "c", [3, 4]]
["a", "b", "c", "d"]
unshift дПВБЧМЕОЙЕ ЬМЕНЕОФБ Ч ОБЮБМП НБУУЙЧБ УП УДЧЙЗПН ПУФБМШОЩИ
a = ["b", "c"]; a.unshift("a")

["a", "b", "c"]
clear хДБМЕОЙЕ ЧУЕИ ЬМЕНЕОФПЧ НБУУЙЧБ
a = ["a", "b", "c", "d"]; a.clear
[]
collect чЩРПМОЕОЙЕ ВМПЛБ ПРЕТБФПТПЧ, ЪБЛМАЮЕООЩИ Ч ЖЙЗХТОЩЕ УЛПВЛЙ, РП ТБЪХ ДМС ЛБЦДПЗП ЬМЕНЕОФБ НБУУЙЧБ
a = ["a", "b", "c", "d"]
a.collect {|i| i+"!"}
["a!", "b!", "c!", "d!"]
compact хДБМЕОЙЕ ЧУЕИ ПВЯЕЛФПЧ nil ЙЪ НБУУЙЧБ
["a", "b", nil, "c", nil].compact 		["a", "b", "c"]
empty? рТПЧЕТЛБ ОБ ПФУХФУФЧЙЕ ЬМЕНЕОФПЧ НБУУЙЧБ
[].empty? 		true
length
size 		пРТЕДЕМЕОЙЕ ЛПМЙЮЕУФЧБ ЬМЕНЕОФПЧ НБУУЙЧБ
[ 1, 2, 3, 4, 5 ].length 		5
pop хДБМЕОЙЕ РПУМЕДОЕЗП ЬМЕНЕОФБ НБУУЙЧБ
a = [ "a", "m", "z" ]; a.pop
a

"z"
["a", "m"]
each чЩЪПЧ ВМПЛБ ПРЕТБФПТПЧ РП ПДОПНХ ТБЪХ ДМС ЛБЦДПЗП ЬМЕНЕОФБ НБУУЙЧБ
a = ["a", "b", "c"]
a.each {|x| print x, "--" }
a--b--c--
flatten "тБЪЗМБЦЙЧБОЙЕ" НБУУЙЧБ - РПМХЮЕОЙЕ ПДОПНЕТОПЗП НБУУЙЧБ ЙЪ НБУУЙЧБ НБУУЙЧПЧ
s = [ 1, 2, 3 ]
t = [ 4, 5, 6, [7, 8] ]
a = [ s, t, 9, 10 ]; a.flatten

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
index рПМХЮЕОЙЕ ОПНЕТБ РЕТЧПЗП ЧИПЦДЕОЙС БТЗХНЕОФБ (nil ЕУМЙ ОЕ ОБКДЕО)
a = [ "a", "b", "c" ]; a.index("b")
a.index("z")

1
nil
join уПЪДБОЙЕ ЕДЙОПК УФТПЛЙ ЙЪ НБУУЙЧБ УФТПЛ
[ "a", "b", "c" ].join
[ "a", "b", "c" ].join("-")
"abc"
"a-b-c"
nitems пРТЕДЕМЕОЙЕ ЛПМЙЮЕУФЧБ ЬМЕНЕОФПЧ НБУУЙЧБ, ПФМЙЮОЩИ ПФ nil
[ 1, nil, 3, nil, 5 ].nitems 		3
reverse йОЧЕТФЙТПЧБОЙЕ НБУУЙЧБ
[ "a", "b", "c" ].reverse
[ 1 ].reverse 		["c", "b", "a"]
[1]
sort уПТФЙТПЧЛБ НБУУЙЧБ
a = ["d", "a", "c"]
a.sort
a.sort {|x,y| y <=> x }
["a", "c", "d"]

["d", "c", "a"]

вХДШФЕ ЧОЙНБФЕМШОЩ РТЙ УПТФЙТПЧЛЕ УФТПЛ, УПДЕТЦБЭЙИ ВХЛЧЩ ТХУУЛПЗП БМЖБЧЙФБ. хРПТСДПЮЙЧБОЙЕ УФТПЛ РТПЙУИПДЙФ РП ASCII-ЛПДБН ЙИ УЙНЧПМПЧ, Б ФБВМЙГБ ЛПДЙТПЧЛЙ koi8-r, РТЙОСФБС Ч пу Linux, ТБЪНЕЭБЕФ ТХУУЛЙЕ ВХЛЧЩ ОЕ Ч БМЖБЧЙФОПН РПТСДЛЕ.

a2 = %w(УПВБЛБ ЧПМЛ МПЫБДШ БМШВБФТПУ)
puts a2.sort   # БМШВБФТПУ МПЫБДШ УПВБЛБ ЧПМЛ

рТЙНЕТ
уПЪДБКФЕ ЖБКМ, Ч ЛПФПТЩК РПНЕУФЙФЕ УМЕДХАЭХА РТПЗТБННХ.

a = [1, "cat", 3.14] # УПЪДБОЙЕ НБУУЙЧБ ЙЪ ФТЕИ ЬМЕНЕОФПЧ
puts a
puts a[0]          # РЕЮБФШ РЕТЧПЗП ЬМЕНЕОФБ НБУУЙЧБ
puts a.type
print  a[0].type, "\t", a[1].type, "\t", a[2].type, "\n"

a[2] = "dog"      # ЙЪНЕОЕОЙЕ ЪОБЮЕОЙС ФТЕФШЕЗП ЬМЕНЕОФБ
puts a
print  a[0].type, "\t", a[1].type, "\t", a[2].type, "\n"

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

рТПУМЕДЙФЕ ЪБ ЙЪНЕОЕОЙСНЙ ФЙРБ ЬМЕНЕОФПЧ НБУУЙЧБ a.

вХДШФЕ ЧОЙНБФЕМШОЩ РТЙ РТЙУЧБЙЧБОЙЙ ЪОБЮЕОЙК РЕТЕНЕООЩН, ЕУМЙ ПОЙ ЕУФШ УУЩМЛЙ ОБ НБУУЙЧЩ. тБУУНПФТЙН УМЕДХАЭЙК РТЙНЕТ, ЛПННЕОФЙТХС ДЕКУФЧЙС У РЕТЕНЕООЩНЙ Ч ФЕТНЙОБИ "ОБЛМЕЕЛ":

# "ХРБЛПЧЩЧБЕН" НБУУЙЧ Ruby
puts "\n\t нБУУЙЧЩ "
magic = [1, 2]
# ПВЕ НЕФЛЙ ОБЛМЕЕОЩ ОБ ПДОХ Й ФХ ЦЕ ХРБЛПЧЛХ
hocusPocus = magic
# ЙИ ЪОБЮЕОЙС УПЧРБДБАФ
print "magic      = "; p magic
print "hocusPocus = "; p hocusPocus
puts "ЙЪНЕОСЕН УПДЕТЦЙНПЕ НБУУЙЧБ hocusPocus"

# ЙЪНЕОЙН  УПДЕТЦЙНПЕ ХРБЛПЧЛЙ У ЙНЕОЕН hocusPocus
hocusPocus[0] = 6
print "magic      = "; p magic
# РПУНПФТЙН...
print "hocusPocus = "; p hocusPocus
puts "пВЕ РЕТЕНЕООЩЕ ЙЪНЕОЙМЙУШ"

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

фБЛ ЦЕ, ЛБЛ НБУУЙЧЩ, ЧЕДХФ УЕВС Ч СЪЩЛЕ Ruby РПЮФЙ ЧУЕ ПВЯЕЛФЩ. йУЛМАЮЕОЙЕН СЧМСАФУС ЮЙУМБ (Fixnum), МПЗЙЮЕУЛЙЕ ЧЕМЙЮЙОЩ true Й false, Б ФБЛЦЕ УРЕГЙБМШОБС ЧЕМЙЮЙОБ nil (ОПМШ, ОЙЮЕЗП), ЙУРПМШЪХЕНБС ДМС УУЩМЛЙ "Ч ОЙЛХДБ". лПЗДБ ЧЩ РТЙУЧБЙЧБЕФЕ ЪОБЮЕОЙЕ РЕТЕНЕООПК, ХЛБЪЩЧБАЭЕК ОБ ПВЯЕЛФ ПДОПЗП ЙЪ ЧЩЫЕРЕТЕЮЙУМЕООЩИ ФЙРПЧ, ДТХЗПК РЕТЕНЕООПК, ЬФЙ ДЧЕ РЕТЕНЕООЩЕ ОБЮЙОБАФ УУЩМБФШУС ОБ ДЧБ ТБЪМЙЮОЩИ ПВЯЕЛФБ, ЙНЕАЭЙИ ПДЙОБЛПЧПЕ ЪОБЮЕОЙЕ, Б ОЕ ОБ ПДЙО Й ФПФ ЦЕ ПВЯЕЛФ. оБРТЙНЕТ,

puts"==============="
puts "\n \t юЙУМБ "

# "ХРБЛПЧБМЙ" ПВЯЕЛФ ФЙРБ FixNum
magic = 42
# ФЕРЕТШ ЙНЕЕН ДЧЕ ХРБЛПЧЛЙ, ЛБЦДБС УП УЧПЕК НЕФЛПК
hocusPocus = magic
# ПВЕ ХРБЛПЧЛЙ ЙНЕАФ ПДЙОБЛПЧПЕ УПДЕТЦЙНПЕ
puts "magic      = #{magic}"
puts "hocusPocus = #{hocusPocus}"
puts "ЙЪНЕОСЕН УПДЕТЦЙНПЕ hocusPocus"

# ЙЪНЕОЙН УПДЕТЦЙНПЕ ХРБЛПЧЛЙ У ЙНЕОЕН hocusPocus
hocusPocus = 0
# РПУНПФТЙН...
puts "magic      = #{magic}"
# Й ЪБНЕФЙН, ЮФП ПОЙ ТБЪМЙЮОЩ
puts "hocusPocus = #{hocusPocus}"
puts "чФПТБС РЕТЕНЕООБС ОЕ ЙЪНЕОЙМБУШ"

ъОБЮЕОЙС, РТЙУЧБЙЧБЕНЩЕ РЕТЕНЕООЩН, НПЗХФ СЧМСФШУС ЧЩТБЦЕОЙСНЙ ЙМЙ НБУУЙЧБНЙ. еУМЙ ЮЙУМП ЬМЕНЕОФПЧ Ч РТБЧПК ЮБУФЙ ВПМШЫЕ ЮЙУМБ РЕТЕНЕООЩИ Ч МЕЧПК, ФП МЙЫОЙЕ ЪОБЮЕОЙС ЙЗОПТЙТХАФУС. еУМЙ ЮЙУМП РЕТЕНЕООЩИ УМЕЧБ РТЕЧЩЫБЕФ ЮЙУМП ЪОБЮЕОЙК УРТБЧБ, ФП ПУФБЧЫЙЕУС РЕТЕНЕООЩЕ РТЙОЙНБАФ ЪОБЮЕОЙЕ nil. уЙНЧПМ * РЕТЕД ЙНЕОЕН РПУМЕДОЕК РЕТЕНЕООПК Ч УРЙУЛЕ ХЛБЪЩЧБЕФ, ЮФП ПОБ СЧМСЕФУС НБУУЙЧПН, Ч ЛПФПТЩК РПНЕЭБАФУС ПУФБЧЫЙЕУС ЪОБЮЕОЙС.

a, b = [1, 2]     # a = 1; b = 2
a, b = 1, 2       # a = 1; b = 2
a, b, c = 1, 2    # a = 1; b = 2; c = nil
a, b = 1, 2, 3    # a = 1; b = 2
a, *b = 1, 2, 3   # a = 1; b = [2, 3]

ч Ruby, ЛБЛ Й Ч ВПМШЫЙОУФЧЕ ДТХЗЙИ УПЧТЕНЕООЩИ СЪЩЛПЧ, ОЕФ НОПЗПНЕТОЩИ НБУУЙЧПЧ, ОП ПОЙ МЕЗЛП НПДЕМЙТХАФУС УПЪДБОЙЕН НБУУЙЧБ НБУУЙЧПЧ, Ф. Е. НБУУЙЧБ, ЬМЕНЕОФБНЙ ЛПФПТПЗП СЧМСАФУС ФБЛЦЕ НБУУЙЧЩ. лБЛ УМЕДУФЧЙЕ, ФБЛЙЕ НБУУЙЧЩ ОЕ ПВСЪБОЩ ВЩФШ РТСНПХЗПМШОЩНЙ (Ф. Е. ЮЙУМП ЬМЕНЕОФПЧ Ч ТБЪОЩИ УФТПЛБИ НПЦЕФ ПФМЙЮБФШУС), ЮФП РПЪЧПМСЕФ ЪОБЮЙФЕМШОП ЬЛПОПНЙФШ РБНСФШ. оБРТЙНЕТ, ДЧХНЕТОЩК НБУУЙЧ ТБЪНЕТПН 3x3 НПЦОП ЪБДБФШ ФБЛ

a = [
      [11, 12, 13],
      [21, 22, 23],
      [31, 32, 33]
    ]
бОБМПЗЙЮОП НПЦОП УПЪДБФШ НБУУЙЧ МАВПК ФТЕВХЕНПК ТБЪНЕТОПУФЙ, ИПФС НБУУЙЧЩ ТБЪНЕТОПУФЙ, ВПМШЫЕК ЮЕН ДЧБ, ЧУФТЕЮБАФУС ДПУФБФПЮОП ТЕДЛП. л ЬМЕНЕОФБН ФБЛЙИ НБУУЙЧПЧ НПЦОП ДПВТБФШУС, РПУМЕДПЧБФЕМШОП ХЛБЪЩЧБС ЙОДЕЛУЩ ФТЕВХЕНЩИ ЬМЕНЕОФПЧ:
p a[1]        #  [21, 22, 23],
p a[1][1]     #  22

еУМЙ ФТЕВХЕФУС ФПМШЛП УПЪДБФШ НОПЗПНЕТОЩК НБУУЙЧ, ОЕ ЪБРПМОСС ЕЗП ДБООЩНЙ, ФП УМЕДХЕФ ЙУРПМШЪПЧБФШ УМЕДХАЭХА ЛПОУФТХЛГЙА:

# рХУФПК НБУУЙЧ:
# УПЪДБМЙ ФТЙ ТБЪОЩИ НБУУЙЧБ Й РПНЕУФЙМЙ ЙИ Ч ЮЕФЧЕТФЩК
a = Array.new(3)
a[0] = Array.new(3)
a[1] = Array.new(3)
a[2] = Array.new(3)
a[1][1] = 123
p a  # [[nil, nil, nil], [nil, 123, nil], [nil, nil, nil]]
нЕФПД map, ЛПФПТЩК ЧЩРПМОСЕФ ВМПЛ ПРЕТБФПТПЧ, УМЕДХАЭЙК ЪБ ОЙН, ДМС ЛБЦДПЗП ЬМЕНЕОФБ ПВЯЕЛФБ, Л ЛПФПТПНХ ПО РТЙНЕОСЕФУС, РПЪЧПМСЕФ ВПМЕЕ ЛПНРБЛФОП ТЕБМЙЪПЧБФШ ТБУУНПФТЕООХА ЧЩЫЕ ЛПОУФТХЛГЙА:
a = (0..2).map{ Array.new(3)}  # ртбчймшоп
a[1][1] = 123
p a  # [[nil, nil, nil], [nil, 123, nil], [nil, nil, nil]]
рПРЩФЛБ ЦЕ УПЪДБФШ ФБЛПК НБУУЙЧ, БОБМПЗЙЮОП ПДОПНЕТОПНХ, РТЙЧПДЙФ Л ОЕПЦЙДБООЩН ОБ РЕТЧЩК ЧЪЗМСД ТЕЪХМШФБФБН:
b = Array.new(3, Array.new(3)) # оертбчймшоп
# УПЪДБМЙ НБУУЙЧ, Ч ЛПФПТЩК РПНЕУФЙМЙ
# ФТЙ УУЩМЛЙ ОБ ПДЙО Й ФПФ ЦЕ ПВЯЕЛФ
b[1][1] = 123
p b  # [[nil, 123, nil], [nil, 123, nil], [nil, 123, nil]]

рТЙНЕТ
тБУУНПФТЙН УПЪДБОЙЕ НБУУЙЧБ ТБЪНЕТБ 3x3, ЛПФПТЩК ДПМЦЕО ВЩФШ ЪБРПМОЕО РП УМЕДХАЭЕК УИЕНЕ: Ч РЕТЧПК УФТПЛЕ НБУУЙЧБ - ФЕЛХЭЙЕ ЗПД, ОПНЕТ НЕУСГБ Й ДОС НЕУСГБ, ЧП ЧФПТПК - ОБЪЧБОЙЕ НЕУСГБ, ДЕОШ Й ОБЙНЕОПЧБОЙЕ ДОС ОЕДЕМЙ, Ч ФТЕФШЕК УФТПЛЕ - ФЕЛХЭЙЕ ЮБУ, НЙОХФБ Й УЕЛХОДБ.

myArray = (0..2).map{ Array.new 3 }

mouth = %w(СОЧБТШ ЖЕЧТБМШ НБТФ БРТЕМШ НБК ЙАОШ
   ЙАМШ БЧЗХУФ УЕОФСВТШ ПЛФСВТШ ОПСВТШ ДЕЛБВТШ)

dayOfWeek = %w(ЧПУЛТЕУЕОШЕ РПОЕДЕМШОЙЛ ЧФПТОЙЛ УТЕДБ
      ЮЕФЧЕТЗ РСФОЙГБ УХВВПФБ)
t = Time.now
myArray[0][0] = t.year
myArray[0][1] = t.month
myArray[0][2] = t.day
myArray[1][0] = mouth[t.month]
myArray[1][1] = t.day
myArray[1][2] = dayOfWeek[t.wday]
myArray[2][0] = t.hour
myArray[2][1] = t.min
myArray[2][2] = t.sec

print "уЕЗПДОС #{myArray[0][2]}.",
  "#{myArray[0][1]}.#{myArray[0][0]}\n"
print "юЙУМП:  #{myArray[1][1]}, ",
  "НЕУСГ:  #{myArray[1][0]},",
  " ДЕОШ ОЕДЕМЙ: #{myArray[1][2]}\n"
print "уЕКЮБУ  #{myArray[2][0]} ЮБУ, ",
  "#{myArray[2][1]} НЙО,", " #{myArray[2][2]}УЕЛ\n"

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

рТЙНЕТ
ъБЮБУФХА Ч ЪБДБЮБИ ФТЕВХЕФУС РПДУЮЙФБФШ ОЕЛПФПТХА ИБТБЛФЕТЙУФЙЛХ НБУУЙЧБ, РПУМЕДПЧБФЕМШОП ПВТБВБФЩЧБС ЧУЕ ЕЗП ЬМЕНЕОФЩ. ч ФБЛЙИ УЙФХБГЙСИ ХДПВОП ЙУРПМШЪПЧБФШ ЧУФТПЕООЩК НЕФПД each. рТПДЕНПОУФТЙТХЕН ЕЗП ЙУРПМШЪПЧБОЙЕ ОБ ЪБДБЮЕ ОБИПЦДЕОЙС УХННЩ ЧУЕИ ЬМЕНЕОФПЧ НБУУЙЧБ.

b = [23, -14, 45, 78, -2.5]
s = 0
b.each {|i| s +=i}
puts s

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

ъБДБОЙС
  1. оБРЙЫЙФЕ РТПЗТБННХ, РЕЮБФБАЭХА УТЕДОЕЕ БТЙЖНЕФЙЮЕУЛПЕ РЕТЧПЗП Й РПУМЕДОЕЗП ЬМЕНЕОФПЧ НБУУЙЧБ.
  2. оБРЙЫЙФЕ РТПЗТБННХ, ОБИПДСЭХА РЕТЕУЕЮЕОЙЕ Й ПВЯЕДЙОЕОЙЕ ДЧХИ НОПЦЕУФЧ A={1,2,3} Й B={2,4,5}, ЙУРПМШЪХС НЕФПДЩ ТБВПФЩ У НБУУЙЧБНЙ.


чЧПД ДБООЩИ

дМС ЧЧПДБ ДБООЩИ У ЛМБЧЙБФХТЩ НПЦОП ЙУРПМШЪПЧБФШ НЕФПД gets, ЛПФПТЩК РПНЕЭБЕФ Ч УФТПЛХ ЧУЕ ЧЧПДЙНЩЕ УЙНЧПМЩ. чЧПД ЪБЧЕТЫБЕФУС ОБЦБФЙЕН ОБ ЛМБЧЙЫХ Enter. рПДПВОЩН ЦЕ ПВТБЪПН ДЕКУФЧХЕФ Й НЕФПД readline.

уПЪДБКФЕ ЖБКМ У ЙНЕОЕН input.rb, Ч ЛПФПТЩК РПНЕУФЙФЕ УМЕДХАЭЙК ФЕЛУФ:

print "чЧЕДЙФЕ ЧБЫЕ ЙНС: "
a=gets
print "рТЙЧЕФ, ", a
# ЕЭЕ ТБЪ
print "чЧЕДЙФЕ ЧБЫЕ ЙНС: "
a=readline
print "рТЙЧЕФ, ", a
ч РЕТЧПК ЮБУФЙ ОБЫЕЗП ЛХТУБ НЩ ХЦЕ ХРПНЙОБМЙ, ЮФП У ФПЮЛЙ ЪТЕОЙС пу Linux ЧИПДОПК Й ЧЩИПДОПК РПФПЛЙ ДБООЩИ (РП ХНПМЮБОЙА - ЧЧПД У ЛМБЧЙБФХТЩ Й ЧЩЧПД Ч ПЛОП shell) ОЙЮЕН ОЕ ПФМЙЮБАФУС ПФ ДТХЗЙИ ЖБКМПЧ - ФПФ ЦЕ РПФПЛ ВБКФПЧ. рПЬФПНХ ЧЧПД ЛПНВЙОБГЙЙ ЛМБЧЙЫ Ctrl+D, ПЪОБЮБАЭЕК РТЕТЩЧБОЙЕ ЧЧПДБ ДБООЩИ, ТБУГЕОЙЧБЕФУС БОБМПЗЙЮОП ЛПОГХ ЖБКМБ.

ч ОБЫЕН УМХЮБЕ ДЕКУФЧЙЕ НЕФПДПЧ readline Й gets ПФМЙЮБЕФУС МЙЫШ ТЕБЛГЙЕК ОБ ПВОБТХЦЕОЙЕ ЛПОГБ ЖБКМБ: Ч РЕТЧПН УМХЮБЕ ЧЩДБЕФУС ПЫЙВЛБ EOFError (End Of File Error), Б ЧП ЧФПТПН ЧПЪЧТБЭБЕФУС ПВЯЕЛФ nil.

пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП РПУМЕДОЙК УЙНЧПМ ЧЧЕДЕООПК УФТПЛЙ (ОЕЪБЧЙУЙНП ПФ ЙУРПМШЪХЕНПЗП НЕФПДБ) ЕУФШ \n. ьФП СЧМСЕФУС УМЕДУФЧЙЕН ОБЦБФЙС ОБ ЛМБЧЙЫХ Enter (Ч ДТХЗЙИ ПРЕТБГЙПООЩИ УЙУФЕНБИ ЛПОЕГ УФТПЛЙ НПЦЕФ ЛПДЙТПЧБФШУС ДТХЗЙНЙ УЙНЧПМБНЙ).

print "чЧЕДЙФЕ УФТПЛХ: "
a=gets
b=a.size
print "ASCII ЛПД РПУМЕДОЕЗП УЙНЧПМБ ТБЧЕО ",
      a[b - 1], "\n"

чЩЫЕ ХЦЕ ПРЙУЩЧБМУС НЕФПД chop, РПЪЧПМСАЭЙК ХДБМЙФШ РПУМЕДОЙК УЙНЧПМ УФТПЛЙ (МЙВП ДЧБ РПУМЕДОЙИ УЙНЧПМБ, ЕУМЙ ПОЙ ЕУФШ \r\n).

print "чЧЕДЙФЕ ЧБЫЕ ЙНС: "
a=gets
print a, ", РТЙЧЕФ!\n"
b=a.chop
print b, ", РТЙЧЕФ!\n"
лБЛ ЧЙДЙФЕ, УЙНЧПМ РЕТЕЧПДБ ОБ ОПЧХА УФТПЛХ ХДБМЕО.

ч Ruby НОПЗЙЕ НЕФПДЩ ЙНЕАФ УЧПЙИ "ДЧПКОЙЛПЧ", УПДЕТЦБЭЙЕ ЪОБЛ ! РПУМЕ УЧПЕЗП ЙНЕОЙ. ьФП ФБЛ ОБЪЩЧБЕНЩЕ "ПРБУОЩЕ" НЕФПДЩ, ЛПФПТЩЕ ТБЪТХЫБАФ ПВЯЕЛФ, Л ЛПФПТПНХ ПОЙ РТЙНЕОСАФУС. фБЛ, ДМС ПВЯЕЛФПЧ ФЙРБ String ДПРХУФЙНЩ ЛБЛ НЕФПД chop, ФБЛ Й chop!. рЕТЧЩК ЙЪ ОЙИ, РТЙНЕОЕООЩК Л УФТПЛЕ, ЧПЪЧТБЭБЕФ ОПЧЩК ПВЯЕЛФ - УФТПЛХ У ХДБМЕООЩН РПУМЕДОЙН УЙНЧПМПН, Б НЕФПД chop! ЙЪНЕОСЕФ УБН ЙУИПДОЩК ПВЯЕЛФ.

a="123456"
b=a.chop
puts a, b
b=a.chop!
puts a, b

йЪНЕОЙН РТПЗТБННХ, ДПВБЧЙЧ Ч ОЕЕ НЕФПД chop!:

print "чЧЕДЙФЕ ЧБЫЕ ЙНС: "
a=gets.chop!
print "рТЙЧЕФ ", a, "! лБЛ РПЦЙЧБЕЫШ?\n"
фЕРЕТШ ОБЫЕ РТЙЧЕФУФЧЙЕ РЕЮБФБЕФУС ОБ ПДОПК УФТПЛЕ.

рТЙ ЧЧПДЕ ЮЙУМПЧПК ЙОЖПТНБГЙЙ УМЕДХЕФ РТЙОХДЙФЕМШОП РТЕПВТБЪПЧБФШ РПМХЮЕООХА УФТПЛХ Ч ЮЙУМП РТЙ РПНПЭЙ НЕФПДПЧ to_i Й to_f. оЙЦЕ РТЙЧПДЙФУС ЖТБЗНЕОФ РТПЗТБННЩ, ЪБРТБЫЙЧБАЭЕК ДЧБ ЮЙУМБ Й РЕЮБФБАЭЕК ТЕЪХМШФБФЩ ЙИ ПВТБВПФЛЙ.

print "чЧЕДЙФЕ ГЕМПЕ ЮЙУМП: "
num=gets.to_i
print "пУФБФПЛ ПФ ДЕМЕОЙС ОБ 5 ТБЧЕО #{num%5}\n"
print "чЧЕДЙФЕ  ЮЙУМП (ФПЮЛБ ПФДЕМСЕФ ДТПВОХА ЮБУФШ): "
num=gets.to_f
print "рТЙ ПЛТХЗМЕОЙЙ РПМХЮЙМПУШ ЮЙУМП #{num.round}\n"

тБОЕЕ ТБУУНПФТЕООЩК НЕФПД eval РПЪЧПМСЕФ ЪОБЮЙФЕМШОП ТБУЫЙТЙФШ ЧПЪНПЦОПУФЙ ЧЧПДБ ДБООЩИ.

рТЕДРПМПЦЙН, ЮФП ОБН ФТЕВХЕФУС ЧЧЕУФЙ ОЕ ЮЙУМП, БТЙЖНЕФЙЮЕУЛПЕ ЧЩТБЦЕОЙЕ (ЧПЪНПЦОП, УПДЕТЦБЭЕЕ ПРЕТБГЙЙ *, /, +, -, ** ЙМЙ ЙНЕОБ НЕФПДПЧ ДМС ТБВПФЩ У ЮЙУМБНЙ). фПЗДБ, РПУМЕ ХДБМЕОЙС УЙНЧПМБ РЕТЕЧПДБ УФТПЛЙ, УМЕДХЕФ Л РПМХЮЕООПК УФТПЛЕ РТЙНЕОЙФШ НЕФПД eval:

puts "Ruby ОЕ ВПЙФУС ПЗТПНОЩИ ЮЙУЕМ."
puts "чЧЕДЙФЕ УФТБЫОПЕ БТЙЖНЕФЙЮЕУЛПЕ ЧЩТБЦЕОЙЕ, "
puts "ОБРТЙНЕТ, 14**256+3*17"
puts eval gets.chop!

у РПНПЭША ЬФПЗП НЕФПДБ НПЦОП ЧЩРПМОЙФШ ЛПНБОДЩ, ЧЧЕДЕООЩЕ У ЛМБЧЙБФХТЩ.

puts "чЧЕДЙФЕ ЛПНБОДЩ, ТБЪДЕМСС ЙИ ФПЮЛПК У ЪБРСФПК:"
eval gets.chop!
оЙЦЕ РТЙЧПДЙФУС ЧПЪНПЦОЩК ЧЧПД Й ЧЩЧПД РТПЗТБННЩ:
чЧЕДЙФЕ ЛПНБОДЩ, ТБЪДЕМСС ЙИ ФПЮЛПК У ЪБРСФПК:
puts Time.now; print "2+3="; puts 2+3
Sat Mar 30 11:47:42 MSK 2002
2+3=5
ч ЬФПН РТЙНЕТЕ ВЩМЙ ЧЧЕДЕОЩ ФТЙ ЛПНБОДЩ. рЕТЧБС ОБРЕЮБФБМБ ФЕЛХЭЕЕ ЧТЕНС, ЧФПТБС ОБРЕЮБФБМБ УФТПЛХ "2+3=", Б РПУМЕДОСС ЧЩЮЙУМЙМБ Й ОБРЕЮБФБМБ УХННХ 2+3.

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТБНЙ)


нЕФПДЩ

нЕФПДЩ, ОБТСДХ У РЕТЕНЕООЩНЙ Й ПРЕТБФПТБНЙ, СЧМСАФУС ПУОПЧОЩНЙ УФТПЙФЕМШОЩНЙ ВМПЛБНЙ Ч Ruby. нЩ ХЦЕ РТЙНЕОСМЙ НЕФПДЩ, ПРТЕДЕМЕООЩЕ ДМС ФБЛЙИ ЛМБУУПЧ, ЛБЛ ЮЙУМБ Й УФТПЛЙ.

рТЙ ОБРЙУБОЙЙ РТПЗТБНН ЮБУФП РТЙИПДЙФУС УПЪДБЧБФШ ДПРПМОЙФЕМШОЩЕ НЕФПДЩ (ОБЪЩЧБЕНЩЕ ФБЛЦЕ ЖХОЛГЙСНЙ ЙМЙ РПДРТПЗТБННБНЙ). лБЦДЩК НЕФПД ДПМЦЕО ВЩФШ ПРТЕДЕМЕО ДП УЧПЕЗП ЙУРПМШЪПЧБОЙС У РПНПЭША ЛМАЮЕЧЩИ УМПЧ def Й end. лБЛ ХЦЕ ПФНЕЮБМПУШ, ЙНС НЕФПДБ ДПМЦОП ОБЮЙОБФШУС УП УФТПЮОПК МБФЙОУЛПК ВХЛЧЩ (ПФ a ДП z). фБЛЦЕ ЛБЛ Й РЕТЕНЕООЩН, НЕФПДБН ТЕЛПНЕОДХЕФУС ДБЧБФШ ПУНЩУМЕООЩЕ ("ЗПЧПТСЭЙЕ") ЙНЕОБ. еУМЙ ЙНС УПУФПЙФ ЙЪ ОЕУЛПМШЛЙИ УМПЧ, ФП ДМС ЙИ ТБЪДЕМЕОЙС ТЕЛПНЕОДХЕФУС ЙУРПМШЪПЧБФШ УЙНЧПМ РПДЮЕТЛЙЧБОЙС, МЙВП ЛБЦДПЕ УМПЧП, ОБЮЙОБС УП ЧФПТПЗП, ЧЩДЕМСФШ ЪБЗМБЧОПК ВХЛЧПК.

нЕФПДБН, ПРТЕДЕМСЕНЩН ЧОЕ ПРТЕДЕМЕОЙС ЛМБУУБ, РТЙУЧБЙЧБЕФУС УРЕГЙБМШОБС РПНЕФЛБ private (ЮБУФОЩК), ОБЪЩЧБЕНБС УРЕГЙЖЙЛБФПТПН ДПУФХРБ. рТЙ ПВТБЭЕОЙЙ Л ФБЛПНХ НЕФПДХ ЙУРПМШЪХЕФУС ЖХОЛГЙПОБМШОБС ЖПТНБ ЧЩЪПЧБ НЕФПДБ, Б ОЕ ПРЕТБФПТ ЧЩЪПЧБ НЕФПДБ . (ФПЮЛБ). у ДТХЗПК УФПТПОЩ НЕФПДЩ, ПРТЕДЕМЕООЩЕ ЧОХФТЙ ПРТЕДЕМЕОЙС ЛМБУУБ, РП ХНПМЮБОЙА РПНЕЮБАФУС ЛБЛ public. рТЙ ЧЩЪПЧЕ НЕФПДПЧ, ПРТЕДЕМЕООЩИ ФБЛЙН ПВТБЪПН, ЙУРПМШЪХЕФУС "ФПЮЕЮОБС" ЖПТНБ ЧЩЪПЧБ НЕФПДБ. фБЛ ЛБЛ НЩ РПЛБ ОЕ УПЪДБЕН ОПЧЩИ ЛМБУУПЧ Ч УЧПЙИ РТПЗТБННБИ, ФП ЧУЕ НЕФПДЩ, ТБЪТБВПФБООЩЕ ОБНЙ, ВХДХФ ЧЩЪЩЧБФШУС ФПМШЛП Ч ЖХОЛГЙПОБМШОПН УФЙМЕ.

дБЧБКФЕ РЕТЕРЙЫЕН ОБЫХ РЕТЧХА РТПЗТБННХ ФБЛ, ЮФПВЩ ПОБ ЙУРПМШЪПЧБМБ ЧЩЪПЧ НЕФПДБ. дМС ЬФПЗП Ч ЖБКМ У ЙНЕОЕН method.rb РПНЕУФЙН УМЕДХАЭЙК ФЕЛУФ:

def helloWorld
   puts "Hello, World!"
end

helloWorld
юБУФШ РТПЗТБННЩ НЕЦДХ УМПЧБНЙ def Й end (Ч ОБЫЕН УМХЮБЕ ЕДЙОУФЧЕООЩК ПРЕТБФПТ puts) УПУФБЧМСЕФ ФЕМП НЕФПДБ.

йЪНЕОЙН НЕФПД ФБЛ, ЮФПВЩ ПО НПЗ РЕЮБФБФШ МАВПК ФЕЛУФ:

def saySomething(text)
   puts text
end

saySomething("Hello, World!")
нЩ ДПВБЧЙМЙ РБТБНЕФТ text Ч ОБЫ НЕФПД. рТЙ ПРТЕДЕМЕОЙЙ НЕФПДБ РБТБНЕФТЩ ЧУЕЗДБ ЪБЛМАЮБАФУС Ч ЛТХЗМЩЕ УЛПВЛЙ, УМЕДХАЭЙЕ УТБЪХ ЪБ ЙНЕОЕН НЕФПДБ, Й ТБЪДЕМСАФУС ЪБРСФЩНЙ.

рБТБНЕФТЩ НЕФПДБ СЧМСАФУС МПЛБМШОЩНЙ РЕТЕНЕООЩНЙ. ьФП ПЪОБЮБЕФ (Ч ФЕТНЙОБИ ОБЫЙИ ОБЛМЕЕЛ Й ПВЯЕЛФПЧ), ЮФП НЕФПД ПРЕТЙТХЕФ ЛПРЙСНЙ РЕТЕНЕООЩИ, РЕТЕДБООЩИ ЕНХ (ЮБУФП ЗПЧПТСФ, ЮФП РБТБНЕФТЩ РЕТЕДБАФУС РП ЪОБЮЕОЙА). дТХЗЙНЙ УМПЧБНЙ, РЕТЕД ФЕН ЛБЛ РЕТЕДБФШ НЕФЛЙ Й УПЪДБФШ НЕФПД, Ruby УПЪДБЕФ ЛПРЙЙ ЧУЕИ ЬФЙИ ПВЯЕЛФПЧ, ЧТЕНЕООП, ФПМШЛП ОБ ЧТЕНС ЧЩРПМОЕОЙС НЕФПДБ, РПНЕЭБЕФ ЙНЕОБ РБТБНЕФТПЧ ОБ ОЙИ. рТПЙММАУФТЙТХЕН ЬФП УМЕДХАЭЙН РТЙНЕТПН:

def printOneMoreThan(x)
   x += 1
   puts "чП ЧТЕНС ЧЩРПМОЕОЙС: #{x}"
end

x = 1
puts "дП: #{x}"
printOneMoreThan(x)
puts "рПУМЕ: #{x}"
чЩРПМОЙН ЬФХ РТПЗТБННХ Й ХВЕДЙНУС, ЮФП ЪОБЮЕОЙЕ РЕТЕНЕООПК x ОЕ ЙЪНЕОЙМПУШ РПУМЕ ЪБЧЕТЫЕОЙС НЕФПДБ printOneMoreThan.

рТЙ УПЪДБОЙЙ НЕФПДБ Ruby РПЪЧПМСЕФ ЪБДБФШ ЪОБЮЕОЙС ОЕЛПФПТЩИ БТЗХНЕОФПЧ. ьФЙ, ФБЛ ОБЪЩЧБЕНЩЕ РБТБНЕФТЩ РП ХНПМЮБОЙА, ДБАФ ЧПЪНПЦОПУФШ ЧЩЪПЧБ ВЕЪ ПВСЪБФЕМШОПЗП ХЛБЪБОЙС ЪОБЮЕОЙС ЧУЕИ РБТБНЕФТПЧ. оЙЦЕ РТЙЧПДЙФУС РТЙНЕТ ФБЛПЗП НЕФПДБ.

def saySomething(text = 'Hello, World!')
    puts text
end

saySomething
рТЙ ЬФПН ЧЩЪПЧЕ НЕФПДБ РБТБНЕФТ ОЕ ХЛБЪЩЧБМУС. Ruby РПЪЧПМСЕФ ЧЩЪЧБФШ НЕФПД ОЕУЛПМШЛЙНЙ ТБЪМЙЮОЩНЙ УРПУПВБНЙ:
saySomething
saySomething()
saySomething "рТПВЕМ НЕЦДХ ЙНЕОЕН НЕФПДБ Й БТЗХНЕОФБНЙ"
saySomething(" ЙМЙ ЙУРПМШЪПЧБОЙЕ УЛПВПЛ")
тЕЛПНЕОДХЕФУС ЧУЕЗДБ ЪБЛМАЮБФШ БТЗХНЕОФЩ НЕФПДБ Ч ЛТХЗМЩЕ УЛПВЛЙ. ьФП РПЪЧПМЙФ ЙЪВЕЦБФШ ОЕЛПФПТЩИ ПЫЙВПЛ Й ОЕДПТБЪХНЕОЙК. пВЭЕРТЙОСФЩНЙ ЙУЛМАЮЕОЙСНЙ СЧМСАФУС НЕФПДЩ РЕЮБФЙ - puts, print Й Ф. Д., ИПФС Й РТЙ ЙИ ЧЩЪПЧЕ БТЗХНЕОФЩ ФБЛЦЕ НПЦОП ЪБЛМАЮБФШ Ч УЛПВЛЙ:
puts(2 + 3)
print("Hello, ", 3 + 4, "\n")

ъОБЮЕОЙСНЙ РП ХНПМЮБОЙА НПЗХФ ВЩФШ МАВЩЕ ЧЩТБЦЕОЙС Ruby. пОЙ ЧЩЮЙУМСАФУС Ч НПНЕОФ ЧЩЪПЧБ НЕФПДБ, РТЙЮЕН ЧЩЮЙУМЕОЙЕ РТПЙУИПДЙФ УМЕЧБ ОБРТБЧП. ч ЬФЙИ ЧЩТБЦЕОЙСИ НПЗХФ ЙУРПМШЪПЧБФШУС Й ДТХЗЙЕ РБТБНЕФТЩ. уМЕДХАЭЙК РТЙНЕТ ДЕНПОУФТЙТХЕФ РПЧЕДЕОЙЕ НЕФПДБ Ч ЪБЧЙУЙНПУФЙ ПФ ЛПМЙЮЕУФЧБ БТЗХНЕОФПЧ РТЙ ЧЩЪПЧЕ:

def options(a=99, b=a+1)
  [a, b]
end

p options        # [99, 100]
p options(1)     # [1, 2]
p options(2, 4)  # [2, 4]

рПУМЕ ЧУЕИ ПВЩЮОЩИ БТЗХНЕОФПЧ Ч ЛБЮЕУФЧЕ БТЗХНЕОФБ НПЦЕФ ВЩФШ ХЛБЪБО НБУУЙЧ, ЮФП ПВПЪОБЮБЕФУС УЙНЧПМПН * РЕТЕД ЕЗП ЙНЕОЕН. рТЙ ЧЩЪПЧЕ ФБЛЙН ПВТБЪПН ПРТЕДЕМЕООПЗП НЕФПДБ, Ruby РПДУЮЙФЩЧБЕФ ЛПМЙЮЕУФЧП РЕТЕДБООЩИ БТЗХНЕОФПЧ Й, ЕУМЙ ЙИ ЛПМЙЮЕУФЧП ВПМШЫЕ, ЮЕН ЮЙУМП ПВЩЮОЩИ РБТБНЕФТПЧ, ФП ПУФБЧЫЙЕУС ТБЪНЕЭБЕФ Ч ОПЧПН ПВЯЕЛФЕ ЛМБУУБ Array. оБРТЙНЕТ,

def varargs(a, *b)
  [a, b]
end

p varargs(1)       #  [1, []]
p varargs(1, 2)    #  [1, [2]]
p varargs(1, 2, 3) #  [1, [2, 3]]
еУМЙ БТЗХНЕОФ- НБУУЙЧ УМЕДХЕФ ЪБ БТЗХНЕОФБНЙ, ЙНЕАЭЙНЙ ЪОБЮЕОЙС РП ХНПМЮБОЙА, ФП РТЙ ОЕДПУФБФЛЕ БТЗХНЕОФПЧ ЙУРПМШЪХАФУС ЪОБЮЕОЙС РП ХНПМЮБОЙА, Ч РТПФЙЧОПН УМХЮБЕ ТБЪНЕЭЕОЙЕ РБТБНЕФТПЧ БОБМПЗЙЮОП РТЕДЩДХЭЕНХ. рТПЙММАУФТЙТХЕН УЛБЪБООПЕ РТЙНЕТПН:
def mixed(a, b=99, *c)
  [a, b, c]
end

p mixed(1)           # [1, 99, []]
p mixed(1, 2)        # [1, 2, []]
p mixed(1, 2, 3)     # [1, 2, [3]]
p mixed(1, 2, 3, 4)  # [1, 2, [3, 4]]

пЮЕОШ ЮБУФП ПФ НЕФПДБ ФТЕВХЕФУС ЧПЪЧТБЭЕОЙЕ ЪОБЮЕОЙС, РПМХЮЕООПЗП Ч ТЕЪХМШФБФЕ ЕЗП ЧЩРПМОЕОЙС. дМС ЬФПЗП ЙУРПМШЪХЕФУС ЛПОУФТХЛГЙС return ЧЩТБЦЕОЙЕ (ЕУМЙ ЧЩ ПРХУФЙФЕ ЧЩТБЦЕОЙЕ, ПУФБЧЙЧ ФПМШЛП return, ФП ЧПЪЧТБЭБЕНЩН ЪОБЮЕОЙЕН ВХДЕФ nil). еУМЙ ОЕ ЙУРПМШЪПЧБФШ ПРЕТБФПТ return, ФП ЪОБЮЕОЙЕ, ЧПЪЧТБЭБЕНПЕ НЕФПДПН, ВХДЕФ ЪОБЮЕОЙЕН РПУМЕДОЕЗП ЧЩТБЦЕОЙС, ЧЩЮЙУМЕООПЗП Ч НЕФПДЕ.

пУФБОПЧЙНУС ОЕУЛПМШЛП РПДТПВОЕЕ ОБ РПУМЕДОЕН ХФЧЕТЦДЕОЙЙ. дЕМП Ч ФПН, ЮФП Ч Ruby, Ч ПФМЙЮЙЙ ПФ НОПЗЙИ ДТХЗЙИ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС, МАВПЕ ЧЩТБЦЕОЙЕ ЙНЕЕФ ЪОБЮЕОЙЕ. рТЙЧЕДЕН ЖТБЗНЕОФ РТПЗТБННЩ ДМС ЙММАУФТБГЙЙ ЬФПЗП ЖБЛФБ:

def saySomething(text = 'Hello, World!')
  puts text
end

x = saySomething
puts x
puts x = 23
puts x += 1
пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП ЪОБЮЕОЙЕ, ЧПЪЧТБЭБЕНПЕ НЕФПДПН saySomething, ЕУФШ nil. ьФП ПЪОБЮБЕФ, ЮФП ЪОБЮЕОЙЕ РПУМЕДОЕЗП ХФЧЕТЦДЕОЙС Ч НЕФПДЕ (Ф. Е. ПРЕТБФПТБ puts text) ВЩМП nil. ъОБЮЕОЙЕ, ЧПЪЧТБЭБЕНПЕ ПРЕТБФПТПН x = 23 ЕУФШ ЮЙУМП 23, Б ПРЕТБФПТПН x += 1 ТБЧОП 24. фЕРЕТШ РПРТПВХКФЕ ДПЗБДБФШУС, ЛБЛПЧ ВХДЕФ ТЕЪХМШФБФ ЧЩРПМОЕОЙС РТПЗТБННЩ:
def countUp(x = 0)
  puts "ч ЬФПФ НПНЕОФ X ТБЧОП #{x}"
  x += 1
end

x = countUp()
x = countUp(x)
x = countUp(x)

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТБНЙ)

ъБДБОЙС

  1. оБРЙЫЙФЕ ЖХОЛГЙА dayOfWeek, ЛПФПТБС РЕЮБФБЕФ ОБЪЧБОЙЕ ФЕЛХЭЕЗП ДОС ОЕДЕМЙ.
  2. оБРЙЫЙФЕ ЖХОЛГЙА, ПРТЕДЕМСАЭХА ЛПМЙЮЕУФЧП УМПЧ ЧП ЧЧЕДЕООПК ЖТБЪЕ.


пРЕТБФПТЩ ЧЕФЧМЕОЙС

хУМПЧОЩК ПРЕТБФПТ, ОБЪЩЧБЕНЩК ФБЛЦЕ ПРЕТБФПТПН ЧЩВПТБ, РПЪЧПМСЕФ Ч ЪБЧЙУЙНПУФЙ ПФ ЙУФЙООПУФЙ ЙМЙ МПЦОПУФЙ ОЕЛПФПТПЗП ХУМПЧЙС ЧЩРПМОСФШ ФХ ЙМЙ ЙОХА РПУМЕДПЧБФЕМШОПУФШ ЛПНБОД.

Ruby РПДДЕТЦЙЧБЕФ ЧУЕ ЛПОУФТХЛГЙЙ ЧЩВПТБ, ФТБДЙГЙПООП ЙУРПМШЪХЕНЩЕ Ч ДТХЗЙИ СЪЩЛБИ РТПЗТБННЙТПЧБОЙС. оП РТЕЦДЕ ЮЕН ЗПЧПТЙФШ П ОЙИ, ПУФБОПЧЙНУС ОБ ОЕЛПФПТЩИ ПУПВЕООПУФСИ Ruby РТЙ ЧЩЮЙУМЕОЙЙ ЙУФЙООПУФЙ ПФДЕМШОЩИ ЧЩТБЦЕОЙК.

уМЕДХЕФ ЪБРПНОЙФШ, ЮФП ФПМШЛП false Й nil ФТБЛФХАФУС ЛБЛ МПЦОЩЕ Ч МПЗЙЮЕУЛПН ЛПОФЕЛУФЕ. чУЕ ПУФБМШОПЕ, ЮФП ЧЩЮЙУМСЕФУС, СЧМСЕФУС ЙУФЙООЩН. дМС ФПЗП ЮФПВЩ МХЮЫЕ РПОСФШ УНЩУМ ДБООПЗП ЧЩУЛБЪЩЧБОЙС, ЧЩРПМОЙФЕ УМЕДХАЭХА РТПЗТБННХ:

if 23
  puts "23 ЕУФШ йуфйоб"
end

if "qq"
  puts "й МАВБС УФТПЛБ ЕУФШ йуфйоб"
end

Ruby РПДДЕТЦЙЧБЕФ ЧУЕ УФБОДБТФОЩЕ МПЗЙЮЕУЛЙЕ ПРЕТБФПТЩ, Б ФБЛЦЕ ДПРПМОЙФЕМШОЩК ПРЕТБФПТ defined?. дМС ЛПОЯАОЛГЙЙ ДЧХИ МПЗЙЮЕУЛЙИ ЧЩТБЦЕОЙК ЙУРПМШЪХАФУС and Й &&. йИ ТЕЪХМШФБФ ВХДЕФ ЙУФЙОЕО ФПМШЛП ЕУМЙ ЙОУФЙООЩ ПВБ ПРЕТБОДБ. ьФЙ ЖХОЛГЙЙ ЧЩЮЙУМСАФ ЧФПТПК ПРЕТБОД МЙЫШ ФПЗДБ, ЛПЗДБ РЕТЧЩК ЙУФЙОЕО, Б ПФМЙЮБАФУС ПОЙ ФПМШЛП УЧПЙН РТЙПТЙФЕФПН (РТЙПТЙФЕФ ПРЕТБФПТБ and НЕОШЫЕ &&).

ч УЧПА ПЮЕТЕДШ ТЕЪХМШФБФПН ЧЩРПМОЕОЙС ПРЕТБФПТПЧ or Й || (ДЙЪЯАОЛГЙЙ) ВХДЕФ ЙУФЙОБ, ЕУМЙ ИПФС ВЩ ПДЙО ЙЪ ПРЕТБОДПЧ ЙУФЙОЕО. пОЙ ЧЩЮЙУМСАФ ЧФПТПК ПРЕТБФПТ ФПМШЛП Ч ФПН УМХЮБЕ, ЕУМЙ РЕТЧЩК ПЛБЦЕФУС МПЦОЩН. лБЛ Й Ч УМХЮБЕ У ПРЕТБФПТПН and, ПРЕТБФПТ or ЙНЕЕФ НЕОШЫЙК РТЙПТЙФЕФ РП УТБЧОЕОЙА У || (ПФНЕФЙН, ЮФП ПРЕТБФПТ and ЙНЕЕФ РТЙПТЙФЕФ, ТБЧОЩК РТЙПТЙФЕФХ ПРЕТБФПТБ or, Ч ФП ЧТЕНС ЛБЛ РТЙПТЙФЕФ && ЧЩЫЕ, ЮЕН Х ||).

пРЕТБФПТЩ not Й ! ЧПЪЧТБЭБАФ ЪОБЮЕОЙЕ, РТПФЙЧПРПМПЦОПЕ УЧПЕНХ БТЗХНЕОФХ (ЕУМЙ БТЗХНЕОФ ЙУФЙОЕО, ФП ТЕЪХМШФБФ МПЦЕО, Й ОБПВПТПФ). нЕЦДХ УПВПК ПФМЙЮБАФУС ФПМШЛП РТЙПТЙФЕФПН.

пРЕТБФПТ defined? ЧПЪЧТБЭБЕФ nil, ЕУМЙ ЕЗП БТЗХНЕОФ ОЕ ПРТЕДЕМЕО, Й ЕЗП ПРЙУБОЙЕ Ч РТПФЙЧОПН УМХЮБЕ. оЙЦЕ РТЙЧЕДЕОЩ РТЙНЕТЩ РТЙНЕОЕОЙС ЬФПЗП ПРЕТБФПТБ.

puts defined? 1
puts defined? dummy
puts defined? printf
puts defined? (c, d = 1, 2)
puts defined? 42.abs

ч МПЗЙЮЕУЛЙИ ЧЩТБЦЕОЙСИ ДПРХУЛБАФУС ФБЛЦЕ УМЕДХАЭЙЕ ПРЕТБГЙЙ УТБЧОЕОЙС: == <, <=, >=, > !=.

уЙОФБЛУЙУ ХУМПЧОПЗП ПРЕТБФПТБ if Ч СЪЩЛЕ Ruby БОБМПЗЙЮЕО ЕЗП УЙОФБЛУЙУХ Ч ВПМШЫЙОУФЧЕ ДТХЗЙИ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС.

# пРТЕДЕМЕОЙЕ НЕФПДБ ПГЕОЛЙ ЧЕМЙЮЙОЩ ЧЩТБЦЕОЙС
def howBigPrint(i)
  if i < 10
    puts "юЙУМП  #{i} НЕОШЫЕ 10"
  elsif i < 20
    puts "юЙУМП #{i} НЕЦДХ 10 Й 20"
  elsif i < 30
    puts "юЙУМП #{i} НЕЦДХ 20 Й 30"
  else
    puts "юЙУМП #{i} ВПМШЫЕ ЙМЙ ТБЧОП 30"
  end
end
# йУРПМШЪПЧБОЙЕ НЕФПДБ ...
howBigPrint(7);  howBigPrint(15)
howBigPrint(23); howBigPrint(105)
пВЭБС ЖПТНБ ПРЕТБФПТБ if ФБЛПЧБ:
if <МПЗЙЮЕУЛПЕ_ЧЩТБЦЕОЙЕ> [then]
    ФЕМП_ПРЕТБФПТБ
elsif <МПЗЙЮЕУЛПЕ_ЧЩТБЦЕОЙЕ> [then]
    ФЕМП_ПРЕТБФПТБ
        ...
else
    ФЕМП_ПРЕТБФПТБ
end
ъДЕУШ <МПЗЙЮЕУЛПЕ_ЧЩТБЦЕОЙЕ> НПЦЕФ ВЩФШ МАВЩН ЖТБЗНЕОФПН ЛПДБ ОБ СЪЩЛЕ Ruby, ТЕЪХМШФБФПН ЧЩЮЙУМЕОЙС ЛПФПТПЗП СЧМСЕФУС МПЗЙЮЕУЛБС ЧЕМЙЮЙОБ (У ХЮЕФПН УЛБЪБООПЗП ЧЩЫЕ). уМПЧП then ПФДЕМСЕФ ФЕМП ПРЕТБФПТБ ПФ ХУМПЧЙС. ъБРЙУШ ЕЗП Ч ЛЧБДТБФОЩИ УЛПВЛБИ ПЪОБЮБЕФ, ЮФП ПОП НПЦЕФ ВЩФШ ПРХЭЕОП, ЕУМЙ ФЕМП ОБЮЙОБЕФУС У ОПЧПК УФТПЛЙ. ъОБЮЕОЙЕ, ЧПЪЧТБЭБЕНПЕ ПРЕТБФПТПН if, ЕУФШ ТЕЪХМШФБФ РПУМЕДОЕЗП ЧЩЮЙУМЕООПЗП ЧЩТБЦЕОЙС. йЪНЕОЙН ОБЫ РТЙНЕТ, ЮФПВЩ РТПДЕНПОУФТЙТПЧБФШ УЛБЪБООПЕ:
# нЕФПД ПГЕОЛЙ ЧЕМЙЮЙОЩ ЧЩТБЦЕОЙС
# ФЕРЕТШ ЧПЪЧТБЭБЕФ УФТПЛХ
def howBig(i)
  if i < 10 then "бТЗХНЕОФ НЕОШЫЕ 10"
  elsif i < 20 then "бТЗХНЕОФ НЕЦДХ 10 Й 20"
  elsif i < 30 then "бТЗХНЕОФ НЕЦДХ 20 Й 30"
  else "бТЗХНЕОФ ВПМШЫЕ ЙМЙ ТБЧОП 30"
  end
end
# йУРПМШЪПЧБОЙЕ НЕФПДБ ...
puts howBig(7);  puts howBig(15)
puts howBig(23); puts howBig(105)

дМС ЧЩРПМОЕОЙС ПДОПЗП ЧБТЙБОФБ ЙЪ ДЧХИ ЧПЪНПЦОЩИ ЙУРПМШЪХЕФУС УМЕДХАЭБС ЖПТНБ ПРЕТБФПТБ if:

if <МПЗЙЮЕУЛПЕ_ЧЩТБЦЕОЙЕ> [then]
    ФЕМП_ПРЕТБФПТБ
else
    ФЕМП_ПРЕТБФПТБ
end
ч УМЕДХАЭЕН ЖТБЗНЕОФЕ УТБЧОЙЧБЕФУС ЪОБЮЕОЙЕ РЕТЕНЕООПК i У ЮЙУМПН 100.
if i < 100
  puts "нБМП"
else
  puts "ъОБЮЙФЕМШОП ВПМШЫЕ"
end

пРЕТБФПТ if НПЦЕФ ЙУРПМШЪПЧБФШУС Ч РТБЧПК ЮБУФЙ ПРЕТБФПТБ РТЙУЧБЙЧБОЙС, ОБРТЙНЕТ,

str = if i < 100 then "нБМП" else "рПВПМШЫЕ" end
puts str

дМС БОБМПЗЙЮОЩИ ГЕМЕК ЙУРПМШЪХЕФУС Й ФЕТОБТОЩК ПРЕТБФПТ

МПЗЙЮЕУЛПЕ_ЧЩТБЦЕОЙЕ ? ЧЩТБЦЕОЙЕ1 : ЧЩТБЦЕОЙЕ2
еУМЙ МПЗЙЮЕУЛПЕ_ЧЩТБЦЕОЙЕ ЙУФЙООП, ФП ЧЩРПМОСЕФУС ЧЩТБЦЕОЙЕ1, ЙОБЮЕ - ЧЩТБЦЕОЙЕ2. рПУНПФТЙФЕ ОБ РТЙНЕТЩ ЙУРПМШЪПЧБОЙС ЬФПЗП ПРЕТБФПТБ:
i = 23
i < 100 ? puts("нБМП") : puts("ъОБЮЙФЕМШОП ВПМШЫЕ")
i = 1234
s = i < 100 ? "нБМП" : "ъОБЮЙФЕМШОП ВПМШЫЕ"
puts s
лБЛ ЧЙДЙФЕ, ЬФПФ ПРЕТБФПТ ПУПВЕООП ХДПВЕО, ЕУМЙ ФТЕВХЕФУС РЕТЕНЕООПК РТЙУЧПЙФШ ПДОП ЙЪ ДЧХИ ЪОБЮЕОЙК.

рТЙНЕТ
оБРЙЫЙФЕ РТПЗТБННХ, ПРТЕДЕМСАЭХА ЮЕФОПУФШ ЧЧЕДЕООПЗП ЮЙУМБ.

print "чЧЕДЙФЕ ГЕМПЕ ЮЙУМП: "
a = gets.to_i
str = a%2 == 0 ? "ЮЕФОП" : "ОЕЮЕФОП"
puts "юЙУМП #{a} " + str

еУМЙ ФТЕВХЕФУС ЧЩРПМОЙФШ РПУМЕДПЧБФЕМШОПУФШ ПРЕТБФПТПЧ ФПМШЛП Ч ФПН УМХЮБЕ, ЛПЗДБ ЧЩРПМОЕОП ОЕЛПФПТПЕ ХУМПЧЙЕ, ФП ЙУРПМШЪХЕФУС ЖПТНБ

if <МПЗЙЮЕУЛПЕ_ЧЩТБЦЕОЙЕ> [then]
    ФЕМП_ПРЕТБФПТБ
end
дМС ЬФЙИ ЦЕ ГЕМЕК НПЦОП ЙУРПМШЪПЧБФШ Й НПДЙЖЙГЙТПЧБООЩК ПРЕТБФПТ if:
ЧЩТБЦЕОЙЕ if <МПЗЙЮЕУЛПЕ_ЧЩТБЦЕОЙЕ>
оЙЦЕ РТЙЧПДСФУС ДЧЕ ЧЕТУЙЙ ЖТБЗНЕОФБ РТПЗТБННЩ, ЙУРПМШЪХАЭЕК ПРЕТБФПТ if:
if radiation > 3000
   puts "тБДЙБГЙПООБС ПРБУОПУФШ!"
end
# ФП ЦЕ УБНПЕ
puts "тБДЙБГЙПООБС ПРБУОПУФШ!" if radiation > 3000

рТЙНЕТ
оБРЙЫЙФЕ РТПЗТБННХ, ПРТЕДЕМСАЭХА, СЧМСЕФУС МЙ ЧЧЕДЕООБС ЖТБЪБ РБМЙОДТПНПН (РЕТЕЧЕТФЩЫЕН).

puts "чЧЕДЙФЕ ЖТБЪХ:"
a = gets.chop!.delete(' ')     # ХДБМЙМЙ ЧУЕ РТПВЕМЩ
a = a.tr('A-Z,б-с', 'a-z,Б-С') # ЪБНЕОБ ВХЛЧ ОБ РТПРЙУОЩЕ
str = "РБМЙОДТПН"
str = "ОЕ " + str if a != a.reverse # РТПЧЕТЛБ
puts "чЧЕДЕООБС ЖТБЪБ - " + str + "."

рТЙ ЧЩВПТЕ ЙЪ ВПМШЫЕЗП ЮЙУМБ БМШФЕТОБФЙЧ ХДПВОЕЕ ЙУРПМШЪПЧБФШ ПРЕТБФПТ case. оЙЦЕ РТЙЧЕДЕО ЕЗП ПВЭЙК ЧЙД (ЮБУФЙ, ЪБЛМАЮЕООЩЕ Ч ЛЧБДТБФОЩЕ УЛПВЛЙ, НПЗХФ ВЩФШ ПРХЭЕОЩ).

case <ЧЩТБЦЕОЙЕ>
when  <ФЕУФ1> [then]
    ...
when  <ФЕУФ2> [then]
    ...
when  <ФЕУФN> [then]
    ...
[else
    ... ]
end
ч ПРЕТБФПТЕ case <ЧЩТБЦЕОЙЕ> РПУМЕДПЧБФЕМШОП УТБЧОЙЧБЕФУС У ЧЩТБЦЕОЙСНЙ <ФЕУФ> ДП ФЕИ РПТ РПЛБ, ПОП ОЕ УПЧРБДЕФ У ПДОЙН ЙЪ ОЙИ (УТБЧОЕОЙЕ РТПЙЪЧПДЙФУС РТЙ РПНПЭЙ ПРЕТБГЙЙ ==), РПУМЕ ЮЕЗП ЧЩРПМОСЕФУС УППФЧЕФУФЧХАЭЙК ЖТБЗНЕОФ ЛПДБ. пРЕТБФПТ case ЧПЪЧТБЭБЕФ ЪОБЮЕОЙЕ РПУМЕДОЕЗП ЧЩЮЙУМЕООПЗП ЧЩТБЦЕОЙС, ЙМЙ nil, ЕУМЙ ФБЛПЗП ОЕ ВЩМП.
s = case i
    when   0 .. 9
       "ПДОПЪОБЮОПЕ"
    when  10 .. 99
       "ДЧХЪОБЮОПЕ"
    when 100 .. 999
       "ФТЕИЪОБЮОПЕ"
    else
       "ПЗТПНОПЕ"
    end
puts "чЧЕДЕОП #{s} ЮЙУМП."
ъДЕУШ НЩ УОПЧБ ЧПУРПМШЪПЧБМЙУШ ПРЕТБФПТПН .. (ДЧПЕФПЮЙЕ), ЛПФПТЩК ЧПЪЧТБЭБЕФ УРЙУПЛ ГЕМЩИ ЮЙУЕМ, ЪБЛМАЮЕООЩИ НЕЦДХ МЕЧЩН Й РТБЧЩН ПРЕТБОДБНЙ (ЧЛМАЮБС ЙИ УБНЙИ).

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТБНЙ)

ъБДБОЙС

  1. оБРЙЫЙФЕ РТПЗТБННХ, РЕЮБФБАЭХА НБЛУЙНБМШОПЕ Й НЙОЙНБМШОПЕ ЙЪ ФТЕИ ЧЧЕДЕООЩИ ЮЙУЕМ.
  2. оБРЙЫЙФЕ РТПЗТБННХ, РЕЮБФБАЭХА ОБЪЧБОЙЕ НЕУСГБ РП РПТСДЛПЧПНХ ОПНЕТХ.


гЙЛМЩ

дМС ЪБДБОЙС РПЧФПТСАЭЙИУС ДЕКУФЧЙК Ч ВПМШЫЙОУФЧЕ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС ЙУРПМШЪХАФУС ПРЕТБФПТЩ ГЙЛМБ. ч Ruby ЙНЕЕФУС ДЧБ ФБЛЙИ ПРЕТБФПТБ - while Й until, Б ФБЛЦЕ ВПМШЫПЕ ЛПМЙЮЕУФЧП ЙФЕТБФПТПЧ.

пРЕТБФПТ while ЧЩРПМОСЕФ ПРЕТБФПТЩ, УПУФБЧМСАЭЕЕ ЕЗП ФЕМП, ОПМШ ЙМЙ ВПМЕЕ ТБЪ, ДП ФЕИ РПТ, РПЛБ ЙУФЙООП ЕЗП ХУМПЧЙЕ, ЪБДБЧБЕНПЕ ОЕЛПФПТЩН МПЗЙЮЕУЛЙН ЧЩТБЦЕОЙЕН. еЗП ПВЭЙК ЧЙД ФБЛПЧ:

while <ЧЩТБЦЕОЙЕ> [do]
        ...
     ФЕМП ГЙЛМБ
        ...
end

дТХЗЙН ПРЕТБФПТПН ГЙЛМБ СЧМСЕФУС until, ЧЩРПМОСАЭЙКУС ДП ФЕИ РПТ, РПЛБ ЕЗП ХУМПЧЙЕ МПЦОП:

until <ЧЩТБЦЕОЙЕ> [do]
        ...
     ФЕМП ГЙЛМБ
        ...
end

рТЙНЕТ
тБУУНПФТЙН РТПЗТБННХ, РЕЮБФБАЭХА ЮЙУМБ ПФ 1 ДП 5. уОБЮБМБ ЙУРПМШЪХЕН ПРЕТБФПТ while, ЪБФЕН until. пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП ХУМПЧЙЕ ПЛПОЮБОЙС ПДОПЗП ПРЕТБФПТБ ГЙЛМБ СЧМСЕФУС ПФТЙГБОЙЕН ХУМПЧЙС ДТХЗПЗП ПРЕТБФПТБ.

i=1
while i <= 5
  puts i; i += 1
end

# ЕЭЕ ТБЪ
i=1
until i > 5
  puts i; i += 1
end

лТПНЕ ЬФЙИ ДЧХИ ПРЕТБФПТПЧ ГЙЛМБ Ч Ruby ЙНЕЕФУС ВПМШЫПЕ ЮЙУМП, ФБЛ ОБЪЩЧБЕНЩИ, ЙФЕТБФПТПЧ (iterate - РПЧФПТСФШ). дБЧБКФЕ РПУНПФТЙН ОБ РТЙНЕТЩ ЙИ ЙУРПМШЪПЧБОЙС. лПОУФТХЛГЙС

3.times do
   print "бХ! "
end
ЙУРПМШЪХЕФ ЙФЕТБФПТ times. гЙЛМ, ЪБДБООЩК ФБЛЙН ПВТБЪПН, ЧЩРПМОЙФУС ТПЧОП ФТЙ ТБЪБ.

ч УМХЮБЕ, ЛПЗДБ ОХЦОП ЧЩРПМОЙФШ ОЕЛПФПТЩЕ ДЕКУФЧЙС, ЪБЧЙУСЭЙЕ ПФ ЙЪНЕОСЕНПК ЧЕМЙЮЙОЩ, ОЕУЛПМШЛП ТБЪ, НПЦОП ЙУРПМШЪПЧБФШ ЙФЕТБФПТ upto, ФБЛ Ч РТПГЕУУЕ ЧЩРПМОЕОЙС РТПЗТБННЩ

0.upto(9) do |x| print x, " " end
ВХДЕФ ОБРЕЮБФБОП 0 1 2 3 4 5 6 7 8 9 .

рПЧФПТ ПФ 0 ДП 12 У ЫБЗПН 3 НПЦОП ЪБРЙУБФШ РТЙ РПНПЭЙ ЙФЕТБФПТБ step:

0.step(12, 3) {|x| print x, " " } # 0 3 6 9 12

рТЙ ТБВПФЕ У НБУУЙЧБНЙ ХДПВОП ЙУРПМШЪПЧБФШ ЙФЕТБФПТ each:

[1, 1, 2, 3].each {|k| print k, " " } # 1 1 2 3

йФЕТБФПТ for in ПЮЕОШ РПИПЦ ОБ each, ОБРТЙНЕТ, ЧЩЧПД, РПМХЮЕООЩК Ч ТЕЪХМШФБФЕ ЧЩРПМОЕОЙС УМЕДХАЭЙИ ДЧХИ ЛПОУФТХЛГЙК ПДЙОБЛПЧ.

for i in  ["one", "two", "three"]
  print i, " "
end

# ФП ЦЕ УБНПЕ
["one", "two", "three"].each{ |i| print i, " "}

йФЕТБФПТ for ПВЩЮОП ЙУРПМШЪХАФ ФБН ЦЕ, ЗДЕ Й ЙФЕТБФПТ each - РТЙ ТБВПФЕ У НБУУЙЧБНЙ Й ДЙБРБЪПОБНЙ. пВЭЙК ЧЙД ПРЕТБФПТБ for ФБЛПЧ:

for <РЕТЕНЕООБС> in <ЧЩТБЦЕОЙЕ> [do]
   ФЕМП_ЙФЕТБФПТБ
end

рТЙНЕТ
рЕТЕРЙЫЕН РТПЗТБННХ РЕЮБФЙ ЮЙУЕМ ПФ 1 ДП 5 У ЙУРПМШЪПЧБОЙЕН ПРЕТБФПТБ for:

for i in 1 .. 5
  puts i
end
ч ЬФПН РТЙНЕТЕ НЩ УОПЧБ ЧПУРПМШЪПЧБМЙУШ ПРЕТБФПТПН ЪБДБОЙС ДЙБРБЪПОБ .. (ДЧПЕФПЮЙЕ), ЛПФПТЩК РПЪЧПМЙМ ОБН УПЪДБФШ УРЙУПЛ ЮЙУЕМ ПФ 1 ДП 5 (ЧЛМАЮЙФЕМШОП). рПИПЦЙК ПРЕТБФПТ ... (ФТПЕФПЮЙЕ) РТЙ УПЪДБОЙЙ ДЙБРБЪПОБ ОЕ ЧЛМАЮБЕФ Ч ОЕЗП РТБЧЩК ПРЕТБОД. жТБЗНЕОФ РТПЗТБННЩ, ТБУРПМПЦЕООЩК ОЙЦЕ, ЬЛЧЙЧБМЕОФЕО РТЕДЩДХЭЕНХ.
for i in 1 ... 6
  puts i
end

рТЙНЕТ
тБУУНПФТЙН ОЕУЛПМШЛП ЧБТЙБОФПЧ РТПЗТБННЩ, ЧЩЮЙУМСАЭЕК ЖБЛФПТЙБМ ЧЧЕДЕООПЗП ЮЙУМБ.

  1. йУРПМШЪПЧБОЙЕ ПРЕТБФПТБ while
    print "чЧЕДЙФЕ ГЕМПЕ РПМПЦЙФЕМШОПЕ ЮЙУМП: "
str = gets.chop! # ЧЧЕМЙ УФТПЛХ
num = str.to_i   # РТЕПВТБЪПЧБМЙ Ч ЮЙУМП
if num > 0
  i = 1
  fact = 1
  while i <= num
    fact *= i
    i += 1
  end
  puts "жБЛФПТЙБМ ЮЙУМБ #{num} ТБЧЕО #{fact}"
else
  puts "чЩ ЧЧЕМЙ ОЕРПМПЦЙФЕМШОПЕ ЮЙУМП"
end
  2. йУРПМШЪПЧБОЙЕ ПРЕТБФПТБ for
    print "чЧЕДЙФЕ ГЕМПЕ РПМПЦЙФЕМШОПЕ ЮЙУМП: "
num = gets.to_i # УФТПЛХ УТБЪХ РТЕПВТБЪПЧБМЙ Ч ЮЙУМП
if num > 0
  fact = 1
  for i in 1 .. num
    fact *= i
  end
  puts "жБЛФПТЙБМ ЮЙУМБ #{num} ТБЧЕО #{fact}"
else
  puts "чЩ ЧЧЕМЙ ОЕРПМПЦЙФЕМШОПЕ ЮЙУМП"
end
  3. йУРПМШЪПЧБОЙЕ ЖХОЛГЙЙ ДМС ПРТЕДЕМЕОЙС ЖБЛФПТЙБМБ
    def fact(n)
  f = 1
  1.step(n,1) {|k| f *= k}
  return f
end
print "чЧЕДЙФЕ ГЕМПЕ РПМПЦЙФЕМШОПЕ ЮЙУМП: "
if (num = gets.to_i) > 0
  print "#{num}! = #{fact(num)}\n"
else
  puts "жБЛФПТЙБМ ЮЙУМБ #{num} ОЕ ПРТЕДЕМЕО\n"
end
ч РПУМЕДОЕН РТЙНЕТЕ НЩ ПЖПТНЙМЙ ЧЩЮЙУМЕОЙЕ ЖБЛФПТЙБМБ Ч ЧЙДЕ ЖХОЛГЙЙ Й ЙУРПМШЪПЧБМЙ ЙФЕТБФПТ step, ЛПФПТЩК ПВЕУРЕЮЙМ ЙЪНЕОЕОЙЕ РЕТЕНЕООПК k У ЫБЗПН 1.

рТЙНЕТ
рТЙЧЕДЕООБС ОЙЦЕ РТПЗТБННБ ЪБРТБЫЙЧБЕФ ГЕМПЕ РПМПЦЙФЕМШОПЕ ЮЙУМП Й ПРТЕДЕМСЕФ ЛПМЙЮЕУФЧП ГЙЖТ Ч ОЕН (ПВТБФЙФЕ ЧОЙНБОЙЕ ОБ НОПЦЕУФЧЕООПЕ РТЙУЧБЙЧБОЙЕ).

print "чЧЕДЙФЕ ГЕМПЕ РПМПЦЙФЕМШОПЕ ЮЙУМП: "
a, k = gets.to_i, 0
while a>0
  a /= 10; k += 1 # ПФВТПУЙМЙ РПУМЕДОАА ГЙЖТХ
end
print "лПМЙЮЕУФЧП ГЙЖТ Ч ЧЧЕДЕООПН ЮЙУМЕ ТБЧОП #{k}.\n"

рТЙНЕТ
рХУФШ ОХЦОП ЧЧЕУФЙ У ЛМБЧЙБФХТЩ НБУУЙЧ ЮЙУЕМ Й ОБРЕЮБФБФШ УХННХ ЧУЕИ ЬМЕНЕОФПЧ. рТЙЧЕДЕН ОЕУЛПМШЛП ТЕЫЕОЙК ЬФПК ЪБДБЮЙ.

1. уОБЮБМБ ЧЧЕДЕН ЛПМЙЮЕУФЧП ЬМЕНЕОФПЧ НБУУЙЧБ, Б ЪБФЕН ЪБРПМОЙН ЕЗП ЬМЕНЕОФБНЙ, ПДОЙН ЪБ ДТХЗЙН. пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП РЕТЧЩК ЬМЕНЕОФ НБУУЙЧБ ЙНЕЕФ ЙОДЕЛУ 0, Б РПУМЕДОЙК - ОБ ЕДЙОЙГХ НЕОШЫЙК, ЮЕН ТБЪНЕТОПУФШ НБУУЙЧБ.

print "чЧЕДЙФЕ ЮЙУМП ЬМЕНЕОФПЧ НБУУЙЧБ: "
sn = gets.chop!; n = sn.to_i
b = Array.new(n)   # УПЪДБМЙ НБУУЙЧ ЙЪ n ЬМЕНЕОФПЧ
s = 0              # ПВОХМЙМЙ УХННХ
for i in 0 .. n - 1
  print "чЧЕДЙФЕ #{i+1}-К ЬМЕНЕОФ НБУУЙЧБ: "
  b[i] = gets.chop!.to_f; s = s + b[i]
end
print "уХННБ ЧУЕИ ЬМЕНЕОФПЧ НБУУЙЧБ ТБЧОБ ", s, "\n"

2. ч ЬФПК ЧЕТУЙЙ РТПЗТБННЩ ЧУЕ ЮЙУМБ ЧЧПДСФУС УТБЪХ Ч ЧЙДЕ ПДОПК УФТПЛЙ, Ч ЛПФПТПК ЮЙУМБ ПФДЕМСЕФУС ДТХЗ ПФ ДТХЗБ РТПВЕМПН (ОБРТЙНЕТ, 23 -34.67 100.5).

чУФТПЕООЩК НЕФПД split ТБЪДЕМСЕФ УФТПЛХ ОБ ЬМЕНЕОФЩ НБУУЙЧБ, БТЗХНЕОФПН ЬФПЗП НЕФПДБ СЧМСЕФУС ТБЪДЕМЙФЕМШ (ЕУМЙ ТБЪДЕМЙФЕМЕН СЧМСЕФУС РТПВЕМ, ФП НПЦОП ЧЩЪЧБФШ ЬФПФ НЕФПД ВЕЪ БТЗХНЕОФБ). фБЛЙН ПВТБЪПН, ЕУМЙ ВЩ НЩ ДПЗПЧПТЙМЙУШ ТБЪДЕМСФШ ЮЙУМБ, ОБРТЙНЕТ, ФПЮЛПК У ЪБРСФПК, ФП ЧЩЪПЧ НЕФПДБ ЧЩЗМСДЕМ ВЩ ФБЛ: a.split(';').

дМС ПРТЕДЕМЕОЙС ДМЙОЩ НБУУЙЧБ НЩ РТЙНЕОЙМЙ НЕФПД length (НПЦОП ЪБНЕОЙФШ ОБ ЬЛЧЙЧБМЕОФОЩК ЕНХ НЕФПД size).

puts "чЧЕДЙФЕ НБУУЙЧ ЮЙУЕМ (ТБЪДЕМСС ЙИ РТПВЕМБНЙ):"
a = gets.chop!
b = a.split # ТБЪВЙМЙ УФТПЛХ ОБ ПФДЕМШОЩЕ ЮЙУМБ
s = 0
for i in 0 .. b.length - 1
  s += b[i].to_f
end
puts "уХННБ ЧУЕИ ЬМЕНЕОФПЧ НБУУЙЧБ ТБЧОБ #{s}"

ч Ruby ЙНЕАФУС ЮЕФЩТЕ ЛПОУФТХЛГЙЙ, ЪБДБЧБЕНЩЕ ЛМАЮЕЧЩНЙ УМПЧБНЙ break, redo, next Й retry, ЛПФПТЩЕ ЙЪНЕОСАФ ПВЩЮОЩК РПТСДПЛ ЧЩРПМОЕОЙС ГЙЛМПЧ. йИ ДЕКУФЧЙЕ ПРЙУБОП Ч УМЕДХАЭЕК ФБВМЙГЕ.
break | оЕНЕДМЕООП РТЕЛТБЭБЕФ ЧЩРПМОЕОЙЕ ГЙЛМБ; ХРТБЧМЕОЙЕ РЕТЕДБЕФУС ОБ ХФЧЕТЦДЕОЙЕ, ТБУРПМПЦЕООПЕ УТБЪХ ЪБ ГЙЛМПН
redo | рПЧФПТСЕФ ФЕМП ГЙЛМБ У ОБЮБМБ, ОЕ РЕТЕУЮЙФЩЧБС ХУМПЧЙЕ ЧЩРПМОЕОЙС ГЙЛМБ (ОЕ РЕТЕИПДС Л УМЕДХАЭЕНХ ЬМЕНЕОФХ Ч УМХЮБЕ ЙФЕТБФПТБ)
next | рТПРХУЛБЕФ ЮБУФШ ФЕМБ ГЙЛМБ, УМЕДХАЭХА ЪБ ОЙН, Й РЕТЕИПДЙФ Л УМЕДХАЭЕК ЙФЕТБГЙЙ
retry | оБЮЙОБЕФ ЧЩРПМОЕОЙЕ ГЙЛМБ У УБНПЗП ОБЮБМБ
тБУУНПФТЙН ОБ РТЙНЕТЕ ЙФЕТБФПТБ for ДЕКУФЧЙЕ ХЛБЪБООЩИ ЛПОУФТХЛГЙК.
for i in 1 .. 5
  print  i
  break if i == 3
  print "*"
end
тЕЪХМШФБФ:
1*2*3
for i in 1 .. 5
  print  i
  redo if i == 3
  print "*"
end
тЕЪХМШФБФ:
1*2*33333 ...
ЧЩРПМОЕОЙЕ ГЙЛМБ ОЕ РТЕЛТБЭБЕФУС
for i in 1 .. 5
  print  i
  next if i == 3
  print "*"
end
тЕЪХМШФБФ:
1*2*34*5*
for i in 1 .. 5
  print  i
  retry if i == 3
  print "*"
end
тЕЪХМШФБФ:
1*2*31*2*31*2*...
ЧЩРПМОЕОЙЕ ГЙЛМБ ОЕ РТЕЛТБЭБЕФУС

рТЙНЕТ
уМЕДХАЭБС РТПЗТБННБ ОБЮЙОБЕФ РПЧФПТЕОЙЕ ГЙЛМБ УОБЮБМБ, ЕУМЙ РТЙ ЧЧПДЕ ХЛБЪБФШ УЙНЧПМ y.

for i in 1 .. 5
  print "Now at #{i}. Restart?(y/n) "
  retry if gets.chop == "y"
end
чПФ ПДЙО ЙЪ ЧПЪНПЦОЩИ ЧБТЙБОФПЧ ЧЩРПМОЕОЙС ЬФПК РТПЗТБННЩ:
Now at 1. Restart?(y/n) n
Now at 2. Restart?(y/n) y
Now at 1. Restart?(y/n) n
        ...

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТБНЙ)

ъБДБОЙС

  1. оБРЙЫЙФЕ РТПЗТБННХ, ЧЩЮЙУМСАЭХА УХННХ ЧУЕИ ЮЕФОЩИ ОБФХТБМШОЩИ ЮЙУЕМ, ОЕ РТЕЧПУИПДСЭЙИ 1000.
  2. оБРЙЫЙФЕ РТПЗТБННХ, ПРТЕДЕМСАЭХА НБЛУЙНБМШОЩК ЬМЕНЕОФ НБУУЙЧБ ЮЙУЕМ.


вЙВМЙПФЕЛЙ

сЪЩЛ Ruby РПУФБЧМСЕФУС У ВПМШЫПК Й РПМЕЪОПК ВЙВМЙПФЕЛПК НПДХМЕК Й ЛМБУУПЧ. у РПОСФЙЕН ЛМБУУБ НЩ ХЦЕ ОЕНОПЗП РПЪОБЛПНЙМЙУШ, Б НПДХМЙ РТЕДУФБЧМСАФ УПВПК ОЕЛПФПТЩК УРПУПВ ЗТХРРЙТПЧБОЙС ЧНЕУФЕ НЕФПДПЧ, ЛМБУУПЧ Й ЛПОУФБОФ, ОБ ЛПФПТПН НЩ УЕКЮБУ ОЕ ВХДЕН ПУФБОБЧМЙЧБФШУС. ч ЬФПН ТБЪДЕМЕ ОБУ ВХДЕФ ЙОФЕТЕУПЧБФШ РТЙНЕОЕОЙЕ ВЙВМЙПФЕЮОЩИ НПДХМЕК Й ЛМБУУПЧ.

дМС ФПЗП ЮФПВЩ ЧПУРПМШЪПЧБФШУС ЛБЛЙН-МЙВП НЕФПДПН ПДОПЗП ЙЪ НПДХМЕК, УМЕДХЕФ ХЛБЪБФШ ЙНС НПДХМС (ПОП ФБЛ ЦЕ, ЛБЛ Й ЙНС ЛМБУУБ ОБЮЙОБЕФУС У ЪБЗМБЧОПК ЖХОЛГЙЙ), Б ЪБФЕН ЮЕТЕЪ ФПЮЛХ ЙНС НЕФПДБ, ОБРТЙНЕТ, Math.sqrt(2). дМС ПВТБЭЕОЙС Л ЛПОУФБОФЕ УМЕДХЕФ ПФДЕМЙФШ ЕЕ ЙНС ПФ ЙНЕОЙ НПДХМС ЙМЙ ЛМБУУБ ДЧПЕФПЮЙЕН. ч УМХЮБЕ, ЛПЗДБ РТЙИПДЙФУС ЙУРПМШЪПЧБФШ НЕФПДЩ ПДОПЗП НПДХМС ОЕУЛПМШЛП ТБЪ, ХДПВОЕЕ РПДЛМАЮЙФШ ОХЦОЩК НПДХМШ РТЙ РПНПЭЙ ПРЕТБФПТБ include, ЮФП РПЪЧПМЙФ ЙУРПМШЪПЧБФШ ЧЩЪПЧ НЕФПДБ ВЕЪ ХЛБЪБОЙС ЙНЕОЙ НПДХМС:

puts Math.sqrt(2); puts Math::PI
# ЙМЙ
include Math
puts sqrt(2); puts PI

оБЮОЕН У ПРЙУБОЙС НПДХМС Math, ЛПФПТЩК УПДЕТЦЙФ НЕФПДЩ ДМС ТБВПФЩ У НБФЕНБФЙЮЕУЛЙНЙ ЖХОЛГЙСНЙ Й ДЧЕ ЛПОУФБОФЩ, ЪБДБАЭЙЕ ЮЙУМБ РЙ - PI Й Е - E.

нЕФПД | оБЪОБЮЕОЙЕ НЕФПДБ
cos(x), sin(x) Й tan(x) | чПЪЧТБЭБАФ ЛПУЙОХУ, УЙОХУ Й ФБОЗЕОУ ЮЙУМБ x, ЪБДБООПЗП Ч ТБДЙБОБИ
atan2(y, x) | чПЪЧТБЭБЕФ БТЛФБОЗЕОУ ДТПВЙ y/x, ЗДЕ x Й y ЪБДБОЩ Ч ТБДЙБОБИ Й ЪБЛМАЮЕОЩ Ч ДЙБРБЪПОЕ ПФ -PI ДП PI
exp(x) | чПЪЧТБЭБЕФ ЮЙУМП Е, ЧПЪЧЕДЕООПЕ Ч УФЕРЕОШ x
log(x) | чПЪЧТБЭБЕФ ОБФХТБМШОЩК МПЗБТЙЖН ЮЙУМБ x>0
log10(x) | чПЪЧТБЭБЕФ МПЗБТЙЖН ЮЙУМБ x>0 РП ПУОПЧБОЙА 10
sqrt(x) | чПЪЧТБЭБЕФ ЛЧБДТБФОЩК ЛПТЕОШ ЙЪ ОЕПФТЙГБФЕМШОПЗП ЮЙУМБ x

дТХЗЙН РПМЕЪОЩН НПДХМЕН СЧМСЕФУС Enumerable, РПЪЧПМСАЭЙК ЧЩЪЩЧБФШ НЕФПДЩ, УЧСЪБООЩЕ У РЕТЕЮЙУМЕОЙЕН, РПЙУЛПН Й УПТФЙТПЧЛПК ЙОЖПТНБГЙЙ. рТПДЕНПОУФТЙТХЕН ТБВПФХ У ОЙН ОБ РТЙНЕТБИ. дМС ЧЩЧПДБ ВХДЕН ЙУРПМШЪПЧБФШ ПРЕТБФПТ p.

include Enumerable

# РПМХЮЙФШ ЛЧБДТБФЩ ГЕМЩИ ЮЙУЕМ ПФ 1 ДП 4
a1 = (1..4).collect {|i| i*i }
# ФПЦЕ УБНПЕ
a2 = (1..4).map {|i| i*i }
p a1, a2
# ЧЩДБФШ ЮЕФЩТЕ ТБЪБ УФТПЛХ  "cat"
b = (1..4).collect { "cat"  }
p b
# ОБКФЙ РЕТЧПЕ ЧИПЦДЕОЙЕ ЮЙУМБ,
# ЛПФПТПЕ ДЕМЙФУС Й ОБ 5 Й ОБ 7
# РПЙУЛ УТЕДЙ ЮЙУЕМ ПФ 1 ДП 10   - ФБЛЙИ ОЕФ
c = (1..10).detect {|i| i % 5 == 0 and i % 7 == 0 }
p c
# РПЙУЛ УТЕДЙ ЮЙУЕМ ПФ 1 ДП 100  - РЕТЧЩН ОБКДЕОП ЮЙУМП 35
c1 = (1..100).detect {|i| i % 5 == 0 and i % 7 == 0 }
# ФП ЦЕ УБНПЕ
c2 = (1..100).find  {|i| i % 5 == 0 and i % 7 == 0 }
p c1, c2
# ОБКФЙ ЧУЕ ЧИПЦДЕОЙС ЮЙУЕМ, ЛПФПТЩЕ ДЕМСФУС Й ОБ 5 Й ОБ 7
c = (1..100).find_all  {|i| i % 5 == 0 and i % 7 == 0 }
p c
# ОБКФЙ ЧУЕ ГЕМЩЕ ЮЙУМБ, ЛТБФОЩЕ 3 Й ОЕ РТЕЧЩЫБАЭЙЕ 10
d1 = (1..10).find_all {|i|  i % 3 == 0 }
# ФП ЦЕ УБНПЕ
d2 = (1..10).select {|i|  i % 3 == 0 }
# Й, ОБПВПТПФ, ХДБМЙФШ  ЧУЕ ГЕМЩЕ ЮЙУМБ, ЛТБФОЩЕ 3
d3 = (1..10).reject {|i|  i % 3 == 0 }
p d1, d2, d3
# РТЕПВТБЪПЧБФШ ПВЯЕЛФ РЕТЕЮЙУМСЕНПЗП ФЙРБ Ч НБУУЙЧ
l = 1..10; p l.to_a   # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

ьФПФ НПДХМШ УПДЕТЦЙФ ФБЛЦЕ НЕФПДЩ max - ОБИПЦДЕОЙЕ НБЛУЙНБМШОПЗП ЪОБЮЕОЙС, min - НЙОЙНБМШОПЗП Й НЕФПД sort, ЧЩРПМОСАЭЙК УПТФЙТПЧЛХ. йИ НПЦОП РТЙНЕОСФШ ЛП ЧУЕН ПВЯЕЛФБН, ЛПФПТЩЕ НПЦОП УТБЧОЙЧБФШ НЕЦДХ УПВПК - ЮЙУМБН, УФТПЛБН Й Ф. Р.

puts "нБЛУЙНХН ЮЙУЕМ #{1..10} ТБЧЕО #{(1..10).max}"
# УПТФЙТПЧЛБ РП ХВЩЧБОЙА
p ((1 .. 8).sort { |i,j| j<=>i}) #  [8, 7, 6, 5, 4, 3, 2, 1]
# НЙОЙНБМШОЩК ЬМЕНЕОФ НБУУЙЧБ
a1 = %w(albatross dog horse)
p a1.min         # albatross
б ЧПФ ФБЛ НПЦОП ПРТЕДЕМЙФШ УБНХА ДМЙООХА УФТПЛХ Ч НБУУЙЧЕ:
puts a1.max {|a,b| a.length <=> b.length } # albatross

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТБНЙ)

рТЙНЕТ
уПИТБОЙФЕ РТЙЧЕДЕООХА ОЙЦЕ РТПЗТБННХ РЕЮБФЙ ФТЙЗПОПНЕФТЙЮЕУЛЙИ ЖХОЛГЙК Ч ЖБКМЕ trig.rb Й ЧЩРПМОЙФЕ ЕЕ. рТЙ ЧЧПДЕ ДБООЩИ НПЦОП ЙУРПМШЪПЧБФШ ЛПОУФБОФХ PI Й НБФЕНБФЙЮЕУЛЙЕ ПРЕТБГЙЙ, ОБРТЙНЕТ, -3*PI/4.

include Math

print "чЧЕДЙФЕ ХЗПМ x Ч ТБДЙБОБИ: "
y = gets.chop!
print "x=", y
x = eval y

print "\nвЕЪЖПТНБФОЩК ЧЩЧПД:\tcos(x)= #{cos(x)}\n"
print "\nрЕЮБФШ У 4-НС ЪОБЛБНЙ РПУМЕ",
  " ЪБРСФПК (ЛБЛ Ч ФБВМЙГБИ вТБДЙУБ)\n"
printf  "cos(x)=%1.4f\n", cos(x)

printf "\nx=%s: cos(x)= %1.4f\tsin(x)=%1.4f\t",
  y, cos(x), sin(x)

if cos(x).abs < 0.0001
  print "tg ОЕ УХЭ.\t"
else
  printf "tg(x)=%1.4f\t", tan(x)
end

if sin(x).abs < 0.0001
  print  "ctg ОЕ УХЭ.\n\n"
else
  printf "ctg(x)=%1.4f\n\n", cos(x)/sin(x)
end

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

рТЙНЕТ
уМЕДХАЭБС РТПЗТБННБ РЕЮБФБЕФ ЪОБЮЕОЙС ФТЙЗПОПНЕФТЙЮЕУЛЙИ ЖХОЛГЙК ДМС ХЗМПЧ ПФ -180 ЗТБДХУПЧ ДП 180 У ЫБЗПН 15 ЗТБДХУПЧ.

include Enumerable, Math

# УПУФБЧЙМЙ УРЙУПЛ ЮЙУЕМ ПФ -PI ДП PI У ЫБЗПН PI/12
a = (-12 .. 12).map {|i| i.to_s + "*PI/12"}
# РЕЮБФШ ЪБЗПМПЧЛБ
print "хЗПМ\t    уЙОХУ\t  лПУЙОХУ\t  фБОЗЕОУ\t лПФБОЗЕОУ\n"
for i in a.reverse  # ДМС РЕЮБФЙ Ч ХВЩЧБАЭЕН РПТСДЛЕ
  x = eval i
  printf "%4s\t%9.4f\t%9.4f\t",
    eval(i + "*(15*12/PI)").round, # ТБДЙБОЩ -> ЗТБДХУЩ
    sin(x), cos(x)

  if cos(x).abs < 0.0001 then print "  ОЕ УХЭ.\t"
  else  printf "%9.4f\t", tan(x)
  end

  if sin(x).abs < 0.0001 then print  "  ОЕ УХЭ.\n"
  else printf "%9.4f\n", cos(x)/sin(x)
  end
end
пВТБФЙФЕ ЧОЙНБОЙЕ ОБ ЙУРПМШЪПЧБОЙЕ ЖПТНБФОПЗП ЧЩЧПДБ Ч ДБООПК РТПЗТБННЕ.

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)


рЕФТПЧ уЕТЗЕК чБУЙМШЕЧЙЮ
уЙДПТПЧБ пМШЗБ рЕФТПЧОБ
йЧБОПЧБ нБТШС дБОЙМПЧОБ


рТЙНЕТЩ РТПЗТБНН

опд Й БМЗПТЙФН еЧЛМЙДБ

рТЙ ТБУУНПФТЕОЙЙ ЪБДБЮ, УЧСЪБООЩИ У ПВТБВПФЛПК ГЕМЩИ ЮЙУЕМ, ЮБУФП РТЙИПДЙФУС УФБМЛЙЧБФШУС У РПОСФЙЕН опд - ОБЙВПМШЫЕЗП ПВЭЕЗП ДЕМЙФЕМС ЮЙУЕМ. йЪЧЕУФОП НОПЗП БМЗПТЙФНПЧ ЧЩЮЙУМЕОЙС опд, НЩ ТБУУНПФТЙН МЙЫШ ДЧБ ЙЪ ОЙИ.

ъБДБЮБ
оБРЙЫЙФЕ РТПЗТБННХ, ЧЩЮЙУМСАЭХА опд(a,b) - ОБЙВПМШЫЙК ПВЭЙК ДЕМЙФЕМШ ДЧХИ ЧЧЕДЕООЩИ У ЛМБЧЙБФХТЩ ОЕПФТЙГБФЕМШОЩИ ГЕМЩИ ЮЙУЕМ a Й b, ОЕ ТБЧОЩИ ОХМА ПДОПЧТЕНЕООП.

чБТЙБОФ 1
пРТЕДЕМЙН НБЛУЙНХН ЙЪ ЬФЙИ ЮЙУЕМ Й, РПУМЕДПЧБФЕМШОП ХНЕОШЫБС ЕЗП, ВХДЕН ЙУЛБФШ ЮЙУМП, ОБ ЛПФПТПЕ ДЕМСФУС Й a Й b. рТПЗТБННБ ПВСЪБФЕМШОП ЪБЧЕТЫЙФ УЧПА ТБВПФХ, ФБЛ ЛБЛ Ч УБНПН ОЕХДБЮОПН УМХЮБЕ, ЛПЗДБ ЬФЙ ЮЙУМБ ЧЪБЙНОП РТПУФЩ, k УФБОЕФ ТБЧОП 1, Б ОБ 1 ДЕМСФУС ЧУЕ ЮЙУМБ, УМЕДПЧБФЕМШОП ЧЩРПМОЕОЙЕ ГЙЛМБ РТЕЛТБФЙФУС.

print "чЧЕДЙФЕ РЕТЧПЕ ЮЙУМП: "; a = gets.to_i
print "чЧЕДЙФЕ ЧФПТПЕ ЮЙУМП: "; b = gets.to_i

k = a >= b ? a : b # ФЕРЕТШ k -  НБЛУЙНХН
until (a % k == 0) and (b % k == 0)
  k -= 1
end
print "опд(#{a},#{b}) = #{k}\n"

чБТЙБОФ 2 - БМЗПТЙФН еЧЛМЙДБ
бМЗПТЙФН еЧЛМЙДБ ПУОПЧБО ОБ УМЕДХАЭЙИ УЧПКУФЧБИ опд: ДМС ЧУЕИ a Й b, ВПМШЫЙИ ЙМЙ ТБЧОЩИ 0, ЧЩРПМОЕОЩ ТБЧЕОУФЧБ

опд(a, b) = опд(a - b, b)= опд(a, b - a);
опд(a, 0) = опд(0, a) = a
оЙЦЕ РТЙЧЕДЕО ФЕЛУФ РТПЗТБННЩ, ТЕБМЙЪХАЭЕК БМЗПТЙФН еЧЛМЙДБ.
print "чЧЕДЙФЕ РЕТЧПЕ ЮЙУМП: "; a = gets.to_i
print "чЧЕДЙФЕ ЧФПТПЕ ЮЙУМП: "; b = gets.to_i
m, n = a, b
while  !((m == 0) || (n == 0))
  if m >= n
    m = m - n
  else
    n = n - m
  end
end

k = m == 0 ? n : m
print "опд(#{a},#{b}) = #{k}\n"

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

бТЗХНЕОФЩ ЛПНБОДОПК УФТПЛЙ

лБЛ Й ДТХЗЙЕ СЪЩЛЙ РТПЗТБННЙТПЧБОЙС, Ruby РПЪЧПМСЕФ РЕТЕДБЧБФШ ДБООЩЕ Ч РТПЗТБННХ, ЙУРПМШЪХА БТЗХНЕОФЩ ЛПНБОДОПК УФТПЛЙ. чУЕ, ЮФП РТЙ УФБТФЕ РТПЗТБННЩ ХЛБЪЩЧБЕФУС РПУМЕ ЕЕ ЙНЕОЙ, ЙОФЕТРТЕФБФПТ РПНЕЭБЕФ Ч УРЕГЙБМШОЩК НБУУЙЧ ARGV, ТБВПФБ У ЬМЕНЕОФБНЙ ЛПФПТПЗП ОЕЮЕН ОЕ ПФМЙЮБЕФУС ПФ ТБВПФЩ У ДТХЗЙНЙ НБУУЙЧБНЙ. нПЦОП, ОБРТЙНЕТ, РТПЧЕТЙФШ, У РТБЧЙМШОЩН МЙ ЛПМЙЮЕУФЧПН БТЗХНЕОФПЧ ЛПНБОДОПК УФТПЛЙ ВЩМБ ЧЩЪЧБОБ РТПЗТБННБ. дБМЕЕ РТЙЧПДЙФУС РТПЗТБННБ, РТЕТЩЧБАЭЙК УЧПЕ ЧЩРПМОЕОЙЕ, ЕУМЙ ЮЙУМП БТЗХНЕОФПЧ НЕОШЫЕ 2:
=begin
оБРЙЫЙФЕ РТПЗТБННХ РПДУЮЕФБ УХННЩ ЧУЕИ ОЕЮЕФОЩИ
ЮЙУЕМ, ЪБЛМАЮЕООЩИ Ч ЙОФЕТЧБМЕ ПФ K ДП L,
ЗДЕ  K Й L - БТЗХНЕОФЩ ЛПНБОДОПК УФТПЛЙ
=end

if ARGV.length < 2
  puts "уМЙЫЛПН НБМП ЧИПДОЩИ ДБООЩИ"
  exit(1)
end

s = 0
k = ARGV[0].to_i
l = ARGV[1].to_i
for i in k .. l
  s += i if i%2 != 0
end
puts "уХННБ ОЕЮЕФОЩИ ЮЙУЕМ Ч ЙОФЕТЧБМЕ " +
     "ПФ #{k} ДП #{l} ТБЧОБ #{s}"
дМС ЬЛУФТЕООПЗП РТЕТЩЧБОЙС РТПГЕУУБ ЧЩРПМОЕОЙС РТПЗТБННЩ ЪДЕУШ ЙУРПМШЪПЧБО ЧУФТПЕООЩК НЕФПД exit.

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

ъБДБЮБ
юЙУМБНЙ жЙВПОБЮЮЙ ОБЪЩЧБЕФУС РПУМЕДПЧБФЕМШОПУФШ ГЕМЩИ ЮЙУЕМ, ЪБДБЧБЕНБС УППФОПЫЕОЙСНЙ: Б0 = 0, a1 = 1, an = an-1+an-2. оБРЙЫЙФЕ РТПЗТБННХ, РПМХЮБАЭХА У ЛБЮЕУФЧЕ БТЗХНЕОФБ ЛПНБОДОПК УФТПЛЙ ГЕМПЕ ЮЙУМП n, Й РЕЮБФБАЭХА n-Е ЮЙУМП жЙВПОБЮЮЙ.

чБТЙБОФ 1 - ТЕЛХТУЙЧОБС ЖХОЛГЙС
ч УМЕДХАЭЕК РТПЗТБННЕ РЕТЧЩК ЬМЕНЕОФ НБУУЙЧБ ARGV РТЕПВТБЪПЧЩЧБЕФУС Ч ГЕМПЕ ЮЙУМП Й РЕТЕДБЕФУС Ч ЛБЮЕУФЧЕ БТЗХНЕОФБ ТЕЛХТУЙЧОПК ЖХОЛГЙЙ fib.

def fib(n)
  if n<2
    n
  else
    fib(n-2)+fib(n-1)
  end
end
n = ARGV[0].to_i
puts "#{n}-Е ЮЙУМП жЙВПОБЮЮЙ ТБЧОП #{fib(n)}"
дМС ЧЩЮЙУМЕОЙС У РПНПЭША ЬФПК РТПЗТБННЩ, ТБЪНЕЭЕООПК Ч ЖБКМe fib.rb, ОБРТЙНЕТ, 30-ЗП ЮЙУМБ жЙВПОБЮЮЙ ДПУФБФПЮОП ЧЩРПМОЙФШ ЛПНБОДХ
ruby fib.rb 30
дБООБС РТПЗТБННБ ЙУРПМШЪХЕФ ДЧПКОХА ТЕЛХТУЙА, РПЬФПНХ РТПГЕУУ ЧЩЮЙУМЕОЙС ЪБКНЕФ ДПУФБФПЮОП ЪБНЕФОПЕ ЧТЕНС.

(ъБЗТХЪЙФШ ЖБКМ У РТПЗТБННПК)

чБТЙБОФ 2 - ЙУРПМШЪПЧБОЙЕ НБУУЙЧБ
ч УМЕДХАЭЕН ЧБТЙБОФЕ ТЕЫЕОЙС ЬФПК ЪБДБЮЙ ЛБЦДПЕ ЮЙУМП жЙВПОБЮЮЙ ЧЩЮЙУМСЕФУС МЙЫШ ПДЙО ТБЪ Й УТБЪХ ЪБОПУЙФУС Ч НБУУЙЧ. дМС ПРТЕДЕМЕОЙС ПЮЕТЕДОПЗП ЬМЕНЕОФБ НБУУЙЧБ ДПУФБФПЮОП УМПЦЙФШ ДЧБ РТЕДЩДХЭЙИ.

n =ARGV[0].to_i
f= [0, 1]
fib = case n
      when   0
    f[0]
      when  1
    f[1]
      else
    for i in 2 .. n
      f[i] = f[i-1] + f[i-2]
    end
    f[n]
      end

puts "#{n}-Е ЮЙУМП жЙВПОБЮЮЙ ТБЧОП #{fib}"

(ъБЗТХЪЙФШ ЖБКМ У РТПЗТБННПК)

пДОБЛП Й Х ЬФПК РТПЗТБННЩ ЕУФШ УХЭЕУФЧЕООЩК ОЕДПУФБФПЛ - ПОБ ИТБОЙФ ЧУЕ РТПНЕЦХФПЮОЩЕ ТЕЪХМШФБФЩ, Ч ФП ЧТЕНС ЛБЛ ЛБЦДПЕ РТЕДЩДХЭЕЕ ЪОБЮЕОЙЕ ЙУРПМШЪХЕФУС МЙЫШ ДЧБЦДЩ. йЪНЕОЙН РТПЗТБННХ ФБЛ, ЮФПВЩ ПОБ ЙУРПМШЪПЧБМБ ФПМШЛП ФТЙ РЕТЕНЕООЩИ: ЧЩЮЙУМСЕНПЕ ЪОБЮЕОЙЕ Й ДЧБ РТЕДЫЕУФЧХАЭЙИ ЕНХ:

n =ARGV[0].to_i
if n > 1
  prev, beforePrev = 1, 0
  for i in 2 .. n
    fib  = prev + beforePrev
    prev, beforePrev = fib, prev
  end
else
  fib = n
end
puts "#{n}-Е ЮЙУМП жЙВПОБЮЮЙ ТБЧОП #{fib}"

(ъБЗТХЪЙФШ ЖБКМ У РТПЗТБННПК)

чЛМАЮЙФЕ Ч ТБУУНПФТЕООЩЕ РТПЗТБННЩ ПРЕТБФПТЩ, ЙОЖПТНЙТХАЭЙЕ П РТПДПМЦЙФЕМШОПУФЙ ЧЩЮЙУМЕОЙК, Й УТБЧОЙФЕ ЙИ ЬЖЖЕЛФЙЧОПУФШ. дМС ЬФПЗП ОБКДЙФЕ У РПНПЭША РЕТЧПК ЙЪ ТБУУНПФТЕООЩИ РТПЗТБНН 30, 31 Й 32 ЮЙУМБ жЙВПОБЮЮЙ. рПМШЪХСУШ ЧФПТПК Й, ФЕН ВПМЕЕ, ФТЕФШЕК ЧЩ УНПЦЕФЕ ЧЩЮЙУМЙФШ ДПУФБФПЮОП ВПМШЫПЕ ЮЙУМП жЙВПОБЮЮЙ, ОБРТЙНЕТ, ДМС ЧЩЮЙУМЕОЙС 60000-ЗП ЮЙУМБ жЙВПОБЮЮЙ, УПДЕТЦБЭЕЗП 12539 ГЙЖТ ОБ ЛПНРШАФЕТЕ У РТПГЕУУПТПН Celeron-500, РТПЗТБННЕ, ТБЪНЕЭБАЭЕК РТПНЕЦХФПЮОЩЕ ТЕЪХМШФБФЩ Ч НБУУЙЧЕ, РПФТЕВПЧБМПУШ ПЛПМП 19 УЕЛХОД, Ч ФП ЧТЕНС ЛБЛ РПУМЕДОСС РТПЗТБННБ ЧЩЮЙУМЙМБ ЕЗП ЪБ 2 УЕЛХОДЩ.

тБВПФБ У ЖБКМБНЙ

чЧПД ДБООЩИ У ЛМБЧЙБФХТЩ Ч РТПГЕУУЕ ЧЩРПМОЕОЙС РТПЗТБННЩ ХДПВЕО ФПМШЛП Ч УМХЮБЕ ОЕВПМШЫЙИ ПВЯЕНПЧ. ч ДТХЗЙИ УЙФХБГЙСИ ОЕПВИПДЙНП ЮФЕОЙЕ ЙОЖПТНБГЙЙ ЙЪ ЪБТБОЕЕ РПДЗПФПЧМЕООПЗП ЖБКМБ.

дМС ТБВПФЩ У ЖБКМПН РТЙ РПНПЭЙ НЕФПДБ new УПЪДБЕФУС ЬЛЪЕНРМСТ ЛМБУУБ File. пВСЪБФЕМШОЩН БТЗХНЕОФПН ЬФПЗП НЕФПДБ СЧМСЕФУС УФТПЛБ, УПДЕТЦБЭБС ЙНС ЖБКМБ, ОБРТЙНЕТ,

f = File.new("myfile.txt")
дТХЗЙН (ОЕПВСЪБФЕМШОЩН) БТЗХНЕОФПН СЧМСЕФУС ЪБДБОЙЕ ТЕЦЙНБ ТБВПФЩ У ЖБКМПН. рП ХНПМЮБОЙА ЬФПФ РБТБНЕФТ ЙНЕЕФ ЪОБЮЕОЙЕ "r", ЮФП УППФЧЕФУФЧХЕФ ТЕЦЙНХ "ФПМШЛП ЮФЕОЙЕ". еУМЙ ФТЕВХЕФУС ПФЛТЩФШ ЖБКМ У ЧПЪНПЦОПУФША ЪБРЙУЙ Ч ОЕЗП, ФП УМЕДХЕФ ХЛБЪБФШ РБТБНЕФТ "w", ОБРТЙНЕТ,
f1 = File.new("newfile.txt", "w")

нЕФПД readlines УЮЙФЩЧБЕФ ЧЕУШ ЖБКМ, УПЪДБЕФ НБУУЙЧ Й ТБЪНЕЭБЕФ ЛБЦДХА РТПЮЙФБООХА УФТПЛХ Ч ПФДЕМШОПН ЬМЕНЕОФЕ НБУУЙЧБ рТЙ ДБМШОЕКЫЕК ПВТБВПФЛЕ РПМХЮЕООПЗП НБУУЙЧБ ХДПВОП ЙУРПМШЪПЧБФШ НЕФПД each.

дМС ЧЩЧПДБ УФТПЛЙ Ч ЧЩИПДОПК РПФПЛ (Ч ЖБКМ ЙМЙ ОБ ЬЛТБО НПОЙФПТБ) ЙУРПМШЪХЕФУС НЕФПД write, ОБРТЙНЕТ,

a = "Hello, world!"
f1.write(a)

ъБДБЮБ
йНЕЕФУС ФЕЛУФПЧЩК ЖБКМ fio.txt, УПДЕТЦБЭЙК УРЙУПЛ ЖБНЙМЙК, ЙНЕО Й ПФЮЕУФЧ ХЮБЭЙИУС. рТЙ ЬФПН ЛБЦДБС УФТПЛБ ЖБКМБ УПДЕТЦЙФ ДБООЩЕ ФПМШЛП ПВ ПДОПН ЮЕМПЧЕЛЕ, ОБРТЙНЕТ,

рЕФТПЧ уЕТЗЕК чБУЙМШЕЧЙЮ
уЙДПТПЧБ пМШЗБ рЕФТПЧОБ
йЧБОПЧБ нБТШС дБОЙМПЧОБ
оБРЙЫЙФЕ РТПЗТБННХ, ЛПФПТБС ЮЙФБЕФ ЙОЖПТНБГЙА ЙЪ ЖБКМБ Й
1) РЕЮБФБЕФ РТПОХНЕТПЧБООЩК УРЙУПЛ ХЮЕОЙЛПЧ;
2) РЕЮБФБЕФ РТПОХНЕТПЧБООЩК УРЙУПЛ ЖБНЙМЙК Й ЙОЙГЙБМПЧ.

тЕЫЕОЙЕ 1

f = File.new("fio.txt")
n = 1
student = f.readlines
student.each{ |i|
  print n, ". ", i
  n += 1
}
пФНЕФЙН, ЮФП РТПЗТБННБ ДПМЦОБ ТБУРПМБЗБФШУС Ч ФПК ЦЕ ДЙТЕЛФПТЙЙ, ЮФП Й ЖБКМ У ДБООЩНЙ. ч РТПФЙЧОПН УМХЮБЕ ОЕПВИПДЙНП ХЛБЪЩЧБФШ РПМОЩК РХФШ Л ЬФПНХ ЖБКМХ.

дМС РПМХЮЕОЙС ЙОЙГЙБМПЧ ЛБЦДХА УФТПЛХ РПМХЮЕООПЗП НБУУЙЧБ РТЕПВТБЪХЕН Ч НБУУЙЧ, ЬМЕНЕОФБНЙ ЛПФПТПЗП ВХДХФ ЖБНЙМЙС, ЙНС Й ПФЮЕУФЧП. ъБФЕН ЖБНЙМЙА РЕЮБФБЕН РПМОПУФША, Б ЧНЕУФП УМЕДХАЭЙИ ЬМЕНЕОФПЧ НБУУЙЧБ - ФПМШЛП ЙИ РЕТЧЩК УЙНЧПМ. дМС РТЕПВТБЪПЧБОЙС УФТПЛЙ Ч НБУУЙЧ ЙУРПМШЪХЕФУС ТБОЕЕ ТБУУНПФТЕООБС ЖХОЛГЙС split. оБРПНОЙН, ЮФП РБТБНЕФТПН РП ХНПМЮБОЙА ЬФПК ЖХОЛГЙЙ СЧМСЕФУС РТПВЕМ.

тЕЫЕОЙЕ 2

f = File.new("fio.txt")
n = 1
student = f.readlines
student.each{ |i|
  i.chop!
  fio = i.split
  print n, ". ", fio[0], " ", fio[0][0].chr, ". ",
    fio[1][0].chr, ".\n"
  n += 1
}

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

уМХЮБКОЩЕ ЮЙУМБ

нПДЕМЙТПЧБОЙЕ УМХЮБКОЩИ РТПГЕУУПЧ ОБ ЛПНРШАФЕТЕ - ДПУФБФПЮОП ТБУРТПУФТБОЕООПЕ СЧМЕОЙЕ. лБЛ Й Ч ВПМШЫЙОУФЧЕ СЪЩЛПЧ РТПЗТБННЙТПЧБОЙС Ч Ruby ЕУФШ НЕФПДЩ, ЗЕОЕТЙТХАЭЙЕ, ФБЛ ОБЪЩЧБЕНЩЕ, "РУЕЧДПУМХЮБКОЩЕ" ЮЙУМБ (ЙИ ОЕМШЪС УЮЙФБФШ ЮЙУФП УМХЮБКОЩНЙ, ЧЕДШ УПЪДБАФУС ПОЙ РТЙ РПНПЭЙ ОЕЛПФПТПЗП БМЗПТЙФНБ).

дМС РПМХЮЕОЙС УМХЮБКОПЗП ГЕМПЗП ЮЙУМБ Ч ДЙБРБЪПОЕ ПФ 0 ДП n ЙУРПМШЪХЕФУС НЕФПД rand(n). уМХЮБКОПЕ ЮЙУМП Ч ДЙБРБЪПОЕ ПФ 0 ДП 1 РПМХЮБЕФУС У РПНПЭША ЬФПЗП ЦЕ НЕФПДБ ВЕЪ ХЛБЪБОЙС РБТБНЕФТБ.

a1 = (1..10).collect { |j| rand(100)}
a2 = (1..4).collect { |j| rand()}
p a1, a2
оЙЦЕ РТЕДУФБЧМЕО ЧПЪНПЦОЩК ЧЩЧПД:
[64, 17, 21, 95, 58, 24, 29, 60, 47, 63]
[0.2009671596, 0.8890923676, 0.3349569312, 0.8719313448]

пДОЙН ЙЪ РТЙНЕОЕОЙК УМХЮБКОЩИ ЮЙУЕМ СЧМСЕФУС ЛПНРШАФЕТОПЕ НПДЕМЙТПЧБОЙЕ НЕФПДБ нПОФЕ-лБТМП ДМС ПРТЕДЕМЕОЙС РМПЭБДЙ ОЕЛПФПТПК ЖЙЗХТЩ, ТБУУНПФТЕООЩК ОБНЙ ТБОЕЕ. оБРПНОЙН, ЮФП ДМС РТЙНЕОЕОЙС ЬФПЗП НЕФПДБ ЖЙЗХТХ ЧРЙУЩЧБАФ Ч ДТХЗХА, ЙЪЧЕУФОПК РМПЭБДЙ, Й УМХЮБКОЩН ПВТБЪПН "ВТПУБАФ" ФПЮЛЙ, РПДУЮЙФЩЧБС ЮЙУМП РПРБДБОЙК Ч ЖЙЗХТХ. рТЙ ДПУФБФПЮОП ВПМШЫПН ЮЙУМЕ ЙУРЩФБОЙК ПФОПЫЕОЙЕ ЮЙУМБ ФПЮЕЛ, РПРБЧЫЙИ ЧОХФТШ ЖЙЗХТЩ, Л ПВЭЕНХ ЮЙУМХ ФПЮЕЛ, УФТЕНЙФУС Л ПФОПЫЕОЙА ЙИ РМПЭБДЕК.

ъБДБЮБ
оБРЙЫЙФЕ РТПЗТБННХ, ЧЩЮЙУМСАЭЕЕ РТЙВМЙЦЕООПЕ ЪОБЮЕОЙЕ ЮЙУМБ PI РТЙ РПНПЭЙ НЕФПДБ нПОФЕ-лБТМП.

тЕЫЕОЙЕ
юЙУМП PI ТБЧОП ПФОПЫЕОЙА РМПЭБДЙ ЛТХЗБ Л ЛЧБДТБФХ ЕЗП ТБДЙХУБ. чРЙЫЕН ЛТХЗ ЕДЙОЙЮОПЗП ТБДЙХУБ У ГЕОФТПН Ч ОБЮБМЕ ЛППТДЙОБФ Ч ЛЧБДТБФ Й НЕФПДПН нПОФЕ-лБТМП ОБКДЕН ЕЗП РМПЭБДШ. лППТДЙОБФЩ УМХЮБКОЩИ ФПЮЕЛ, ВТПУБЕНЩИ Ч ЛТХЗ, РТЙОБДМЕЦБФ ЙОФЕТЧБМХ (-1; 1). чЕМЙЮЙОБ, УМХЮБКОП ТБУРТЕДЕМЕООБС Ч ЬФПН ЙОФЕТЧБМЕ, ЪБДБЕФУС ЧЩТБЦЕОЙЕН 2*rand() - 1.

дМС ЛПОФТПМС ЪБ ЧТЕНЕОЕН ДПВБЧЙН ДЧБ ЬЛЪЕНРМСТБ ЛМБУУБ Time: ЧТЕНС ОБЮБМБ Й ПЛПОЮБОЙС ТБУЮЕФБ. рТПЗТБННБ, ТЕБМЙЪХАЭБС ЬФПФ БМЗПТЙФН, РТЕДУФБЧМЕОБ ОЙЦЕ. ч ОЕК ЙУРПМШЪХЕФУС ПРЕТБФПТ eval, ЮФПВЩ ЛПМЙЮЕУФЧП ФПЮЕЛ НПЦОП ВЩМП ЪБДБЧБФШ Ч ЧЙДЕ БТЙЖНЕФЙЮЕУЛПЗП ЧЩТБЦЕОЙС.

puts "чЧЕДЙФЕ ЛПМЙЮЕУФЧП ФПЮЕЛ:"
n1, n, t1  = 0, eval(gets.chop), Time.now
for i in 1 .. n
  x = 2*rand() - 1
  y = 2*rand() - 1
#      РТПЧЕТСЕН РПРБДБОЙЕ ЧОХФТШ ЛТХЗБ
  n1 += 1 if (x**2 + y**2) < 1
end
puts "PI=#{4.0*n1/n}"
t2 = Time.now
puts "юЙУМП ФПЮЕЛ #{n}, ЧТЕНС ТБУЮЕФБ " +
  "ПЛПМП #{(t2 - t1).round} УЕЛ."
чПЪНПЦОЩЕ ТЕЪХМШФБФЩ ТБВПФЩ РТПЗТБННЩ ВХДХФ РПИПЦЙ (УМХЮБКОПУФШ!) ОБ УМЕДХАЭЙЕ:
чЧЕДЙФЕ ЛПМЙЮЕУФЧП ФПЮЕЛ: 10**5    PI=3.14028
юЙУМП ФПЮЕЛ 100000, ЧТЕНС ТБУЮЕФБ ПЛПМП 2 УЕЛ.

чЧЕДЙФЕ ЛПМЙЮЕУФЧП ФПЮЕЛ: 10**6    PI=3.142204
юЙУМП ФПЮЕЛ 1000000, ЧТЕНС ТБУЮЕФБ ПЛПМП 20 УЕЛ.

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

тБЪТБВПФЛБ РПМШЪПЧБФЕМШУЛЙИ ЛМБУУПЧ

рТЙНЕТ РТПЗТБННЩ ОБ СЪЩЛЕ Ruby, ДЕНПОУФТЙТХАЭЙК ТБВПФХ У ЛМБУУБНЙ, ХЦЕ РТЙЧПДЙМУС Ч ЗМБЧЕ 9. уМЕДХАЭЙК РТЙНЕТ ДЕНПОУФТЙТХЕФ ЙУРПМШЪПЧБОЙЕ ФБЛ ОБЪЩЧБЕНПК РЕТЕНЕООПК ЛМБУУБ, ЛПФПТБС ОЕ РТЙОБДМЕЦЙФ ОЙ ПДОПНХ ЙЪ ЬЛЪЕНРМСТПЧ ДБООПЗП ЛМБУУБ, Б ЙУРПМШЪХЕФУС ДМС ИТБОЕОЙС ЙОЖПТНБГЙЙ, ПФОПУСЭЕКУС ЛП ЧУЕНХ ЛМБУУХ Ч ГЕМПН.

ъБДБЮБ
оБРЙЫЙФЕ РТПЗТБННХ, ПРЙУЩЧБАЭХА ЛМБУУ БЧФПНПВЙМШ Й ДЧБ ЕЗП ДПЮЕТОЙИ ЛМБУУБ: УРПТФЙЧОЩЕ НБЫЙОЩ Й НБЫЙОЩ ДМС УЕНЕКОПЗП ЙУРПМШЪПЧБОЙС. ч РТПЗТБННЕ ОХЦОП РТЕДХУНПФТЕФШ ЧПЪНПЦОПУФШ РЕЮБФЙ ПВЭЕЗП ЮЙУМБ УПЪДБООЩИ БЧФПНПВЙМЕК.

тЕЫЕОЙЕ

рПНЕУФЙФЕ Ч ЖБКМ У ЙНЕОЕН car.rb УМЕДХАЭХА РТПЗТБННХ:

class Car
    @@NUM_CARS = 0
    def initialize
        @@NUM_CARS = @@NUM_CARS +  1
        puts @@NUM_CARS
    end
end
class SportsCar < Car
end
class FamilyCar < Car
end

a = Car.new
b = SportsCar.new
c = FamilyCar.new
дМС ЪБРХУЛБ РТПЗТБННЩ ЧЩРПМОЙФЕ ЛПНБОДХ ruby car.rb. рТЙ УПЪДБОЙЙ ЛБЦДПЗП БЧФПНПВЙМС, ОЕЪБЧЙУЙНП ПФ ФПЗП, Л ЛБЛПНХ (ТПДЙФЕМШУЛПНХ ЙМЙ ДПЮЕТОЕНХ) ЛМБУУХ ПО РТЙОБДМЕЦЙФ, ЪОБЮЕОЙЕ РЕТЕНЕООПК ЛМБУУБ @@NUM_CARS ХЧЕМЙЮЙЧБЕФУС ОБ ЕДЙОЙГХ.

(ъБЗТХЪЙФШ ЖБКМ У РТЙНЕТПН)

ъБДБОЙС

  1. оБРЙЫЙФЕ РТПЗТБННХ, ЪБРТБЫЙЧБАЭХА У ЛМБЧЙБФХТЩ ОБФХТБМШОПЕ ЮЙУМП, ВПМШЫЕЕ 1, Й РЕЮБФБАЭХА УРЙУПЛ ЧУЕИ РТПУФЩИ ОЕУПЛТБФЙНЩИ ДТПВЕК, ЪБЛМАЮЕООЩИ Ч ЙОФЕТЧБМЕ НЕЦДХ 0 Й 1, ЪОБНЕОБФЕМЙ ЛПФПТЩИ ОЕ РТЕЧЩЫБАФ ЧЧЕДЕООПЕ ЮЙУМП. оБРТЙНЕТ, ЕУМЙ ЧЧЕУФЙ ЮЙУМП 4, ФП ДПМЦОБ ВЩФШ ОБРЕЮБФБОБ РПУМЕДПЧБФЕМШОПУФШ 1/2, 1/3, 2/3, 1/4, 3/4. рПДУЛБЪЛБ: ЙУРПМШЪХКФЕ ЖХОЛГЙА ОБИПЦДЕОЙС опд.
  2. уПЪДБКФЕ ФЕЛУФПЧЩК ЖБКМ, Ч ЛПФПТПН ТБЪНЕУФЙФЕ ЖБНЙМЙЙ ХЮБЭЙИУС Й ЙИ ТПУФ Ч УБОФЙНЕФТБИ. оБРЙЫЙФЕ РТПЗТБННХ
    Б) РЕЮБФБАЭХА ЖБНЙМЙА Й ТПУФ УБНЩИ ЧЩУПЛЙИ ХЮЕОЙЛПЧ;
    В) РП ЧЧЕДЕООПНХ ЮЙУМХ - ТПУФХ У УБОФЙНЕФТБИ - РЕЮБФБАЭХА УРЙУПЛ ЧУЕИ ХЮБЭЙИУС, ЮЕК ТПУФ ОЕ РТЕЧЩЫБЕФ ЧЧЕДЕООПЗП ЮЙУМБ.
  3. оБРЙЫЙФЕ РТПЗТБННХ, ЧЩЮЙУМСАЭХА НЕФПДПН нПОФЕ-лБТМП РМПЭБДШ ЛТЙЧПМЙОЕКОПК ФТБРЕГЙЙ, ПЗТБОЙЮЕООПК ЗТБЖЙЛБНЙ ЖХОЛГЙК y=sin(x) Й y=0 (x ЙЪНЕОСЕФУС Ч ЙОФЕТЧБМЕ ПФ 0 ДП PI).


12. рТПЗТБННЙТПЧБОЙЕ Й ЙОФЕТОЕФ

зМБЧБ 12 рТПЗТБННЙТПЧБОЙЕ Й ЙОФЕТОЕФ

уПЪДБОЙЕ РТПЗТБНН ДМС ТБВПФЩ Ч УЕФЙ ЙОФЕТОЕФ ФТЕВХЕФ ХЮЕФБ ТСДБ ПУПВЕООПУФЕК, ЛПФПТЩЕ ОЕ УФПМШ ЪОБЮЙНЩ РТЙ "ПВЩЮОПН" РТПЗТБННЙТПЧБОЙЙ. рТЕЦДЕ ЧУЕЗП ЬФП РТПВМЕНЩ ВЕЪПРБУОПУФЙ - ОЕПВИПДЙНБ ЪБЭЙФБ ЛПНРШАФЕТБ РПМШЪПЧБФЕМС ПФ РПФЕОГЙБМШОП ПРБУОЩИ ДЕКУФЧЙК РПМХЮЕООПК ЙЪ УЕФЙ РТПЗТБННЩ. чФПТЩН ЧБЦОЩН НПНЕОФПН СЧМСЕФУС ФТЕВПЧБОЙЕ НЕЦРМБФЖПТНЕООПУФЙ ЙУРПМШЪХЕНПЗП СЪЩЛБ - РТПЗТБННЩ ДПМЦОЩ ТБВПФБФШ Х ЛБЦДПЗП ЙЪ РПМШЪПЧБФЕМЕК УЕФЙ ЙОФЕТОЕФ ЧОЕ ЪБЧЙУЙНПУФЙ ПФ ФЙРБ ХУФБОПЧМЕООПК ОБ ЛПНРШАФЕТЕ пу.

пВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩК СЪЩЛ Java ВЩМ ТБЪТБВПФБО У ХЮЕФПН ЬФЙИ Й ДТХЗЙИ ПУПВЕООПУФЕК РТПЗТБННЙТПЧБОЙС Ч ЙОФЕТОЕФ. ъОБЛПНУФЧХ У ОЙН Й РПУЧСЭЕОБ ПУОПЧОБС ЮБУФШ ЬФПК ЗМБЧЩ. чБЦОП РПОЙНБФШ, ЮФП ЙЪМБЗБЕНЩК ОЙЦЕ НБФЕТЙБМ ОЕ СЧМСЕФУС ЛХТУПН ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООПЗП РТПЗТБННЙТПЧБОЙС ОБ СЪЩЛЕ Java, Б МЙЫШ ЙММАУФТЙТХЕФ ФЕУОХА ЧЪБЙНПУЧСЪШ СЪЩЛПЧ НЙТБ ппр.

дБМЕЕ ТБУУНБФТЙЧБАФУС ЛБЛ ПВЭЙЕ ЮЕТФЩ СЪЩЛПЧ Ruby Й Java, ФБЛ Й ОБЙВПМЕЕ ЧБЦОЩЕ ЙИ ТБЪМЙЮЙС. рТЙ ЬФПН ПУОПЧОПЕ ЧОЙНБОЙЕ ХДЕМСЕФУС РТПВМЕНЕ РЕТЕЧПДБ ТБЪПВТБООЩИ Ч РТЕДЩДХЭЕК ЗМБЧЕ РТПЗТБНН ОБ СЪЩЛ Java.

фПМШЛП Ч УБНПН ЛПОГЕ ЗМБЧЩ ЮЙФБФЕМШ ЪОБЛПНЙФУС У БРМЕФБНЙ - ТБЪОПЧЙДОПУФША РТПЗТБНН, РТЕДОБЪОБЮЕООЩНЙ УРЕГЙБМШОП ДМС ТБВПФЩ Ч УЕФЙ. фБН ЦЕ ПЮЕОШ ЛТБФЛП ТБУУЛБЪЩЧБЕФУС ПВ ПУОПЧОЩИ ЧУФТПЕООЩИ ЛМБУУБИ СЪЩЛБ JavaScript - ЕЭЕ ПДОПЗП СЪЩЛБ ЙОФЕТОЕФ, ОБЮБМШОЩЕ УЧЕДЕОЙС П ЛПФПТПН ВЩМЙ ДБОЩ Ч ЛПОГЕ РЕТЧПК ЮБУФЙ ЛОЙЗЙ.


сЪЩЛ РТПЗТБННЙТПЧБОЙС Java

сЪЩЛ РТПЗТБННЙТПЧБОЙС Java СЧМСЕФУС УПЧТЕНЕООЩН ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩН СЪЩЛПН, РТЕДПУФБЧМСАЭЙН РТПЗТБННЙУФХ ВПЗБФЩК ОБВПТ ЛМБУУПЧ ТБЪМЙЮОЩИ ПВЯЕЛФПЧ, ЛПФПТЩЕ ЪОБЮЙФЕМШОП ХРТПЭБАФ РТПГЕУУ ТБЪТБВПФЛЙ. чУЕ РТПЗТБННЩ ОБ СЪЩЛЕ Java НПЦОП ТБЪДЕМЙФШ ОБ ДЧЕ ВПМШЫЙЕ ЗТХРРЩ.

л РЕТЧПК ЙЪ ОЙИ ПФОПУСФУС РТЙМПЦЕОЙС, РТЕДОБЪОБЮЕООЩЕ ДМС БЧФПОПНОПК ТБВПФЩ РПД ХРТБЧМЕОЙЕН ЧЙТФХБМШОПК НБЫЙОЩ Java. ьФП ПВЩЮОЩЕ РТПЗТБННЩ, ЪБРХУЛБЕНЩЕ ОБ ЛПНРШАФЕТЕ РПМШЪПЧБФЕМС, УРПУПВОЩЕ ТБВПФБФШ Ч МАВПК ПРЕТБГЙПООПК УЙУФЕНЕ.

чФПТБС ЗТХРРБ - ЬФП ФБЛ ОБЪЩЧБЕНЩЕ БРМЕФЩ (applets). йНЕООП ВМБЗПДБТС ЙН СЪЩЛ Java ФБЛ РПРХМСТЕО Ч УЕФЙ ЙОФЕТОЕФ. бРМЕФЩ РТЕДУФБЧМСАФ УПВПК ТБЪОПЧЙДОПУФШ РТПЗТБНН, ЛПФПТЩЕ РЕТЕДБАФУС РП УЕФЙ ЛМЙЕОФХ Й ТБВПФБАФ РПД ХРТБЧМЕОЙЕН ВТБХЪЕТБ (ФПЮОЕЕ, ЧЙТФХБМШОПК НБЫЙОЩ, ЧУФТПЕООПК РТБЛФЙЮЕУЛЙ ЧП ЧУЕ УПЧТЕНЕООЩЕ ВТБХЪЕТЩ).

Java, СЧМССУШ РТПЖЕУУЙПОБМШОЩН СЪЩЛПН, РПЪЧПМСЕФ РЙУБФШ ВПМШЫЙЕ Й УМПЦОЩЕ РТПЗТБННЩ, ЪБЮБУФХА УПУФПСЭЙЕ ЙЪ УПФЕО ЛМБУУПЧ Й ДЕУСФЛПЧ ЖБКМПЧ. нЩ ЦЕ Ч ДБМШОЕКЫЕН ЙЪМПЦЕОЙЙ ВХДЕН ПТЙЕОФЙТПЧБФШУС ФПМШЛП ОБ ОЕВПМШЫЙЕ РТЙМПЦЕОЙС, УПДЕТЦБЭЙЕ, ЛБЛ РТБЧЙМП, ЕДЙОУФЧЕООЩК ЛМБУУ.


пФ Ruby Л Java

Java Й Ruby - УИПЦЙЕ РП УФТХЛФХТЕ СЪЩЛЙ. пУОПЧОЩНЙ УФТПЙФЕМШОЩНЙ ВМПЛБНЙ ПВПЙИ СЪЩЛПЧ СЧМСАФУС РЕТЕНЕООЩЕ, ПРЕТБФПТЩ, НЕФПДЩ Й ЛМБУУЩ. хУМПЧОЩЕ ПРЕТБФПТЩ, ПРЕТБФПТЩ ГЙЛМБ, Й ПРЕТБГЙЙ ЧЧПДБ/ЧЩЧПДБ ТБВПФБАФ БОБМПЗЙЮОП, ТБЪМЙЮБСУШ МЙЫШ УРПУПВПН ОБРЙУБОЙС (УЙОФБЛУЙЮЕУЛЙ).

ч ФП ЦЕ ЧТЕНС ЙНЕЕФУС ГЕМЩК ТСД УХЭЕУФЧЕООЩИ ПФМЙЮЙК, ЧБЦОЕКЫЙЕ ЙЪ ЛПФПТЩИ РЕТЕЮЙУМЕОЩ ОЙЦЕ.

  • ч СЪЩЛЕ Java ОЕ УХЭЕУФЧХЕФ ЗМПВБМШОЩИ ЖХОЛГЙК Й РЕТЕНЕООЩИ, ЧЕУШ ЛПД РТПЗТБННЩ УПДЕТЦЙФУС Ч ПДОПН ЙМЙ ОЕУЛПМШЛЙИ ЛМБУУБИ.
  • чЩРПМОЕОЙЕ РТПЗТБННЩ ОБЮЙОБЕФУС У НЕФПДБ main, ЛПФПТЩК ПВСЪБО ОБИПДЙФШУС Ч ЛМБУУЕ, ХЛБЪБООПН ЙОФЕТРТЕФБФПТХ java Ч ЛБЮЕУФЧЕ РБТБНЕФТБ, Ч ФП ЧТЕНС ЛБЛ РТПЗТБННЩ ОБ Ruby ЧЩРПМОСАФУС РПУМЕДПЧБФЕМШОП, УФТПЛБ ЪБ УФТПЛПК, ОБЮЙОБС У РЕТЧПК.
  • чУЕ, У ЮЕН ТБВПФБЕФ РТПЗТБННБ ОБ Ruby, РТЕДУФБЧМСЕФ УПВПК ПВЯЕЛФЩ, Б Ч СЪЩЛЕ Java ЮЙУМБ, УЙНЧПМЩ, Й МПЗЙЮЕУЛЙЕ ЧЕМЙЮЙОЩ ПВЯЕЛФБНЙ ОЕ СЧМСАФУС.
  • чУЕ ПРЕТБФПТЩ Java ПВСЪБОЩ ЪБЧЕТЫБФШУС УЙНЧПМПН ; (ФПЮЛБ У ЪБРСФПК).
  • рЕТЕНЕООЩЕ Ч СЪЩЛЕ Java ФТЕВХАФ РТЕДЧБТЙФЕМШОПЗП ПВЯСЧМЕОЙС РЕТЕД ЙИ ЙУРПМШЪПЧБОЙЕН. рТЙ ПВЯСЧМЕОЙЙ ХЛБЪЩЧБАФУС ФЙР РЕТЕНЕООПК Й ЕЕ ЙНС, Б Ч ДБМШОЕКЫЕН РЕТЕНЕООПК ОЕМШЪС РТЙУЧБЙЧБФШ ЪОБЮЕОЙС ЙОЩИ ФЙРПЧ. сЪЩЛ Ruby ВЕЪФЙРПЧЩК Й ОЕ РТЕДРПМБЗБЕФ ПВЯСЧМЕОЙС РЕТЕНЕООЩИ.

рП ХУФБОПЧЙЧЫЕКУС ФТБДЙГЙЙ Ч ЛБЮЕУФЧЕ РЕТЧПК ЪБДБЮЙ ТБУУНПФТЙН РТПЗТБННХ, ЧЩЧПДСЭХА ОБ ЬЛТБО УФТПЛХ ФЕЛУФБ "ъДТБЧУФЧХК, НЙТ!"

/* лМБУУ Hello ТБЪНЕЭЕО Ч ЖБКМЕ Hello.java */

public class Hello {
  public static void main(String[] args) {
    // БОБМПЗЙЮОП puts
    System.out.println("ъДТБЧУФЧХК, НЙТ!");
  }
}

нЕФПД println aОБМПЗЙЮЕО ЖХОЛГЙЙ puts СЪЩЛБ Ruby Й РТЙЧПДЙФ Л ЧЩЧПДХ ОБ ЬЛТБО ДЙУРМЕС ХЛБЪБООПК УФТПЛЙ. бТЗХНЕОФЩ МАВПЗП НЕФПДБ Ч СЪЩЛЕ Java ЧУЕЗДБ ЪБЛМАЮБАФУС Ч ЛТХЗМЩЕ УЛПВЛЙ Й ТБЪДЕМСАФУС ЪБРСФЩНЙ. пВЯСУОЕОЙЕ ФПЗП, ЮФП ПЪОБЮБАФ ЛМАЮЕЧЩЕ УМПЧБ public, static Й ДТХЗЙЕ ПФМПЦЙН ОБ РПФПН, Б РПЛБ РТПУФП ВХДЕН УЮЙФБФШ, ЮФП ФБЛ ОБДП РЙУБФШ ЧУЕЗДБ.

фЕМП НЕФПДБ main, ФБЛ ЦЕ ЛБЛ Й МАВПЗП ДТХЗПЗП НЕФПДБ Java, ТБЪНЕЭБЕФУС НЕЦДХ ЖЙЗХТОЩНЙ УЛПВЛБНЙ. ч ОЕН ОБИПДЙФУС РПУМЕДПЧБФЕМШОПУФШ ПВЯСЧМЕОЙК, ПРЕТБФПТПЧ Й ЧЩЪПЧПЧ НЕФПДПЧ. лБЦДПЕ ПВЯСЧМЕОЙЕ, ПРЕТБФПТ ЙМЙ ЧЩЪПЧ ПВСЪБОЩ ЪБЛБОЮЙЧБФШУС УЙНЧПМПН ; (ФПЮЛБ У ЪБРСФПК). пДОПУФТПЮОЩК ЛПННЕОФБТЙК ОБЮЙОБЕФУС У ДЧХИ ЙДХЭЙИ РПДТСД УЙНЧПМПЧ /, НОПЗПУФТПЮОЩК ЪБЛМАЮБЕФУС НЕЦДХ /* Й */.

рТПЗТБННБ ДПМЦОБ УПДЕТЦБФШУС Ч ЖБКМЕ, ЙНЕАЭЕН ТБУЫЙТЕОЙЕ java, Б ЕЗП ЙНС ПВСЪБОП УПЧРБДБФШ У ЙНЕОЕН ЛМБУУБ, ПРЙУБООПЗП Ч ОЕН.

дМС ФПЗП ЮФПВЩ ПФЛПНРЙМЙТПЧБФШ Й ЪБРХУФЙФШ ХЛБЪБООХА ЧЩЫЕ РТПЗТБННХ, ОЕПВИПДЙНП ЧЩРПМОЙФШ УМЕДХАЭХА РПУМЕДПЧБФЕМШОПУФШ ЛПНБОД:

javac Hello.java
java  Hello

лПНБОДБ javac ЛПНРЙМЙТХЕФ РТПЗТБННХ Й РПТПЦДБЕФ ЖБКМ Hello.class, УПДЕТЦБЭЙК ФБЛ ОБЪЩЧБЕНЩК ВБКФ-ЛПД. чФПТБС ЙЪ РТЙЧЕДЕООЩИ ЛПНБОД ЪБРХУЛБЕФ ЙОФЕТРТЕФБФПТ ВБКФ-ЛПДБ, ЛПФПТЩК ЙЭЕФ ХЛБЪБООЩК ЛМБУУ (Ч ДБООПН УМХЮБЕ Hello) Й ЧЩРПМОСЕФ ЕЗП, ОБЮЙОБС У НЕФПДБ main.


рЕТЕНЕООЩЕ Й ФЙРЩ

лБЦДБС РЕТЕНЕООБС СЪЩЛБ Java ЙНЕЕФ УЧПК ФЙР, ПРТЕДЕМСАЭЙК ЛБЛ НОПЦЕУФЧП ЪОБЮЕОЙК, ЛПФПТПЕ ПОБ НПЦЕФ РТЙОЙНБФШ, ФБЛ Й ОБВПТ ПРЕТБГЙК, ЧЩРПМОЙНЩИ ОБД ОЕК. дМС ФПЗП ЮФПВЩ ЙУРПМШЪПЧБФШ РЕТЕНЕООХА, ЕЕ ОЕПВИПДЙНП ПВЯСЧЙФШ. пВЯСЧМЕОЙЕ - ЬФП ЙОУФТХЛГЙС (statement), ЛПФПТБС ЧЧПДЙФ ЙНС Ч РТПЗТБННЕ Й ХЛБЪЩЧБЕФ ЕЗП ФЙР. оБРТЙНЕТ, ПВЯСЧМЕОЙЕ

int i;
ХЛБЪЩЧБЕФ, ЮФП РЕТЕНЕООБС i РТЕДОБЪОБЮЕОБ ДМС ИТБОЕОЙС ГЕМЩИ ЮЙУЕМ ПЗТБОЙЮЕООПЗП ДЙБРБЪПОБ (ПФ -231 = -2147483648 ДП 231-1 = 2147483647).

Java ЙУРПМШЪХЕФ ФЙРЩ ДЧХИ ЧЙДПЧ: РТПУФЩЕ Й УУЩМПЮОЩЕ. рТПУФЩЕ ФЙРЩ - ЬФП ЮЙУМБ, УЙНЧПМЩ Й МПЗЙЮЕУЛЙЕ ЧЕМЙЮЙОЩ, Б УУЩМПЮОЩЕ - ЬФП ПВЯЕЛФЩ Й НБУУЙЧЩ. дМС ПВЯСЧМЕОЙС РЕТЕНЕООЩИ РТПУФЩИ ФЙРПЧ ЙУРПМШЪХАФУС УМЕДХАЭЙЕ ЛМАЮЕЧЩЕ УМПЧБ (ЬФП ОЕ РПМОЩК УРЙУПЛ):

  • boolean - МПЗЙЮЕУЛЙК, НПЦЕФ РТЙОЙНБФШ ДЧБ ЪОБЮЕОЙС true (ЙУФЙОБ) Й false (МПЦШ);
  • char - УЙНЧПМШОЩК;
  • int - ГЕМЩК;
  • double - ДЕКУФЧЙФЕМШОЩК.

дМС ЛБЦДПЗП ФЙРБ УФТПЗП ПРТЕДЕМЕООЩ ОБВПТЩ ДПРХУФЙНЩИ ЪОБЮЕОЙК Й ТБЪТЕЫЕООЩИ ПРЕТБГЙК. оБРТЙНЕТ, ДМС ФЙРПЧ int Й double ПРЕТБГЙС УМПЦЕОЙС ПРТЕДЕМЕОБ, Б ДМС ФЙРБ boolean - ОЕФ. лБЛ РТБЧЙМП, РЕТЕНЕООПК ПДОПЗП ФЙРБ ОЕМШЪС РТЙУЧБЙЧБФШ ЪОБЮЕОЙЕ ДТХЗПЗП:

// пЫЙВЛБ, ЮЙУМП ДПМЦОП ВЩФШ ГЕМЩН
int i = 30.0;

йЪ РТЙЧЕДЕООПЗП РТБЧЙМБ ЕУФШ ЙУЛМАЮЕОЙС: Ч СЪЩЛЕ Java, ОБРТЙНЕТ, РТПЙЪЧПДЙФУС БЧФПНБФЙЮЕУЛПЕ РТЕПВТБЪПЧБОЙЕ ЙЪ ГЕМПЗП ЮЙУМБ Ч ДЕКУФЧЙФЕМШОПЕ.

// БЧФПНБФЙЮЕУЛПЕ РТЕПВТБЪПЧБОЙЕ
double a = 1, b = 1.0;

ч СЪЩЛЕ Java, ЛБЛ Й Ч Ruby, ТЕЪХМШФБФ ЧЩРПМОЕОЙС БТЙЖНЕФЙЮЕУЛПК ПРЕТБГЙЙ ОБД ГЕМЩНЙ ЮЙУМБНЙ ФБЛЦЕ ВХДЕФ ГЕМЩН ЮЙУМПН, ОБРТЙНЕТ, РТЙ ДЕМЕОЙЙ РТПЙЪПКДЕФ РПФЕТС ДТПВОПК ЮБУФЙ ТЕЪХМШФБФБ. дМС ФПЗП ЮФПВЩ ЙЪВЕЦБФШ ЬФПЗП ОЕПВИПДЙНП ИПФС ВЩ ПДЙО ЙЪ ПРЕТБОДПЧ РТЙОХДЙФЕМШОП РТЕПВТБЪПЧБФШ Л ДЕКУФЧЙФЕМШОПНХ ФЙРХ:
Ruby Java
i = 2
j = 3
delta = i.to_f / j

int i = 2;
int j = 3;
double delta = (double) i / j;
пВЭЙК ЧЙД ПРЕТБФПТБ РТЕПВТБЪПЧБОЙС ФЙРБ Ч СЪЩЛЕ Java ФБЛПЧ:

(ЙНСфЙРБ) ПРЕТБОД
фБЛ, Ч УМЕДХАЭЕН РТЙНЕТЕ ВХДЕФ ОБРЕЮБФБОП ЮЙУМП 29.
double a = 29.99999;
int    i = (int) a;
System.out.println(i);

ч Ruby ЙНС ОЕЙЪНЕОСЕНПК РЕТЕНЕООПК (ЛПОУФБОФЩ) ДПМЦОП ОБЮЙОБФШУС У ВПМШЫПК ВХЛЧЩ. рТЙ ПВЯСЧМЕОЙЙ РПДПВОПК РЕТЕНЕООПК Ч Java РЕТЕД ОБЪЧБОЙЕН ЕЕ ФЙРБ ОЕПВИПДЙНП ОБРЙУБФШ ЛМАЮЕЧПЕ УМПЧП final.

сЪЩЛ Java ОЕ ДПРХУЛБЕФ НОПЦЕУФЧЕООПЗП РТЙУЧБЙЧБОЙС, РПЬФПНХ ДМС ПВНЕОБ ЪОБЮЕОЙК ДЧХИ РЕТЕНЕООЩИ ПВЩЮОП ЙУРПМШЪХЕФУС ФТЕФШС.

рТЙНЕТ
уПЪДБКФЕ ЖБКМ TestSwap.java, Ч ЛПФПТЩК РПНЕУФЙФЕ УМЕДХАЭХА РТПЗТБННХ.

/* ПВНЕО ЪОБЮЕОЙК ДЧХИ РЕТЕНЕООЩИ
   Ч Ruby:  i, j = j, i
*/
class TestSwap {
  public static void main(String[] args) {
    int i, j, tmp;
    i = 10;
    j = 20;
    System.out.println("дП ПВНЕОБ:");
    System.out.println("  i="+i+", j="+j);
    tmp = i;
    i = j;
    j = tmp;
    System.out.println("рПУМЕ ПВНЕОБ:");
    System.out.println("  i="+i+", j="+j);
  }
}

сЪЩЛ Java, ФБЛ ЦЕ ЛБЛ Й Ruby, РПДДЕТЦЙЧБЕФ РТЙУЧБЙЧБОЙЕ У ПРЕТБГЙЕК, ЙНЕАЭЕЕ БОБМПЗЙЮОЩК УЙОФБЛУЙУ. дПУФБФПЮОП ЮБУФП Ч ОЕН ЙУРПМШЪХАФУС ПРЕТБГЙЙ БЧФПХЧЕМЙЮЕОЙС Й БЧФПХНЕОШЫЕОЙС. пРЕТБГЙС ++ ХЧЕМЙЮЙЧБЕФ ЪОБЮЕОЙЕ РЕТЕНЕООПК ОБ ЕДЙОЙГХ, Б ПРЕТБГЙС -- ХНЕОШЫБЕФ.

int i = 0;
int j = 1;
i++;
j--;
// i = 1, j = 0
System.out.println("i="+i+", j="+j);
пРЕТБОДПН БЧФПХЧЕМЙЮЕОЙС Й БЧФПХНЕОШЫЕОЙС ОЕ НПЗХФ СЧМСФШУС ЛПОУФБОФЩ ЙМЙ ЧЩТБЦЕОЙС:
5++;        // ПЫЙВЛБ, ТБВПФБ У ЛПОУФБОФПК
(j + i)++;  // ПЫЙВЛБ, ТБВПФБ У ЧЩТБЦЕОЙЕН

йУРПМШЪХАФУС ДЧЕ ЖПТНЩ ЪБРЙУЙ ЬФЙИ ПРЕТБГЙК: РПУФЖЙЛУОБС (i++) - ХЧЕМЙЮЕОЙЕ ЪОБЮЕОЙС ПРЕТБОДБ ОБ ЕДЙОЙГХ РПУМЕ ЕЗП ЙУРПМШЪПЧБОЙС Й РТЕЖЙЛУОБС (++i) - ХЧЕМЙЮЕОЙЕ ЪОБЮЕОЙС ДП ЙУРПМШЪПЧБОЙС.

рТЙНЕТ
(УЛБЮБФШ ЖБКМ У РТПЗТБННПК)

class TestInc {
  public static void main(String[] args) {
    int i = 10, j = 10;
    int tmpi = i++; // РПУФЖЙЛУОБС ЖПТНБ
    int tmpj = ++j; // РТЕЖЙЛУОБС  ЖПТНБ

    // tmpi = 10, i = 11
    System.out.println("tmpi="+tmpi+", i="+i);
    // tmpj = 11, j = 11
    System.out.println("tmpj="+tmpj+", j="+j);
  }
}

рТЙНЕТ
уМЕДХАЭБС РТПЗТБННБ РЕЮБФБЕФ ЮЙУМП, РПМХЮБАЭЕЕУС РТЙ РЕТЕУФБОПЧЛЕ ГЙЖТ УПФЕО Й ЕДЙОЙГ ЪБДБООПЗП ФТЕИЪОБЮОПЗП ЮЙУМБ.

class TestNumber {
  public static void main(String[] args) {
    int  number = 342;
    int  n1, n2, n3;
    int  answer;

    n1 = number / 100;       // ЮЙУМП УПФЕО
    n2 = (number / 10) % 10; // ЮЙУМП ДЕУСФЛПЧ
    n3 = number % 10;        // ЮЙУМП ЕДЙОЙГ
    answer = n3 * 100 + n2 * 10 + n1;

    System.out.println("йУИПДОПЕ ЮЙУМП ТБЧОП "+number);
    System.out.println("тЕЪХМШФБФ "+answer);
  }
}
уТБЧОЕОЙЕ ЬФПК РТПЗТБННЩ У РТЙЧЕДЕООПК Ч РТЕДЩДХЭЕК ЗМБЧЕ РТПЗТБННПК ОБ СЪЩЛЕ Ruby, ТЕЫБАЭЕК ФХ ЦЕ ЪБДБЮХ, ЧЕУШНБ РПХЮЙФЕМШОП.

ч СЪЩЛЕ Java, ЛБЛ Й Ч Ruby, ЙУРПМШЪХАФУС УФТПЛЙ (ЬЛЪЕНРМСТЩ ЛМБУУБ String). дМС ОЙИ ПРТЕДЕМЕОБ ПРЕТБГЙС + (ЛПОЛБФЕОБГЙС), ЛПФПТБС ОЕ ФПМШЛП "УЛМЕЙЧБЕФ" УФТПЛХ УП УФТПЛПК, ОП РПЪЧПМСЕФ ФБЛЦЕ "РПДЛМЕЙФШ" Л УФТПЛЕ ЮЙУМП ЙМЙ УЙНЧПМ.

class TestString {
  public static void main(String[] args) {
    int a = 1;
    double b = 11.5;
    char c = 'c';
    String str = "уФТПЛБ + ";
    str += "ГЕМПЕ ЮЙУМП: " + a +
             ", ДЕКУФЧЙФЕМШОПЕ: " + b;
    System.out.println(str);
    // ЛПОЛБФЕОБГЙС ЧОХФТЙ println
    System.out.println("a=" + a + ", b=" +
                        b + ", c=" + c);
  }
}
лБЛ ЧЙДОП ЙЪ ЬФПЗП РТЙНЕТБ РТЙ ЪБДБОЙЙ УЙНЧПМПЧ (ФЙР char) ЙИ ЪБЛМАЮБАФ Ч БРПУФТПЖЩ.

бОБМПЗЙЮОП Ruby ДЧБ РПДТСД ЙДХЭЙИ УЙНЧПМБ \ ЧОХФТЙ УФТПЛЙ ЪБНЕОСАФУС ОБ ПДЙО, Б ДМС ТБЪНЕЭЕОЙС УЙНЧПМБ ЛБЧЩЮЛЙ ЧОХФТЙ УФТПЛЙ ЕЗП ОЕПВИПДЙНП ЬЛТБОЙТПЧБФШ.

System.out.println("рТЙ\\ЧЕФ");
System.out.println("уЕЗПДОС \"чФПТОЙЛ\"");

ч ПФМЙЮЙЙ ПФ Ruby УПДЕТЦЙНПЕ УФТПЛЙ Ч СЪЩЛЕ Java ЙЪНЕОЙФШ ОЕМШЪС, ПДОБЛП УХЭЕУФЧХАФ НЕФПДЩ, ЛПФПТЩЕ УПЪДБАФ ОПЧЩК ПВЯЕЛФ String У ОХЦОЩН ЪОБЮЕОЙЕН.

оБЪОБЮЕОЙЕ Й РТЙНЕТ ЙУРПМШЪПЧБОЙС НЕФПДБ тЕЪХМШФБФ
charAt чПЪЧТБЭБЕФ УЙНЧПМ (char), ОБИПДСЭЙКУС ОБ ХЛБЪБООПК РПЪЙГЙЙ
"рТЙЧЕФ".charAt(2)

'Й'
concatпВЯЕДЙОСЕФ ДЧЕ УФТПЛЙ
"ab".concat("cd")
"abcd"
length чПЪЧТБЭБЕФ ДМЙОХ УФТПЛЙ
"ab".length()

2
indexOf чПЪЧТБЭБЕФ ОПНЕТ РПЪЙГЙЙ, ЗДЕ УФТПЛБ "cd" ЧРЕТЧЩЕ ЧУФТЕЮБЕФУС Ч "abcdabcd"; НПЦОП ХЛБЪЩЧБФШ ОПНЕТ РПЪЙГЙЙ, У ЛПФПТПК ОБЮЙОБЕФУС РПЙУЛ
"abcdabcd".indexOf("bc")
"abcdabcd".indexOf("cd",3)

2
6
lastIndexOf чПЪЧТБЭБЕФ ОПНЕТ РПУМЕДОЕК РПЪЙГЙЙ ЧИПЦДЕОЙС РПДУФТПЛЙ "cd"
"abcdabcd".lastIndexOf("cd")
"abcdabcd".lastIndexOf("cd",0)
6
6
replace чПЪЧТБЭБЕФ УФТПЛХ, Ч ЛПФПТПК ЧУЕ УЙНЧПМЩ 'b' ЪБНЕОЕОЩ ОБ 'B';
ПВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП Ч ЛБЮЕУФЧЕ БТЗХНЕОФПЧ ЙУРПМШЪХАФУС УЙНЧПМЩ (char), Б ОЕ УФТПЛЙ
"abcabc".replace('b','B')

"aBcaBc"
trim чПЪЧТБЭБЕФ ЛПРЙА ДБООПК УФТПЛЙ, Ч ЛПФПТПК ХДБМЕООЩ ЧУЕ ЧЕДХЭЙЕ Й ЪБЧЕТЫБАЭЙЕ РТПВЕМЩ
" ab ".trim()
"ab"
substring чПЪЧТБЭБЕФ РПДУФТПЛХ
"abcd".substring(1)
"abcd".substring(1,2)
"bc"
"bcd"


нБУУЙЧЩ Й ЧЧПД ДБООЩИ

нБУУЙЧЩ Ч СЪЩЛЕ Java ПЮЕОШ РПИПЦЙ ОБ НБУУЙЧЩ Ч Ruby, ОП ЧУЕ ЙИ ЬМЕНЕОФЩ ПВСЪБОЩ ЙНЕФШ ПДЙО Й ФПФ ЦЕ ФЙР. дТХЗЙНЙ УМПЧБНЙ, ЧПЪНПЦЕО НБУУЙЧ ГЕМЩИ ЮЙУЕМ ЙМЙ НБУУЙЧ УФТПЛ, ОП ОЕДПРХУФЙН НБУУЙЧ, УПДЕТЦБЭЙК Й ФП Й ДТХЗПЕ. лБЛ Й ЧУЕ ДТХЗЙЕ РЕТЕНЕООЩЕ, НБУУЙЧ ДПМЦЕО ВЩФШ ПВЯСЧМЕО ДП УЧПЕЗП ЙУРПМШЪПЧБОЙС.

рПД НБУУЙЧ ФТЕВХЕФУС ЧЩДЕМЙФШ РБНСФШ, ХЛБЪБЧ ЛПМЙЮЕУФЧП ЬМЕНЕОФПЧ Ч ОЕН, ЛПФПТПЕ Ч ДБМШОЕКЫЕН ЙЪНЕОЙФШ ОЕМШЪС. пФНЕФЙН, ЮФП ЛБЦДЩК ЙЪ ЬМЕНЕОФПЧ НБУУЙЧБ ГЕМЩИ ЮЙУЕМ, РП ХНПМЮБОЙА, ВХДЕФ ТБЧЕО ОХМА.

Ruby Java
пВЯСЧМЕОЙЕ НБУУЙЧБ
myArray = []

int myArray[];
чЩДЕМЕОЙЕ РБНСФЙ
myArray = Array.new(10)

myArray = new int[10];
йОЙГЙБМЙЪБГЙС НБУУЙЧБ
myArray[0] = 10
myArray[5] = 100

myArray[0] = 10;
myArray[5] = 100;
пВЯСЧМЕОЙЕ У ЙОЙГЙБМЙЪБГЙЕК
myArray = [1,2,3,4]

myArray[] = {1,2,3,4};
дМЙОБ НБУУЙЧБ
i = myArray.length

int i = myArray.length;
дПУФХР Л ЬМЕНЕОФХ НБУУЙЧБ
i = myArray[0]

int i = myArray[0];
чЩИПД ЪБ ЗТБОЙГЩ НБУУЙЧБ
i = myArray[1000]
# i = nil

int i = myArray[1000];
// ПЫЙВЛБ
сЪЩЛ Java ДПРХУЛБЕФ УПЧНЕЭЕОЙЕ ПВЯСЧМЕОЙС НБУУЙЧБ У ЧЩДЕМЕОЙЕН РБНСФЙ:
int myArray[] = new int[10];

бОБМПЗЙЮОП Ruby СЪЩЛ Java РПДДЕТЦЙЧБЕФ ТБВПФХ У НОПЗПНЕТОЩНЙ НБУУЙЧБНЙ. л ЬМЕНЕОФБН ФБЛЙИ НБУУЙЧПЧ НПЦОП ДПВТБФШУС, РПУМЕДПЧБФЕМШОП ХЛБЪЩЧБС ЙИ ЙОДЕЛУЩ. оБРТЙНЕТ,

int a[][] = { {1,2,3},
              {4,5,6},
        };
// МЙВП
int b[] = new int [2][3];
b[0][0] = 1; b[0][1] = 2; b[0][2] = 2;
b[1][0] = 4; b[1][1] = 5; b[1][2] = 6;
уТБЧОЙФЕ ЬФП У ЖТБЗНЕОФПН РТПЗТБННЩ ОБ Ruby:
a = [ [1, 2, 3],
      [4, 5, 6],
    ]
// МЙВП
b[0][0] = 1; b[0][1] = 2; b[0][2] = 2;
b[1][0] = 4; b[1][1] = 5; b[1][2] = 6;

чЧПД ДБООЩИ Ч СЪЩЛЕ Java ХУФТПЕО ЪОБЮЙФЕМШОП УМПЦОЕЕ, ЮЕН Ч Ruby. лТПНЕ ФПЗП, РТЙ ЧЧПДЕ ЧПЪНПЦОП ЧПЪОЙЛОПЧЕОЙЕ ФБЛ ОБЪЩЧБЕНЩИ ЙУЛМАЮЙФЕМШОЩИ УЙФХБГЙК (Exception), РПЬФПНХ РТПЗТБННЩ, ЙУРПМШЪХАЭЙЕ ЧЧПД ДБООЩИ, ПВСЪБОЩ УПДЕТЦБФШ ЖТБЗНЕОФЩ ЛПДБ, ПФЧЕЮБАЭЙЕ ЪБ ПВТБВПФЛХ ЙУЛМАЮЙФЕМШОЩИ УЙФХБГЙК. ч РТПУФЕКЫЙИ УМХЮБСИ ЬФП УЧПДЙФУС Л ДПВБЧМЕОЙА ЛПОУФТХЛГЙЙ throws Exception.

рТЙНЕТ
рТЙЧЕДЕН РТПЗТБННХ, ДЕНПОУФТЙТХАЭХА ЧЧПД ДБООЩИ У ЛМБЧЙБФХТЩ У ЙУРПМШЪПЧБОЙЕН ЛМБУУБ BufferedReader.

import java.io.*;

class TestInput {
  public static void main(String[] args)
    throws Exception{
    BufferedReader r = new BufferedReader(
        new InputStreamReader(System.in));

    int a;
    double x;
    String str;

    System.out.print("чЕДЙФЕ УФТПЛХ: ");
    str = r.readLine();
    System.out.print("чЧЕДЙФЕ ГЕМПЕ ЮЙУМП: ");
    a = Integer.parseInt(r.readLine());
    System.out.print("чЧЕДЙФЕ ДЕКУФЧЙФЕМШОПЕ" +
                     " ЮЙУМП: ");
    x = Double.parseDouble(r.readLine());

    System.out.println("str=" + str + ", a=" +
                        a + ", x=" + x);
  }
}

лМАЮЕЧПЕ УМПЧП import УМХЦЙФ ДМС РПДЛМАЮЕОЙС ДПРПМОЙФЕМШОЩИ ВЙВМЙПФЕЛ. ч ОБЫЕН РТЙНЕТЕ РПДЛМАЮБЕФУС РБЛЕФ ЛМБУУПЧ, ПФЧЕЮБАЭЙК ЪБ ЧЧПД/ЧЩЧПД (input/output). BufferedReader УПЪДБЕФ ЧИПДОПК РПФПЛ ДБООЩИ ДМС РПМХЮЕОЙС ЙОЖПТНБГЙЙ У ЛМБЧЙБФХТЩ. нЕФПД readLine, ЪОБЛПНЩК ОБН РП Ruby, ЧПЪЧТБЭБЕФ ЧЧЕДЕООХА УФТПЛХ, Б ЪБНЕОПК НЕФПДПЧ to_i Й to_f (РТЕПВТБЪПЧБОЙК УФТПЛЙ Ч ЮЙУМБ) Ч СЪЩЛЕ Java СЧМСАФУС:

  • Integer.parseInt(str) - ДМС ГЕМЩИ ЮЙУЕМ;
  • Double.parseDouble(str) - ДМС ДЕКУФЧЙФЕМШОЩИ ЮЙУЕМ.

рПУМЕ ЪБРХУЛБ ЬФПК РТПЗТБННЩ ЧЧПД ЛБЦДПК "РПТГЙЙ" ДБООЩИ ЪБЧЕТЫБЕФУС ОБЦБФЙЕН ЛМБЧЙЫЙ Enter.


нЕФПДЩ

чУЕ ЖХОЛГЙЙ СЪЩЛБ Java СЧМСАФУС ЮМЕОБНЙ ЛМБУУПЧ Й, ЛБЛ РТБЧЙМП, ОБЪЩЧБАФУС НЕФПДБНЙ. лБЛ Й Ч Ruby УХЭЕУФЧХАФ НЕФПДЩ ЛМБУУБ Й НЕФПДЩ ЬЛЪЕНРМСТБ, ЛБЦДЩК ЙЪ ЛПФПТЩИ НПЦЕФ ВЩФШ ПВЭЕДПУФХРОЩН (public) ЙМЙ "УЛТЩФЩН" (private).

тБУУНПФТЙН ЧОЙНБФЕМШОЕЕ ПВЯСЧМЕОЙЕ ХЦЕ ОЕПДОПЛТБФОП ЙУРПМШЪПЧБООПЗП ОБНЙ НЕФПДБ main:

public static void main(String[] args)
у ЬФПЗП НЕФПДБ ОБЮЙОБЕФУС ЧЩРПМОЕОЙЕ РТПЗТБННЩ, ПО ЧЩЪЩЧБЕФУС ЙЪЧОЕ ЛМБУУБ Й РПЬФПНХ ДПМЦЕО ЙНЕФШ ЛЧБМЙЖЙЛБФПТ ДПУФХРБ public. еУМЙ НЕФПД ПФНЕЮЕО ЛБЛ private, ФП ЬФП ЗБТБОФЙТХЕФ, ЮФП ПО ВХДЕФ ЙУРПМШЪПЧБФШУС ФПМШЛП ЧОХФТЙ ЛМБУУБ. ч ОБЫЕН ЛХТУЕ НЩ ВХДЕН УПЪДБЧБФШ, Ч ПУОПЧОПН, public НЕФПДЩ.

лМАЮЕЧПЕ УМПЧП static ЙУРПМШЪХЕФУС ФБЛ ЦЕ ЛБЛ Й Ч СЪЩЛЕ Ruby. уФБФЙЮЕУЛЙК НЕФПД ПВЩЮОП ЧЩЪЩЧБЕФУС Ч ЖХОЛГЙПОБМШОПН УФЙМЕ, Б ОЕ БУУПГЙЙТХЕФУС У ЛБЛЙН-МЙВП ЛПОЛТЕФОЩН ЬЛЪЕНРМСТПН ЛМБУУБ. йНЕООП У ФБЛЙНЙ НЕФПДБНЙ НЩ Й ВХДЕН ЙНЕФШ ДЕМП ЮБЭЕ ЧУЕЗП.

лБЛ Й РЕТЕНЕООЩЕ, НЕФПДЩ Ч СЪЩЛЕ Java ПВСЪБФЕМШОП ФТЕВХАФ ХЛБЪБОЙС ФЙРБ ЧПЪЧТБЭБЕНПЗП ЙНЙ ТЕЪХМШФБФБ. ьФП ФЙР ПВЯЕЛФБ, ХЛБЪЩЧБЕНПЗП Ч ПРЕТБФПТЕ return. еУМЙ НЕФПД ОЕ ЧПЪЧТБЭБЕФ ЪОБЮЕОЙС, ФП ПО ДПМЦЕО ЙНЕФШ ФЙР void.

бТЗХНЕОФЩ НЕФПДБ ЪБЛМАЮБАФУС Ч ЛТХЗМЩЕ УЛПВЛЙ, ПФДЕМСАФУС ДТХЗ ПФ ДТХЗБ ЪБРСФЩНЙ Й ФБЛЦЕ ФТЕВХАФ ПВСЪБФЕМШОПЗП ПВЯСЧМЕОЙС ЙИ ФЙРБ.

рТЙНЕТ
тБУУНПФТЙН РТПЗТБННХ, ЛПФПТБС ПРТЕДЕМСЕФ Й ЙУРПМШЪХЕФ УФБФЙЮЕУЛЙК НЕФПД gets, РТЕДОБЪОБЮЕООЩК ДМС ЧЧПДБ ДБООЩИ У ЛМБЧЙБФХТЩ.

import java.io.*;

class TestGets {
  public static String gets() throws Exception {
    BufferedReader r = new BufferedReader(
        new InputStreamReader(System.in));
    return r.readLine();
  }

  public static void main(String[] args)
    throws Exception{
    System.out.print("чЧЕДЙФЕ ГЕМПЕ ЮЙУМП: ");
    int a=Integer.parseInt(gets());
    System.out.println("a="+a);
  }
}

рТЙНЕТ
уМЕДХАЭБС РТПЗТБННБ ПРТЕДЕМСЕФ УФБФЙЮЕУЛЙК НЕФПД area ДМС ЧЩЮЙУМЕОЙС РМПЭБДЙ РТСНПХЗПМШОЙЛБ.

class TestArea {
  public static void main(String[] args) {
    double a = area(10.0, 5.5);
    System.out.println(a);
  }

  // РМПЭБДШ РТСНПХЗПМШОЙЛБ
  public static double area(double w, double h) {
      double res = w * h;
      return res;
   }
}

ъБДБОЙС

  1. тЕБМЙЪХКФЕ УФБФЙЮЕУЛЙК НЕФПД d(int a, int b, int c), ЛПФПТЩК ЧПЪЧТБЭБЕФ ДЙУЛТЙНЙОБОФ b2-4*a*c ЛЧБДТБФОПЗП ХТБЧОЕОЙС.
  2. тЕБМЙЪХКФЕ НЕФПД, ЛПФПТЩК РП РПТСДЛПЧПНХ ОПНЕТХ ДОС ОЕДЕМЙ РЕЮБФБЕФ ЕЗП ОБЪЧБОЙЕ. рТЙ ТЕЫЕОЙЙ ЧПУРПМШЪХКФЕУШ НБУУЙЧПН.


пРЕТБФПТЩ ЧЕФЧМЕОЙС Й ГЙЛМЩ

хУМПЧОЩК ПРЕТБФПТ БОБМПЗЙЮeО ХУМПЧОПНХ ПРЕТБФПТХ Ruby, ЕЗП ПВЭБС ЖПТНБ ФБЛПЧБ:

if (МПЗЙЮЕУЛПЕчЩТБЦЕОЙЕ) {
  . . .
} else {
  . . .
}
ъДЕУШ МПЗЙЮЕУЛПЕчЩТБЦЕОЙЕ НПЦЕФ ВЩФШ МАВЩН ЖТБЗНЕОФПН ЛПДБ, ТЕЪХМШФБФПН ЧЩЮЙУМЕОЙС ЛПФПТПЗП СЧМСЕФУС ЧЕМЙЮЙОБ ФЙРБ boolean.

ч Ruby НЩ РПМШЪПЧБМЙУШ ПРЕТБФПТПН elseif. пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП Ч СЪЩЛЕ Java ЕЗП УМЕДХЕФ ЪБНЕОЙФШ ОБ else if:

class TestIf {
  public static void howBig(int i) {
    if (i < 10) {
      System.out.println ("НЕОШЫЕ 10");
    } else if (i < 20) {
      System.out.println ("НЕЦДХ 10 Й 20");
    } else if (i < 30) {
      System.out.println ("НЕЦДХ 20 Й 30");
    } else {
      System.out.println( "ВПМШЫЕ ЙМЙ ТБЧОП 30" );
    }
  }

  public static void main(String[] args) {
    howBig(7);
    howBig(15);
    howBig(23);
    howBig(105);
  }
}
(ЪБЗТХЪЙФШ РТПЗТБННХ)

фЕМП ПРЕТБФПТБ ОЕ ПВСЪБФЕМШОП ЪБЛМАЮБФШ Ч ЖЙЗХТОЩЕ УЛПВЛЙ, ЕУМЙ ПОП УПУФПЙФ ЙЪ ЕДЙОУФЧЕООПЗП ЧЩТБЦЕОЙС.

if (i < 10)
  System.out.println ("нЕОШЫЕ 10");
else
  System.out.println ("вПМШЫЕ ЙМЙ ТБЧОП 10");

фЕТОБТОЩК ПРЕТБФПТ ? : ЙДЕОФЙЮЕО ФБЛПК ЦЕ ХУМПЧОПК ПРЕТБГЙЙ Ч Ruby. оБРТЙНЕТ, УФТПЛБ

(counter == 0) ? i++ : i--;
ПЪОБЮБЕФ ФП ЦЕ УБНПЕ, ЮФП Й
if (counter == 0)
  i++;
else
  i--;

дМЙООБС ЖПТНБ ЪБРЙУЙ ВПМЕЕ ОБЗМСДОБ, ПДОБЛП РТЙ ЛПНРЙМСГЙЙ РТПЗТБННЩ Ч ВБКФ-ЛПД Ч ПВПЙИ УМХЮБСИ РПМХЮЙФУС ПДЙОБЛПЧЩК ТЕЪХМШФБФ. чПФ ЕЭЕ ПДЙО РТЙНЕТ ЙУРПМШЪПЧБОЙС ФЕТОБТОПЗП ПРЕТБФПТБ.

рТЙНЕТ
уМЕДХАЭБС РТПЗТБННБ ПРТЕДЕМСЕФ ЮЕФОПУФШ ЧЧЕДЕООПЗП ЮЙУМБ.

import java.io.*;

class TestOdd {
  public static void main(String[] args)
    throws Exception{

    BufferedReader r = new BufferedReader(
             new InputStreamReader(System.in));

    System.out.print("чЧЕДЙФЕ ГЕМПЕ ЮЙУМП: ");
    int i = Integer.parseInt(r.readLine());

    String str = i % 2 == 0 ? "ЮЕФОП" : "ОЕЮЕФОП";
    System.out.println("юЙУМП "+i+" " + str);
  }
}

рТЙ ЧЩВПТЕ ЙЪ ВПМШЫЕЗП ЮЙУМБ БМШФЕТОБФЙЧ ХДПВОЕЕ ЙУРПМШЪПЧБФШ ПРЕТБФПТ switch (БОБМПЗ ПРЕТБФПТБ when Ч СЪЩЛЕ Ruby). оЙЦЕ РТЙЧЕДЕО ЕЗП ПВЭЙК ЧЙД.

switch (ЧЩТБЦЕОЙЕ) {

  case ЪОБЮЕОЙЕ1:
    ВМПЛ1;
    break;

  case ЪОБЮЕОЙЕ2:
    ВМПЛ2;
    break;

  . . .

  case ЪОБЮЕОЙЕN:
    ВМПЛN;
    break;

  default:
    ВМПЛN+1;
}
чЩТБЦЕОЙЕ (ДПМЦОП ВЩФШ ГЕМПЗП ЙМЙ УЙНЧПМШОПЗП ФЙРБ) УТБЧОЙЧБЕФУС РПУМЕДПЧБФЕМШОП УП ЧУЕНЙ ЪОБЮЕОЙСНЙ, ХЛБЪБООЩНЙ РПУМЕ ЛМАЮЕЧЩИ УМПЧ case. рТЙ УПЧРБДЕОЙЙ У ПДОЙН ЙЪ ОЙИ ЧЩРПМОСЕФУС УППФЧЕФУФЧХАЭЙК ВМПЛ ПРЕТБФПТПЧ.

пРЕТБФПТ break ЪБЧЕТЫБЕФ ЧЩРПМОЕОЙЕ ВМПЛБ, Б РТЙ ЕЗП ПФУХФУФЧЙЙ ХРТБЧМЕОЙЕ РЕТЕДБЕФУС УМЕДХАЭЕНХ ВМПЛХ. еУМЙ УПЧРБДЕОЙК ОЕ ВХДЕФ ПВОБТХЦЕОП, ФП ЧЩРПМОСЕФУС ВМПЛ, УМЕДХАЭЙК ЪБ ЛМАЮЕЧЩН УМПЧПН default.

уТБЧОЙФЕ ЙУРПМШЪПЧБОЙЕ ЛПОУФТХЛГЙК ЧЩВПТБ Ч СЪЩЛБИ Java Й Ruby:

Java Ruby
char   test;
String answer;
    . . .

switch (test) {
  case 'Y':
  case 'y':
    answer = "оЕФ!";
    break;
  case 'N':
  case 'n':
    answer = "дБ!!!";
    break;
  default:
    answer = "юФП?";
}
System.out.println(answer);

   . . .

case test
  when 'Y', 'y'

    answer = "оЕФ!";

  when 'N', 'n'

    answer = "дБ!!!";

  else
    answer = "юФП?";
end
puts(answer);

гЙЛМ while Ч СЪЩЛЕ Java ТБВПФБЕФ ФПЮОП ФБЛЦЕ, ЛБЛ Й Ч Ruby. еЗП ПВЭЙК ЧЙД ФБЛПЧ:

while (МПЗЙЮЕУЛПЕхУМПЧЙЕ) {
  . . .
}

чБТЙБГЙЕК ГЙЛМБ while СЧМСЕФУС ПРЕТБФПТ do while. рТЙ ЕЗП ЙУРПМШЪПЧБОЙЙ ФЕМП ГЙЛМБ ВХДЕФ ПВСЪБФЕМШОП ЧЩРПМОЕОП ИПФС ВЩ ПДЙО ТБЪ.

do {
  . . .
} while (МПЗЙЮЕУЛПЕхУМПЧЙЕ);

рТЙНЕТ
уМЕДХАЭЙК ЖТБЗНЕОФ РТПЗТБННЩ РЕЮБФБЕФ ЮЙУМБ ПФ 1 ДП 5 ЧЛМАЮЙФЕМШОП.

int i = 1;
while (i <= 5) {
  System.out.println(i);
  i += 1;
}

пРЕТБФПТ for СЪЩЛБ Java, ОБПВПТПФ, ЪОБЮЙФЕМШОП ПФМЙЮБЕФУС ПФ ПДОПЙНЕООПЗП ЙФЕТБФПТБ Ч СЪЩЛЕ Ruby:

for (ЙОЙГЙБМЙЪБГЙС; РТПЧЕТЛБ; ЙЪНЕОЕОЙЕ) {
  . . .
}
ч ЛТХЗМЩИ УЛПВЛБИ УПДЕТЦБФШУС ФТЙ ВМПЛБ, ТБЪДЕМЕООЩЕ УЙНЧПМПН ; (ФПЮЛБ У ЪБРСФПК):
ЙОЙГЙБМЙЪБГЙС
ВМПЛ, ЪБДБАЭЙК ОБЮБМШОЩЕ ХУМПЧЙС; НПЦЕФ ЧЛМАЮБФШ ПВЯСЧМЕОЙС РЕТЕНЕООЩИ;
РТПЧЕТЛБ
ВМПЛ, ЪБДБАЭЙК ХУМПЧЙС ЪБЧЕТЫЕОЙС ТБВПФЩ ГЙЛМБ;
ЙЪНЕОЕОЙЕ
ВМПЛ, ЙЪНЕОСАЭЙК ЪОБЮЕОЙС РЕТЕНЕООЩИ.
ьФХ ЛПОУФТХЛГЙА, ЛБЛ РТБЧЙМП, РТЙНЕОСАФ ДМС РПЧФПТЕОЙС ГЙЛМБ ЖЙЛУЙТПЧБООПЕ ЮЙУМП ТБЪ. уМЕДХАЭБС РТПЗТБННБ ДЕНПОУФТЙТХЕФ ЕЗП ЙУРПМШЪПЧБОЙЕ.
for (int i = 0; i < 10 ; i++) {
  System.out.println(i);
}

рТЙНЕТ
тБУУНПФТЙН РТПЗТБННХ ДМС ЧЩЮЙУМЕОЙС ЖБЛФПТЙБМБ ЧЧЕДЕООПЗП ЮЙУМБ У РПНПЭША ГЙЛМБ for.

import java.io.*;

class Fact {
  public static void main(String[] args)
    throws Exception{
    BufferedReader r = new BufferedReader(
           new InputStreamReader(System.in));

    System.out.print("чЧЕДЙФЕ ОБФХТБМШОПЕ ЮЙУМП: ");
    int n = Integer.parseInt(r.readLine());

    if (n > 0) {
      int fact = 1;
      for (int i = 1; i <= n ; i++) {
    fact *= i;
      }
      System.out.println("жБЛФПТЙБМ ЮЙУМБ " + n
                     + " ТБЧЕО " + fact);
    } else {
      System.out.println(n + " -  ОЕ ОБФХТБМШОПЕ");
    }
  }
}
рТЙЧЕДЕООЩК ОБ ТЙУХОЛЕ РТЙНЕТ ЪБРХУЛБ ЬФПК РТПЗТБННЩ ЙММАУФТЙТХЕФ ЕЭЕ ПДОП ПФМЙЮЙЕ СЪЩЛБ Java ПФ Ruby. ч ФП ЧТЕНС ЛБЛ Ч Ruby ДЙБРБЪПО ГЕМЩИ ЮЙУЕМ ОЕ ПЗТБОЙЮЕО, ФЙР int Ч Java ОЕ ПВМБДБЕФ ЬФЙН УЧПКУФЧПН. юЙУМП 12! ЕЭЕ УРПУПВОП ТБЪНЕУФЙФШУС Ч СЮЕКЛЕ РБНСФЙ, ПФЧЕДЕООПК РПД ГЕМПЕ ЮЙУМП, Б ЖБЛФПТЙБМЩ ДПУФБФПЮОП ВПМШЫЙИ ЮЙУЕМ ХЦЕ ОЕФ! уТБЧОЙФЕ ТЕЪХМШФБФЩ ЧЩЮЙУМЕОЙС ЖБЛФПТЙБМБ У ТЕЪХМШФБФБНЙ ТБУЮЕФПЧ, РПМХЮЕООЩИ Ч РТПЗТБННЕ Kcalc ЙМЙ Ч ЬМЕЛФТПООЩИ ФБВМЙГБИ.

ч Java ЧЕТУЙЙ 1.1 ВЩМ ДПВБЧМЕО ЛМБУУ BigInteger, РПДДЕТЦЙЧБАЭЙК ГЕМЩЕ ЮЙУМБ РТПЙЪЧПМШОПЗП ТБЪНЕТБ. рТЙ ЙУРПМШЪПЧБОЙЙ ЬФПЗП ЛМБУУБ НБФЕНБФЙЮЕУЛЙЕ ПРЕТБГЙЙ ЧЩРПМОСАФУС ЪБНЕФОП НЕДМЕОЕЕ.

рТЙНЕТ
оЙЦЕ РТЙЧЕДЕОБ РТПЗТБННБ, ЧЧПДСЭБС У ЛМБЧЙБФХТЩ НБУУЙЧ ДЕКУФЧЙФЕМШОЩИ ЮЙУЕМ Й РЕЮБФБАЭБС УХННХ ЧУЕИ ЕЗП ЬМЕНЕОФПЧ.

уОБЮБМБ ЧЧЕДЕН ЛПМЙЮЕУФЧП ЬМЕНЕОФПЧ НБУУЙЧБ, Б ЪБФЕН ЪБРПМОЙН ЕЗП ЬМЕНЕОФБНЙ, ПДОЙН ЪБ ДТХЗЙН. пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП РЕТЧЩК ЬМЕНЕОФ НБУУЙЧБ ЙНЕЕФ ЙОДЕЛУ 0, Б РПУМЕДОЙК - ОБ ЕДЙОЙГХ НЕОШЫЙК, ЮЕН ЕЗП ДМЙОБ.

import java.io.*;

class TestSum {
  public static void main(String[] args)
    throws Exception{
    BufferedReader r = new BufferedReader(
             new InputStreamReader(System.in));

    System.out.print("чЧЕДЙФЕ ЛПМЙЮЕУФЧП " +
                     "ЬМЕНЕОФПЧ НБУУЙЧБ: ");
    int n    = Integer.parseInt(r.readLine());
    double a[]  = new double[n];     // УПЪДБМЙ НБУУЙЧ
    double s = 0.0;            // ПВОХМЙМЙ УХННХ

    for (int i = 0; i < n; i++) {
      System.out.print("чЧЕДЙФЕ " + (i+1) +
                       "-К ЬМЕНЕОФ НБУУЙЧБ: ");
      a[i] = Double.parseDouble(r.readLine());
      s = s + a[i];
    }
    System.out.println("уХННБ = " + s);
  }
}

ъБДБОЙС

  1. чЧЕДЙФЕ ФТЙ ТБЪМЙЮОЩИ ГЕМЩИ ЮЙУМБ Й ПРТЕДЕМЙФЕ НБЛУЙНБМШОПЕ Й НЙОЙНБМШОПЕ ЙЪ ОЙИ.
  2. оБРЙЫЙФЕ РТПЗТБННХ, ЛПФПТБС РП РПТСДЛПЧПНХ ОПНЕТХ НЕУСГБ РЕЮБФБЕФ ЕЗП ОБЪЧБОЙЕ. рТЙ ТЕЫЕОЙЙ ЧПУРПМШЪХКФЕУШ ПРЕТБФПТПН switch.
  3. оБРЙЫЙФЕ РТПЗТБННХ, ЧЩЮЙУМСАЭХА УХННХ ЧУЕИ ОЕЮЕФОЩИ ОБФХТБМШОЩИ ЮЙУЕМ, ОЕ РТЕЧПУИПДСЭЙИ 1000.
  4. оБРЙЫЙФЕ РТПЗТБННХ, ОБИПДСЭХА УТЕДОЕЕ БТЙЖНЕФЙЮЕУЛПЕ ЧУЕИ ЬМЕНЕОФПЧ ЪБДБООПЗП НБУУЙЧБ ДЕКУФЧЙФЕМШОЩИ ЮЙУМЕМ.
  5. оБРЙЫЙФЕ РТПЗТБННХ, ПРТЕДЕМСАЭХА ЧФПТПК РП ЧЕМЙЮЙОЕ ЬМЕНЕОФ НБУУЙЧБ ТБЪМЙЮОЩИ ДЕКУФЧЙФЕМШОЩИ ЮЙУЕМ.


вЙВМЙПФЕЛЙ ЛМБУУПЧ Й РТЙНЕТЩ РТПЗТБНН

оБЮОЕН У ПВЪПТБ ЛМБУУБ Math, ЛПФПТЩК УПДЕТЦЙФ НЕФПДЩ ДМС ТБВПФЩ У НБФЕНБФЙЮЕУЛЙНЙ ЖХОЛГЙСНЙ Й ДЧЕ ЛПОУФБОФЩ, ЪБДБАЭЙЕ ЮЙУМБ pi - PI Й e - E.

double a = Math.pow(Math.PI,2);
System.out.println("PI^2="+a);
ч ФБВМЙГЕ ОЙЦЕ РТЕДУФБЧМЕОЩ ОЕЛПФПТЩЕ НЕФПДЩ ДБООПЗП ЛМБУУБ.

нЕФПД | оБЪОБЮЕОЙЕ НЕФПДБ
cos(x), sin(x) Й tan(x) | чПЪЧТБЭБАФ ЛПУЙОХУ, УЙОХУ Й ФБОЗЕОУ ЮЙУМБ x, ЪБДБООПЗП Ч ТБДЙБОБИ
atan2(y, x) | чПЪЧТБЭБЕФ БТЛФБОЗЕОУ ДТПВЙ y/x, ЗДЕ x Й y ЪБДБОЩ Ч ТБДЙБОБИ Й ЪБЛМАЮЕОЩ Ч ДЙБРБЪПОЕ ПФ -PI ДП PI
exp(x) | чПЪЧТБЭБЕФ ЮЙУМП Е, ЧПЪЧЕДЕООПЕ Ч УФЕРЕОШ x
log(x) | чПЪЧТБЭБЕФ ОБФХТБМШОЩК МПЗБТЙЖН ЮЙУМБ x>0
log10(x) | чПЪЧТБЭБЕФ МПЗБТЙЖН ЮЙУМБ x>0 РП ПУОПЧБОЙА 10
sqrt(x) | чПЪЧТБЭБЕФ ЛЧБДТБФОЩК ЛПТЕОШ ЙЪ ОЕПФТЙГБФЕМШОПЗП ЮЙУМБ x
pow(x,y) | чПЪЧТБЭБЕФ x Ч УФЕРЕОЙ y

еЭЕ ПДОПК ЮБУФП ЙУРПМШЪХЕНПК ВЙВМЙПФЕЛПК СЧМСЕФУС РБЛЕФ ЛМБУУПЧ, РТЕДОБЪОБЮЕООЩК ДМС ТБВПФЩ У ЖБКМБНЙ. дМС ЮФЕОЙС ЙОЖПТНБГЙЙ ЙЪ ЖБКМБ НПЦОП ЙУРПМШЪПЧБФШ ХЦЕ ЪОБЛПНЩК ОБН ЛМБУУ BufferedReader, a ДМС ЪБРЙУЙ УФТПЛ Ч ЖБКМ - ТПДУФЧЕООЩК ЕНХ ЛМБУУ BufferedWriter.

import java.io.*;

class TestRead {
  public static void main(String[] args)
    throws Exception{
    BufferedReader r = new BufferedReader(
          new FileReader("rfile.txt"));
    String str;

    while ((str = r.readLine()) != null) {
      System.out.println(str);
    }
  }
}
(ЪБЗТХЪЙФШ РТПЗТБННХ Й ФЕУФПЧЩК ЖБКМ)

рТЙЧЕДЕН РТЙНЕТ ЪБРЙУЙ УФТПЛ Ч ЖБКМ РПНПЭША НЕФПДБ write. ч ПФМЙЮЙЙ ПФ БОБМПЗЙЮОПЗП НЕФПДБ СЪЩЛБ Ruby ЬФПФ НЕФПД ОЕ ДПВБЧМСЕФ УЙНЧПМ РЕТЕЧПДБ ОБ ОПЧХА УФТПЛХ БЧФПНБФЙЮЕУЛЙ.

пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП РПУМЕ ПЛПОЮБОЙС ЪБРЙУЙ РПФПЛ ОЕПВИПДЙНП ЪБЛТЩФШ НЕФПДПН close.

import java.io.*;

class TestWrite {
  public static void main(String[] args)
    throws Exception{
    BufferedWriter w = new BufferedWriter(
        new FileWriter("wfile.txt"));
    int i = 10;
    String str1 = "уФТПЛБ 1. ";
    String str2 = "й ЕЕ РТПДПМЦЕОЙЕ.\n";
    String str3 = "еЭЕ ПДОБ, УПДЕТЦБЭБС ЮЙУМП " + i;

    w.write(str1);
    w.write(str2);
    w.write(str3);
    w.write("\n");

    w.close();
  }
}

юБУФП ЧПЪОЙЛБЕФ ОЕПВИПДЙНПУФШ ТБЪВЙФШ УФТПЛХ, РПМХЮЕООХА ЙЪ ЖБКМБ, ОБ ПФДЕМШОЩЕ ЛПНРПОЕОФЩ (МЕЛУЕНЩ). ч СЪЩЛЕ Ruby ДМС ЬФПК ГЕМЙ НЩ РПМШЪПЧБМЙУШ ЖХОЛГЙЕК split. еЕ Java-ЬЛЧЙЧБМЕОФ РТЕДУФБЧМСЕФ ЛМБУУ StringTokenizer. чПФ РТЙНЕТ ЕЗП ЙУРПМШЪПЧБОЙС. уПЪДБКФЕ ЖБКМ info.txt Й ЪБРЙЫЙФЕ Ч ОЕЗП УЧПЙ ЖБНЙМЙА, ЙНС Й ПФЮЕУФЧП, ТБЪДЕМЕООЩЕ РТПВЕМБНЙ.

import java.io.*;
import java.util.StringTokenizer;

class TestSplit {
  public static void main(String[] args) throws Exception {
    BufferedReader r = new BufferedReader(
                             new FileReader("info.txt"));
    StringTokenizer t;
    t = new StringTokenizer(r.readLine()," ");

    while(t.hasMoreTokens()) {
      System.out.println(t.nextToken());
    }
  }
}
рТЙ УПЪДБОЙЙ ПВШЕЛФБ ЛМБУУБ StringTokenizer ЙУРПМШЪХАФУС ДЧБ РБТБНЕФТБ: РЕТЧЩК - ЬФП УФТПЛБ, ЛПФПТХА НЩ УПВЙТБЕНУС ПВТБВПФБФШ, Б ЧФПТПК - ТБЪДЕМЙФЕМЙ (Ч ОБЫЕН УМХЮБЕ ЬФП РТПВЕМШОЩК УЙНЧПМ). пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП НЩ РПДЛМАЮЙМЙ ДПРПМОЙФЕМШОХА ВЙВМЙПФЕЛХ java.util.StringTokenizer.

й, ОБЛПОЕГ, РЕТЕРЙЫЕН РТПЗТБННХ, ЙММАУФТЙТХАЭХА ОБУМЕДПЧБОЙe ЛМБУУПЧ, ОБ СЪЩЛ Java. рПНЕУФЙФЕ Ч ЖБКМ У ЙНЕОЕН Life.java ЛПД, РТЙЧЕДЕООЩК ОЙЦЕ.

class Animal {
  public void breath() {
    System.out.println("чУЕ ЦЙЧПФОЩЕ ДЩЫБФ: "
                     +"ЧДПИОХМЙ Й ЧЩДПИОХМЙ");
  }
}

class Cat extends Animal {
  // рПДБФШ ЗПМПУ
  public void bark() {
    System.out.println("Mew Mew, С ЛПЫЛБ.");
  }
}

class Bird {
  public void layEgg() {
    System.out.println("сКГП УОЕУЕОП");
  }

  public void fly() {
    System.out.println("с РФЙГБ, С МЕЮХ!!!");
  }
}

class Life {
  public static void main(String[] args) {
    // уПЪДБЕН ПВЯЕЛФЩ ТБЪОЩИ ЛМБУУПЧ
    Cat tama = new Cat();
    tama.breath();
    tama.bark();

    Bird macaw = new Bird();
    macaw.layEgg();
    macaw.fly();
  }
}
нПЦОП ЪБНЕФЙФШ, ЮФП РТПЗТБННБ РТБЛФЙЮЕУЛЙ ДХВМЙТХЕФ ЕЕ ЧБТЙБОФ ОБ СЪЩЛЕ Ruby, У ФПЮОПУФША ДП ЪБНЕОЩ ПРЕТБФПТБ ОБУМЕДПЧБОЙС (<) ОБ ЛМАЮЕЧПЕ УМПЧП extends.

ъБДБОЙС

  1. дПВБЧШФЕ Ч РТПЗТБННХ ЛМБУУ Dog У НЕФПДПН bark.
  2. дПВБЧШФЕ ЛМБУУ Penguin ДМС ПРЙУБОЙС РЙОЗЧЙОПЧ, ЛПФПТЩК РЕТЕПРТЕДЕМСЕФ НЕФПД fly (РЙОЗЧЙОЩ ОЕ МЕФБАФ).
  3. уПЪДБКФЕ ЬЛЪЕНРМСТЩ ДПВБЧМЕООЩИ ЛМБУУПЧ Й РТПДЕНПОУФТЙТХКФЕ ЙУРПМШЪПЧБОЙЕ ДПУФХРОЩИ Ч ОЙИ НЕФПДПЧ.


This is a test
     for

class   FileReader


уФТПЛБ 1. й ЕЕ РТПДПМЦЕОЙЕ.
еЭЕ ПДОБ, УПДЕТЦБЭБС ЮЙУМП 10


рПОСФЙЕ ПВ БРМЕФБИ

бРМЕФЩ - ЬФП РТПЗТБННЩ ОБ СЪЩЛЕ Java, ЛПФПТЩЕ РПУМЕ ЙИ ЛПНРЙМСГЙЙ ТБЪНЕЭБАФУС ОБ ЙОФЕТОЕФ-УЕТЧЕТБИ Ч ЧЙДЕ ЛПНРПОЕОФ ЗЙРЕТФЕЛУФПЧЩИ ДПЛХНЕОФПЧ (ЧЕВ-УФТБОЙГ), БЧФПНБФЙЮЕУЛЙ РЕТЕДБАФУС РП УЕФЙ Й ЪБРХУЛБАФУС ВТБХЪЕТПН ЛМЙЕОФБ РТЙ ЮФЕОЙЙ ЬФЙИ УФТБОЙГ. фЕН УБНЩН ПОЙ РТЕДУФБЧМСАФ УПВПК НПЭОПЕ УТЕДУФЧП, РПЪЧПМСАЭЕЕ ЪОБЮЙФЕМШОП ПВПЗБФЙФШ УФБФЙЮЕУЛЙК НЙТ СЪЩЛБ HTML.

ч ГЕМСИ ПВЕУРЕЮЕОЙС ВЕЪПРБУОПУФЙ РТЙ ТБВПФЕ У БРМЕФБНЙ ЙН РТЕДПУФБЧМСАФУС ЪОБЮЙФЕМШОП НЕОШЫЙЕ РТБЧБ РП УТБЧОЕОЙА У ПВЩЮОЩНЙ РТЙМПЦЕОЙСНЙ, ОБРЙУБООЩНЙ ОБ СЪЩЛЕ Java. оБРТЙНЕТ, БРМЕФ ОЕ ЙНЕЕФ ДПУФХРБ Л ЖБКМБН, ОБИПДСЭЙНУС ОБ ДЙУЛЕ ФПЗП ЛПНРШАФЕТБ, ОБ ЛПФПТПН ПО ЪБРХЭЕО. фБЛЙН ПВТБЪПН, БРМЕФЩ ОЕ НПЗХФ ОБОЕУФЙ ОЙЛБЛПЗП ЧТЕДБ РПМШЪПЧБФЕМСН УЕФЙ, ОБРТЙНЕТ, ЪБТБЪЙФШ ЛПНРШАФЕТОЩН ЧЙТХУПН.

оБХЮЙФШУС УПЪДБЧБФШ БРМЕФЩ РТЙ ХУМПЧЙЙ РПОЙНБОЙС ЛПОГЕРГЙЙ ппр Й ПУОПЧ СЪЩЛБ Java ОЕ ФБЛ ХЦ Й УМПЦОП. дМС ЬФПЗП ФТЕВХЕФУС, Ч ПУОПЧОПН, ПЧБМДЕФШ ОБЧЩЛБНЙ ТБВПФЩ У ЗТБЖЙЮЕУЛПК ВЙВМЙПФЕЛПК ЛМБУУПЧ. оБЫ ЛХТУ, ПДОБЛП, ЬФПЗП ОЕ РТЕДРПМБЗБЕФ Й ДБМЕЕ ВХДЕФ ТБУУНПФТЕОП ФПМШЛП ОЕУЛПМШЛП РТЙНЕТПЧ БРМЕФПЧ, РПЪЧПМСАЭЙИ РПМХЮЙФШ МЙЫШ УБНПЕ ПВЭЕЕ РТЕДУФБЧМЕОЙЕ П ОЙИ.

жБКМ, УПДЕТЦБЭЙК ЛПД Java-БРМЕФБ ДПМЦЕО РПДЛМАЮБФШ ДЧЕ ДПРПМОЙФЕМШОЩЕ ВЙВМЙПФЕЛЙ ЛМБУУПЧ: ЗТБЖЙЮЕУЛХА (awt) Й УРЕГЙБМЙЪЙТПЧБООХА ВЙВМЙПФЕЛХ БРМЕФПЧ (applet). ч ПФМЙЮЙЙ ПФ РТЙМПЦЕОЙК, ТБУУНБФТЙЧБЕНЩИ ДП УЙИ РПТ, БРМЕФ НПЦЕФ ОЕ ЙНЕФШ НЕФПДБ main Й ПВСЪБО РТЕДУФБЧМСФШ ЙЪ УЕВС ЛМБУУ, ЧЩЧЕДЕООЩК ЙЪ ЛМБУУБ Applet.

import java.awt.*;
import java.applet.*;

public class Hello extends Applet {
  Color bgColor = new Color(255,255,255);

  public void paint(Graphics g){
    setBackground(bgColor);
    g.drawString("Hello!", 20, 20);
  }
}

дБООЩК БРМЕФ ХУФБОБЧМЙЧБЕФ ВЕМЩК ГЧЕФ Ч ЛБЮЕУФЧЕ ЖПОБ Й ЧЩЧПДЙФ УФТПЛХ ФЕЛУФБ "Hello!", ОБЮЙОБС У РПЪЙГЙЙ, ЙНЕАЭЕК ЛППТДЙОБФЩ (20, 20). дМС ФПЗП ЮФПВЩ ЬФП РТПЙЪПЫМП, ОЕПВИПДЙНП ПФЛПНРЙМЙТПЧБФШ ЛПД БРМЕФБ Й ЧЛМАЮЙФШ УУЩМЛХ ОБ ОЕЗП Ч ЪБТБОЕЕ РПДЗПФПЧМЕООЩК HTML-ДПЛХНЕОФ УМЕДХАЭЕК УФТХЛФХТЩ:

<html>
<body>
<applet code="Hello.class" width="100" height="100">
</applet>
</html>
</body>
еУМЙ ФЕРЕТШ РТПУНПФТЕФШ ЬФХ УФТБОЙГХ У РПНПЭША ВТБХЪЕТБ, ФП Ч ЕЗП ПЛОЕ РПСЧЙФУС ЛЧБДТБФ УП УФПТПОПК 100 РЙЛЕМПЧ, Ч ЛПФПТЩК Й ВХДЕФ ЧЩЧЕДЕОБ УФТПЛБ "Hello!".

рТПЗТБННБ appletviewer, ЪБРХУЛБЕНБС Ч ПЛОЕ shell, РПЪЧПМЙФ ЧЩРПМОЙФШ БРМЕФ, ОЕ ЪБРХУЛБС ВТБХЪЕТ. ьФБ РТПЗТБННБ ЙЗОПТЙТХЕФ ЧУЕ ФЕЗЙ HTML-ДПЛХНЕОФБ, ЛТПНЕ ФЕЗПЧ ХЛБЪБОЙС БРМЕФБ (applet, object Й embed). бТЗХНЕОФПН РТПЗТБННЩ УМХЦЙФ ЙНС ЖБКМБ, УПДЕТЦБЭЕЗП HTML-ЛПД, ОБРТЙНЕТ,

appletviewer hello.html

бФТЙВХФБНЙ ФЕЗБ applet, РТЕДОБЪОБЮЕООПЗП ДМС ЧЛМАЮЕОЙС УУЩМПЛ ОБ БРМЕФЩ Ч HTML-УФТБОЙГЩ, СЧМСАФУС: code - URL БРМЕФБ, width Й height - ЫЙТЙОБ Й ЧЩУПФБ ПЛОБ, РТЕДПУФБЧМСЕНПЗП ВТБХЪЕТПН БРМЕФХ ДМС ТЙУПЧБОЙС.

рТЙНЕТ
тБУУНПФТЙН БРМЕФ, ТЙУХАЭЙК ЗТБЖЙЛ ФТЙЗПОПНЕФТЙЮЕУЛПК ЖХОЛГЙЙ y = cos(x) + sin(x/7) + 2.

(ЧЩРПМОЙФШ)
import java.awt.*;
import java.applet.*;

public class GraphApplet extends Applet {
  Color bgColor = new Color(255,255,255);

  double f(double x) {
    return (Math.cos(x) + Math.sin(x/7) + 2)
            * getSize().height / 4;
  }

  public void paint(Graphics g) {
    setBackground(bgColor);
    for (int x = 0; x < getSize().width; x++) {
      g.drawLine(x, (int)f(x), x + 1, (int)f(x + 1));
    }
  }
}

дМС РПЧЩЫЕОЙС ЖХОЛГЙПОБМШОПУФЙ РТПЗТБНН ЮБУФП ЙУРПМШЪХАФУС БТЗХНЕОФЩ ЙМЙ РБТБНЕФТЩ, ЪОБЮЕОЙС ЛПФПТЩИ РЕТЕДБАФУС ЙУРПМОСЕНПК РТПЗТБННЕ У РПНПЭША ЛПНБОДОПК УФТПЛЙ РТЙ ЪБРХУЛЕ, МЙВП ЮЙФБАФУС ЕА У ЛМБЧЙБФХТЩ ЙМЙ ЙЪ ЖБКМБ. ч УМХЮБЕ БРМЕФПЧ УППВТБЦЕОЙС ВЕЪПРБУОПУФЙ ЪБРТЕЭБАФ ВПМШЫЙОУФЧП РПФЕОГЙБМШОП ЧПЪНПЦОЩИ УРПУПВПЧ РПМХЮЕОЙС РБТБНЕФТПЧ. пДОЙН ЙЪ ЧБТЙБОФПЧ РПМХЮЕОЙС ЙОЖПТНБГЙЙ Ч ЬФПН УМХЮБЕ СЧМСЕФУС ЧЛМАЮЕОЙЕ РБТБНЕФТПЧ Ч HTML-ДПЛХНЕОФ У РПНПЭША ФЕЗБ param, ЛПФПТЩК ДПМЦЕО ВЩФШ ЧМПЦЕО Ч ФЕЗ applet:

<applet ...>
<param name="ЙНС" value="ЪОБЮЕОЙЕ">
</applet>

чПФ РТЙНЕТ РПДПВОПЗП БРМЕФБ, РТЕДРПМБЗБАЭЕЗП ОБМЙЮЙЕ Ч HTML-ДПЛХНЕОФЕ РБТБНЕФТБ, ЪБДБАЭЕЗП ЖБНЙМЙА (name).

import java.awt.*;
import java.applet.*;

public class GetPar extends Applet {
  String Name;

  public void init() {
    Name = getParameter("name");
    if (Name == null) Name = "ОЕ ЪБДБОП";
  }

  public void paint(Graphics g) {
    g.drawString("Name: " + Name, 5, 15);
  }
}
уМЕДХАЭЙК ЖТБЗНЕОФ HTML-ЛПДБ РЕТЕДБЕФ БРМЕФХ Ч ЛБЮЕУФЧЕ РБТБНЕФТБ УФТПЛХ "йЧБОПЧ".
<applet code = "GetPar.class",
     width = "200", height = "200">
<param name = "name" value = "йЧБОПЧ"></param>
</applet>
рПУМЕ ЪБРХУЛБ ЬФПЗП БРМЕФБ Ч ПЛОЕ ВТБХЪЕТБ РПСЧЙФУС ФЕЛУФ
Name: йЧБОПЧ

ъБДБОЙС

  1. уПЪДБКФЕ БРМЕФ, ТЙУХАЭЙК ОБ РТПНЕЦХФЛЕ [-10; 10] ЗТБЖЙЛ ЖХОЛГЙЙ y = x^3 + x^2 - 2*sin(x) + 10.
  2. йЪНЕОЙФЕ БРМЕФ ФБЛ, ЮФПВЩ ЧНЕУФЕ У ЗТБЖЙЛПН ЖХОЛГЙЙ ЙЪПВТБЦБМЙУШ ЕЭЕ Й ПУЙ ЛППТДЙОБФ.


ьМЕНЕОФЩ СЪЩЛБ JavaScript

JavaScript - ЬФП ПВЯЕЛФОП-ПТЙЕОФЙТПЧБООЩК СЪЩЛ, ЛПФПТЩК ИПФС Й ЙНЕЕФ РПИПЦЕЕ ОБЪЧБОЙЕ, ОЕ ЙНЕЕФ ОЕРПУТЕДУФЧЕООПЗП ПФОПЫЕОЙС Л СЪЩЛХ Java. йУИПДОЩЕ ФЕЛУФЩ РТПЗТБНН ОБ СЪЩЛЕ JavaScript, ЛБЛ ЬФП ХЦЕ ПФНЕЮБМПУШ Ч РЕТЧПК ЮБУФЙ ЛОЙЗЙ, ЧЛМАЮБАФУС ОЕРПУТЕДУФЧЕООП Ч HTML-ДПЛХНЕОФЩ Й ЙОФЕТРТЕФЙТХАФУС ВТБХЪЕТПН ОБ ЛПНРШАФЕТЕ ЛМЙЕОФБ.

оБРПНОЙН (УН. ЫЕУФХА ЗМБЧХ РЕТЧПК ЮБУФЙ ЛОЙЗЙ), ЮФП УХЭЕУФЧХАФ ДЧБ УРПУПВБ ЧЛМАЮЕОЙС РТПЗТБНН ОБ СЪЩЛЕ JavaScript, ОБЪЩЧБЕНЩИ ЮБУФП УЛТЙРФБНЙ, Ч ЗЙРЕТФЕЛУФПЧЩК ДПЛХНЕОФ. рТЙ РЕТЧПН ЙЪ ОЙИ ФЕЛУФ РТПЗТБННЩ ТБЪНЕЭБЕФУС ОЕРПУТЕДУФЧЕООП Ч УБНПН HTML-ЖБКМЕ У РПНПЭША ФЕЗБ script:

<script language="JavaScript">
<!--
  ... ЪДЕУШ ТБУРПМБЗБЕФУС ЛПД РТПЗТБННЩ ...
//-->
</script>
чФПТПК УРПУПВ ЧРПМОЕ БОБМПЗЙЮЕО ЧЛМАЮЕОЙА Ч ЗЙРЕТФЕЛУФПЧЩЕ ДПЛХНЕОФЩ УУЩМПЛ ОБ БРМЕФЩ:
<script src="file.js">
</script>
рТЙ ЬФПН РТЕДРПМБЗБЕФУС, ЮФП ФЕЛУФ РТПЗТБННЩ ТБЪНЕЭЕО Ч ПФДЕМШОПН ЖБКМЕ У ЙНЕОЕН file.js.

рПДПВОП ДТХЗЙН СЪЩЛБН РТПЗТБННЙТПЧБОЙС JavaScript РПЪЧПМСЕФ ЙУРПМШЪПЧБФШ РЕТЕНЕООЩЕ, ПРЕТБФПТЩ, ЛМБУУЩ Й НЕФПДЩ. пУОПЧОЩН ЕЗП ДПУФПЙОУФЧПН, ПДОБЛП, СЧМЕФУС ОБМЙЮЙЕ Ч ОЕН ЛМБУУПЧ ПВЯЕЛФПЧ, ЪБДБАЭЙИ УФТХЛФХТХ HTML-УФТБОЙГЩ, ЪБЗТХЦЕООПК ВТБХЪЕТПН, Й ЧПЪНПЦОПУФШ НБОЙРХМСГЙК У ЬФЙНЙ ПВЯЕЛФБНЙ. йНЕООП ПВ ЬФЙИ ПВЯЕЛФБИ, Ч ПУОПЧОПН, Й РПКДЕФ ТЕЮШ ДБМЕЕ.

оБРПНОЙН, ЮФП РТПЙУИПДЙФ, ЛПЗДБ РПМШЪПЧБФЕМШ УЕФЙ ЙОФЕТОЕФ ПФЛТЩЧБЕФ ЗЙРЕТФЕЛУФПЧЩК ДПЛХНЕОФ У РПНПЭША ВТБХЪЕТБ:

  • ФЕЛУФ УФТБОЙГЩ ТБЪНЕЭБЕФУС Ч РБНСФЙ ЛПНРШАФЕТБ;
  • ПО БОБМЙЪЙТХЕФУС Й "ЛПНРЙМЙТХЕФУС";
  • ПФДЕМШОЩЕ ВМПЛЙ ДПЛХНЕОФБ ТБЪНЕЭБАФУС ЧП ЧТЕНЕООПК ВБЪЕ ДБООЩИ Ч УППФЧЕФУФЧЙЙ У ПВЯЕЛФОПК НПДЕМША ВТБХЪЕТБ;
  • Л ЬФЙН ДБООЩН РТЕДПУФБЧМСЕФУС ДПУФХР ТБЪМЙЮОЩН РТПЗТБННБН, Ч ЮБУФОПУФЙ, ТЕОДЕТХ, ЛПФПТЩК Й ЙЪПВТБЦБЕФ УФТБОЙГХ Ч ПЛОЕ ВТБХЪЕТБ.
пВЯЕЛФБНЙ Ч ХЛБЪБООПК НПДЕМЙ СЧМСАФУС ЬМЕНЕОФЩ ТБВПЮЕК ПВМБУФЙ ВТБХЪЕТБ Й ФЕЗЙ СЪЩЛБ HTML, ЛПФПТЩЕ РТПЧСЪБОЩ Ч ЙЕТБТИЙЮЕУЛХА УФТХЛФХТХ, ОБЪЩЧБЕНХА ПВЯЕЛФОПК НПДЕМША ВТБХЪЕТБ:
  • window - ЛПТОЕЧПК ПВЯЕЛФ;
    • self, window, parent, top - ПВЯЕЛФЩ ПЛПО;
    • navigator - ПВЯЕЛФ, РТЕДПУФБЧМСАЭЙК ДПУФХР Л ИБТБЛФЕТЙУФЙЛБН ВТБХЪЕТБ;
      • plugins[] - НБУУЙЧ ПВЯЕЛФПЧ Plugin;
      • mimeTypes[] - НБУУЙЧ ПВЯЕЛФПЧ MimeType;
    • frames[] - НБУУЙЧ ПВЯЕЛФПЧ ЖТЕКНПЧПК УФТХЛФХТЩ;
    • location - ПВЯЕЛФ, УПДЕТЦБЭЙК ФЕЛХЭЙК URL;
    • history - ПВЯЕЛФ, ДБАЭЙК ДПУФХР Л ЙУФПТЙЙ РПУЕЭЕООЩИ УУЩМПЛ;
    • document - ПВЯЕЛФ, УПДЕТЦБЭЙК ДПЛХНЕОФ ГЕМЙЛПН;
      • forms[] - НБУУЙЧ ЖПТН;
        • elements[] - НБУУЙЧ ПВЯЕЛФПЧ ЖПТН HTML (Button, Checkbox, ...)
      • anchors[] - НБУУЙЧ СЛПТЕК;
      • links[] - НБУУЙЧ УУЩМПЛ;
      • images[] - НБУУЙЧ ЙЪПВТБЦЕОЙК;
      • applets[] - НБУУЙЧ БРМЕФПЧ;
      • embeds[] - НБУУЙЧ ЧУФТПЕООЩИ ПВЯЕЛФПЧ;
      • scripts[] - НБУУЙЧ ВМПЛПЧ <script></script>
      • stylesheets[] - НБУУЙЧ ПВЯЕЛФПЧ У ЙОДЙЧЙДХБМШОЩНЙ УФЙМСНЙ.

йУРПМШЪХС СЪЩЛ JavaScript, НПЦОП НБОЙРХМЙТПЧБФШ ЛБЛ ИБТБЛФЕТЙУФЙЛБНЙ ВТБХЪЕТБ, ФБЛ Й ЧЙЪХБМЙЪЙТХЕНЩН Ч ЕЗП ПЛОЕ ДПЛХНЕОФПН. рТЙ ЬФПН РТПЗТБННЩ ОБ СЪЩЛЕ JavaScript Ч ЪОБЮЙФЕМШОПК УФЕРЕОЙ ХРТБЧМСАФУС УПВЩФЙСНЙ, РТЙНЕТБНЙ ЛПФПТЩИ СЧМСАФУС ОБЦБФЙЕ ЛОПРЛЙ ЙМЙ РТПУФП РЕТЕНЕЭЕОЙЕ НЩЫЙ. лБЦДПЕ УПВЩФЙЕ ЙНЕЕФ УЧПК УПВУФЧЕООЩК ПВТБВПФЮЙЛ, ЛПФПТПНХ УППФЧЕФУФЧХЕФ ПРТЕДЕМЕООЩК ПВЯЕЛФ СЪЩЛБ. чПФ УРЙУПЛ ОБЙВПМЕЕ ЮБУФП ЙУРПМШЪХЕНЩИ УПВЩФЙК Й ПВТБВПФЮЙЛПЧ.
уПВЩФЙЕ | пВЯЕЛФЩ | нПНЕОФ ЧПЪОЙЛОПЧЕОЙС | пВТБВПФЮЙЛ
click | button, radio button, checkboxes, submit button, reset button, links | рПМШЪПЧБФЕМШ "ЛМЙЛБЕФ" ЬМЕНЕОФ ЖПТНЩ ЙМЙ УУЩМЛХ | onClick
load | body | уФТБОЙГБ ЪБЗТХЦБЕФУС Ч ВТБХЪЕТ | onLoad
mouseover | links | рПМШЪПЧБФЕМШ РТПЧПДЙФ НЩЫШ ОБД ЬМЕНЕОФПН | onMouseover
mouseout | links | рПМШЪПЧБФЕМШ ХВЙТБЕФ НЩЫШ У ЬМЕНЕОФБ. пВЩЮОП ЙУРПМШЪХЕФУС Ч РБТЕ У mouseover | onMouseout
unload | body | рПМШЪПЧБФЕМШ РЕТЕИПДЙФ Л ДТХЗПК УФТБОЙГЕ | onUnload

рТЙНЕТ
дМС ФПЗП ЮФПВЩ РПМШЪПЧБФЕМШ РТЙ РЕТЕИПДЕ РП УУЩМЛЕ ЙЪ ОБЫЕЗП ДПЛХНЕОФБ ОБ УБКФ www.site.com ХЧЙДЕМ ОЕЛПФПТПЕ УППВЭЕОЙЕ, ТБЪНЕУФЙН Ч ДПЛХНЕОФЕ УМЕДХАЭЙЕ УФТПЛЙ.

<a href="http://www.site.com/"
onClick="window.alert('Goodbye!')">ЙОФЕТЕУОЩК УБКФ</a>