Игра «Жизнь» – 2

От теории перейдем к непосредственному изучению устойчивых фигур. Но прежде чем начать с простейших форм жизни, которые состоят из трех или четырех элементов, стоит сразу сказать, что параллельно мы рассмотрим устойчивость этих фигур к изменениям, к добавлению новых (дополнительных) элементов.

1. Итак, первая фигура – это куб. Фигура достаточно примечательная. Как вы можете заметить она обладает двумя симметриями: горизонтальной и диагональной. Поэкспериментируем с этой фигурой, добавив к ней лишних клеток. Если лишняя клетка имеет с кубом общую сторону, то через несколько поколений куб пропадает, если же общей является точка по диагонали, то куб выразится в фигуру 4. Уже сейчас можно выдвинуть предположение: «Если фигура симметрична, то при добавлении симметричных элементов ее развитие будет либо продолжаться бесконечно, либо она выродится в набор устойчивых фигур». И действительно, добавление клетки по диагонали сохраняет симметрию фигуры, а клетка со смежной стороной делает ее ассиметричной. А если добавить две точки симметрично, то куб превращается в устойчивую фигуру 10.

2. Следующая фигура имеет два состояния, переходя из одного в другое в единицу времени. Давайте проверим наше утверждение. Фигура обладает горизонтальной симметрией и не обладает диагональной. Т.е., добавив два симметричных элемента по диагонали, мы получим вырождение фигуры уже через пару поколений. В связи с этим к утверждению стоит внести небольшое дополнение. Итак «Если фигура обладает диагональной симметрией, то добавление элементов нарушающих эту симметрию приведет к вырождению фигуры».

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

4. Фигура очень похожа на фигуру 3, и также можно получить бесконечное множество устойчивых фигур, используя тот же прием. Как вы можете заметить, она диагонально симметричная и новые элементы не нарушают ее симметрии.

5. Следующая фигура с двойной симметрией. При добавлении одного элемента через поколение переходит в фигуру 6.

6. Также устойчивая фигура, но прием добавления нескольких симметричных элементов (как и у фигур 3 и 4) работает лишь в самом первом случае, остальные же фигуры не являются устойчивыми.

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

8.Фигура, похожая по своим свойствам на предыдущую. Если добавить 2 клетки по диагонали, то фигура изменится, и через несколько поколений перейдет другую устойчивую конструкцию.

Если вам стало интересно, то можете в домашних условиях поэкспериментировать и посмотреть, во что превращается фигура, изображенная на рисунке (для успешного проведения опыта вам необходимо достаточно большое поле – 50х50).

Несколько слов о динамических фигурах, которые с течением времени меняют свою форму, но которые также могут считаться устойчивыми формами жизни. Об одной из таких фигур мы уже говорили, это фигура 2. Приведем еще несколько новых.

9. Данная фигура имеет два состояние, которые поочередно принимает с течение времени.

10. Фигура, у которой тоже два состояния.

11. А теперь еще одна динамическая фигура,  которая заметно отличается от всех рассмотренных ранее динамических фигур. Дело в том, что у эта фигура, которая обладает четырьмя устойчивыми состояниями, способна передвигаться по клеточному полю, переходя последовательно из одного состояния в другое. Направление ее движения зависит от того, как расположены элементы.

12. А теперь пару слов о фигуре, которая достаточно громоздкая по своей величине, но она может быть поставлена в ряд с фигурами 3 и 4. Несмотря на такие размеры, она обладает  устойчивостью. Можно заметить, что при добавлении симметричных элементов она по-прежнему будет оставаться устойчивой. Эта фигура получается путем добавления всего лишь одно клетки к фигуре, изображенной на рисунке. Причем стоит опять таки сказать, что та точка, которая была добавлена, не нарушила диагональной симметричности данной фигуры.

Итак, наше предположение о том, что добавление симметричных элементов к симметричной фигуре не нарушает устойчивости подтвердилось. Стоит также отметить, что эффект симметричности заметен также и в других элементах игры. Если последить за развитием фигуры, то можно заметить такую закономерность. Если фигура обладает диагональной симметрией, то ее развитие будет проходить симметрично, относительно ее оси симметрии, такая же ситуация и с горизонтально-симметричной фигурой.

Некоторые конструкции полутел – 1

В работе определены три новые конструкции полутел, которые будут использованы в дальнейшем исследовании полутел.

Введение

Множество   с бинарными операциями   и   и нульарными   и   называется полукольцом [1], если   – моноид,   – коммутативный моноид,   и  .

При таком определении полукольца образуют многообразие с морфизмами, сохраняющими все четыре операции, и, следовательно, переводящими противоположные элементы в противоположные, а взаимно обратные –  во взаимно обратные.

Ассоциативные кольца с единицей (далее просто кольца) являются частным случаем полуколец. Из соображений универсальной алгебры каждое полукольцо обладает своим кольцом разностей. То есть для любого полукольца   существуют единственное кольцо   и морфизм   такие, что для любого кольца   и любого морфизма   существует единственный морфизм  , для которого  . Здесь и далее при использовании мультипликативной записи композиции отображений подразумеваем, что первым действует правое отображение. Конструкция кольца разностей достаточно проста: на множестве  , где    , вводятся кольцевые операции, подразумевая под парой   разность  . Понятно, что полукольцо вкладывается в кольцо разностей тогда и только тогда, когда оно удовлетворяет квазитождеству  , такие полукольца называются сократимыми. Другой крайний случай, когда кольцо разностей тривиально (одноэлементно), для этого необходимо и достаточно, чтобы любые два элемента полукольца уравнивались, т.е.  .

Еще один частный случай полукольца – полутело – множество, являющееся одновременно мультипликативной группой и аддитивной коммутативной полугруппой, причем умножение дистрибутивно относительно сложения с обеих сторон. При таком определении, строго говоря, полутело   полукольцом не является, но множество   с естественно доопределенными операциями становится полукольцом. Из некоторых соображений мы все-таки будем пользоваться данным определением. Полутело с коммутативным умножением называется полуполем.

3. Инструментальные программные средства (продолжение 2)

Языки программирования высокого уровня постоянно развиваются и совершенствуются, общее их число достигает нескольких тысяч, а с учетом различных версий и диалектов, даже больше. В таком многообразии выделяют группы  и классы языков, для деления на которые используют различные критерии и признаки. Например, выделяют языки универсальные и языки, ориентированные на решение определенного класса задач (например, KOBOL –язык для коммерческих, деловых приложений).

Выделяют языки процедурные, языки, реализующие структурный подход к программированию, объектно-ориентированный подход, визуальное программирование.

Язык Бейсик широко применяется в обучении. Это неудивительно, так как Бейсик, как и следует из названия (Beginner’s All-purpose Symbolic Instruction Code) – базовый язык программирования для начинающих. Он был разработан в 60-е годы и с тех пор претерпел множество изменений – сейчас наибольшее распространение получили версии Q-Basic и Quick-Basic. Это язык прост и позволяет пользователю допускать многие вольности в составлении программ. Он слабо поддерживает (и то лишь в последних версиях) структурный подход к программированию, что является серьезным недостатком, но в силу своей простоты привлекателен для начинающих любителей.

Язык Паскаль разработан в конце 60-х – начале 70-х годов Никлаусом Виртом. Он создан также с ориентацией на обучение программированию, но на значительно более высоком уровне и с теоретических позиций. Созданный первоначально для целей обучения, Паскаль вскоре приобрел широкое распространение и применяется для решения достаточно большого класса задач. В Паскале воплощены идеи структурного программирования, он разработан столь удачно, что поддерживает новые, появившиеся позднее подходы к программированию – объектно-ориентированное и визуальное программирование.

Говоря о языках программирования, следует упомянуть языки ассемблера – языки, занимающие промежуточное положение между языками высокого уровня и машинными языками. Язык ассемблера – это система обозначений, используемая для представления в удобочитаемой форме программ, записанных в машинном коде: можно, например, присвоить символические имена регистрам собственной памяти процессора, пользоваться мнемоническими (легко запоминающимися) кодами и т.д. Язык ассемблера ориентирован на конкретный тип компьютера и отражает его архитектуру, т.е. является машинно-ориентированным языком (поэтому таких языков достаточно много). Программы, написанные на языке ассемблера, работают очень быстро. Такие языки используются, в основном для системного и инструментального программного обеспечения.

Фонетический портрет диалектоносителя – 3

В некоторых словах отмечены случаи элизии звука: кад, тад. В единичных случаях [] заменяется звуком [и]: ид’, ид’й тъ. Причем, произнесение фонемы и её исчезновение или замена в словах кад – кад, тад – тад, д’ – ид’ по частотности одинаковы.

Глухой щелевой [х] заменяет в некоторых словах перед /т/ фонему /к/: кт – хт, хтй тъ, никт – нихт. Но в других примерах в этом же положении отмечаем соответствие литературной норме: прадкты, трктър и др. В слове Псха наблюдается обратная мена х – к: Пска.

В некоторых случаях в соответствии с фонемой [ф] литературного языка употребляются [х] и [хв]: кхта, хвртук, хвртъч’к’а. Но в других примерах фиксируем: Ф’дър, Фрс’к’а, фрнт. В соответствии с фонемами /в/ и /в’/ литературного языка произносятся губно зубные [в], [в’], [ф] и губно губные [w], [у]. Нужно отметить, что в большинстве случаев в разных позициях артикулируются [в], [в’]: заваршка, ъвар’т’, съркавм, в’т’, вы´шла, атв’с, сил’сав’т. Губно губной звук [w] спорадически слышится в словах wт, wн, wз’ли. В слове ведь наблюдается вариация в’т’ – т’. В начале слов часто произносится [у]: ус’, ус’, ус’, ус’х, уч’ер, устну/устн’иш (встану/встанешь). В словах все, вся, всё, всех также зафиксирована вариативность: ус’, ус’, ус’, ус’х – фс’, фс’, фс’, фс’х. В конце слов [в] часто оглушается в [ф]: сы´н пр’ьтс’идт’ил’ьф (сын председателя), клсъф, бамжф (бомжей); а также в середине – д’ифч’нку, д’фк’и – и в начале слова – фс’ид.

Но на месте предлога в Валентина Ивановна всегда произносит [у] или [ув] (перед начальным гласным следующего слова): у дм, у лабъратр’ийи, у йту wон, у крснъй плт’йицы, Из р’з’и у кн’аз’и; ув ацц, ув э´тъй. Отмечен интересный случай употребления: у пъд ыл’ивтър (под элеватор).

Наблюдается прогрессивное смягчение заднеязычного /к/ после парных мягких согласных, /j/ и /ч’/: Тн’к’а, Вл’к’а, л’к’а, л’к’, тл’к’и (только), Вт’к’а, Фрс’к’а; Рйк’а; мид’ч’к’а, л’ич’к’а, карбыч’к’а, кртыч’к’а.

Лексикализованные фонетические варианты в областных словарях и диалектная этимология – 1

Областные словари содержат варианты, возникшие в результате фонетических различий русских говоров и постепенно превратившиеся в самостоятельные лексемы. Вариантность существует на уровне диалектной макросистемы, внутри же строгой лексической системы, функционирующей в ограниченном ареале, бытует, как правило, одно слово, противопоставленное по внешнему облику вариантам, известным на других территориях, в других микросистемах. Ср. извз ‘покатый бревенчатый настил для въезда в верхнюю часть крытого крестьянского двора’ К. Г. Волог. (СВГ 1987: 8), ‘приспособление для въезда лошади с санями на сеновал’ Сн., Дрв., Зв., Ун. (ОСВГ 4: 219), ср. взвоз ‘то же’ Тарн., Тот., Межд., Нюкс., Баб. (СВГ 1983: 69), ‘бревенчатая лестница на сарай, по которой можно въехать на лошади’ в вятских говорах (ОСВГ 2: 46); взвоз ‘отлогий бревенчатый настил для въезда на сеновал’ в говорах Низовой Печоры (СРГНП 1: 71); звоз ‘покатый бревенчатый настил для въезда в верхнюю часть крытого двора (в поветь, сарай)’ Уржум. Вят., Вят., Арх., Олон., Сев. Двин., Волог., Север. (СРНГ 11: 220). При одинаковом денотате, указывающем на своеобразие хозяйственного уклада жителя северной деревни, употребляются слова с разными предкорневыми элементами, каждый из которых занимает определенное место в цепи преобразований: вз  > з  > из . Наряду с этим изменением в фонетических вариантах наблюдается и переход вз  > з  > оз  в соотношениях типа взмрье – змрье Пск. (ПОС 13: 55), Пск., Онеж. Арх. (СРНГ 12: 150) – озмрье Чаг. (СРГК 4: 166); последнее возникает параллельно наряду с измрье Сер., Порх., Палк., Кар., Остр., Кр. (ПОС 13: 242), Прион. (СРГК 2: 283). Оба варианта, естественно, существуют в разных диалектных микросистемах. Именно такая интерпретация данного материала, то есть упрощение консонантной приставки до одного звука, сопровождающееся появлением протетического гласного (вз  > з  > оз ), представляется более обоснованной в сравнении с ранее высказанными предположениями об исчезновении начального звука в  в приставке воз  с учетом наличия в говорах варианта возмрье ‘взморье’ Том., Кемер., Тобол., Терск. (СРНГ 5: 26) [Михайлова: 46]. В лексеме возморье возникает эпентетический звук, также ликвидирующий консонантное сочетание в анлауте. Цепь изменений может быть представлена следующим образом: взвоз > звоз > извоз; взморье > зморье > изморье в одном ареале, взморье > зморье > озморье в другом ареале, взморье > возморье в третьем ареале.

Место и роль программирования в системе подготовки профессионалов по информационным технологиям – 1

В статье рассмотрены некоторые проблемы стоящие перед ИТ-образованием и связанные с необходимостью перехода на двухступенчатую систему подготовки специалистов.

Приказом по Министерству образования Российской Федерации №4175 от 29.11.2002 создано новое направление подготовки бакалавров и магистров 511900 «Информационные технологии» . Новая университетская дисциплина, на единой систематической основе, развивает систему подготовки профессионалов по информационным технологиям (ИТ) в высших учебных заведениях. В работе, на примере одной составляющей, а именно программирования, анализируется преемственность новой системы подготовки с обучением по образовательным стандартам 030100 «Информатика» (стандарт A), 510200 «Прикладная математика и информатика» (стандарт B), 552800 «Информатика и вычислительная техника» (стандарт C) и заключительному отчету специальной объединенной комиссии ACM и IEEE Computer Science, содержащей рекомендации по преподаванию информатики и типовым учебным планам этой дисциплины  (далее для краткости просто отчет).

Почему именно программирование? Сошлемся на один из выводов отчета. «На протяжении всей истории компьютерного образования, структура курсов по информатике была предметом горячих споров. За эти годы было предложено много стратегий, которые имеют как ярых сторонников, так и противников. Подобно проблеме выбора языка программирования, обсуждение стратегии построения вводных курсов по информатике слишком часто принимает характер религиозных войн, которое создает больше дыма, чем огня.

В целях примирения враждующих сторон, специальная комиссия решила не рекомендовать ни одного подхода. … Более того, мы должны поощрять институты и факультеты и отдельных преподавателей продолжать эксперименты в этой области. В такой динамично меняющейся науке, как информатика, для повторения успеха необходимы постоянные педагогические нововведения» .

Исходными посылками рассмотрения вопроса являются выводы, сделанные в предыдущей работе одного из авторов , а именно:

1. Под программированием в образовательных стандартах вузов России и особенно в системе подготовки специалистов в США не  понимается кодирование на каком-либо языке программирования.

2. Программированию уделяется значительное место в системе подготовки профессионалов в информатике. Особенно следует отметить  обучение в университетах США. Практически речь идет о подготовке через программирование и связанные с ним вопросы.

3. Наметилась тенденция сближения точек зрения (подходов) на систему подготовки специалистов в классических университетах России и университетах США.

Об игре «Жизнь» – 1

В эту игру играют на неограниченном клеточном поле. Каждая клетка может иметь два состояния: либо в ней есть жизнь либо она безжизненная. Данная клетка имеет 8 соседей: клетки по горизонтали, вертикали и диагонали, которые имеют с клеткой общее ребро или вершину. Жизнь течет поколениями. За одно поколение в каждой клетке происходит изменение. Если количество ее соседей составляет 0 или 1 живых клеток, то данная клетка умирает от одиночества. Если у клетки 2 соседа, то ее состояние остается прежним, а если с ней граничат 3 живые клетки, то в ней появляется жизнь. И наконец если у клетки более 3 соседей, то жизнь в клетке прекращается от «перенаселения».

Реализация этой программы языком программирования достаточно очевидна. Используется двумерная матрица, в которой хранится игровое поле. В каждой клетке может стоять либо 1, если есть жизнь, либо 0, если, соответственно, жизни нет.

type MyArray    = array [0..nmax+1, 0..nmax+1] of 0..1;

Далее для проверки состояние каждой ячейки поля при переходе в новое поколение нам необходима процедура, в которой будет производиться пересчет значений.

for i := 1 to xmax do begin       {цикл пробега по всем строкам}

for j := 1 to ymax do begin       {цикл пробега по всем столбцам}

Count := 0;

for k:=1 to 8 do

if a[i+DX[k],j+DY[k]]=1 then Inc(Count);

{считаем всех соседей}

case Count of

0..1, 4..8 : lower[j] := 0;

2          : if a[i,j] = 1 then lower[j] := 1

else lower[j] := 0;

3          : lower[j] := 1;

end;     {меняем значение клетки}

end;

for j := 1 to ymax do begin

a[i-1, j] := upper[j];

upper[j]  := lower[j];

end;

end;

for j := 1 to ymax do a[xmax,j] := lower[j];

Причем стоит помнить, что при вычислении значения клетки нам необходимо пользоваться данными только текущего поколения, и результаты пересчета предыдущей строки не должны оказывать никакого влияния на вычислений, для этого в программу были добавлены два одномерных массива:

upper, lower : array [0..nmax+1] of 0..1;

в которых хранятся значения клеток в следующем поколении.

Ввод начального и вывод текущего поколения игрового поля осуществляется через файл.

Множество устойчивых фигур.

Прежде чем приступать к нашему исследованию, давайте введем понятие симметричности. Симметричной называется фигура,  одна из частей которой является зеркальным отражением другой. Соответственно, если существует отражение одной из частей, то должна существовать и ось, которая разделяет эти две половины. В зависимости от того, как расположена эта ось, выделим два вида отражения или симметричности: горизонтальная и диагональная. Горизонтальным будем называть отражение, когда ось проходит параллельно границам клеток поля. Диагональным отражением соответственно считается отражение, когда ось пересекает клетки поля по диагонали. Приведем пример. Фигуры, изображенные на рисунке 1 являются горизонтально симметричными. Теперь рассмотрим пример с фигурой, обладающей диагональной симметрией (рис.2). Эта фигура также примечательно тем, что не обладает горизонтальной симметрией, в отличие от предыдущего примера, где фигуры были «двойные» (рис.1).

Еще один важный момент. Все остальные виды симметрии, которые характерны для устойчивых фигур, могут быть получены путем поворота оси симметрии на 900, либо путем комбинации двух видов отражения.

Некоторые конструкции полутел – 2

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

Полутело называется идемпотентным, если в нем выполняется тождество  .

Полутело   назовем зероидным, если выполняется одно из равносильных условий:                        1)         ;

2)         ;

3)         ;

4)         .

Очевидно, идемпотентное полутело является зероидным. Как показывает следующая конструкция, существуют зероидные неидемпотентные полутела [2].

Пусть   – полутело,   – линейно упорядоченная группа. На прямом произведении мультипликативных групп   определим операцию сложение:

Коммутативность сложения очевидна. Ассоциативность сложения и дистрибутивность умножения относительно сложения легко проверяются. Полученное полутело при нетривиальной группе   всегда зероидно, а если   – неидемпотентное полутело, то неидемпотентно.

Отметим, что строению полутел посвящена статья [3].

Сейчас приведем три новые конструкции полутел, интересные сами по себе и своими применениями.

1.         Обобщенное матричное полутело

Пусть   – произвольные непустые непересекающиеся множества, количество которых конечно или бесконечно, и  . Пусть, также, определены две функции   такие, что   влечет   и   влечет  , где для композиций этих функций используется мультипликативная запись. Полученную конструкцию назовем формой. Сейчас каждому элементу   поставим в соответствие полутело  , а каждому   кольцо   (возможно тривиальное) так, что для любого   можно фиксировать два морфизма:   и  , для которых   при каждом  .

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

На множестве   определим операции   и   следующим образом.

. Очевидно,   – коммутативная полугруппа, поскольку является прямым произведением коммутативных полугрупп  .

при  .

Дистрибутивность с обеих сторон умножения относительно сложения очевидна. Докажем ассоциативность умножения в  . Пусть  , тогда

.

Покажем, что множество   по умножению – группа. Для этого достаточно найти такой элемент  , что для любого   существует  , для которого верны равенства   и  . Положим  . Тогда в формуле   при   все слагаемые, кроме одного –  , будут нулевыми. Итак,  . Покажем сейчас индукцией по  , что мы можем подобрать значения функции   в точках  , не меняя значений в точках   так, что   при  . При   положим  , поскольку   – элемент полутела  , то он обратим. Очевидно,  . Пусть, теперь,   и функция   уже определена в точках   и в этих точках  . Для каждого   положим  . Это определение корректно, поскольку  , значит,   – элемент полутела, кроме того,  , следовательно, функция   уже определена в этих точках. Тогда   при  . При этом мы не изменили   для  . Индукция доказана. Значит, мы можем определить функцию   во всех точках так, что  . В действительности, можно выписать явную формулу для  , но она громоздка и вряд ли больше отражает ситуацию.

Таким образом, умножение – групповая операция, и построенное множество функций   – полутело, которое можно назвать обобщенным матричным полутелом.

Об особенностях функционирования звонкого губного спиранта [в] в некоторых севернорусских говорах – 2

Замена предлогов у – в

В живой речи населения на всей территории Кирилловского района спорадически наблюдаются замены предлогов у – в. Как правило, данное явление встречается в беседах со старшим поколением, у молодых оно почти отсутствует. В процессе многократного прослушивания записей живой речи были выявлены единичные случаи диалектного употребления в центральной и южной частях Кирилловского района:

 д’ер’еwн’х‑то,  л’иесý,  Попwк’е,  поток’.

На севере и северо‑востоке изучаемых территорий такое произношение блее частотно и встречается у лиц не только старшего, но и среднего возраста. В настоящее время функционирование предлога в на территории Кирилловского района большей частью соответствует литературной норме.

Распространение реализаций на месте <в> в некоторых позициях отражено на картах № 1, № 2. Итак, в речи жителей Кирилловского района встречаются следующие реализации <в>: [в], [ф], [w]. Как и в литературном языке чередующиеся звуки [в]//[ф] представляют фонему <в>. Говоры с такой системой знают и фонему <ф>, которая является парной фонеме <в> по глухости/звонкости [Русская диалектология 2005; 59].

Карта № 1

Звуки на месте твёрдого в в середине слова

 – произношение [w] на месте в в середине слова.

Например: [д’wк’и], [бр’wна].

 – произношение [в] и [ф] на месте в в середине слова.

Например: [д’фк’и], [бр’вна].

Карта № 2

Замена предлогов  – в

– наблюдается замена предлогов  – в.

Например: [ л’есý], [ д’ер’вн’е].

– замена предлогов  – в встречается спорадически.

Литература

1.  Касаткин, Л. Л. Современная русская диалектная и литературная фонетика как источник для истории русского языка [Текст] / Л. Л. Касаткин. – М., 1999.

2.  Захарова, К. Ф. Диалектное членение русского языка [Текст] / К. Ф. Захарова, В. Г. Орлова. – М., 1970.

3.  Аванесов, Р. И. Очерки русской диалектологии [Текст] / Р. И. Аванесов. – М., 1949.

4.  Русская диалектология  [Текст] / под ред. Л. Л. Касаткина. – М., 2005.

3. Инструментальные программные средства (продолжение 1)

Если процесс компиляции выполнен, то откомпилированная (переведенная на ЯМК) программа может храниться в памяти компьютера самостоятельно. Для нее не нужны больше ни компилятор, ни сама исходная программа на ЯПВУ. Такая программа исполняется значительно быстрее, так как единожды выполненный перевод повторять уже не требуется. Поэтому во многих случаях компиляторы предпочтительнее интерпретаторов, ибо процесс интерпретации повторяется каждый раз при новом исполнении программы, а в памяти хранится исходный код программы на ЯПВУ. Однако на этапе разработки программы, когда требуется находить и исправлять ошибки – отлаживать программу, режим интерпретации удобнее: не требуется после каждого исправления заново компилировать всю программу целиком.

Конкретные ЯПВУ ориентированы обычно на интерпретацию или компиляцию в зависимости от целей их создания. Например, Бейсик – язык начинающих программистов, использует интерпретатор, т.к. он предоставляет лучшие возможности для отладки, исправления ошибок. Язык Паскаль используется для решения более сложных задач, требующих достаточно высокой скорости исполнения программ, поэтому он реализуется с помощью компилятора. Иногда для одного языка создаются и интерпретатор, и компилятор. В режиме интерпретации новая программа создается и отлаживается, затем отлаженная программа компилируется и в таком виде готова к исполнению.

К инструментальным программам кроме трансляторов также относятся:

-          редакторы программ – с их помощью создаются исходные тексты (коды) программ на языке высокого уровня;

-          отладчики программ – программы, с помощью которых находятся и исправляются ошибки в программах, в частности отладчик помогает проследить исполнение программы в пошаговом режиме (команда за командой), на каждом шаге видеть результат исполнения отдельной команды, изменение значений переменных, т.е. выполнять трассировку программы – это требуется для нахождения вида и места ошибки в программе;

-          компоновщики программ (редакторы связей) – это программы, которые готовят уже оттранслированную программу к непосредственному исполнению, с их помощью создается так называемый загрузочный модуль, пригодный к исполнению;

-          ряд других программ.

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

Как правило, система программирования включает:

-          транслятор (компилятор или интерпретатор);

-          редактор текстов программ;

-          отладчик;

-          компоновщик;

-          библиотеки стандартных программ и функций;

-          графические библиотеки;

-          программы, обеспечивающие удобный пользовательский интерфейс (режим взаимодействия пользователя с системой программирования) и создающие удобную среду для разработки программ;

-          встроенную справочную службу;

-          другие средства.