Информатика -продвинутый курс

         

ИНФОРМАЦИЯ: БОЛЕЕ ШИРОКИЙ ВЗГЛЯД


Как ни важно измерение информации, нельзя сводить к нему все связанные с этим понятием проблемы. При анализе информации социального (в широким смысле) происхождения на первый план могут выступить такие ее свойства. как истинность, своевременность, ценность, полнота и т.д. Их невозможно оценить в терминах «уменьшение неопределенности» (вероятностный подход) или числа символов (объемный подход). Обращение к качественной стороне информации породило иные подходы к ее оценке. При аксиологическом подходе стремятся исходить из ценности, практической значимости информации, т.е. качественных характеристик, значимых в социальной системе. При семантическом

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

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

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

Попытки рассмотреть категорию информации с позиций основного вопроса философии привели к возникновению двух противостоящих концепций - так называемых, функциональной и атрибутивной. «Атрибутисты» квалифицируют информацию как свойство всех материальных объектов, т.е. как атрибут материи. «функционалисты» связывают информацию лишь с функционированием сложных, самоорганизующихся систем. Оба подхода, скорее всего, неполны. Дело в том, что природа сознания, духа по сути своей является информационной, т.е. создание суть менее общее понятие по отношению к категории «информация».
Нельзя признать корректными попытки сведения более общего понятия к менее общему. Таким образом, информация и информационные процессы, если иметь в виду решение основного вопроса философии, опосредуют материальное и духовное, т.е. вместо классической постановки этого вопроса получается два новых: о соотношении материи и информации и о соотношении информации и сознания (духа);

Можно попытаться дать философское определение информации с помощью указания на связь определяемого понятия с категориями отражения и активности. Информация есть содержание образа, формируемого в процессе отражения. Активность входит в это определение в виде представления о формировании некоего образа в процессе отражения некоторого субъект-объектного отношения. При этом не требуется указания на связь информации с материей, поскольку как субъект, так и объект процесса отражения могут принадлежать как к материальной, так и к духовной сфере социальной жизни. Однако существенно подчеркнуть, что материалистическое решение основного вопроса философии требует признания необходимости существования материальной среды - носителя информации в процессе такого отражения. Итак, информацию следует трактовать как имманентный (неотъемлемо присущий) атрибут материи, необходимый момент ее самодвижения и саморазвития. Эта категория приобретает особое значение применительно к высшим формам движения материи - биологической и социальной.

Данное выше определение схватывает важнейшие характеристики информации. Оно не противоречит тем знаниям, которые накоплены по этой проблематике, а наоборот, является выражением наиболее значимых.

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



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

Данное выше определение информации как философской категории не только затрагивает физические аспекты существования информации, но и фиксирует ее социальную значимость.

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

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


ИНФОРМАЦИЯ И ФИЗИЧЕСКИЙ МИР


Известно большое количество работ, посвященных физической трактовке информации. Эти работы в значительной мере построены на основе аналогии формулы Больцмана, описывающей энтропию статистической системы материальных частиц, и формулы Хартли.

Заметим, что при всех выводах формулы Больцмана явно или неявно предполагается, что макроскопическое состояние системы, к которому относится функция энтропии, реализуется на микроскопическом уровне как сочетание механических состояний очень большого числа частиц, образующих систему (молекул). Задачи же кодирования и передачи информации, для решения которых Хартли и Шенноном была развита вероятностная мера информации, имели в виду очень узкое техническое понимание информации, почти не имеющее отношения к полному объему этого понятия. Таким образом, большинство рассуждений, использующих термодинамические свойства энтропии применительно к информации нашей реальности, носят спекулятивный характер. В частности, являются необоснованными использование понятия «энтропия» для систем с конечным и небольшим числом состояний, а также попытки расширительного методологического толкования .результатов теории вне довольно примитивных механических моделей, для которых они были получены. Энтропия и негэнтропия - интегральные характеристики протекания стохастических процессов - лишь параллельны информации и превращаются в нее в частном случае.

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



Рассмотрим некоторый набор свойств информации:

• запоминаемость;

• передаваемость;

• преобразуемость;

• воспроизводимость;

• стираемость.

Свойство

запоминаемости - одно из самых важных.
Запоминаемую информацию будем называть макроскопической (имея ввиду пространственные масштабы запоминающей ячейки и время запоминания). Именно с макроскопической информацией мы имеем дело в реальной практике.

Передаваемость

информации с помощью каналов связи (в том числе с помехами) хорошо исследована в рамках теории информации К. Шеннона. В данном случае имеется ввиду несколько иной аспект - способность информации к копированию, т.е. к тому, что она может быть «запомнена» другой макроскопической системой и при этом останется тождественной самой себе. Очевидно, что количество информации не должно возрастать при копировании.

Воспроизводимость

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

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

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

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

Подводя итог сказанному в п. 2.4 - 2.5, отметим, что предпринимаются (но отнюдь не завершены) усилия ученых, представляющих самые разные области знания, построить единую теорию, которая призвана формализовать понятие информации и информа-ционного процесса, описать превращения информации в процессах самой разной природы.

ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ


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

Информационный обмен.

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

Учащиеся всего мира и их учителя собирают

• народные игры;

• жаргонные слова;

• шутки;

• пословицы;

• народные сказки;

• местную сельскохозяйственную информацию;

• информацию о здоровье;

• описания местных и национальных праздников;

• афоризмы;

• туристическую информацию о городах.

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

Электронные публикации.

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

Создание базы данных.

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


Телекоммуникационные экскурсии.

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

Путешествия и экспедиции, совершаемые специалистами, также обсуждаются в Internet.

Так, международный арктический поход через Северный Ледовитый Океан на собачьих упряжках и каноэ описывался учителями - участниками экспедиции - через list-сервер. Во время недавней экспедиции, предпринятой двумя исследователями из Великобритании, классы-участники еженедельно получали детальное описание хода путешествия, наблюдений, впечатлений. По возвращении путешественников в Великобританию их ждало множество электронных писем с вопросами от детей со всего мира.

Совместный анализ данных

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

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

• проекты, проводимые несколькими различными организациями в месяцы, предшествующие выборам; в этих проектах учащиеся голосуют электронным способом, а затем результаты сопоставляются с реальными результатами голосования;

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

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

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

• проект по определению миграции бабочек одного вида (наблюдается и прослеживается миграция бабочек с помощью их маркировки и отбора экземпляров из групп мигрирующих бабочек).

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


ИНФОРМАТИКА КАК ЕДИНСТВО НАУКИ И ТЕХНОЛОГИИ


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

Как наука, информатика изучает общие закономерности, свойственные информационным процессам (в самом широком смысле этого понятия). Когда разрабатываются новые носители информации, каналы связи, приемы кодирования, визуального отображения информации и многое другое, конкретная природа этой информации почти не имеет значения. Для разработчика системы управления базами данных (СУБД) важны общие принципы организации и эффективность поиска данных, а не то, какие конкретно данные будут затем заложены в базу многочисленными пользователями. Эти общие закономерности есть предмет информатики как науки.

Объектом приложений информатики являются самые различные науки и области практической деятельности, для которых она стала непрерывным источником самых современных технологий, называемых часто «новые информационные технологии» (НИТ). Многообразные информационные технологии, функциони. рующие в разных видах человеческой деятельности (управлении производственным процессом, проектировании, финансовых операциях, образовании и т.п.), имея общие черты, в то же время существенно различаются между собой.

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

АСУ - автоматизированные системы управления - комплекс технических и программных средств, которые во взаимодействии с человеком организуют управление объектами в производстве или общественной сфере. Например, в образовании используются системы АСУ-ВУЗ.

АСУТП - автоматизированные системы управления технологическими процессами.

такая система управляет работой станка


Например, такая система управляет работой станка с числовым программным управлением (ЧПУ), процессом запуска космического аппарата и т.д.

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

АОС - автоматизированная обучающая система. Есть системы, помогающие учащимся осваивать новый материал, производящие контроль знаний, помогающие преподавателям готовить учебные материалы и т.д.

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

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

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


ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММНЫЕ СРЕДСТВА ОБЩЕГО НАЗНАЧЕНИЯ


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

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

Графические редакторы позволяют пользоваться различным инструментарием художника, стандартными библиотеками изображений, наборами стандартных шрифтов, редактированием изображений, копированием и перемещением фрагментов по страницам экрана и др. Для выполнения расчетов и дальнейшей обработки числовой информации существуют специальные программы - электронные таблицы. В процессе деятельности любого специалиста часто требуется представить результаты работы в виде таблиц, где одна часть полей занята исходными данными, а другая -. результатами вычислений и графического анализа. Характерными для них является большой объем перерабатываемой информации, необходимость многократных расчетов при изменении исходных данных. Автоматизацией подобной рутинной работы и занимаются электронные таблицы.

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

• проектирование базы данных;

• создание структуры базы данных;

• заполнение базы данных;

• просмотр и редактирование базы данных;

• сортировку базы данных;

• поиск необходимой записи;

• выборку информации;

• создание отчетов.

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

Желание объединить функции различных прикладных программ в единую систему привело к созданию интегрированных систем. Универсальные интегрированные системы

разрабатывались по принципу единой системы, содержащей в качестве элементов текстовые и графические редакторы, электронные таблицы и систему управления базами данных. Примеры: Framework, Works, Мастер. Современная концепция интеграции программных средств - кооперация отдельных прикладных программных систем по типу широко известного пакета MicroSoft Office. Сами системы, входящие в пакет, являются независимыми, более того, они сами представляют локально интегрированный пакет, поскольку помимо основной своей задачи поддерживают функции других систем. Например, текстовый редактор Word обладает возможностью манипулировать с электронными таблицами и базами данных, а в электронной таблице Excel встроен мощный текстовый редактор. Для сопряжения информационных данных из различных программных систем в них предусматривают импорт-экспортную систему обмена с перекодировкой форматов представления данных.


ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММНЫЕ СРЕДСТВА СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ


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

Экспертная система

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

Кроме того, эти системы должны уметь объяснять свое поведение и свое решение.

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

Принято выделять в экспертных системах три основных модуля:

• модуль базы знаний;

• модуль логического вывода;

• интерфейс с пользователем.

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

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


Расширение концепции гипертекста на графическую и звуковую информацию приводит к понятию гипермедиа. Идеи гипермедиа получили распространение в сетевых технологиях, в частности в Интернет-технологиях. Технология WWW (World Wide Web) позволила структурировать громадные мировые информационные ресурсы посредством гипертекстовых ссылок. Появились программные средства, позволяющие создавать подобные Web-странички. Стали развиваться механизмы поиска нужной информации в лабиринте информационных потоков. Популярными поисковыми средствами в Интернет являются Yahoo, AltaVista, Magellan, Rambler и др.

Мультимедиа (multimedia) - это взаимодействие визуальных и аудиоэффектов под управлением интерактивного программного обеспечения. Появление и широкое распространение компакт-дисков (CD-ROM) сделало эффективным использование мультимедиа в рекламной и информационной службе, сетевых телекоммуникационных технологиях,обучении.

Мультимедийные игровые и обучающие системы начинают вытеснять традиционные «бумажные библиотеки». Сегодня в библиотеках CD-ROM можно «гулять» по музеям, Московскому Кремлю и т.д. с помощью «электронного путеводителя».


ИНСТРУМЕНТАЛЬНЫЕ ТЕСТОВЫЕ ОБОЛОЧКИ


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

Инструментальные программы, позволяющие разрабатывать компьютерные тесты, можно разделить на два класса: универсальные и специализированные. Универсальные программы содержат тестовую оболочку как составную часть. Среди них Адонис (Москва), Linkway (Microsoft), Фея (Томск), Радуга (Москва) и т.п. Специализированные тестовые оболочки предназначены лишь для формирования тестов. Это - Аист (Москва), I_now (Иркутск), Тест (Красноярск) и др.

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

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

1. Вопросы с фасетом. Задание вопроса, в котором меняются признаки.

Пример.

Назовите столицу страны АНГЛИЯ : ? _____.

2. Вопросы с шаблоном ответа.

Пример.

В каком году произошла Октябрьская революция? В ___ году.

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

Пример.

Какие силы действуют на тело, движущееся по наклонной плоскости? (сила трения, сила упругости, сила тяжести, сила реакции опоры).

4. Закрытая форма вопроса: номер правильного ответа.

Пример.

Какой климат в Красноярском крае?

1. Континентальный.

2. Субтропики.

3. Умеренный.

4. Резко-континентальный.

5. Задание на соответствие: несколько вопросов и несколько ответов.

Пример.

а) Кто автор планетарной модели?           а) Лермонтов М.Ю.

б) Кто автор закона тяготения?                 б) Резерфорд

в) Кто автор поэмы «Мцыри»?                  в) Ньютон

6. Конструирование ответа (шаблонный и безшаблонный варианты): ответ формируется путем последовательного выбора элементов из инструментария по типу меню.

Пример.

Чему равна производная функции у = Sin(х) + Cos(х)?


y’ = (Sin(х), Cos(х), tg(х), +, -, /,*, log(х), 1, 2,3,5 и т.д.)

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

8. Задание на демонстрацию с движущимися объектами. Ответ в виде действий тестируемого (определенный набор клавиш).

Пример.

Клавиатурный тренажер на время.

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

Хорошим считается тест если

• он восприимчив к угадыванию тестируемым;

• он восприимчив к невнимательности и ошибочным действиям тестируемого;

• он положительно влияет на тестируемого и педагога.

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


ИНТЕГРИРОВАННЫЙ ПАКЕТ MS-WORKS


После запуска интегрированного пакета MS-Works вы попадаете в интегрированную среду этого программного средства. Опишем некоторые правила работы с составными компонентами пакета.

Работа с текстовым редактором системы MS-Works. Текстовый редактор MS-Works является составной частью интегрированного пакета MS-Works. Чтобы начать работу с текстовым редактором, выполняются следующие действия.

Нажатие на клавишу Alt - переход в главное меню. При этом опция Файл

оказывается выделенной. Нажатие на клавишу Enter- подтверждение выбора и открытие подменю работы с файлами Файл. Если вы создаете новый текст, выберите в этом меню команду Создать Фаил

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

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

Для выбора файла можно использовать мышь или клавиши управления курсором, затем нужно нажать клавишу Enter. В этом случае на экране появляется интегрированная среда текстового редактора с уже загруженным текстом.

Подобным образом выбираются и другие команды меню.

Экран текстового редактора разделен на несколько частей. Вверху экрана находится меню. Оно содержит команды, которые используются для редактирования текста и работы с файлами. Внизу экрана - строка сообщений. Сверху над строкой сообщений - статусная строка. В верхней части экрана под меню имеется линейка. Она определяет границы текста и красную строку. Левая и правая границы текста обозначаются квадратными скобками. Остальная площадь экрана свободна. Это - рабочая область, в которой можно набирать и редактировать текст. На экране постоянно находятся три важных отметки - курсор, буква «п», указывающая начало страницы, и ромбик - метка конца файла. Он не может быть удален с экрана.


При вводе нового текста текстовый редактор сам разместит его в границах, определенных при помощи линейки. Когда текст доходит до конца строки, слово переносится на следующую строку.

Текстовый редактор системы Works использует стандартные для всех редакторов приемы работы с текстом. Если вы недовольны результатами редактирования, изменения легко отменить. Для этого перейдите в меню Редактирование

(нажмите клавишу Alt, укажите выделенной строкой команду Редактирование и нажмите Enter), выберите Отмена.

Нажмите Enter (или «О»). После этого текст появится на экране в первоначальном виде.

Для того. чтобы сохранить текст на магнитном диске, надо сделать следующее:

• нажать одновременно Alt и Ф (так вы откроете меню работы с файлами Файл);

• нажать клавишу С (таким образом вы выберете команду Сохранить);

• придумать и ввести имя для вашего файла, в котором будет храниться подготовленный вами текст.

Для выхода из текстового редактора следует нажать Alt и открыть меню работы с файлами Фаил (нажав клавишу Ф), выбрать команду Выход и нажать Enter (можно нажать клавишу X).

Текстовый редактор интегрированной системы Works имеет встроенные средства для проверки правописания - спеллинга. Чтобы проверить ошибки в тексте, необходимо поместить курсор в том месте, откуда надо начать проверку, или выделить текст, который надо проверить.

Работа с электронными таблицами системы MS-Works. Электронные таблицы MS-Works являются составной частью интегрированного пакета MS-Works. Для начала сеанса работы с электронной таблицей вызовите MS-Works. Чтобы начать работу с электронными таблицами, выполните следующие действия.

Нажмите клавишу Alt для перехода в главное меню. При этом пункт Файл

оказывается выделенным. Нажмите клавишу Enter, чтобы открыть меню работы с файлами Файл.

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



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

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

После загрузки пустой таблицы на экране видны 7 столбцов (с А до G) и строки с 1-й по 18-ю. Перемещение курсора по таблице осуществляется при помощи клавиш со стрелками. Для того, чтобы ввести в клетку информацию (текст, число, формулу), надо сделать следующее:

• указать клетку таблицы, установив на нее указатель с помощью клавиш управления курсором или мыши;

• набрать с помощью буквенно-цифровых клавиш текст, число, дату, формулу;

• нажать клавишу Enter, чтобы подтвердить ввод данных; если в клетке уже содержатся данные, они будут замещены введенными.

Для отмены ввода информации следует нажать Esc.

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

действий:

• курсор таблицы помещается в начало выделяемого блока (его левый верхний угол);



• из меню выбирается команда Выделить, а затем Ячейки (или нажимается клавиша F8);

• выделенная область расширяется клавишами со стрелками до необходимого размера.

После этого выделенные данные можно изменить, выбрав из меню Редактирования одну из команд: Переместить, Копировать, Очистить.

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

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

• линейный график - значения представляются в виде точек, соединенных линиями;

• столбцевая диаграмма - каждое число представлено на диаграмме столбиком.

• круговая диаграмма - значения представляются секторами круга.

Работа с СУБД системы MS-Works. Система управления базами данных MS-Works является составной частью интегрированного пакета MS-Works. Для начала работы с базами данных выполняются следующие действия. Нажатие клавиши Alt - переход в главное меню. При этом опция Фаил

оказывается выделенной. Нажатие клавиши Enter - подтверждение выбора и открытие подменю Файл

работы с файлами.

Если создается новая база данных, то в этом меню выбирается команда Создать файл.

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

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



Экран при работе с базами данных разделен на зоны. Вверху экрана находится меню. Оно содержит команды, которые используются для работы с базами данных.

Для перехода в меню надо нажать клавишу Alt. Ниже расположена строка ввода, в которой отображается содержимое активного поля. Активным называется поле, в котором находится курсор. Оно выделено цветом. Перемещение курсора по полям осуществляется при помощи клавиш со стрелками.

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

Остальная площадь экрана свободна. Это рабочая область, в которой происходит работа с базой данных. Для того, чтобы создать базу данных, надо выполнить следующие действия:

• переместить курсор в то место экрана, где должно находится поле;

• ввести имя поля, после него поставить двоеточие (:);

• нажать клавишу Enter.

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

После нажатия клавиши Enter имя поля появится на экране, а справа от имени создается само поле. Задав имена и размеры всех полей базы данных, определим форму базы данных.

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

Если необходимо ввести данные и одновременно переместиться в следующее поле, следует нажать Tab.

Если необходимо переместиться в предыдущее поле, нажмите одновременно Shift+Tab.


Если после ввода данных в последнее поле записи нажать клавишу Tab, происходит переход к следующей записи. Для перехода к следующей записи также можно использовать сочетание клавиш Ctrl+PgDn.

Для того, чтобы отредактировать поле или имя поля, сделайте следующее:

• укажите курсором нужное поле;

• нажмите клавишу F2, при этом в строке ввода появится содержимое поля;

• внесите необходимые изменения с помощью буквенно-цифровых клавиш, клавиш управления курсором. Back Space и Delete;

• нажмите клавишу Enter.

Все действия с базой данных подобны действиям со специализированными системами управления базами данных.

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

• переход в меню Просмотр

(вариант: нажатие Alt и «М»), выбор команды Таблица;

• переход в меню Выделить (вариант: нажатие Alt и «В») и выбор во вспомогательном меню команды Поиск;

• в окно Что искать

вводится текст, который надо найти.

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

• переход в меню Просмотр

(вариант: нажатие Alt и «М»), выполнение команды Новый Отчет;

• задание структуры отчета путем внесения необходимых изменений в стандартную форму с помощью буквенно-цифровых клавиш, клавиш управления курсором, Back Space и Delete.

Стандартная форма включает в себя две пустые строки для задания заголовка отчета, две пустые строки для задания заголовков столбцов; ниже располагаются строки записей. В нижней части стандартной формы находятся две пустые строки для вывода итога. В них можно ввести значения стандартных статистических формул СУММ (сумма), СРЧ (среднее значение), МАХ (наибольшее значение), MIN (наименьшее значение).

Если в отчет включаются только записи, удовлетворяющие заданному условию поиска, то после задания структуры отчета выполняются следующие действия:



• возврат в меню Просмотр

(вариант: нажатие Alt и «М»), выбор команды Запрос;

• ввод необходимых условий поиска в появившуюся на экране форму запроса;

• возврат в меню Просмотр

(вариант: нажатие Alt и «М»), выбор команды Отчет.

Иногда бывает нужно вставить информацию из базы данных в документ текстового редактора. Например, если рассылается много одинаковых писем, то адреса можно вставлять из базы данных. Можно вставлять также и отчеты. Для того, чтобы перенести информацию в текст, следует сделать следующее:

• перейти в меню Просмотр

(вариант: нажать Alt и «М»), выбрать команду Таблица;

• перейти в меню Выделить

(вариант: нажать Alt и «В»), на экране появляется вспомогательное меню (первые четыре строки которого указывают возможные выделяемые области);

• выделить информацию, которую надо скопировать, перейти в меню Редактирование (вариант: нажать Alt и «Р») выполнить команду Копировать;

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

Аналогичные действия справедливы при одновременном использовании данных в различных средствах интегрированной системы: текстовом, графическом редакторах, электронных таблицах и СУБД.

Контрольные вопросы и задания

1. Что называется интегрированным пакетом?

2. В чем достоинства и недостатки интегрированных пакетов по сравнению со специализированными инструментальными программными средствами?

3. Разработайте информационную систему «Каталог программных продуктов» и подготовьте следующие документы:

а) базы данных лицензионных и свободно распространяемых программных средств;

б) прайс-лист программных продуктов фирмы «Microsoft»;

в) рекламные буклеты по отдельным программным продуктам.


ИНТЕЛЛЕКТУАЛЬНЫЙ ИНТЕРФЕЙС ИНФОРМАЦИОННОЙ СИСТЕМЫ


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

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

Развитие программных средств идет по пути увеличения их дружественности, т.e. такого упрощения управления ими, что от пользователя не требуется специальной подготовки, и система создает максимально комфортные условия для его работы. Основной ориентир в совершенствовании вычислительных систем - превращение их в удобного партнера конечного пользователя при решении задач в ходе его профессиональной деятельности.

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

• обеспечение для пользователя возможности постановки задачи для ЭВМ путем сообщения только ее условия (без задания программы решения);

• обеспечение для пользователя возможности формирования сред решения задачи с использованием только терминов и понятий из области профессиональной деятельности пользователя, естественных форм представления информации;

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


Структура системы (рис. 1.48), удовлетворяющей требованиям новой технологии решения задач, состоит из трех компонент:

• исполнительной системы, представляющей собой совокупность средств, обеспечивающих выполнение программ;

• базы знаний, содержащей систему знаний о проблемной среде;

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



Рис. 1.48. Структура современной системы решения прикладных задач

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


ИНЖЕНЕРНАЯ ГРАФИКА


Компьютеризацию чертежных и конструкторских работ проводят давно и в настоящее время используют различные системы автоматизации проектных работ (САПР). Аббревиатуру САПР впервые использовал основоположник этого научного направления Айвен Сазерленд в своих лекциях, прочитанных в Массачусетском технологическом институте в начале 60-х годов. Фактически инженеры применяли компьютеры для решения сложных задач проектирования еще в эпоху ранних послевоенных моделей универсальных компьютеров, а первые образцы специализированного оборудования САПР были созданы уже в середине 50-х годов. Однако широкое распространение САПР обусловлено появлением микропроцессорной техники, предоставившей возможности создавать, модифицировать и обрабатывать сложные графические изображения на экране монитора.

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

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

Состав типичной системы САПР:

дисплей (графический и алфавитно-цифровой);

процессор;

клавиатура;

устройство управления курсором (мышь, дигитайзер);

электронный командный планшет;

принтер.

Одним из наиболее давних и популярных средств автоматизированного проектирования является система АВТОКАД (AutoCad). АВТОКАД не является проблемно-ориентированной системой, т.е. не содержит специализированных баз данных, экспертных систем и многого из того, что входит в состав специализированной интеллектуальной САПР.
АВТОКАД - достаточно простая универсальная система. Ее возможности таковы:

·         развитая система экранных меню;

·         высокая точность графической информации;

·         разбивка информации (расслоение);

·         прочерчиванне на дисплее координатной сетки;

·         средство захвата графических объектов;

·         мощное редактирование;

·         отображение параметров графических характеристик;

·         полуавтоматическая и автоматическая простановка размеров;

·         штриховка;

·         работа с блоками.

После запуска АВТОКАДа на текстовом экране появляется главное меню:

О - выход;

1 - создание нового чертежа;

2-редактирование существующего чертежа;

3 - вывод на плоттер (графопостроитель);

4 - вывод на принтер;

5-конфигурация;

б - файловые утилиты;

7-шрифты;

8 -стыковка со старыми версиями.

Режимы экранного меню:

AUTOCAD               - выход в головное меню;

* * * *                        - режим объектного захвата;

BLOCKS                   -работа с блоками;

DISPLAY                  - работа с изображением без его изменения;

SETTINGS                -настройка;

DIM                           - обезразмеривание;

EDIT                          -редактирование;

DRAW                       -рисование;

LAYER                      -работа со слоями;

INQUIRY                  -справки о примитивах;

UTILTTS                   - выход в ДОС, запись чертежей в разных форматах;

PLOT                         -получение твердой копии и т.д.

В режиме DRAW (рисуй) имеется возможность строить графические примитивы

и проводить с их помощью синтез изображений.


Например, здесь существует восемь

способов рисования дуг:

·         по трем точкам на дуге /З points/;

·         по начальной точке, центру и длине хорды /S, С, L/;

·         по начальной точке, центру и заключенному углу /S, С, А/;

·         по начальной точке, конечной точке и радиусу /S, Е, R/;

·         по начальной точке, конечной точке и заключенному углу /S, Е, А/;

·         по начальной точке, конечной точке и исходному направлению /S, Е, D/;

·         по продолжению предыдущей линии или дуги /CONTIN:/.

Можно выделить следующие правила изображения дуги:

1) обычно дуга строится против часовой стрелки от точки к точке;

2) если есть в выбранной опции возможность задать угол, то отрицательный угол позволяет рисовать дугу по часовой стрелке;

3) по умолчанию дуга рисуется по начальной, промежуточной и конечной точкам.

При выборе в основном меню АВТОКАД режима Edit имеется возможность стирать созданные объекты, возвращать случайно стертые, перемещать и копировать, вычерчивать сопряжения между двумя существующими объектами, снимать фаски, разбивать объект на части, зеркально отображать, поворачивать, увеличивать и уменьшать, отсекать и т.п.

Практически все команды редактирования запрашивают выбор одного или нескольких объектов для обработки. Совокупность таких объектов называется набором выбора. Когда АВТОКАДу требуется не один объект, а набор выбора, появляется подсказка Select objects: (выбрать объекты) и на экране вы видите маленький прямоугольник - мишень для выбора объектов. Способы выбора объектов указываются в опциях соответствующей команды.


ИСТОРИЯ РАЗВИТИЯ ИНФОРМАТИКИ


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

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

После второй мировой войны возникла и начала бурно развиваться кибернетика как наука об общих закономерностях в управлении и связи в различных системах: искусственных, биологических, социальных. Рождение кибернетики принято связывать с опубликованием в 1948 г. американским математиком Норбертом Винером, ставшей знаменитой, книги «Кибернетика или управление и связь в животном и машине». В этой работе были показаны пути создания общей теории управления и заложены основы методов рассмотрения проблем управления и связи для различных систем с единой точки зрения. Развиваясь одновременно с развитием электронно-вычислительных машин, кибернетика со временем превращалась в более общую науку о преобразовании информации. Под информацией в кибернетике понимается любая совокупность сигналов, воздействий или сведений, которые некоторой системой воспринимаются от окружающей среды (входная информация X), выдаются в окружающую среду (выходная информация У), а также хранятся в себе (внутренняя, внутрисистемная информация Z), рис. 1.1.

Развитие кибернетики в нашей стране встретило идеологические препятствия. Как писал академик А.И.Берг, «... в 1955-57 гг. и даже позже в нашей литературе были допущены грубые ошибки в оценке значения и возможностей кибернетики.
Это нанесло серьезный ущерб развитию науки в нашей стране, привело к задержке в разработке многих теоретических положений и даже самих электронных машин». Достаточно сказать, что еще в философском словаре 1959 года издания кибернетика характеризовалась как «буржуазная лженаука». Причиной этому послужили, с одной стороны, недооценка новой бурно развивающейся науки отдельными учеными «классического» направления, с другой - неумеренное пустословие тех, кто вместо активной разработки конкретных проблем кибернетики в различных областях спекулировал на полуфантастических прогнозах о безграничных возможностях кибернетики, дискредитируя тем самым эту науку.



Рис. 1.1. Общая схема обмена информацией между системой и внешней средой

Дело к тому же осложнялось тем, что развитие отечественной кибернетики на лротяжении многих лет сопровождалось серьезными трудностями в реализации крупных государственных проектов, например, создания автоматизированных систем управления (АСУ). Однако за это время удалось накопить значительный опыт создания информационных систем и систем управления технико-экономическими объектами. Требовалось выделить из кибернетики здоровее научное и техническое ядро и консолидировать силы для развития нового движения к давно уже стоящим глобальным целям.

Подойдем сейчас к этому вопросу с терминологической точки зрения. Вскоре вслед за появлением термина «кибернетика» в мировой науке стало использоваться англоязычное «Computer Science», а чуть позже, на рубеже шестидесятых и семидесятых годов, французы ввели получивший сейчас широкое распространение термин «Informatique». В русском языке раннее употребление термина «информатика» связано с узко-конкретной областью изучения структуры и общих свойств научной информации, передаваемой посредством научной литературы. Эта информационно-аналитическая деятельность, совершенно необходимая и сегодня в библиотечном деле, книгоиздании и т.д., уже давно не отражает современного понимания информатики.Как отмечал академик А.П.Ершов, в современных условиях термин информатика «вводится в русский язык в новом и куда более широком значении - как название фундаментальной естественной науки, изучающей процессы передачи и обработки информации. При таком толковании информатика оказывается более непосредственно связанной с философскими и общенаучными категориями, проясняется и ее место в кругу "традиционных" академических научных дисциплин».

Попытку определить, что же такое современная информатика, сделал в 1978 г. Международный конгресс по информатике: «Понятие информатики охватывает области, связанные с разработкой, созданием, использованием и материально-техническим обслуживанием систем обработки информации, включая машины, оборудование, математическое обеспечение, организационные аспекты, а также комплекс промышленного, коммерческого, административного и социального воздействия».


§ ИСТОРИЯ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ


Одной из самых революционных идей, приведших к созданию автоматических цифровых вычислительных машин, была высказанная в 20-х годах XIX века Ч.Бэббиджем мысль о предварительной записи порядка действий машины для последующей автоматической реализации вычислений - программе. И, хотя использованная Бэббиджем запись программы на перфокартах, придуманная для управления ткацкими станками французским изобретателем Жозефом Мари-Жаккаром, технически не имеет ничего общего с современными приемами хранения программ в ЭВМ, принцип здесь по-существу один. С этого момента начинается история программирования.

Аду Лавлейс, одну из немногих современников Чарльза Бэббиджа, кто сумел по достоинству оценить аналитическую машину, называют первым в мире программистом. Она теоретически разработала некоторые приемы управления последовательностью вычислении, которые используются в программировании и по сей день, описала одну из важнейших конструкций практически любого современного языка программирования - цикл.

Революционным моментом в истории языков программирования стало появление системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли, сотрудником Пенсильванского университета. Система кодирования, предложенная Моучли, увлекла одну из сотрудниц его компании - Грейс Мюррей Хоппер, которая посвятила всю свою жизнь компьютерам и программированию. Она вспоминает, что стала «третьим в мире программистом первого в мире большого цифрового компьютера». Г.Хоппер доказала, чего она стоит как программист. Впоследствии она писала: «Я имела то преимущество, что изучала как технику, так и математику и знала, как работает машина от начала и до конца».

При работе на компьютере «Марк-1» Г.Хоппер и ее группе пришлось столкнуться со многими проблемами и все, что ими придумано, было впервые. В частности, они придумали подпрограммы. Сейчас любой программист не задумываясь использует аппарат подпрограмм в любом языке программирования. И еще одно фундаментальное понятие техники программирования впервые ввели Г.Хоппер и ее группа - «отладка».
После удачного завершения работ по созданию MATH-MATIC Г.Хоппер и ее группа принялись за разработку нового языка и компилятора, который позволил бы пользователям программировать на языке, близком к обычному английскому. Необходимость появления подобной системы Хоппер объясняла следующим образом: «Существует много различных людей, которым нужно решать разные задачи. Некоторые из них связаны с обработкой символов, другие - с обработкой слов, и им нужны языки другого типа, а не наши попытки превратить их всех в математиков». В 1958 г. появился компилятор FLOW-MATIC. В отличие от ФОР-ТРАНа - языка для научных приложений - FLOW-MATIC был первым языком для задач обработки коммерческих данных. Работы в этом направлении привели к созданию языка КОБОЛ (COBOL - Common Business Oriented Language). Одним из основных консультантов при создании этого языка была Грейс Мюррей Хоппер.

Середина 50-х годов характеризуется стремительным прогрессом в области программирования. Роль программирования в машинных командах стала уменьшаться. Начали появляться языки программирования нового типа, выступающие в роли посредника между машинами и программистами. Первым и одним из наиболее распространенных был Фортран (FORTRAN, от FORmula TRANslator - переводчик формул), разработанный группой программистов фирмы IBM в 1954 г. (первая версия).

В середине 60-х годов сотрудники математического факультета Дартмутского колледжа Томас Курц и Джон Кемени создали специализированный язык программирования, который состоял из простых слов английского языка. Новый язык назвали «универсальным символическим кодом для начинающих» (Beginners All-Purpose Symbolic Instruction Code, или, сокращенно, BASIC). Годом рождения нового языка можно считать 1964 г. Сегодня универсальный язык Бейсик (имеющий множество версий) приобрел большую популярность и получил широкое распространение среди пользователей ЭВМ различных категорий во всем мире. В значительной мере этому способствовало то, что Бейсик начали использовать как встроенный язык персональных компьютеров, широкое распространение которых началось в конце 70-х годов.



В начале 60- х годов все существующие языки программирования высокого уровня можно было пересчитать по пальцам, однако впоследствии их число достигло трех тысяч. Разумеется, подавляющая часть языков не получила сколько-нибудь широкого распространения; в практической деятельности используется не более двух десятков. Разработчики ориентировали языки на разные классы задач, в той или иной мере привязывали их к конкретным архитектурам ЭВМ, реализовывали личные вкусы и идеи. В 60-е годы были предприняты попытки преодолеть эту «разноголосицу» путем создания универсального языка программирования. Первым детищем этого направления стал PL/I (Programm Language One), 1967 г. Затем на эту роль претендовал АЛГОЛ-68 (1968 г.). Предполагалось, что подобные языки будут развиваться и усовершенствоваться и вытеснят все остальные. Однако ни одна из этих попыток на сегодняшний день не увенчалась успехом (хотя PL/I в усеченных версиях использовали многие программисты). Всеохватность языка приводила к неоправданной, с точки зрения программиста, сложности конструкций, неэффективности компиляторов.

Языки программирования служат разным целям и их выбор определяется удобностью пользователя, пригодностью для данного компьютера и данной задачи. А задачи для компьютера бывают самые разнообразные: вычислительные, экономические, графические, экспертные и т.д. Такая разнотипность решаемых компьютером задач и определяет многообразие языков программирования. По всей видимости, в программировании наилучший результат достигается при индивидуальном подходе, исходящем из. класса задачи, уровня и интересов программиста. Например, Бейсик широко употребляется при написании простых программ; Фортран является классическим языком программирования при решении на ЭВМ математических и инженерных задач; язык Кобол (COBOL, от Common Business Oriented Language -общий язык, ориентированный на деловые задачи; создан в 1960 г.) был задуман как основной язык для массовой обработки данных в сферах управления и бизнеса.


Еще более специализированным является язык ЛОГО (от греческого logos - слово), созданный для обучения программированию школьников профессором математики и педагогики Сеймуром Пейпертом из Массачусетского технологического института. Обучаясь программированию на ЛОГО, дети задают простые команды, которые управляют игрушечной черепашкой, снабженной карандашиком. Отметим и еще один достаточно популярный специализированный язык - Пролог (Prolog -PROgramming in LOGic), разработанный как язык программирования для создания систем искусственного интеллекта.

В конце 50-х годов плодом международного сотрудничества в области программирования явился Алгол (ALGOL, от ALGOrithmic Language - алгоритмический язык). Алгол предназначен для записи алгоритмов, которые строятся в виде последовательности процедур, применяемых для решения поставленных задач. Специалисты-практики восприняли этот язык далеко неоднозначно, но, тем не менее, его влияние на развитие других языков и теорию программирования оказалось весьма значительным.

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

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

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


Версии Турбо- Паскаля заполонили практически все образовательные учреждения, программистские центры и частные фирмы.

Период с конца 60-х и до начала 80-х годов характеризуется бурным ростом числа различных языков программирования, сопровождавшим, как это ни парадоксально, крмзис программного обеспечения. Этот кризис особо остро переживало военное ведомство США. В январе 1975 г. Пентагон решил навести порядок в хаосе трансляторов и учредит комитет, которому было предписано разработать один универсальный язык. На конкурсной основе комитет проработал сотни проектов и, когда стало ясно, что ни один из существующих языков не может их удовлетворить, принял два проекта для окончательного рассмотрения. В мае 1979 г. был объявлен победитeль - группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Огасты Ады Лавлейс. Язык АДА - прямой наследник языка Паскаль. - этот язык предназначен для создания и длительного (многолетнего) сопровождения больших программных систем, допускает возможность параллельной обработки, правления процессами в реальном времени и многое другое, чего трудно или невозможно достичь средствами более простых языков.

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

Следует отметить, что многие языки, первоначально разработанные для больших и малых ЭВМ, в дальнейшем были приспособлены к персональным компьютерам. Хорошо вписались в «персоналки» не только Паскаль, Бейсик, Си, Лого, но и ЛИСП, ПРОЛОГ - языки искусственного интеллекта.

В течение многих лет программное обеспечение строилось на основе операциональных и процедурных языков, таких как Фортран, Бейсик, Паскаль, Ада, Си. И сегодня современные версии этих и им подобных языков (Модула, Форт и др.) доминируют при разработке прикладных программных средств.


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

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

Принципиально иное направление в программировании связано с методологиями (иногда говорят «парадигмами») непроцедурного программирования. К ним можно отнести объектно-ориентированное и декларативное программирование. Объектно-ориентированный язык создает окружение в виде множества независимых объектов. Каждый объект ведет себя подобно отдельному компьютеру, их можно использовать для решения задач как «черные ящики», не вникая во внутренние механизмы их функционирования. Из языков объектного программирования, популярных среди профессионалов, следует назвать прежде всего Си++, для более широкого круга программистов предпочтительны среды типа Delphi и Visual Basic.



Рис. 3.1. Классификация языков программирования

При использовании декларативного языка программист указывает исходные информационные структуры, взаимосвязи между ними и то, какими свойствами должен обладать результат. При этом процедуру его получения («алгоритм») программист не строит (по крайней мере, в идеале). В этих языках отсутствует понятие «оператор» («команда»). Декларативные языки можно подразделить на два семейства - логические (типичный представитель - Пролог) и функциональные (Лисп). По всей видимости, непроцедурные языки имеют большое будущее. Все сказанное выше можно отобразить схемой - крупноструктурной классификацией языков программирования.В ней указаны основные методологии программирования; в нижнем ряду, в скобках - типичные языки соответствующих групп.

Контрольные вопросы

1. Какие события и когда стали толчком для начала работ по программированию?

2. Каковы основные вехи на пути развития программирования?

3. Какие основные направления существуют в современном программировании?


ИСТОРИЯ РАЗВИТИЯ МИКРОПРОЦЕССОРОВ


В 1959 г. инженеры фирмы «Texas Instruments» разработали способ, как разместить внутри одного полупроводникового кристалла несколько транзисторов и соединить их между собой - родилась первая интегральная микросхема (ИМС). По сравнению с функционально теми же устройствами, собранными из отдельных транзисторов, резисторов и т.п.. ИМС обладает значительными преимуществами: меньшими габаритами, более высокой надежностью и т.д. Неудивительно, что количество выпускаемых микросхем стало быстро возрастать, а их ассортимент неуклонно расширяться. Последнее обстоятельство создавало ряд трудностей для потребителей. Важно даже не столько то, что стремительно возраставшее количество типов ИМС затрудняло ориентацию в море наименований. Значительно большим недостатком была узкая специализация ИМС, из-за которой объем их выпуска не мог быть большим, а значит стоимость одной микросхемы оставалась высокой. Улучшить ситуацию позволило бы создание универсальной логической ИМС, специализация которой определялась бы не заложенной на заводе внутренней структурой, а заданной непосредственно самим потребителем программой работы.

Таким образом, оказывается, что первые микропроцессоры (МП) появились совсем не для миниатюризации ЭВМ, а в целях создания более дешевой логической микросхемы, легко адаптируемой к потребностям пользователя.

История создания первого в мире микропроцессора достаточно поучительна. Летом 1969 г. японская компания «Busicom», разрабатывавшая новое семейство калькуляторов, обратилась за помощью в фирму «Intel». К тому времени «Intel» просуществовала всего около года, но уже проявила себя созданием самой емкой на тот момент микросхемы памяти. Фирме «Busicom» как раз и требовалось изготовить микросхемы, содержащие несколько тысяч транзисторов. Для реализации совместного проекта был привлечен инженер фирмы «Intel» М.Хофф. Он познакомился с разработками «Busicom» и предложил альтернативную идею: вместо 12 сложных специализированных микросхем создать одну программируемую универсальную - микропроцессор.
Проект Хоффа победил и фирма «Intel» получила контракт на производство первого в мире микропроцессора.

Практическая реализация идеи оказалась непростым делом. В начале 1970 г. к работе подключился Ф.Фаджин, который за 9 месяцев довел процессор от описания до кристалла (позднее Ф.Фаджин основал фирму «Zilog», создавшую замечательный 8-разрядный процессор Z80, который и сейчас успешно работает во многих домашних компьютерах). 15 ноября 1971 г. «Intel 4004» - так назвали процессор -был представлен общественности.

Поскольку для хранения одной цифры калькулятору требуется 4 бита (именно столько необходимо для изображения десятичных цифр «8» и «9»), «Intel 4004» был четырехразрядным процессором. Следующий микропроцессор предназначался для установки в терминал и должен был обрабатывать символьную информацию. Поскольку каждый символ кодируется одним байтом, следующая модель «Intel 8008» стала 8-разрядной; она появилась в апреле 1982 г. По-прежнему этот процессор был заменой «аппаратной логики», но отдельные энтузиасты уже пытались собрать на нем компьютер. Результаты были скорее демонстрационными, нежели полезными, но микрокомпьютерная революция уже началась.

А в апреле 1974 г. компания «Intel» совершила новый качественный скачок: ее изделие с маркой «Intel 8080» стало первым в мире процессором, походившим на «настоящую» вычислительную машину. Отметим любопытную деталь: хотя процессор. и обрабатывал 8-разрядные данные, но адрес ОЗУ был двухбайтовым! Таким образом, 8080 мог иметь до 64 килобайт памяти, что по тем временам казалось программистам недостижимым пределом.

Дальнейшее развитие событий происходило прямо-таки с фантастической скоростью, даже если сравнивать с темпами динамично развивающейся вычислительной техники. За десятилетие был пройден путь от изобретения 4-разрядного МП до достаточно сложной 32-разрядной архитектуры. Было ликвидировано отставание микропроцессорной техники от обычных ЭВМ и началось интенсивное вытеснение последних (все ЭВМ четвертого поколения собраны на базе того или иного микропроцессора!).


Для иллюстрации укажем, что первый МП 4004 содержал 2200 транзисторов, МП 8080 - 4800, МП «Intel 80486» - около 1,2 миллиона, а современный «Pentium» - около 3 миллионов!

История развития микропроцессоров представляет собой достаточно интересную самостоятельную тему. Здесь упомянем только, что пионер в создании процессорных микросхем фирма «Intel» по-прежнему сохраняет свои лидирующие позиции в этой области. Ее программно-совместимое семейство последовательно усложняющихся МП (16-разрядные 8086, 80286 и 32-разрядные 80386, 80486, «Pentium») являются «мозгом» значительной части использующихся компьютеров. Именно на базе этих микропроцессоров собраны все широко распространенные в нашей стране IBM-совместимые компьютеры.

Другую ветку обширного микропроцессорного семейства образуют МП фирмы «Motorola»: ее изделия работают в известных компьютерах «Apple», а также в более простых - «Atari», «Commador», «Amiga» и др. Процессоры «Motorola» ничуть не хуже, а порой даже заметно лучше производимых компанией «Intel». Но на стороне последней - огромные производственные мощности транснационального гиганта IBM и десятки южно-азиатских фирм, буквально наводнившие мир дешевыми IBM-совместимыми компьютерами.

В 1993 г. фирма «Motorola» совместно с IBM и «Apple» разработала новый процессор «PowerPC». Этот процессор имеет очень хорошие технические характеристики, но самое главное в нем - он может эмулировать работу компьютеров и «Apple», и IBM. Очевидно, что это событие еще более обострит конкурентную борьбу на рынке микропроцессоров.

Завершая краткий исторический экскурс, попробуем определить некоторые новые направления развития МП в ближайшем будущем. Характерной чертой последних моделей процессоров является возможность работы в многозадачном режиме, который фактически стал нормой для современных ЭВМ. Развивается RISC-архитектура микропроцессоров (процессоры с минимальным числом команд). Такой МП работает необычайно быстро и способен выполнить любую из своих немногочисленных команд за один машинный такт, в то время как обычно на выполнение простой операции требуется 4-5 тактов.


Ярким примером достоинств RISC- архитектуры является уже упоминавшийся процессор «PowerPC». Следует особо подчеркнуть, что успехи RISC-подхода оказывают существенное влияние и на конструирование CISC-процессоров (процессоры с полным набором команд). Так, существенное ускорение классических CISC МП старших моделей семейства «Intel» достигается за счет конвейерного выполнения команд, заимствованного из RISC МП.

И, наконец, нельзя не упомянуть о транспьютерах, содержащих в процессорном кристалле собственное ОЗУ от 2 до 16 кбайт и каналы связи с внешним ОЗУ и с другими транспьютерами. Теоретические возможности этих ИМС, реализующих алгоритмы параллельных вычислений, поражают воображение. Однако потребуется значительное время, прежде чем они смогут быть практически реализованы.

Не следует думать, что бурное развитие микропроцессоров требуется только для вычислительных машин, где МП используются уже не только в качестве центрального процессора, но и в качестве контроллеров для управления сложными периферийными устройствами типа винчестера или лазерного принтера. Все большее число ИМС ставится в изделия, напрямую не связанные с ЭВМ, в том числе и бытовые: лазерные аудио- и видеопроигрывателц, телетекст и пейджинговая связь, программируемые микроволновые печи и стиральные машины, а также многие другие. Очевидно, что число таких управляемых микропроцессорами устройств будет все время возрастать.


ИЗДАТЕЛЬСКИЕ СИСТЕМЫ


Общая характеристика

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

Настольные издательские системы (desktop publishing) представляют собой комплекс аппаратных и программных средств, предназначенных для компьютерного набора, верстки и издания текстовых и иллюстративных материалов.

Минимальные аппаратно-технические требования для развертывания издательских систем таковы:

• персональный компьютер: IBM PC/AT 486 или другой того же класса, с емкостью оперативной памяти 8 Мбайт;

• дисплей: цветной VGA, SVGA 15/17;

• накопитель на жестком магнитном диске (более 160 Мбайт);

• цветной лазерный принтер;

• цветной струйный принтер;

• цветной сканер,

• мышь.

Существуют различные программные системы, среди них наиболее распространены следующие. Word for Windows, Express Publisher, Illustrator for Windows, Ventura Publisher, PageMarker, TeX. Перечисленные программные системы предназначены для компьютерной верстки. Среди программ подготовки иллюстраций можно выделить следующие: CorelDraw, CorelSystem, Designer, DrawPerfect, GalleryEffect, PC Paintbrush, PhotoStyler, Adobe Photoshop и др

Для издательских систем существуют различные сервисные программы обработки текстовых материалов. Среди них можно выделить 7 основных групп:

преобразования растровой графики в векторную;

обработки сканированных изображений;

обработки шрифтов;

проверки правописания;

чтения текстов с помощью сканера;

русификации программ;

программы-переводчики.

В начале 1998 г. компания «Corel» анонсировала 8-ю версию графического пакета CorelDraw, которая работает под управлением Windows 95 или Windows NT, включает дополнительные функции, повышающие производительность труда дизайнеров графики и поддерживает работу в Internet.
Работа с издательскими системами предусматривавает

• работу с меню и с диалоговой панелью,

• работу с текстом и иллюстрациями (набор и формирование);

• редактирование текста и иллюстраций,

• оформление текста (форматирование; выбор шрифтов, гарнитуры, стиля, размеров и т.п.);

• настройку экрана.

Издательские системы имеют стандартные правила работы с меню, командами, сервисными утилитами.

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

Программы для DOS И WINDOWS:

Alt или F10               Активизировать командное меню

Alt + буква                Вызов пункта меню (параметра)

Alt + F4                      Выход из программы

Alt + Shift + Tab        Переход в окно с предыдущей программой

Alt + Tab                    Переход в окно со следующей программой

BkSp                          Удалить символ перед курсором

Ctrl + >                     Перемещение курсора на слово вправо

Ctrl + <                     Перемещение курсора на слово влево

Ctrl + Del                   Удалить документ

Ctrl + End                  Перемещение курсора в конец поля ввода

Ctrl + Enter                Начать новую страницу

Ctrl + Home               Перемещение курсора в начало поля ввода

Ctrl + Ins                    Копировать в буфер (клипбоард)

Ctrl + N                      Создать новый документ

Ctrl + О                      Открыть файл (редактировать уже имеющийся)

Ctrl+P                                    Печать

Ctrl + PgDn                Прокрутка на экран вниз

Ctrl + PgUp                Прокрутка на экран вверх

Ctrl + Q                      Выход из программы

Ctrl + S                       Сохранить файл

Ctrl + Х                      Выход из программы

Del                              Удалять символ или выделенный фрагмент

Enter                           Выполнить действие или команду

Esc                              Выйти без сохранения выбранных параметров



Esc                              Отменить выполнение

F1                               Помощь

F4                               Повторить последнюю выполненную команду

Ins                              Включить/выключить режим вставки/замены

PgDn                          Перемещение курсора на экран вниз

PgUp                          Перемещение курсора на экран вверх

Shift + <—                 Распространить выделение на символ влево

Shift + —>

                Распространить выделение на символ вправо

Shift + Del                 Удалить в буфер (клипбоард)

Shift + Ins                  Вставить из буфера (клипбоарда)

Shift + Tab                 Перемещение курсора в предыдущее поле

Tab                             Перемещение курсора в следующую позицию табуляции

Настольная издательская система WORD

В последнее время все большую популярность среди широкого круга пользователей завоевывает текстовый процессор Word для Windows. Прежде всего из-за высококачественных издательских свойств этого продукта фирмы «Microsoft». Несмотря на то, что большинство людей, работающих с WinWord, используют далеко не все его возможности, они могут создавать красиво оформленные, хорошего качества документы, разрабатывать фирменные бланки, визитки, создавать элементы фирменного стиля, рекламные документы. Возможность вставлять таблицы, рисунки, графики, формулы в тексты, создаваемые в Word, также способствует завоеванию абсолютного первенства этого программного продукта.

Word - это многофункциональная программа обработки текстов, настольная издательская система. Ее предназначение:

• набор, редактирование, верстка текста и таблиц;

• управление всеми пунктами меню, опциями и командами с помощью мыши;

• просмотр на дисплее готового к печати документа без затраты бумаги на дополнительную распечатку;

• вставка рисунков и слайдов;

• заготовка бланков, писем и других документов;

• обмен информацией с другими программами;

• проверка орфографии и поиск синонимов.



Для запуска текстового процессора дважды «щелкните» левой клавишей мыши на значке запускаемой программы. Кратко охарактеризуем возникшее интерфейсное окно.

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

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

• полей списков

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

• полей пиктограмм

(если фрагмент текста маркирован, то нажатие некоторой кнопки на линейке форматирования применяет связанную с данной кнопкой функцию).

Координатная линейка

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

Строка состояния

находится на нижней кромке окна Word. В процессе ввода данных в этой строке высвечивается информация о позиции курсора ввода и др.

Линейки прокрутки - расположены вдоль правого и нижнего краев рабочего окна. Перетаскивая мышкой бегунок вы можете быстро передвигаться по текста.



Рис. 2. 15,а. Пиктографическое меню программы Word

На рисунке 2.15, а:

1 - создать новый документ;

2 - открыть существующий документ;

3 - сохранение активного документа;

4 - печать активного документа;

5 - предварительный просмотр документа перед печатью;

6 - проверка орфографии активного документа;

7 - удаление выделенного фрагмента в буфер;

8 - копирование выделенного фрагмента в буфер;

9 - вставка содержимого буфера в позицию курсора;

10 - копирование формата;

11 - отмена последнего действия;

12-повторное выполнение последнего отмененного действия.



Рис. 2.15,б. Пиктографическое меню программы Word (продолжение)

На рисунке 2.15, б:



1 - автоматическое форматирование текста;

2 - вставка адреса из адресной книги;

3 - вставка таблицы;

4 - вставка листа MS Excel;

5 - изменение формата колонок;

6 - отображение панели рисования;

7 - управление масштабом;

8 - отображение панели инструментов мастера подсказок;

9 - помощь.



Рис. 2.15.в. Панель форматирования программы Word

На рисунке 2.15, в:

1 - применение стиля;

2 - изменение шрифта;

3 - изменение кегля;

4 - установка и отмена полужирного начертания;

5 - установка и отмена курсивного начертания;

6 - установка и отмена подчеркнутого начертания;

7 - выделение цветом выделенного фрагмента.



Рис. 2.15,г. Панель форматирования программы Word (продолжение)

На рисунке 2.15, г:

1 - выравнивание абзаца по левому краю;

2 - выравнивание абзаца по центру;

3 - выравнивание абзаца по правому краю;

4 - выравнивание абзаца по ширине;

5 - создание нумерованного списка;

6 - создание маркированного списка;

7 - уменьшение отступа или повышение уровня выделенного текста;

8 - увеличение отступа или понижение уровня выделенного текста;

9 - отображение панели инструментов «Обрамление».

Приведенные выше панели используются не только в программе Word; они типичны и для других программ семейства MS Office.

Для выхода из текстового процессора можно дважды «щелкнуть» по соответствующему Word пиктографическому значку системного меню или нажать комбинацию клавиш Alt + F4.

Загрузка документа осуществляется двумя способами:

1) нажатием кнопки с изображением раскрытой папки на панели пиктографического меню:

2) использованием команды меню Файл + Открыть. Далее выбирается нужный файл и нажимается кнопка ОК.

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

Удаление буквы

(символа) - это простейшая функция редактирования.


Если вы случайно нажали клавишу с ненужной буквой при вводе текста, то чтобы удалить ошибочно введенный символ,

• расположенный слева от курсора, надо нажать на клавишу Backspace, при этом курсор передвигается на одну позицию влево;

• расположенный справа от курсора, надо нажать на клавишу Delete, при этом курсор остается на месте

Для удаления участка текста надо его выделить и нажать клавишу Delete.

Как выделить участок текста?

Полоса выделения -

это невидимая полоса вдоль левой границы окна документа, используемая для выделения текста с помощью мыши. Чтобы выделить текст надо:

• установить указатель мыши на полосе выделения рядом с текстом;

• нажать левую клавишу мыши и, удерживая ее, передвигать мышь в нужном направлении.

Для отмены удаления

• на панели инструментов пиктографического меню нажать на кнопку с изображением изогнутой влево стрелки;

• или использовать команду меню Правка + Отменить ввод.

Добавление текста:

установить текстовый курсор на конец абзаца и нажать клавишу Enter, чтобы начать новый абзац.

Существует два вида

копирования и перемещения участков текста.


1.Ручная техника.

На небольших расстояниях:

• выделите текст, который хотите переместить или скопировать;

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

• нажмите клавишу Ctrl, если хотите скопировать выделенный участок текста;

• перемещая указатель мыши, установите штриховой текстовый курсор в ту позицию, куда хотите переместить или скопировать выделенный участок текста, и отпустите кнопку мыши.

2. При переносе текста на большие расстояния воспользуйтесь линейками прокрутки:

• выделите необходимый участок текста;

• прокрутите текст в окне так, чтобы часть, в которую вы хотите перенести или скопировать текст, стала видимой;



• нажмите клавиши Ctrl и Shift и удерживайте

их;

• установите указатель мыши в позицию текста, куда хотите вставить свой текст, и нажмите правую кнопку мыши.

Копирование и перемещение участков текста можно также осуществить с помощью Буфера Обмена - участка памяти, в которой временно помещается вырезанный или скопированный текст или графика:

• выделите текст, который хотите переместить или скопировать;

• выберите одну из команд меню Правка - Вырезать или Правка - Копировать;

• установите текстовый курсор в нужное место;

• выберите команду меню Правка + Вставить.

Сохранение текста:

а) на панели пиктографического меню нажать на кнопку с изображением дискеты;

б) или использовать команду меню Файл + Сохранить.

Откроется диалоговое окно, в котором надо выбрать Сохранить.

В поле Файл

диалогового окна Сохранить вы должны ввести имя документа, причем буквы в имени должны быть английскими и расширение у файла .doc . По окончании ввода нажмите на кнопку ОК. Откроется диалоговое окно Сводка. В него можно ввести дополнительную информацию о документе, которая будет храниться в том же файле, что и документ. Нажать кнопку ОК.

На экране монитора текст может представляться в различном масштабе и в различном виде, за это отвечает кнопка Команда меню Вид

Вид + Разметка страницы

Разбивает весь текст на страницы. Используется режим Макета.

Вид + Обычный

Увеличивает страницу на 100%. Изображение текста нормальное.

Вид + Структура Документа

Используется режим Эскиза. WinWord способен отображать на экране непечатаемые символы, такие, как пробел, конец абзаца, табуляцию.

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

Для того чтобы отформатировать символ или группу символов с помощью панели инструментов форматирования, надо

• выделить символ или группу символов;

• открыть список шрифтов и выбрать нужный, задать размер шрифта и выбрать стиль его написания;



• щелкнуть мышью в любом месте документа, чтобы убрать выделение.

Для вставки рисунков в текст в текстовом процессоре Word предусмотрена специальная операция в строке меню Вставка. Можно вставить в текст стандартные картинки текстового процессора Word:

• установите текстовый курсор в один из пустых абзацев;

• выберите команду меню Вставка + Рисунок,

• в появившемся диалоговом окне выберите файл с расширением .wmf (эти файлы находятся в каталоге Clipart);

• если хотите просмотреть содержимое файла прямо в диалоговом окне, установите опцию Просмотр;

• закончите диалог с помощью кнопки ОК;

• сделайте преобразование рисунка.

Создание собственных рисунков, выполненных в графическом редакторе Paintbrush:

• нарисуйте в графическом редакторе Paintbrush картинку, которую хотите вставить в текст;

• с помощью инструмента Ножницы отметьте картинку и скопируйте ее в Буфер Обмена;

• с помощью комбинации клавиш Alt + Tab перейдите в текстовый процессор Word (если он у вас не загружен, то перейдите в Диспетчер Программ и запустите его);

• выберите команду меню Правка + Вставить

или соответствующую кнопку в пиктографическом меню;

• сделайте преобразования рисунка.

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

Создание стиля оформления возможно следующим образом:

• выберите команду меню Формат + Стиль;

• в диалоговом окне создания стиля в поле Имя Стиля

введите имя стиля;

• нажмите кнопку Определить;

• для определения форматов в группе Оформление

следует выбрать желаемую кнопку объекта форматирования (Символ. ., Абзац..., Табуляция..., Обрамление..., Кадр .. или Язык ..);

• завершение установок в этих диалоговых окнах производится кнопкой ОК, после этого вы опять возвращаетесь в окно создания стиля;

• после создания стиля надо щелкнуть указателем мыши по кнопке Заменить;

• в завершение создания стиля надо нажать кнопку Применить.



Если у вас уже есть готовый стиль, то для того чтобы применить его к вашему отмеченному тексту, на панели инструментов форматирования нужно выбрать первое слева комбинированное окно и выбрать нужный стиль

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

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

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

• выделите текст, который необходимо преобразовать в таблицу;

• включите отображение сетки таблицы с помощью команды меню Таблица + Линии Сетки,

• выберите команду меню Таблица + Преобразовать текст;

• нажмите кнопку ОК.

Создание пустой таблицы с последующим заполнением ячеек:

1-й способ :

• установите текстовый курсор в том месте, где хотите расположить таблицу;

• выберите команду меню Таблица + Вставить Таблицу;

• в появившемся диалоговом окне окажите необходимое число столбцов и строк;

2-й способ:

• установите текстовый курсор в том месте, где хотите расположить таблицу;

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

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

• выделить таблицу;

• выбрать команду меню Формат + Обрамление',

• в появившемся диалоговом окне указать тип Сетка

и задать толщину линии;

• нажать ОК.

В текстовом процессоре Word у пользователя имеется возможность одновременно открывать вплоть до девяти окон документов. Независимо от других документов вы можете производить редактирование активного документа.

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



Для того чтобы закрыть окно, надо выбрать команду меню Файл + Закрыть.

Для перемещения текста из одного окна в другое надо

• загрузить файл с документом, в который хотите переместить текст;

• загрузить файл с документом, из которого хотите переместить текст;

• пометить весь текст, который хотите переместить, и скопировать его в буфер обмена (Правка + Копировать);

• перейти в то окно, где загружен документ, в который необходимо переместить текст;

• поставить курсор в то место, в котором должен быть этот текст, и выбрать команду меню Правка + Вставить.

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

Настольная издательская система PageMaker

PageMaker (PM) - одна из самых мощных и популярных у профессионалов издательских систем. С ее помощью можно подготовить оригинал-макет толстой книги, включающей иллюстрации, формулы, таблицы, другие сложные элементы. Последние версии программы полностью совместимы по интерфейсу с Windows и допускают импорт и конвертацию файлов из любых Windows-приложений; возможен и импорт текстовых файлов. Разработчик современных версий программы PM - фирма «Adobe».

При подготовке к изданию книг PageMaker, предоставляет значительно больше возможностей, чем текстовый процессор Word. Это связано с наличием средств управления проектами, включающими создание шаблонов и стилей, оглавлений и предметных указателей и т.д. К примеру, главы 1 - 6 данной книги подготовлены к изданию в PM.

Для вызова диалоговой панели выбора (установки) параметров работы или выполнения команд необходимо установить курсор мыши на пункт меню или команду и щелкнуть кнопкой или нажать клавиши Alt - F10 и клавишу, соответствующую выделенной букве. Выполнение команд происходит после подтверждения правильности установки всех параметров (выбора значений) активизацией экранной кнопки ОК или нажатием клавиши <Enter>.



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

Изменение масштаба выводимого на экран изображения осуществляется в пункте Page главного меню программы.

Выбрать режим работы с текстом или иллюстрациями можно активизацией соответствующей пиктограммы с помощью мыши или клавиатуры.

Перед началом работы с текстом (иллюстрациями) его необходимо активизировать. Для этого выберите в панели Инструменты пиктограмму и щелкните кнопкой мыши по выделенному фрагменту. Можно активизировать одновременно несколько объектов, последовательно выбирая их с помощью мыши при нажатой клавише Shift или отмечая на полосе прямоугольную область, в которой они расположены. Для одновременной активизации всех объектов на полосе нажмите клавиши Ctrl + А или дайте команду Edit * Select All.

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

Для выделения фрагмента текста выберите соответствующую пиктограмму в панели Инструменты.

Выделение всего текста издания осуществляется командой Edit * Select All или нажатием клавиш Ctrl + А. Выделить фрагмент можно перемещением указателя мыши по тексту с нажатой кнопкой или с помощью клавиатуры.

Помощь:                                           Help или F1

Выход из программы:                     File * Exit или Alt + F4

Настольная издательская система ТеХ

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

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

Контрольные вопросы

1. Какие возможности предоставляют текстовые редакторы?

2. Какие минимальные требования предъявляются к техническим характеристикам компьютера и его периферии для развертывания текстовых редакторов различных уровней?

3. Какие функциональные разделы допускают издательские системы?

4. Подготовьте реферат «История вычислительной техники» с помощью редактора Лексикон; затем, используя правила художественного и технического редактирования, разработайте несколько его вариантов в виде оригинал-макетов с помощью издательской системы Word.


ИЗОБРАЗИТЕЛЬНАЯ ГРАФИКА


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

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

Законы композиции:

1) закон цельности:

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

2) закон контрастов: контраст света и тени определяет форму предметов; контрасты величин, построения сюжета определяют композицию. Правила композиции:

1) передача ритма:

ритм в удачной композиции одновременно расчленяет компоненты произведения и объединяет их;

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

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

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

Пропорция -

определенное соотношение частей между собой, соразмерность.

Ритм - равномерное чередование каких-нибудь элементов.

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

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


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

Объектами художественной графики выступают различные узоры, шрифты и другие изображения. При работе с изображениями широко используют простые мотивы и разнообразный геометрический материал. В частности, простые геометрические фигуры в различных сочетаниях и способах размещения (вложения, вращения, симметрии) используются в «живых картинках» для получения муарового эффекта. Удачное сочетание случайного и упорядоченного в любой пропорции с технологиями расположения графических объектов позволяет создавать художественный дизайн.

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

• параллельный перенос;

• центральная симметрия;

• осевая симметрия;

• скользящая симметрия.

Для бордюр существует четыре абстрактные группы симметрии, которые определяют семь типов симметрии бордюр:

1) один параллельный перенос;

2) одна скользящая симметрия;

3) две осевые симметрии;

4) две центральные симметрии;

5) одна осевая и одна центральная симметрия;

6) один параллельный перенос и одна осевая симметрия;

7) три осевые симметрии.

Существует несколько способов построения бордюр по заданному элементарному мотиву и системе образующих ее группы симметрии. Рассмотрим наиболее простые из них.

Первый способ основан на простом переборе элементов группы - на элементарный мотив действуют поочередно всеми элементами группы симметрии бордюра.


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

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

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



Рис. 2.16. Схема построения бордюра

Рассмотрим, например, процесс построения бордюр с помощью образующих шестого типа симметрии. Создадим элементарный мотив узора (рис. 2.16, а) и определим образующие: параллельный перенос зададим вектором b,

(рис. 2.16, б) осевую симметрию прямой а (рис. 2.16, в)

Процесс получения бордюра с помощью заданных образующих вторым из описанных выше способом проиллюстрирован поэтапно. На элементарный мотив действуем параллельным переносом на вектор b, см. схему б.

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

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

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

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


Различают пять типов плоских решеток: квадратная, прямоугольная, гексагональная, ромбическая и косая. Тип плоской решетки определяет характер переносной симметрии данного орнамента.

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

1) два параллельных переноса:

2) три центральных симметрии;

3) две осевые симметрии и параллельный перенос;

4) две скользящие симметрии с параллельными осями;

5) осевая и скользящая симметрии с параллельными осями;

6) симметрия относительно четырех сторон прямоугольника;

7) одна осевая и две центральные симметрии;

8) две скользящие симметрии с перпендикулярными осями;

9) две осевые симметрии с перпендикулярными осями и одна центральная симметрия;

10). центральная симметрия и вращение на 90°;

11) симметрия относительно трех сторон прямоугольного равнобедренного треугольника;

12) осевая симметрия и вращение на 90°;

13) два вращения на 120°;

14) осевая симметрия и вращение на 120°;

15) симметрия относительно равностороннего треугольника;

16) центральная симметрия и вращение на 120°;

17) симметрия относительно трех сторон прямоугольного треугольника с углом 30°.

Несколько слов о частных случаях орнаментов. Бесконечная плоская фигура Ф называется плоским орнаментом, если выполняются следующие условия: 1) среди перемещений, отображающих Ф на себя, существуют неколлинеарные параллельные переносы; 2) среди всех векторов (параллельных переносов), отображающих Ф на себя, существует вектор наименьшей длины.


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

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

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

Процесс моделирования орнаментов на экране компьютера аналогичен моделированию бордюр: после получения повторяющейся фигурки из элементарного мотива с помощью образующих данного орнамента вывод на экран происходит циклическим изменением координат в двух направлениях. При моделировании орнаментов на основе различных плоских решеток без «заполнения» их элементарной ячейки получаются паркеты. Для осуществления компьютерного моделирования графического объекта выбирают подходящее программное инструментальное средство - графический редактор (систему), например, PaintBrash, CorelDraw и т.п., в котором допустимы все возможности, необходимые для описанной работы. Иногда бывает полезным осуществить построение графического образа программированием (на одном из языков программирования) с использованием графических библиотек.

Узор на плоскости получается из элементарного мотива с помощью образующих элементов его группы симметрии. Для бордюр существует 7 различных наборов образующих его групп симметрии, для орнаментов - 17. Чтобы построить узор на компьютере, необходимо



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

2) выбрать и задать образующие;

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

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

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

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

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

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



. Рис. 2.17. Муаровый pop

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



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

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

Демонстрационная графика

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

Достаточно просто организовать перемещение фрагмента рисунка на экране. Для этого надо

• создать этот фрагмент в нужном месте экрана;

• стереть фрагмент, рисуя его цветом фона или используя процедуру очистки экрана;

• снова нарисовать фрагмент в другом месте экрана, и так далее.

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

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


ЭКОЛОГИЯ И МОДЕЛИРОВАНИЕ


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

В 1869 г. немецкий естествоиспытатель Эрнст Геккель предложил составной термин «экология» («эко» - дом, жилище, местопребывание и «логос» - наука, знание) как название раздела биологии, ставшего самостоятельным. Классическая экология - наука о взаимодействии организмов и окружающей среды. Сегодня, говоря об экологии, чаще всего имеют в виду не классическую, а, так называемую, социальную экологию, оформившуюся как научное направление и направление общественно-политической деятельности на 100 лет позднее, и занимающуюся проблемами охраны окружающей среды, взаимодействием с ней человеческого сообщества.

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

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

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

В классической экологии рассматриваются взаимодействия нескольких типов:

• взаимодействие организма и окружающей среды;

• взаимодействие особей внутри популяции;

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

1. Модели помогают выделить суть или объединить и выразить с помощью нескольких параметров важные разрозненные свойства большого числа уникальных наблюдений, что облегчает экологу анализ рассматриваемого процесса или проблемы.

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

3. Модель может служить образцом «идеального объекта» или идеализированного поведения, при сравнении с которым можно оценивать и измерять реальные объекты и процессы.

4. Модели действительно могут пролить свет на реальный мир, несовершенными имитациями которого они являются.

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

• сложности внутреннего строения каждой особи;

• зависимости условий жизнедеятельности организмов от многих факторов внешней среды;

• незамкнутости экологических систем;

• огромного диапазона внешних характеристик, при которых сохраняется жизнеспособность систем.

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


§ ЭКСПЕРТНЫЕ СИСТЕМЫ


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

Особенности экспертных систем:

• компетентность - в конкретной предметной области экспертная система должна достигать того же уровня, что и специалисты-люди; при этом она должна пользоваться теми же эвристическими приемами, также глубоко и широко отражать предметную область;

• символьные рассуждения - знания, на которых основана экспертная система, представляют в символьном виде понятия реального мира, рассуждения также происходят в виде преобразовании символьных наборов;

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

• самосознание - экспертная система должна включать в себя механизм объяснения того, каким образом она приходит к решению задачи.

Экспертные системы создаются для решения разного рода проблем, но они имеют схожую структуру (рис. 2.27); основные типы их деятельности можно сгруппировать в категории, приведенные в табл. 2.5.

Рис. 2.27. Схема обобщенной экспертной системы

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

Таблица 2.5 Типичные категории способов применения экспертных систем

Категория

Решаемая проблема

Интерпретация

Прогноз

Диагностика

Проектирование

Планирование

Наблюдение

Отладка

Ремонт

Обучение

Управление

Описание ситуации по информации, поступающей от датчиков

Определение вероятных последствий заданных ситуаций

Выявление причин неправильного функционирования системы по наблюдениям

Построение конфигурации объектов при заданных ограничениях

Определение последовательности действий

Сравнение результатов наблюдений с ожидаемыми результатами

Составление рецептов исправления неправильного функционирования системы

Выполнение последовательности предписанных исправлений

Диагностика и исправление поведения обучаемого

Управление поведением системы как целого

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


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

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

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


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

Экспертные системы, выполняющие проектирование, разрабатывают конфигурации объектов с учетом набора ограничений, присущих проблеме. Примерами могут служить генная инженерия, разработка СБИС н синтез сложных органических молекул.

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

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

Экспертные системы, выполняющие обучение, подвергают диагностике, «отладке» и исправлению (коррекции) поведение обучаемого. В качестве примеров приведем обучение студентов отысканию неисправностей в электрических цепях, обучение военных моряков обращению с двигателем на корабле и обучение студентов-медиков выбору антимикробной терапии. Обучающие системы создают модель того, что обучающийся знает и как он эти знания применяет к решению проблемы. Системы диагностируют и указывают обучающемуся его ошибки, анализируя модель и строя планы исправлений указанных ошибок. Они исправляют поведение обучающихся, выполняя эти планы с помощью непосредственных указаний обучающимся.



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

Рассмотрим примеры наиболее известных классических экспертных систем, с которых началось создание и развитие этого типа программных средств.

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

Система MYCIN справляется с задачей путем назначения показателя определенности каждому из своих 450 правил. Поэтому можно представлять MYCIN как систему, содержащую набор правил вида «ЕСЛИ... , ТО» с определенностью Р. В случае MYCIN их предоставили люди-эксперты, которые изложили и правила, и указали свою степень доверия к каждому правилу по шкале от 1 до 10. Установив эти правила и связанные с ними показатели определенности, MYCIN идет по цепочке назад от возможного исхода, чтобы убедиться, можно ли верить такому исходу. Установив все необходимые исходные предпосылки, MYCIN формирует суждение по данному исходу, рассчитанное на основе показателей определенности, связанных со всеми правилами, которые нужно использовать.



Допустим, чтобы получить исход Z, требуется определить предпосылки Х и Y, дающие возможность вывести Z. Но правила для определения Х и Y могут иметь связанные с ними Показатели определенности Р и О . Если значения Р

и Q были равны 1,0, то исход Z не вызывает сомнения. Если Р и Q меньше 1,0 (как это обычно бывает), то исход Z не последует наверняка. Он может получиться лишь с некоторой степенью определенности.

MYCIN не ставит диагноз и не раскрывает его точный Показатель неопределенности.

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

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

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

DENDRAL - это старейшая, самая разработанная экспертная система в мире. Или, по крайней мере, старейшая система, названная экспертной.

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


Здесь-то и оказывается очень полезной система DENDRAL, автоматизирующая процесс определения химической структуры вещества.

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

На выходе первой системы имеется не один простой ответ. Обычно это серия возможных структур - программа не в состоянии точно сказать, какая из них верна. Затем DENDRAL «берет» каждую из этих структур по очереди и использует вторую экспертную систему, чтобы определить для каждой из них, каковы были бы результаты спектрального анализа, если бы это вещество существовало и было на самом деле исследовано на спектрограмме. Процесс, часто именуемый «генерация и проверка», позволяет постоянно сокращать число возможных рассматриваемых вариантов, чтобы в любой момент оно было как можно меньше. В отличие от некоторых экспертных систем DENDRAL задумана не как «игрушка». Она используется не только для проверки теоретических основ экспертных систем, но и реально применяется для определения химических структур.

PROSPECTOR - это экспертная система, применяемая при поиске коммерчески оправданных месторождений полезных ископаемых.

Система PROSPECTOR, по аналогии с MYCIN, содержит большое число правил, относящихся к различным объектам, а также возможных исходов, выведенных на их основе. В этой системе используется также «движение по цепочке назад» и вероятности. Методы этой системы являются одними из лучших среди всех разработанных методов для любой из существующих ныне систем.



Самый простой случай - правила, выражающие логические отношения. Это правила типа «ЕСЛИ X,

ТО Z», где событие Z непосредственно вытекает из X.

Они остаются такими же простыми, если сопоставить Х некоторую вероятность.

Если у Х

всего один аргумент, то это правило существенно упрощается. Обычно вместо Х мы представляем более сложное логическое выражение, например (X И Y) или (X ИЛИ Y).

Если элементы отношения связаны с помощью логического И и отдельным элементам этого отношения сопоставлены определенные вероятности, то система PROSPECTOR выбирает минимальное из этих значений и присваивает эту минимальную вероятность рассматриваемому возможному исходу. Поэтому когда вероятность наступления события X равна 0,1 и вероятность наступления события Y равна 0,2, то вероятность исхода Z равна 0,1. Легко видеть, почему выбран такой метод: чтобы Z было истинным, и X, и Y должны быть истинными. Это является «жестким» ограничением, поэтому следует брать минимальное значение.

Система PROSPECTOR пользуется методом, основанным на применении формулы Байеса с целью оценки априорной и апостериорной вероятностей какого-либо события. В целом правила в системе PROSPECTOR записываются в виде ЕСЛИ ..., ТО (LS, LN), причем каждое правило устанавливается с отношением правдоподобия как для положительного, так и для отрицательного ответа.

Система PROSPECTOR предлагает пользователю шкалу ответов в диапазоне от -5 до + 5. Нижний предел - это определенно «Да», верхний - определенно «Нет».

Обычно ответ пользователя находится где-то между крайними значениями, и PROSPECTOR корректирует Р(Н), учитывая LS и LN с помощью линейной интерполяции. Это легко представить себе в виде линейной шкалы, где LN - крайнее левое, а LS - крайнее правое значения.

Кроме экспертных систем MYCIN, DENDRAL и PROSPECTOR существует большое количество других экспертных систем. В табл. 2.6 приводится список некоторых систем, отличительной особенностью которых является наличие большой базы знаний. Этот перечень, конечно, весьма неполный, потому что в последнее время происходит быстрое расширение сферы применения экспертных систем, и полный их перечень был бы огромным и устарел бы почти сразу после его опубликования.



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

Вообще же инструментальные средства создания экспертных систем (ЭС) классифицируют следующим образом:

• символьные языки программирования, ориентированные на создание ЭС и систем искусственного интеллекта (например, LISP, INTERLISP, SMALLTALK);

•языки инженерии знаний, т.е. языки высокого уровня, ориентированные на построение ЭС (например, OPS-5, LOOPS, Пролог, KES);

• системы, автоматизирующие разработку (проектирование) ЭС (например, КЕЕ, ART, TEIRESLAS, AGE, TIMM); их часто называют окружением (enviroment) для разработки систем искусственного интеллекта, ориентированных на знания;

• оболочки ЭС (или пустые ЭС) - ЭС, не содержащие знаний ни о какой проблемной области (например, ЭКСПЕРТИЗА, EMYCIN, ЭКО, ЭКСПЕРТ).

Таблица 2.6 Список некоторых экспертных систем

Наименование системы

Назначение системы

MYCIN

Медицинская диагностика

PUFF

Тоже

PIP

»

CASNET

»

INTERNIST

»

SACON

Техническая диагностика

PROSPECTOR

Геологическая диагностика

DENDRAL

Определение химической структуры вещества

SECHS

Тоже

SYNCHEM

»

EL

Анализ цепей

MOLGEN

Генетика

MECHO

Механика

PECOS

Программирование

Rl

Конфигурирование компьютеров

SU/X

Машинная акустика

VM

Медицинские измерения

SOPHIE

Обучение электронике

GUIDON

Медицинское обучение

TE1RESIAS

Построение базы знаний

EMYCIN

Тоже

EXPERT

»

KAS

»

ROSIE

Построение экспертных систем

AGE

Тоже

HEARSAY |||

»

AL/X

»

SAGE

»

Micro-Expert

»


ЭЛЕКТРОННАЯ ПОЧТА


Исторически первый и наиболее распространенный вид работы в телекоммуникационных сетях -

межперсональный обмен текстовыми сообщениями, известный под названием «электронная почта» (или E-mail). Как и при обычной почтовой связи, здесь происходит обмен сообщениями, но не на бумаге, а в виде файлов. Преимущества электронной почты над обычной велики: многократно большая скорость доставки информации (так, сообщение из России в США обычно доставляется не более, чем за 2 часа), компьютерная подготовка сообщений, передача информации в виде, допускающем последующую ее компьютерную обработку получателем (редактирование, помещение в различные документы, базы данных и т.д.).

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

Абоненты электронной почты обслуживаются «электронными узлами связи». Для обмена корреспонденцией между абонентом и узлом, как правило, используется обычная телефонная линия.

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

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


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

From insvch!kiae!gateway.mgn.chel.su!mgpi.mgn.chel.su!mgpi Wed Jan 11 11:26:32 1995

Received: by vgpi.voronezh.su (UUPC/a v5.09gamma, 14Mar93); Wed, 11 Jan 1995 11:26:32 +0300

Received: by insvch.voronezh.su; Tue, 10 Jan 95 17:46:15 +0300

Received: from mgn.chel.su (gateway.mgn.chel.su) by sequent.kiae.su with SMTP id AA05915

(5.65.kiae-2 for

<mogavgpi.voronezh.su>); Tue, 10 Jan 1995 17:20:08 +0300

Received: from mgpi.UUCP by mgn.chel.su with UUCP id TAA02156; (8.6.5) Tue, 10 Jan 1995

19:17:47+0500

Received: by mgpi.mgn.chel.su (UUPC/@ v5.09gamma, 14Mar93); Tue, 10 Jan 1995 15:26:43 +0500

To: mog@vgpi.voronezh.su Message-Id: <AAY3c41qF3@mgpi.mgn.chel.su>

Organization: Pedagogical Institute

From: mgpi@mgpi.mgn.chel.su (Vadim Bavazitov) Date: Tue, 10 Jan 95 15:26:42 +0500

X-Mailer: BML [MS/DOS Beauty Mail v.L36]

Return-Receipt-To: mgpi@mgpi.mgn.chel.su

Subject: Re: Поздравления с Новым Годом!

Lines: 5

Уважаемый Александр Владимирович!

Поздравляю Вас с наступившим Новым Годом! Я надеюсь, Вы не забыли о моей просьбе (об АСУ ВУЗ).

С уважением Баязнтов В.З.

Здесь первые четырнадцать строчек составляют заголовок. Заметим, что каждая из строк заголовка имеет вид

название:текст

Названия строк заголовка расшифровываются так:

Received:

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

Date:

- время отправления письма; оно указывается в стандартном формате, поскольку большинство почтовых систем умеют сортировать сообщения по времени, если потребуется.

From:

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


Message-Id:

- внутренний идентификатор сообщения: присваивается почтовой системой отправителя. Каждому письму присваивается уникальный - единственный в мире! - идентификатор. Его можно использовать для ссылок на письмо, как исходящий номер.

То:

- адрес получателя.

Subject:

- тема сообщения. Пометка Re: обозначает, что это сообщение - ответ (от слова reply) на другое сообщение. У исходного сообщения и у ответа строка Subject: одна и та же. При составлении автором ответа почтовая система автоматически взяла тему из исходного сообщения. Это удобно, когда идет длинный разговор на одну тему. Можно потребовать, чтобы почтовая система отсортировала сообщения по темам, и освежить в памяти предыдущие фразы этого разговора. Составляя сообщение, надо стараться в этой строке указать короткое и как можно более информативное описание темы сообщения.

Status:

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

Бывает еще несколько видов строк заголовка (не все они обязательно должны быть). Некоторые строки почтовые системы добавляют автоматически (Received:, Date:), другие задает сам автор письма (То:, Subject:).

Остановимся более подробно на том, как указать в сообщении адрес, чтобы почтовые системы его поняли и доставили письмо по назначению. Рассмотрим адрес из приведенного выше примера:

mog@vgpi.voronezh.su

Он состоит из адреса машины и имени адресата, которое отделено знаком @. Слева от @ стоит имя адресата, точнее, имя файла - почтового ящика на его машине, из которого он забирает письма. Обычно пользователь называет свой почтовый ящик тем же именем, под которым он зарегистрирован в системе. Чаще всего это имя, фамилия или инициалы.

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


поочередно уточняющие. где этот почтовый ящик искать. Самый правый поддомен (в нашем случае su) называется доменом верхнего уровня и чаще всего обозначает код страны, в которой находится адресат. Код su сохранился от названия «Советский Союз», а, например, код uk обозначает Великобританию, fr - Францию и т.д.

Домен верхнего уровня - не всегда код страны. В Соединенных Штатах встречаются такие, например, домены верхнего уровня, как edu - научные и учебные организации, или gov - правительственные учреждения: lamaster@george.arc.nasa.gov. Также можно встретить домен верхнего уровня, обозначающий название сети, в которой находится адресат, например, bitnet: DLV@cunyvmsl.bitnet.

Поддомены, расположенные правее домена верхнего уровня, уточняют положение адресата внутри этого домена. В нашем первом примере mog@vgpi.voronezh.su поддомен voronezh обозначает город Воронеж, a vgpi - организацию в Воронеже (Воронежский государственный педагогический институт).

Сеть RELCOM поддерживает стандарт RFC822, поэтому адрес пользователя на машине в сети RELCOM можно писать в доменной форме. У всех адресов в RELCOM домен верхнего уровня - это код страны su (или ru от Russia - Россия). Домены первого уровня обычно обозначают город, например, msk (Москва), spb (Санкт-Петербург), nsk (Новосибирск); встречаются домены первого уровня, обозначающие организацию (kiae, demos).

С помощью электронной почты можно пересылать не только текст, но и двоичные файлы - программы, графические файлы, архивы и т.д. Поскольку, гарантируется прохождение по сетям лишь символов с кодами от 0 до 127 (и лишь в некоторых случаях до 255), двоичные файлы должны быть перекодированы в текст из символов в этом диапазоне кодов. Распространенная система кодировки предоставляется утилитами uuencode.exe и uudecode.exe.

Запуск программы uuencode осуществляется командой с параметрами:

uuencode [-<ключ>] <имя двоичного файла> [<имя файла-результата>] После запуска создается текстовый файл примерно с таким содержимым:



section I of uuencode 5.25 of file uuencode.exe by R.E.M.

begin 644 my_prog.exe

M35J='l,''0'''(4)__]:-@#_4@''''\!4$M,251%($-0<'(N(»$Y

M.3'M.3(@4$M705)%($EN8RX@06QL(%)I9VAT<R!297-E<G9E9'<'''!0'1T'



L7!QI'&X«QR&' (L<EiR9'+«PlP&' '#G'

?H='A]A) #TE5B\'TP<'0' "DIP'

end

sum -r/size 37949/13297 section (from «begin» to «end»)

sum -r/size 38958/9629 entire input file ;

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

В строке со словом begin

указывается имя исходного двоичного файла. Затем, до слова end, идут символы-коды. В конце письма приводятся контрольные суммы для проверки правильности передачи.

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

Обратное преобразование - в двоичный формат - выполняется с помощью программы undecode.exe.

Вызов этих утилит происходит автоматически при работе со специализированными программами для подготовки и чтения электронной почты.

В настоящее время кодировщик uuencode вытесняется программой base64, реализующей новый протокол перекодировки MIME, обладающий рядом новых возможностей.

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


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

Пользователям сети RELCOM в каждый момент доступны сотни постоянно или временно действующих телеконференций. Некоторые из них доступны пользователям всех узлов сети (например, конференция relcom.education по проблемам образования), некоторые - лишь в пределах региона (например, в Пермской области конференция perm.education). Есть телеконференции коммерческого и некоммерческого характера, различающиеся оплатой за получаемую информацию. Часто однородные по тематике телеконференции объединяют в группы, а внутри них выделяют подгруппы. Например, большая группа «вычислительная техника» содержит подгруппы «языки программирования», «операционные системы», «компьютерные вирусы» и т.д.

Имена news-групп состоят из нескольких слов, разделенных точками. Первое слово обозначает широкую область, к которой относится news-группа, а остальные слова последовательно уточняют ее тему. Например, в имени news-группы comp.lang.pascal слово сотр обозначает, что тема этой группы связана с компьютерами, слово long - с языками программирования, а слово pascal определяет язык программирования Pascal.

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

Для того, чтобы получать сообщения той или иной группы, читатель должен на эту группу подписаться - послать на узел сети (или сервер этой конференции) соответствующее сообщение. Например, в RELCOM'e для этого надо отправить по адресу сервера новостей либо команду

subscribe <имя_конференции>

- заказ тем статей указанной конференции, либо команду feed <имя_конференции>

- заказ полных текстов статей.

Сообщения внутри каждой news-группы пронумерованы в порядке поступления, по этим номерам к ним можно обращаться, вызывать полные тексты.


Для этого в адрес сервера телеконференции надо послать письмо, содержащее команды

group <имя_конференции>

art <номер_статьи>

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

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

Обсудим программную поддержку электронной почты. Возможности электронной почты с точки зрения конечного пользователя поясним на примере двух программ - почтовых оболочек, - одна из которых работает под управлением MS DOS, а другая - Windows. Возможности первой, MAIL-2, отражены в меню, схематически изображенном на рис. 5.4.

Документ

 

Прием

 

Отсылка

 

Почта

 

Опции

 

Настройка

 

Редактировать

Просмотреть

Копировать

Переименовать

Удалить

Найти

Папка

Внешняя команда

Запустить ОС

Распечатать

Письма

Новости

Сортировка

Уведомление о приеме

Письмо

Новость

Запрос статей

Факс

Адресная книга

Неотправленные

Копия почты

Файл подписи

Соединение

Запуск таймера

Статистика

UUENCODE

UUDECODE

Архиватор таблиц

Сетевые новости

Электронная подпись

Правила пользования

Меню пользователя

Соединения

Пользователя

Новостей

Принтера

Перезагрузка

<


Рис. 5.4. Схема меню программы-оболочки электронной почты MAIL-2

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

В разделе «Документ» пользователь может создавать письма и новости, используя встроенный редактор (хотя с таким же успехом можно пользоваться любым внешним текстовым редактором), осуществлять стандартную работу с файлами (копировать, удалять, искать во всех имеющихся директориях). Можно создавать тематические папки для архивов. Возможен временный выход в DOS и последующий возврат в данную программу.

В разделе «Прием» можно просматривать полученную корреспонденцию -письма, новости, - копировать их как во внутренний архив, так и в любой внешний каталог, стирать. Можно задать режим автоматической отсылки уведомлений о получении писем или отменить его.

В разделе «Отсылка» производится отправление указанных видов сообщений. Адреса для писем можно либо вводить в интерактивном режиме, либо брать из «Адресной книги»; последнюю можно пополнять и редактировать. Можно просмотреть неотправленные письма и при необходимости их уничтожить.

Для упрощения ввода адресов конкретных абонентов в командах посылки писем в программе предусмотрен электронный справочник адресов электронной почты. Для вызова на экран окна справочника используется команда меню {Адресная книга}. В окне отображается таблица известных пользователю адресов сети. В каждой строке показывается собственно адрес и произвольный комментарий к нему (это обычно фамилия пользователя, телефон и т.п.). В режиме справочника адресов, кроме стандартных команд перемещения, можно внести новый адрес в таблицу. На экране появляется окно диалога с полями «Адрес» и «Комментарий», в которые следует ввести требуемые значения: фамилию, имя, отчество абонента, электронный адрес, место работы, телефон и т.д. Пользователь должен сам заботиться о расширении своего справочника, вводя в него адреса интересующих его абонентов.



Подготовка письма в телеконференцию производится как обычно, но для его отправки вместо команды {Отсылка} {Письма} используется команда {Отсылка} {Новость}. В появившемся окне диалога программа предложит вам ввести имя отсылаемого файла, раздел телеконференции и строку-комментарий к письму.

В разделе «Почта» происходит, в частности, соединение с почтовой машиной (узлом). В зависимости от настройки компьютер дозванивается по заложенным в программу номерам телефонов, делая заданное число попыток.

В разделе «Опции» первый пункт - запуск программы кодирования. Это бывает необходимо для передачи по сетям бинарных файлов, а также некоторых текстовых (например, русскоязычных текстов по иностранным сетям). Исходный документ преобразуется в файл с 7-битовой кодировкой и приобретает специальное расширение .uue, с которым его и следует отправлять. Второй пункт этого подменю -обратное преобразование. Вся деятельность проистекает в интерактивном режиме. Следует заметить, что такое стандартное кодирование не рассматривается как самодеятельная шифровка информации, запрещенная российским законодательством. Пункт «Архиватор таблиц» позволяет помещать во внутренний архив программы MAIL-2 письма и документы, пункт «Сетевые новости» позволяет соединиться с сервером новостей по специальной программе обслуживания локальной сети. «Электронная подпись» позволяет сформировать стандартную подпись для Ваших писем, автоматически подключаемую к каждому из них. «Подпись» содержит номера телефонов, факсов, сведения о должности и т.д.

Раздел «настройка» позволяет конфигурировать программу соединения с сервером, подписываться и отказываться от подписки на группы новостей и т.д. В разделе «настройка соединения» пользователь выбирает одну из нескольких возможных программ связи по модему.

Большое распространение в России получил пакет для работы с электронной почтой в среде DOS под названием UUPC.

Среди файлов и директорий системы UUPC, формирующихся при инсталляции этой системы, наиболее важными являются:



\UUPC                                   -           каталог, в котором размещены составные части пакета UUPC;

\UUPC\READ_ME               -           инструкция по почтовой системе;

WUPCVUUCICO.EXE        -          программа передачи/приема почты, обычно запускаемая

с помощью bat-файла uupc.bat;

\UUPC\BML.EXE                 -          программа, позволяющая работать с поступившей почтой и

            подготавливать новые сообщения;

\UUPC\CONF\                      -           каталог, содержащий общие файлы настройки;

\UUPC\CONF\DIALERS     -           описания модемов, известных системе;

\UUPC\CONF\SYSTEMS    -           описание вызываемых узлов сети (телефоны, пароли и т.п.);

\UUPC\CONF\UUPC.RC     -          настройка общих параметров системы UUPC (полное

сетевое имя, краткое сетевое имя и т.д.);

\UUPC\CONF\PASSWD      -           список всех пользователей UUPC;

\UUPC\CONF\FORWARD -           файл с именем администратора почты на данной машине;

\UUРС\МА1L\ВОХЕS\имя_пользователя            -           файл системного почтового ящика.

Все файлы настройки содержат подробный комментарий и могут быть отредактированы любым текстовым редактором для внесения изменений в настройку системы. Кроме того, для каждого пользователя системы создается домашний каталог (например, C:\MOG -для пользователя MOG), который содержит следующие файлы:

PERSONAL.RC                   - параметры системы UUPC для данного пользователя

                                                           (имя, расположение системных каталогов);

PERSONAL.SIG                  - файл, который автоматически добавляется в конец каж-

                                                           дого посланного сообщения, как бы подпись под элек-

                                                           тронным письмом (если задан такой режим);

МВОХ                                   - файл для записи уже прочитанных писем (по умолча-

                                                           нию);



FORWARD                           - кому перенаправить почту (файл состоит из одной стро-

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

                                                           пробел, а весь список занимает не более 4 кбайт).

В указанный при установке системный каталог записываются команды для облегчения вызова системы:

UUPC.BAT                           - вызов программы связи;

BMAIL.BAT                                     - экранная версия программы просмотра и посылки почты.

Передача всех писем (и прием писем, предназначенных для ЭВМ-адресата) осуществляется при запуске программы связи с помощью команды UUPC. Система UUPC будет пытаться связаться с главной машиной и передать и принять накопленную информацию. Если связь не удалась, произойдет повтор набора телефонного номера. Когда все подготовленные сообщения переданы и новая почта принята, программа связи прекращает работу.

В среде Windows одна из широко распространенных программ электронной почты - Outlook Express. Ее заставка, содержащая главное (графическое) меню, приведена на рис. 5 5.

Собственно, Outlook Express

представляет нечто большее, чем просто программу просмотра и подготовки электронной почты Это - среда, поддерживающая различные виды деятельности, например, планирование и организацию личной деятельности и групповых мероприятий, учет. Для этого введены папки «Дневник», «Заметки», «Календарь», «Контакты».



Рис. 5.5. Начальный кадр почтовой программы Outlook Express

Заметки - это электронный вариант бумажного блокнота; здесь можно записывать вопросы, мысли, напоминания и т.п.

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



Папка «Контакты» предназначена для управления данными о деловых и других контактах. Эти данные можно сортировать и хранить в любом виде; можно хранить по несколько адресов, номеров телефонов или адресов электронной почты для каждого контакта и непосредственно обращаться к их Web-страницам.

И все же главное в Outlook Express -

это программа электронной почты и чтения новостей, основанная на стандартах Internet.

Для чтения электронной почты с помощью Outlook Express

необходим доступ к системе почты, использующей протоколы SMTP и РОРЗ или IMAP, который можно получить у поставщиков (провайдеров) услуг Internet в любом регионе. При этом соединение с почтовой системой может происходить как с помощью модема по коммутируемой телефонной линии, так и по локальной сети.

Программу Microsoft Outlook Express News можно использовать для чтения новостей в группах электронных досок объявлений, таких, как Usenet; для этого необходимо подключаться к серверу новостей, работающему по протоколу NNTP.

Работа с почтой начинается (и заканчивается) доставкой почты, которая происходит после нажатия на кнопку «Доставить почту». Если имеется постоянная связь с почтовым сервером, доставка происходит сразу, иначе Microsoft Outlook сам устанавливает связь с сервером в соответствии с настройками, задаваемыми при установке. Пришедшая почта по умолчанию попадает в папку «Входящие».

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

В список папок включаются папки почты, серверы новостей и группы новостей; между ними возможно быстрое переключение. Можно добавить свои папки для более удобной организации сообщений, а затем установить правила папки «Входящие», чтобы поступающая почта, удовлетворяющая заданным условиям, автоматически попадала в конкретную папку.

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



Интересно, что вводимые адреса автоматически попадают в адресную книгу, откуда их затем удобно выбирать при повторном использовании. Если новое сообщение должно быть ответом на поступившее письмо, следует использовать кнопку «Ответить автору»; в этом случае в бланке сообщения строки адреса и темы заполняются автоматически, а также (если задано в настройках) в текст ответа включается письмо-оригинал, помеченное в каждой строке символом >. Кнопка-команда «Переслать сообщение» позволяет переадресовать полученное письмо кому-либо.

Полезной кнопкой является «Язык». Она позволяет выбрать кодировку просматриваемого сообщения, если сообщение на русском языке пришло в иной (не Windows)

кодировке (KOI-8, ISO) и имеет поэтому нечитаемый вид.

Меню Microsoft Outlook

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

Отметим, что меню окна создания сообщения (ответа) отличается от основного меню Microsoft Outlook. Так, опция «Вставка» позволяет вставить в сообщение заранее подготовленный текст (в кодировке Windows) из файла с расширением .tхt или «вложить» в сообщение двоичный файл с перекодировкой в текстовый формат по протоколу MIME. При поступлении сообщения с таким вложением пользователю Microsoft Outlook оно автоматически разворачивается в двоичный файл, записывается на диск или может быть открыто сразу же с помощью имеющегося в ОС приложения.

Удобные возможности Microsoft Outlook предоставляет в работе с группами новостей Usenet. Можно провести их поиск по ключевым словам или просмотреть список всех групп новостей, доступных через поставщика Usenet. Найдя группу новостей, которую следует регулярно просматривать, надо включить ее в список «Выписанные», чтобы ее всегда можно было быстро найти.

В группе новостей можно, не читая всего списка сообщений, посмотреть отдельное сообщение и все ответы на него (так называемое «обсуждение»).


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

Чтобы эффективнее использовать время подключения к Internet, можно загрузить с сервера сообщения или целые группы новостей, а затем спокойно иx прочитать, отключившись от поставщика услуг. Можно получить для автономного просмотра одни заголовки сообщений и пометить те из них, которые вы хотите прочитать при следующем подключении. Можно также готовить сообщения в автономном режиме, и отправлять их при очередном подключении.

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

HELP                                     - команда обращения за помощью, в ответ на нее сервер

                                                           высылает письмо, содержащее описание команд сервера;

INDEX                                  - запрос о структуре информации, хранящейся на сервере, с

                                                           краткими описаниями файлов;

DIR и LS                               - команды, возвращающие содержимое каталогов файлового

                                                           сервера;

CD <имя_директория>        - команда перемещения по дереву директориев;

GET <имя_файла>               - вызов файла;

QUIT                                     - окончание командного пакета.

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

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


ЭЛЕКТРОННЫЕ ТАБЛИЦЫ EXCEL


Современные электронные таблицы типа Excel используют манипулятор «мышь»; в них реализован удобный и комфортный интерфейс.

Excel имеет два окна - программное (внешнее) и рабочее (внутреннее). Внутреннее окно Sheet # содержит рабочую страницу (таких страниц несколько, они образуют книгу), представляющую двумерную прямоугольную таблицу (подобную полю SuperCalk). Справа и внизу на рабочей странице расположены линейки со стрелками прокрутки, позволяющие с помощью мыши быстро перемещаться по странице.

Рис. 2.26. Экран Ехсе!

В окне Excel (рис. 2.26), как и в других программах пакета MicroSoft Office, под зоной заголовка находится область заголовков меню. Чуть ниже находится основная линейка инструментов.

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

Если читатель уяснил идеологию электронных таблиц, то он может смело приступать к работе с Excel.

Итак, данные подлежащие обработке размещаются на нескольких листах книги Excel. Введите числа и текст какой-нибудь сметы в ячейки первого листа книги, попытайтесь красиво оформить данные, а затем представьте их в виде диаграммы (попытайтесь!). Далее сохраните данные и напечатайте. У вас должно все получиться!

А теперь опишем несколько правил работы с таблицей. Чтобы выполнить какое-либо действие с данными, помещенными в ячейки (ввод, копирование, удаление, форматирование и т.п.), необходимо их выделить. Чтобы выделить ячейку, укажите на нее и нажмите кнопку мыши. При нажатой кнопке можно выделить диапазон ячеек. После выделения необходимой области нажмите правую кнопку мыши, вызывая контекстное меню, которое позволяет выполнить ряд команд: Вырезать, Копировать. Вставить и т.п.

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

Создание формулы начинается с ввода знака равенства (=).
Формула содержит встроенные функции, адреса ячеек, константы. В случае затруднений с формированием формулы используйте Мастер функции. Есть великолепная команда Авто-суммирование. Выделите столбец или строку данных (и вообще любой диапазон ячеек) и нажмите кнопку «Автосуммирование».

Подобный сервис есть и при оформлении дизайна таблицы. Вручную форматирование проводят стандартным способом. Выделяют ячейку или диапазон, а затем выбирают команды из контекстного меню форматирования. Автоформат позволяет оформить сразу весь текущий лист по шаблону, который выбирается командой Автоформат в меню Формат.

Перед печатью таблиц (кнопка Печать) удобно осуществить предварительный просмотр (соответствующая кнопка в меню Сохранить).

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

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

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

Помимо того, что имеется большая встроенная библиотека построения графических образов: графиков, диаграмм, гистограмм. Excel содержит мощный встроенный графический редактор. Принципы работы графического редактора аналогичны подобным системам, описанным в разд. 2.5.

Большое внимание в Excel уделено оформлению книги, ее листов.


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

Excel не только «дружен» с текстовыми и графическими системами, но и поддерживает основные действия, характерные для систем управления базами данных (СУБД). В этом смысле современные электронные таблицы (Excel, QuattroPro, Lotus) являются интегрированными программными системами. Более того, у них развит аппарат импортирования и экспортирования данных из других программных систем.

Эти и многие другие приятные сервисные возможности, порой неожиданные, можно для себя открыть при работе с Excel.

Контрольные вопросы и задания

1. Создайте ЭТ «Стипендиальная ведомость».

2. Составьте смету расходов для организации турпохода, если известна общая сумма затрат. Постройте различные виды диаграмм и подготовьте отчет.

3. Составьте компьютерную модель Солнечной системы в электронных таблицах. Считая, что планеты движутся вокруг Солнца по окружностям с постоянной скоростью, определите скорость движения по орбите для каждой планеты. Например, для Марса V = 2•3,14-0,387/0,24 = 10,1(км/ч). Оцените в каких пределах может меняться расстояние от Земли до Марса. При каких расположениях планет достигаются наименьшее и наибольшее значения.

4. Пусть интервал движения автобуса составляет 10 мин. Среднее время ожидания автобуса можно оценить проведя N опытов, разыгрывая случайное число в интервале [0, 10]. Найдите среднее значение для серий из 10, 50, 100 опытов. В случае двух маршрутов найдите среднее значение ожидания, когда интервал движения первого автобуса составляет 10 минут, а второго 60 минут. Постройте вычислительную таблицу для трех маршрутов.


ЭЛЕКТРОННЫЕ ТАБЛИЦЫ SUPERCALC


Общие сведения

Одним из популярных табличных процессоров под DOS для компьютеров PC-286, -386 является SuperCalc-4 (SC-4).

SC4 позволяет работать с семью типами диаграмм и графиков, позволяет вводить различные обозначения, шкалы переменных, заголовки. В SC-4 можно создавать базы данных (БД), имеются простейшие средства, характерные для систем управления БД. Кроме того, SC-4 располагает средствами для перевода информации к виду, доступному из текстовых редакторов, систем управления БД (например, семейства DBASE) и других программных средств.

После загрузки системы на экране появляется рекламная заставка фирмы-разработчика и далее после нажатия любой клавиши - пустая электронная таблица. ЭТ, созданные пользователем, записываются на диск в специальном оригинальном формате и имеют по умолчанию стандартное расширение .cal. Эти файлы в неизменном виде могут обрабатываться только системами SuperCalc-4 и SuperCalc-5.

Электронная таблица SC-4 состоит из клеток, образующих строки (rows) и столбцы (columns). Столбцы обозначены одно- и двухсимвольными буквами латинского алфавита: А, В, С, ..., Z, АВ, ..., AZ, ВА, ..., BZ, ..., IA, ..., IU. Максимальное число столбцов 255. Строки обозначены номерами от 1 до 9999. В обозначении каждой клетки указывают координаты столбца и строки. Например: Al, B20, IA1. Такое обозначение клетки еще называют адресом клетки. ! В каждый момент времени одна из клеток является активной (АК). Она высвечивается на экране при помощи указателя, которым можно управлять. Активная клетка доступна пользователю для чтения и записи данных. Для быстрого перемещения указателя к краю ЭТ используют одновременное нажатие клавиши END и стрелок (к верхнему краю, к нижнему, к левому и к правому). Для листания ЭТ по страницам используют клавиши PageUp (страница вверх), PageDown (страница вниз), Ctrl + <== , Ctrl + ==> (страницы влево или вправо).

ЭТ имеет обрамление (верхняя строка и левый столбец) с именами строк и столбцов. Сами клетки составляют рабочую область ЭТ.
Напомним, что на экране видна . лишь часть таблицы. В нижней части экрана расположены четыре служебные строки:

• в первой строке отображается адрес и содержимое АК, а также направление ' движения указателя АК;

• во второй строке содержится информация об ЭТ;

• в третьей строке вводятся данные или команды;

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

Объекты, с которыми работает SC4: клетки, столбец, строка, диапазон столбцов (например А:С), диапазон строк (например 4:7) и блок клеток. Блок клеток задается адресами левой верхней и правой нижней клеток. В качестве разделителя используется двоеточие или точка, например, АЗ:В5 или АЗ.В5.

Список- один или более адресов объектов, разделенных запятыми.

Ссылки - адреса клеток, используемые в качестве имен переменных в формулах.

Обычное обозначение адресов является относительным, так как оно показывает расстояние от клетки, в которой содержится формула, до клетки, на которую в этой формуле есть ссылка. Например, пусть в клетке A3 хранится формула А2 + 1 (т.е. клетка A3 должна принять значение клетки А2, увеличенное на единицу). При копировании этой формулы в другие клетки, в них будет возникать не ссылка А2, а ссылка на клетку, расположенную выше, подобно тому как А2 есть клетка, расположенная над клеткой A3 - так называемое, «копирование с настройкой», значительно ускоряющее формирование ЭТ при решении многих задач.

Для того, чтобы ссылка не изменялась, используют абсолютный адрес. В этом адресе перед номером столбца и строки должен стоять знак $. Например, $A$2 - не перенастраивается ни номер столбца, ни номер строки; $A2 - не перенастраивается только номер столбца, номер строки остается относительным; A$2 - здесь относителен номер столбца.

Содержимым клетки может быть текст, повторяющийся текст и формула:

• формула используется для вычислений, строится из чисел, математических операторов и функций; длина формулы до 241 символа (частный вид формулы -число);



• текст - может содержать любой символ клавиатуры, его длина должна быть не более 241 символа, для введения текста набор следует начинать с символа S или кавычки (");

• повторяющийся текст - начинается с апострофа (') и распространяется на все свободные клетки строки (обычно используется для прочерчивания линий).

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

SC-4 поддерживает два вида математических операторов: арифметические и операторы отношения. Арифметические операторы +, -, *, / имеют стандартное назначение, Операторы % (расчет процента), ** или ^ - возведение в степень. Операторы отношения: <, >, =, <=, >= (меньше, больше, равно, меньше или равно, больше или равно).

Имеются следующие виды функций: арифметические и тригонометрические, логические, календарные, статистические, специальные, финансовые, индексные.

После ввода символа "/" в первой и второй служебных строках появляется меню команд. Для выбора команды надо переместиться на ее имя и нажать клавишу ввода или ввести только первую букву ее имени. В ответ программа выводит полное имя команды:

/Blank                         -очистка клетки, группы клеток, всей таблицы или описания графиков;

/Insert             - вставка пустых строк/колонок;

/View              - визуализация данных в графическом режиме;

/Move             - перенос-вставка существующих строк/колонок с указанной позиции;

/Global            - задание общих режимов или режимов пересчета таблицы;

/eXecute         - исполнение командного файла (xqt. файл);

/Copy              - копирование содержания клеток или описания графиков;

/Zap                -удаление таблицы и значения форматных характеристик из

памяти;

/Load              - загрузка таблицы или ее части с диска в рабочую область памяти;

/Window         - установка режима «два окна»;

/Output           - вывод отображения данных или содержимого клеток на экран, на диск



                                   или на печать;

/Edit                - редактирование содержания клетки;

/Arrange          - сортировка данных (строк, колонок);

/Title               - фиксация заголовка и/или левых колонок таблицы,

/Delete            - удаление колонки (строки), файла;

/Format           - установление форматныx характеристик отображения дан- ных на уровне клетки, строки, колонки или всей таблицы;

/Save               - сохранение текущего содержания таблицы на диске;

/Quit               - завершение сеанса работы с программой;

/Unprotect      - снятие защиты клеток;

/Protect           - установка защиты клеток;

/Name                         - задание имени для диапазона клеток;

//Data              - предлагает дополнительные команды для работы с базой данных;

//Export           - пересылка файлов из Суперкалка;

//Import           - пересылка файлов в Суперкалк;

//Macro           -создание макроопределений. Большинство команд имеют несколько уровней возможных ответов. После ввода буквы команды, вместо списка команд, появляется подсказка с вариантами ответов, допустимыми для этой команды.

Пример: создание ЭТ «Штатное расписание»

Общий вид создаваемой таблицы:

А

В

С

D

Е

F

G

Н

I

J

К

1

Школа №5

2

3

ФИО

Стаж

Разряд

Разрядный коэффициент

Оклад. Руб.

Число часов

Всего начислено

Подоходный налог

Профсоюзные сборы

Всего удержано

К выдаче

4

5

6

Артемьева Т Н.

5

10

3,30

86

20

124,22

14,91

0,12

15,03

109,19

7

Бердышева А С.

7

10

3,30

86

30

186,33

22,36

0,19

22,55

163,78

8

Пришвина О.Н.

9

11

3,40

88

21

133.47

16,02

0,13

16,15

117,32

9

Веселова В А.

16

12

3,45

89

24

154,27

18,51

0,15

18,67

135,60

10

Николаева С.Ф.

15

11

3,40

88

28

177,96

21,35

0,18

21,53

156,43

11

Левина Е.А.

10

12

3,45

89

18

115,70

13,88

0,12

14,00

101,70

<


Опишем порядок выполнения работы.

А. Оформление шапки таблицы.

1. Перемещаем курсор АК в клетку D1 и набираем с клавиатуры текст «Школа №5», нажимаем клавишу ввода.

2. В клетку А2 вводим повторяющийся текст:'_ . Он должен начинаться с апострофа, за ним указывается тот символ, который должен повторяться. В нашем случае это знак подчеркивания. Во второй строке проведена линия до правого края таблицы. Очистите клетки таблицы от линии, начиная со столбца L. Для этого введите в клетку L2 повторяющийся текст, содержащий пробел. Вернитесь к левому краю таблицы (Ctrl <== ).

3. В строки 3 и 4 введите заголовки столбцов, как показано в общем виде таблицы.

4. В пятой строке проведите линию, действуя аналогично п.2.

Б. Внесение данных.

1. Заполните столбец А. Так как по умолчанию ширина столбцов 9 символов, необходимо увеличить ширину столбца А. Выполните команду:

/F,CA,W,15.

Эта форма записи команды означает: нажатием клавиши «/» мы выходим в меню команд; клавишей F выбирается команда Format, нажатием С указывается область действия команды: Column (столбец); символ А автоматически появляется в командной строке, поскольку курсор АК находится в столбце А (или переведите его в этот столбец); далее выбирается опция Width (ширина) и указывается ширина столбца 15.

2. Внесите данные в столбцы B,C,D,F.

3. В клетку Е6 внесем формулу для расчета оклада: (D6+l)*20. Обратите внимание, что в этой клетке сразу появилось числовое значение этой формулы. Если же этого не произошло, значит при наборе была ошибка и формула воспринята как текст. Для исправления ошибки нажать F2, удалить признак текста - кавычки - и внести исправления в формулу.

4. Аналогично п.З занесите формулу для расчета суммы начисления:

E6*F6/18* 1.3 (эту формулу при желании можно сделать более точной).

5. В клетки Н6 и 16 введите формулы 12% G6 и 1 % G6, соответственно.

6. В клетку J6 внесите формулу Н6 + 16.

7. В клетку К6 внесите формулу G6 - J6.

8. Скопируйте формулу для расчета оклада из клетки Е6 в блок клеток командой



Е7:Е11 :/С,Е6,Е7:Е11.

Далее процесс аналогичен.

Во всех клетках автоматически появились числовые значения формул. В первой служебной строке можно увидеть их вид. Заметьте, что при копировании произошла автоматическая настройка адреса D6 на D7, D8, D9 и т.д.

/C,G6:K6.G7:K11.

Рассмотрим на примере этой ЭТ применение команд Title, Global, Window, Arrange, а также запись и чтение с диска.

1. Вся таблица не вмещается на экран. Можно зафиксировать столбец А, тогда при движении к последним столбцам ЭТ, например к столбцу с суммой начисления, столбец с фамилиями будет служить границей и не исчезнет с экрана. Для этого сначала курсор АК поместите на столбец А, а затем выполните команду

/Title, Vertical.

Передвиньте курсор АК в столбец Н и убедитесь в правильности выполненных действии. Опция Clear снимает все титульные значки. Выполните команду /Title, Clear.

Для фиксации шапки таблицы, надо поместить курсор АК на 5-ю строку и выполнить команду

/Title. Horizontal.

Если поместить курсор АК в клетку А5 и выполнить команду

/Title,Both,

то фиксируется и шапка таблицы и столбец А.

2. Поместите курсор АК в клетку А12. Выполните команду Window, HorizontaI.

Экран разбился на два окна. Во втором окне при помощи, стрелок отобразите те же строки, что и в первом - в окнах можно высвечивать разные части одной и той же таблицы. Курсор АК сейчас находится во втором окне. Переход между окнами -. клавиша F6. Настройте второе окно на режим отображения формул:

/Global,Formula.

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



Window, Synchronize

установится синхронный режим смещения (Unsynchronize - несинхронный).

3. Запишите ЭТ на диск при помощи команды Save:/S . Во второй строке появляется запрос: Enter File Name (введите имя файла). Укажите имя файла, например PR1. Из опций А|| (вся таблица). Values (без формул), Part (часть таблицы) выберите А||. Назначение опций можно посмотреть при помощи клавиши-подсказки F1 в момент их высвечивания на экране. Команда записи на диск

/Save.PRlAll.

4. Команда /Zap удаляет всю таблицу из памяти. Загрузить таблицу с диска можно командой Load:

/Load.PRl, AH.

5. Сортировка данных в таблице производится командой Arrange. Опция Row означает, что по значениям указанной строки будут сортироваться столбцы, опция Column - сортировка производится между строками по значениям столбца.

Отсортируем строки таблицы по столбцу А, в котором находятся фамилии сотрудников, в соответствии с алфавитом. Выполните команду

/Arrange, Column, A,

но не нажимайте клавишу ввода. Обратите внимание на 2-ю служебную строку: "Enter Column; then <RETURN>, or <,> for Options" (введите колонку, затем ввод или запятая для опций). Вы должны нажать запятую. Это связано с тем, что не все строки нашей ЭТ должны сортироваться (в строках с 1-й по 5-ю находится шапка таблицы). На запрос "Enter Range" (введите область) укажите А6:К11 - можно воспользоваться удобствами режима Point. Далее из опций Ascending, Descending (по возрастанию, по убыванию) выберите Ascending. Из следующих опций Ajust, No-Ajust (с настройкой, без настройки формул) выберите опцию Ajust. Далее: Go. Общий вид команды

/Arrange, Column, A, A6:K 11, Ascending, Ajust, Go.

6. Отсортируем теперь таблицу по двум признакам: по убыванию разрядов, а внутри по возрастанию количества часов. Выполните

команду:

/Arrange, Column, С, А6: К11, Descending, Adjust, Options, F, Ascending.

Средства макропрограммирования



Интегрированная система обработки электронных таблиц SC4 предоставляет пользователю средства макропрограммирования.

Макропрограммы хранятся, как правило, вместе с электронными таблицами и используются для автоматизации их обработки. Макропрограмма состоит из макросов. Макрос - самостоятельная структурная единица макропрограммы. Он обычно имеет имя и отделяется от остальных макросов пустыми клетками.

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

Работа с макросами включает в себя

• создание;

• поименование;

• запись на диск;

• отладку и исполнение.

Создавать макросы лучше всего непосредственно в ЭТ в обычном режиме ввода данных ENTRY.

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

Макрокоманды записывают в клетки как текст. Прописные и заглавные буквы не различают. Например,

/Bа1:а5~и/ВА1:А5~

одна и та же команда. (Также как \а и \А - одно и то же имя или метка макроса). Значок ~ означает нажатие клавиши ввода. При вводе слэш-команд начинаем с символа ", причем вводим не полное название пункта меню, а выделенную букву.

Например,команда ввода

/Blank,al:a2

запишется в виде макрокоманды так:

"/Bа1:а2~.

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

• очищать клетки а1:с1 таблицы;

• запрашивать значение переменной х в клетку а1;

• если значение х>0, то в клетке b1 выводить значение выражения х*0.25, а иначе в клетке с1 значение выражения х*.\*0.25.

Наша макропрограмма в ЭТ будет выглядеть так:

                  А

В

С

1

2



/Bal:cl

-Очистка клеток а1:с1

3

{Getnumber "x=",al}

Ввод значения х в а1

4

{if al>0} {Branch \b}

По условию, переход в \b

5

(Branch \c}

или в\с

б

7

\b

{let blal *0.25}

b1=а1*0.25

8

9



{letclal*al*0.25}

с1=а*а1*0.25

10

<


В нашем примере три макроса \а, \b, \с отделяются друг от друга пустыми строками. Макрос с именем \а располагается в клетках b2:b5, макрос с именем \b в клетке b7, макрос с именем \с — в клетке b9. Выше описано создание макросов в режиме ENTRY. Кроме этого, макросы можно создавать в режимах LEARN и DIRECT. В режиме LEARN ваши действия автоматически записываются в виде макроса в LEARN — область, задаваемую командой

//Macro ,Learn, столбец.

Вход в этот режим осуществляется по нажатию клавиш Alt+F4. (Выход - повторное нажатие тех же клавиш.) Макрос, созданный в этом режиме, имеет большие размеры и сложен для восприятия и редактирования. Режим DIRECT (вход -Alt+F6, выход - повторное нажатие) является промежуточным между режимами ENTRY и LEARN.

Имена макросов лучше всего начинать с символа \ и далее одна из букв латинского алфавита. Макрос тогда очень просто запускается на выполнение: одновременное нажатие клавиш Alt+A запускает на выполнение макрос \а, Alt+B - макрос \b и т.д.

Чтобы текст в клетках столбца А воспринимался как имена (или метки) макросов, необходимо дать команду

- /Name, Labels, Right, A.

Эта команда назначает имена макросам, расположенным справа от столбца А. Макросы лучше всего записывать вместе с ЭТ по команде

/Savе,имя ЭТ,А11.

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

//Macro,Write.

Эти файлы имеют стандартное расширение .xqt и могут создаваться в текстовых редакторах. Метки, макросы и комментарии записываются, тогда в один столбец. Первая строка файла должна содержать имя {Macro}. Эти файлы могут быть запущены на исполнение из SC по команде

//Масго.еХесutе.имя.

Читаются такие файлы в SC по команде

//Macro,Read.

Графическое представление данных

Электронные таблицы имеют развитые возможности представления данных в графическом виде.

Рассмотрим принципы построения диаграмм на примере ЭТ «Показатели соревнования между факультетами института».



Пусть пять факультетов соревнуются по следующим пунктам:

• % успеваемости (отношение числа студентов, сдавших сессию без двоек, к общему числу студентов);

• % качества знаний (сдавшие на 4 и 5 к общему числу студентов);

• участие в студенческих конференциях (0,2 балла за каждого студента);

• число печатных работ (0,5 балла за каждую работу).

Порядок работы.

1. Оформите «шапку» ЭТ.

2. Заполните данными столбцы В, С, D, Е, F.

3. В клетку G5 внесите формулу С5/В5 и скопируйте ее в диапазон G5:G9 В клетку Н5 внесите D5/B5 и скопируйте в Н5:Н9. В клетку 15 введите формулу (G5+H5+E5*0.2+F5*0.5) и скопируйте в 15:19.

4. Построим столбиковую диаграмм) по столбцу «Общий балл». Для этого введем команду /View. Появится основное меню команды:

Show   Data   Graph-Type    Time-Labs      Var-Labs         Point-Labs      Headings       Options

Из этого меню производится настройка всех параметров диаграммы Обязательными параметрами являются тип диаграммы (Graph-Type) и данные (Data) Выберите тип диаграммы, войдя в режим Graph-Type и выбрав тип Bar (столбиковая). Определите данные, которые будут выводиться в диаграмме. Для этого войдите в режим Data - появится запрос на ввод первой переменной (Var А). Отметьте диапазон клеток 15:19. Выведите диаграмму на экран, выбрав пункт Show.

Нажатие клавиш Enter или Esc - возврат в ЭТ.

Без поясняющих меток диаграмма малопонятна. Вновь войдите в меню команды /View и выполните дополнительную настройку параметров:

Headings MainAl                   -задание общего заголовка диаграммы из клетки А1;

X-axis A3                               - задание заголовка для оси Х из клетки A3;

Quit                                        - возврат в меню команды /View;

Time-Labs A5:A9                  - установка меток по оси X;

Var-Labs 15                           - задание метки для (первой) переменной.

Выведите диаграмму на экран.

5. Построим столбиковую диаграмму по двум переменным (Var А и Var В). Например, по столбцам В и С.

Определим тип диаграммы и номер:

/View, 2, Graph-Type, Bar

Теперь определим данные, которые будут использоваться в диаграмме. Входим в Data, отмечаем диапазон клеток В5:В9 для первой переменной (Var А), после чего вводим (,), тем самым давая понять, что диаграмма будет строиться по двум переменным. Появляется запрос на ввод 2-й переменной (Var В). Укажите диапазон С5:С9. Выведите диаграмму на экран.


ЭЛЕМЕНТЫ ИЗДАТЕЛЬСКОГО ДЕЛА


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

Особую значимость при подготовке и формировании текста для издания имеют шрифты. Шрифты -

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

Шрифты различают по гарнитуре

(рисунку), начертанию, размеру и назначению. Гарнитурой называется совокупность шрифтов одного рисунка во всех начертаниях и кеглях. Кегль - размер шрифта, определяемый размером литеры по верикали, исчисляемый в пунктах (1 пункт равен 0,367 мм) Полный комплект гарнитуры содержит шрифты всех начертании и кеглей, а в каждом кегле - русский и латинский (и, если нужно, другие) алфавиты прописных и строчных букв, а также относящиеся к ним знаки.

Различия между буквами разных шрифтов объясняется их различным построением. Среди элементов из которых строятся буквы выделяют:

• основные штрихи (задают структуру буквы);

• дополнительные штрихи (играют вспомогательную и соединительную роль);

• засечки;

• верхние и нижние выносные элементы;

• овалы и полуовалы (с наплывами или без них);

• концевые элементы.

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

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

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



и др. Основной текст данной главы набран шрифтом Times New Roman Cir. Наиболее часто используются следующие гарнитуры:

1. Литературная -

для набора всех видов изданий, кроме букварей, энциклопедий, а также малоформатных, нормативных, периодических и литературно-художественных изданий;

2. Обыкновенная новая - для набора всех видов книжно-журнальных изданий, кроме учебников для школы, карманных и нормативных изданий;

3. Банниковская

и Академическая - для набора литературно-художественных, научных, учебных и научно-популярных изданий по гуманитарным областям знаний;

4. Школьная -

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

5. Балтика

и Taймc -

для набора художественной и научно-популярной литературы, вузовских учебников.

Каждый текст, подготовленный к изданию в качестве брошюры или книги, должен пройти техническое редактирование, которое предполагает подготовку оригинал-макета

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


ЭЛЕМЕНТЫ СИ: АЛФАВИТ, ИДЕНТИФИКАТОРЫ, ЛИТЕРАЛЫ, СЛУЖЕБНЫЕ СЛОВА


Перечислим основные символы языка Си, образующие его алфавит:

1) строчные латинские буквы

abcdefghijklmnopqrstuvwxyz

2) прописные латинские буквы

ABCDEFGHIJKLMNOPQRSTUVWXYZ

3) арабские цифры

0123456789

4) специальные символы

 

*          звездочка

_          подчеркивание

+          плюс

(           круглая скобка левая

-                       минус

)           круглая скобка правая

/           дробная черта

<          меньше

\           обратная дробная черта

>          больше

%         процент

^          стрелка вверх

!           восклицательный знак

[           квадратная скобка левая

=          знак равенства ] квадратная скобка правая

?          вопросительный знак

#          номер

:           двоеточие

{          фигурная скобка левая

;           точка с запятой

}          фигурная скобка правая

&         коммерческое ''и"(амперсанд)

|           вертикальная черта

'           апостроф

~          черта сверху (тильда)

.           точка

"          кавычки

,           запятая пробел

5) управляющие символы

\t          горизонтальная табуляция

\n         перевод строки и возврат каретки

\r          возврат каретки

\f         перевод страницы

\b         возврат на шаг (на один символ)

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

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

Идентификатор - это последовательность латинских букв, цифр и символа ''_", начинающаяся с буквы или символа "_".

Прописные и строчные латинские буквы считаются различными! Например, у и Y - это разные имена.
Рекомендуется в именах переменных использовать только строчные буквы.

Примеры правильных идентификаторов:

schetchik get_line a 12 Parami _ab

Примеры неправильных идентификаторов:

%ab 12abc -x вася

Литералы - это неизменяемые объекты языка (константы). Литерал может быть числовым, символьным или строковым Числовые литералы могут быть десятичными (целыми и вещественными, простыми и длинными), восьмеричными, шестнадцатиричными.

Примеры.

I*

Целые десятичные литералы */

57 32000001 /* длинный*/ 2е3 5ЕЗ

/* Вещественные десятичные литералы */

0.00 5.37.1е-3 6.34Е-2 .21е+56

Лидирующий нуль (0) указывает на числовой восьмеричный литерал:

030 /* Десятичное 24 */

040 /* Десятичное 32 - символ пробел */

Лидирующий 0х указывает на числовой шестнадцатиричный литерал:

0х22 /* Десятичное 34 - символ "*/

0х6С /* Десятичное 108 - символ i */

Символьный литерал - это один символ, заключенный в одинарные кавычки:

-'c"*"q'-

"\007" /* Звонок, восьмеричный код после          \ */

"\х0а" /* Перевод на новую строку, шестнадцатиричный код после   \х */

Последовательность символов, заключенных в двойные кавычки, называется строковым литералом. Примеры:

"STRING\n"

"" /* Строчный литерал состоит из одного символа "\0" */

"Очень,"\

"очень,"\

"очень длинный строковый литерал!"

Следующие зарезервированные служебные (ключевые) слова языка запрещено использовать в качестве идентификаторов.

auto                - автоматический;

default            - по умолчанию;

break               -завершить;

do                   -выполнить;

case                 -вариант;

double             -двойной точности;

char                 -символьный;

else                  -иначе;

continue          - продолжить;

entry               - вход;

extern              -внешний;

short                -короткий;

for       -           для;

sizeof -            размер;

float                -плавающее;

 static              -статический;

goto                - перейти;

 struct              - структура;

if                     — если;

switch                         - переключатель;

int                   - целое; '

typedef           - определение типа;

long                 -длинное;

union               -объединение;

register            -регистровый;

unsigned         -без знака;

return              - возврат;

while               - пока.


ЭТАПЫ И ЦЕЛИ КОМПЬЮТЕРНОГО МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ


Здесь мы рассмотрим процесс компьютерного математического моделирования, включающий численный эксперимент с моделью (рис. 7.1).

Первый этап - определение целей моделирования. Основные из них таковы:

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

2) модель нужна для того, чтобы научиться управлять объектом (или процессом) и определить наилучшие способы управления при заданных целях и критериях (управление);

3) модель нужна для того, чтобы прогнозировать прямые и косвенные последствия реализации заданных способов и форм воздействия на объект (прогнозирование).

Поясним это на примерах. Пусть объект исследования - взаимодействие потока жидкости или газа с телом, являющимся для этого потока препятствием. Опыт показывает, что сила сопротивления потоку со стороны тела растет с ростом скорости потока, но при некоторой достаточно высокой скорости эта сила скачком уменьшается с тем, чтобы с дальнейшим увеличением скорости снова возрасти. Что же произошло, обусловив уменьшение силы сопротивления? Математическое моделирование позволяет получить четкий ответ: в момент скачкообразного уменьшения сопротивления вихри, образующиеся в потоке жидкости или газа позади обтекаемого тела, начинают отрываться от него и уноситься потоком.

Пример совсем из другой области: мирно сосуществовавшие со стабильными численностями популяции двух видов особей, имеющих общую кормовую базу, «вдруг» начинают резко менять численность - и здесь математическое моделирование позволяет (с известной долен достоверности) установить причину (или, по крайней мере, опровергнуть определенную гипотезу).

Рис. 7.1. Общая схема процесса компьютерного математического моделирования

Выработка концепции управления объектом -другая возможная цель моделирования. Какой режим полета самолета выбрать для того, чтобы полет был вполне безопасным и экономически наиболее выгодным? Как составить график выполнения сотен видов работ на строительстве большого объекта, чтобы оно закончилось в максимально короткий срок? Множество таких проблем систематически возникает перед экономистами, конструкторами, учеными.


Наконец, прогнозирование последствий тех или иных воздействий на объект может быть как относительно простым делом в несложных физических системах, так и чрезвычайно сложным - на грани выполнимости - в системах биолого-экономических, социальных. Если относительно легко ответить на вопрос об изменении режима распространения тепла в тонком стержне при изменениях в составляющем его сплаве, то несравненно труднее проследить (предсказать) экологические и климатические последствия строительства крупной ГЭС или социальные последствия изменений налогового законодательства. Возможно, и здесь методы математического моделирования будут оказывать в будущем более значительною помощь.

Составим список величин, от которых зависит поведение объекта или ход процесса, а также тех величин, которые желательно получить в результате моделирования. Обозначим первые (входные) величины через х1, x2, .... хn; вторые (выходные) через y1,y2, … ,yk. Символически поведение объекта или процесса можно представить в виде

уj = Fj (x1, х2,....xn)   (j=1,2,..., k),                                                                                         (7.1)

где Fj - те действия, которые следует произвести над входными параметрами, чтобы получить результаты. Хотя запись F (x1, x2, ..., хn) напоминает о функции, мы здесь используем ее в более широком смысле. Лишь в простейших ситуациях F(x) есть функция в том смысле, который вкладывается в это понятие в учебниках математики; чтобы это подчеркнуть, лучше использовать по отношению к F(x) термин «оператор».

Входные параметры xi могут быть известны «точно», т.е. поддаваться (по крайней мере, в принципе) измерению однозначно и с любой степенью точности - тогда они являются детерминированными величинами. Так, в классической механике, сколь сложной ни была бы моделируемая система, входные параметры детерминированы - соответственно, детерминирован, однозначно развивается во времени процесс эволюции такой системы. Однако, в природе и обществе гораздо чаще встречаются процессы иного рода, когда значения входных параметров известны лишь с определенной степенью вероятности, т.е.


эти параметры являются вероятностными (стохастическими), и, соответственно, таким же является процесс эволюции системы (случайный процесс).

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

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

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

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


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

На рис. 7.2 проиллюстрированы две крайние ситуации: а) некоторый параметр х, очень сильно влияет на результирующую величину yj, б) почти не влияет на нее. Ясно, что если все представляющие интерес величины уj

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

реагирует на изменение xi

так, как изображено на рис. 7.2, а,

то хi нельзя исключать из числа важнейших параметров.

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



Рис. 7.2. Варианты степени влияния величины х, на результирующую величину yi

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

Разработка алгоритма и составление программы для ЭВМ - это творческий и трудно формализуемый процесс. В настоящее время при компьютерном математическом моделировании наиболее распространенными являются приемы процедурно-ориентированного (структурного) программирования, описанные в главе 3. Из языков программирования многие профессионалы-физики, например, до сих пор предпочитают FORTRAN как в силу традиций, так и в силу непревзойденной эффективности компиляторов (для расчетных работ) и наличия написанных на нем огромных, тщательно отлаженных и оптимизированных библиотек стандартных программ математической ориентации. В ходу и такие языки, как PASCAL, BASIC, С - в зависимости от характера задачи и склонностей программиста.

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

Затем следует собственно численный эксперимент, и выясняется, соответствует ли модель реальному объекту (процессу). Модель адекватна реальному процессу, если некоторые характеристики процесса, полученные на ЭВМ, совпадают с экспериментальными с заданной степенью точности. В случае несоответствия модели реальному процессу возвращаемся к одному из предыдущих этапов.


ЭТИЧЕСКИЕ АСПЕКТЫ ИНФОРМАТИКИ


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

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

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

Это - положительные аспекты, но есть и отрицательные. Обратим внимание на язык информатиков Сленг российских информатиков построен на искаженных под русское произношение англоязычных терминах и аббревиатурах, введенных иностранными фирмами - разработчиками компьютеров и программного обеспечения в технической документации. Одновременно формируется и набор сленговых слов, заимствованных из русского языка на основе аналогий и ассоциаций по сходству и смежности (например: архивированный - «утоптанный», компьютер - «железо» или «тачка» и т.д.). С тем, что многие специальные термины пришли к нам из США, приходится мириться. Никто сегодня уже не перейдет от термина «принтер» к аналогичному «автоматическое цифровое печатающее устройство» (которым пользовались не так уж давно). Приживаемости подобных слов в отечественной литературе способствует, в частности, их относительная краткость.
Однако трудно понять, зачем в телеконференции учителя иногда именуют себя «тичерами» - от этого они лучше не становятся. Итак, одно из этических правил - не искажай родной язык.

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

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


КЛАССИЧЕСКАЯ АРХИТЕКТУРА ЭВМ II ПРИНЦИПЫ ФОН НЕЙМАНА


Основы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон фон Нейман. Он подключился к созданию первой в мире ламповой ЭВМ ENIAC в 1944 г., когда ее конструкция была уже выбрана. В процессе работы во время многочисленных дискуссий со своими коллегами Г.Голдстайном и А.Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946 г. ученые изложили свои принципы построения вычислительных машин в ставшей классической статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства». С тех пор прошло полвека, но выдвинутые в ней положения сохраняют актуальность и сегодня.

В статье убедительно обосновывается использование двоичной системы для представления чисел (нелишне напомнить, что ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде). Авторы убедительно продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации - текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера.

Еще одной поистине революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип «хранимой программы». Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы машины ENIAC требовалось несколько дней (в то время как собственно расчет не мог продолжаться более нескольких минут - выходили из строя лампы). Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.


Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру, которая воспроизводилась в течение первых двух поколений ЭВМ. Основными блоками по Нейману являются устройство управления (УУ) и арифметико-логическое устройство (АЛУ) (обычно объединяемые в центральный процессор), память, внешняя память, устройства ввода и вывода. Схема устройства такой ЭВМ представлена на рис. 4.10. Следует отметить, что внешняя память отличается от устройств ввода и вывода тем, что данные в нее заносятся в виде, удобном компьютеру, но недоступном для непосредственного



Рис. 4.10. Архитектура ЭВМ, построенной на принципах фон Неймана. Сплошные линии со стрелками указывают направление потоков информации, пунктирные-управляющих сигналов от процессора к остальными узлам ЭВМ

восприятия человеком. Так, накопитель на магнитных дисках относится к внешней памяти, а клавиатура - устройство ввода, дисплей и печать - устройства вывода.

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

Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных компьютеров «многоярусно» и включает оперативное запоминающее устройство (ОЗУ), хранящее ту информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа, часть необходимых для нее данных, некоторые управляющие программы), и внешние запоминающие устройства (ВЗУ) гораздо большей емкости, чем ОЗУ. но с существенно более медленным доступом (и значительно меньшей стоимостью в расчете на 1 байт  хранимой информации). На ОЗУ и ВЗУ классификация устройств памяти не заканчивается - определенные функции выполняют и СОЗУ (сверхоперативное запоминающее устройство), и ПЗУ (постоянное запоминающее устройство), и другие подвиды компьютерной памяти.



В построенной по описанной схеме ЭВМ происходит последовательное считывание команд из памяти и их выполнение. Номер (адрес) очередной ячейки памяти. из которой будет извлечена следующая команда программы, указывается специальным устройством - счетчиком команд в УУ. Его наличие также является одним из характерных признаков рассматриваемой архитектуры.

Разработанные фон Нейманом основы архитектуры вычислительных устройств оказались настолько фундаментальными, что получили в литературе название «фон-неймановской архитектуры». Подавляющее большинство вычислительных машин на сегодняшний день - фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины).

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


КЛАССИФИКАЦИЯ


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

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

Рис.2. П. Классификация прикладного программного обеспечения



КЛАССИФИКАЦИЯ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ


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

• дескриптивные (описательные) модели;

• оптимизационные модели;

• многокритериальные модели;

• игровые модели;

• имитационные модели.

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

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

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

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

Наконец, бывает, что модель в большой мере подражает реальному процессу, т.е. имитирует его. Например, моделируя изменение (динамику) численности микроорганизмов в колонии, можно рассматривать много отдельных объектов и следить за судьбой каждого из них, ставя определенные условия для его выживания, размножения и т.д. При этом иногда явное математическое описание процесса не используется, заменяясь некоторыми словесными условиями (например, по истечении некоторого отрезка времени микроорганизм делится на две части, а другого отрезка - погибает). Другой пример - моделирование движения молекул в газе, когда каждая молекула представляется в виде шарика, и задаются условия поведения этих шариков при столкновении друг с другом и со стенками (например, абсолютно упругий удар); при этом не нужно использовать никаких уравнений движения. Можно сказать, что чаще всего имитационное моделирование применяется в попытке описать свойства большой системы при условии, что поведение составляющих ее объектов очень просто и четко сформулировано. Математическое описание тогда производится на уровне статистической обработки результатов моделирования при нахождении макроскопических .характеристик системы. Такой компьютерный эксперимент фактически претендует на воспроизведение натурного эксперимента: на вопрос «зачем же это делать» можно дать следующий ответ: имитационное моделирование позволяет выделить «в чистом виде» следствия гипотез, заложенных в наши представления о микрособытнях, очистив их от неизбежного в натурном эксперименте влияния других факторов, о которых мы можем даже не подозревать.Если же, как это иногда бывает, такое моделирование включает и элементы математического описания событий на .микроуровне, и если исследователь при этом не ставит задачу поиска стратегии регулирования результатов (например, управления численностью колонии микроорганизмов), то отличие имитационной модели от дескриптивной достаточно условно; это, скорее, вопрос терминологии.


КЛАССЫ ПАМЯТИ


Помимо изученных ранее характеристик переменных (имени, типа, значения), в ряде случаев оказывается важной еще одна - класс памяти. Класс памяти характеризует время существования и место хранения объекта в программе.

Для обозначения класса памяти в языке Си используются следующие служебные слова:

auto                 extern

register            static

Автоматические объекты (auto) являются локальными по отношению к блоку и хранятся внутри того блока, где они описаны. Автоматические переменные можно инициализировать произвольными выражениями, включающими константы и ранее описанные переменные и функции.

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

Объекты, описанные внутри блока с классом памяти register, называются регистровыми переменными. Они подчиняются всем правилам, касающимся автоматических переменных. Описание register указывает компилятору, что данная переменная будет часто использоваться. Когда это возможно, переменные, описанные как register, располагаются в машинных регистрах. Это приводит к меньшим по размерам и более быстрым программам.

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

Внешние объекты делятся на внешние глобальные и внешние статические.

Важно различать описание внешнего объекта и его определение. Описание указывает свойства объекта (тип, размеры и т.д.); определение же вызывает еще и отведение памяти установке начального значения, если используется инициализация.

Например, появившиеся вне определения какой-либо функции строчки

int max;

char save[maxline];

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

extern int max;

extern char save[];

описывают в остальной части данного блока переменную max как int, a save как массив типа char (размеры которого указаны в другом месте), но не создают переменных и не отводят для них места в памяти.

Во всех блоках, составляющих исходную программу, должно содержаться только одно определение внешней переменной; другие блоки могут содержать описания extern для доступа к ней.

Программа 103

#include<stdio.h>

int i=0;

/* Класс памяти переменной - внешний. Область действия переменной -любая программа, */

/* загружающаяся с данным файлом. Время существования i=0 - все время выполнения программы. */

main()                                              /* Блок уровня 1. */

(

auto int i=l;

/* В блоке 1 область действия i=l - функция main(). Время */

/* существования i=l - все время выполнения главной функции /*

/* main(). /*

printf("%d\n", i) ;

/* Если две переменные имеют одно и то же имя, то по этому */

/* имени обращаются к внутренней переменной, внешняя */

/* непосредственно недоступна, поэтому после выполнения */

/* блока 1 программа напечатает i=l. */

{     /* Блок уровня 2. */

int i=2;

/* Класс памяти переменной i=2 - auto. Область */

/* действия i=2 - блок 2, время существования - время */

/* существования блока 2.


блок 2, время существования -*/

/* время существования блока 2. */

printf("%d\n", i) ;

/* Программа напечатает i=2. */

{     /* Блок

уровня 3. */

i+=l; printf("%d\n", i);

/* Печатается самая внутренняя переменная с именем i,/*

/* которая после выполнения операции данного блока */

/* становится равной 3. */

}

/* Возвращение к блоку уровня 2. */

printf("%d\n", i) ;

/* Опять печатается i=3. */

)

/* Возвращение к блоку уровня 1. */

printf("%d", i) ;

/* Переменная i=3 исчезает. Теперь самой внутренней переменной */

/* с именем i будет i=l. */

)

Программа 104

#include<stdio.h>

int a;

main()

(

extern int a;

int P ();

a=6; P();

)

int P()

(

extern int a;

printf("a=%d",a);

}

Результат работы программы:

a=6

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

static <Спецификация типа> <Спецификация данных>;

На основании определения под объект отводится память и может быть произведена инициализация. Статические переменные можно инициализировать только выражениями с константами и с указателями на ранее описанные объекты.

При первом входе в соответствующую локальную область (блок или модуль) статические переменные инициализируются один раз (по умолчанию - нулем). При последующих входах в данную область статические переменные получают те значения, которые они имели при последнем выходе из области.

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



Константы являются объектами статического класса памяти.

Функция может быть определена как статический внешний объект. В этом случае она будет доступной в любой точке данного мод\ля и не доступной за пределами модуля.

Программа 105

#include<stdio.h>

main()

(

int count;

int trystat () ;

for (count=l; count<=3; count++)

(

printf ("Итерация %d:\n", count);

trystat() ;

}

)

trystat ()

{

int fade=l;

static int stay=l;

printf("fade = %d и stay = %d\n", fade++, stay++) ;

}

Результат работы программы:

Итерация 1:

fade = 1 и stay = 1

Итерация 2:

fade = 1 и stay = 2

Итерация 3:

fade = 1 и stay = 3

Если мы лишь немного видоизменим в программе функцию trystat()

trystat()

{

int fade=l;

int stay=l;

printf("fade = %d и stay = %d\n", fade++, stay++);

}

то получим следующий результат:

Итерация 1:

fade = 1 и stay = 1

Итерация 2:

fade = 1 и stay = 1

Итерация 3:

fade = 1 и stay = 1


КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ


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

Рис. 1.5. Процесс передачи сообщения от источника к приемнику

Рассмотрим некоторые примеры кодов.

1. Азбука Морзе в русском варианте (алфавиту, составленному из алфавита русских заглавных букв и алфавита арабских цифр ставится в соответствие алфавит Морзе):

2. Код Трисиме (знакам латинского алфавита ставятся в соответствие комбинации из трех знаков: 1,2,3):

А

111

D

121

G

131

J211

M221

P231

S311

V321

Y331

В

112

E

122

H

132

K212

N222

Q232

T312

W322

Z332

С

113

F

123

I

133

L213

О223

R233

U313

X323

.333

Код Трисиме является примером, так называемого, равномерного кода (такого, в котором все кодовые комбинации содержат одинаковое число знаков - в данном случае три). Пример неравномерного кода - азбука Морзе.

3. Кодирование чисел знаками различных систем счисления см. §3.



КОЛЕБАНИЯ МАТЕМАТИЧЕСКОГО МАЯТНИКА


Колебательное движение - одно из самых распространенных в природе. Разнообразные маятники в часах и других технических устройствах, колебания мембран и оболочек, колебания атомов в молекулах, ионов и молекул в кристаллах и многие другие процессы в живой и неживой природе в чем-то схожи: объект движется таким образом, что многократно проходит через одни и те же точки, периодически воспроизводя одно и то же состояние. Изучив его движение на сравнительно коротком отрезке времени, включающем один период, мы можем составить полное представление о его движении в будущем (если оно не будет изменено вмешательством извне).

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

Рассмотрим идеализированную систему, состоящую из тела массы т, прикрепленного к нижнему концу жесткого «невесомого» стержня длиной l, верхний конец которого вращается без трения в точке подвеса, рис. 7.17.

Если груз отклонить от положения равновесия на угол ?0 и отпустить, то «математический маятник» будет колебаться в вертикальной плоскости.

Рис.7.17. Колебания математического маятника

Поскольку движение груза происходит по дуге окружности радиуса l, то его положение характеризуется в каждое мгновение углом ?. Линейная скорость и ускорение равны

(7.27)

На груз действуют две силы: сила тяжести

 и упругая сила натяжения стержня
. При выводе уравнения движения достаточно учесть лишь компоненту силы
  , направленную по касательной к дуге: F = mg sin ?, направлена она в сторону уменьшения ?. Сила
 перпендикулярна к касательной и вклада в это уравнение не дает.
Уравнение движения примет вид

(7.28)

Обычно в курсе физики ограничиваются исследованием малых колебаний. Если |?|<< 1, то уравнение (7.28) можно считать эквивалентным (так как sin ?

? ?; здесь и далее используется радианная мера углов) уравнению



Решение его элементарно:



где
 - собственная частота,
 - период колебания маятника. Значения  А и В зависят от начальных условий. Если при t = 0



то



или, как часто записывают,



где ? - так называемая, начальная фаза; А - амплитуда колебания; А и ?

легко выразить через начальные условия ?0

и v0.



Движение, происходящее по закону (7.29), называют гармоническим колебательным движением. Слово «гармонический» связывают с простой тригонометрической функцией (синусом или косинусом); так, гармоническим является и движение A sin (?t + ?), к которому также можно свести (7.29) (оно отличается лишь сдвигом фазы на ?/2).

Для изучения колебаний с большой амплитудой следует обратиться к уравнению (7.28), которое заведомо не интегрируется в элементарных функциях. Обезразмерим его, взяв за характерный масштаб времени период малого колебания. Если ? = t/T, то

(7.30)

Это уравнение вообще не содержит параметров! Достаточно его решить, и мы составим полное представление о природе «больших» колебаний. В этом проявляется сила приема обезразмернвания.

Сведем (7.30) к системе двух уравнений первого порядка:

(7.31)

Существенно, что система консервативна, и полная энергия сохраняется (до тех пор, пока мы не учитываем трение и воздействие извне):

(7.32)

В безразмерных переменных x и ?

(7.33)

Как и при моделировании движения небесных тел, сохранение ? в ходе интегрирования - прекрасный критерий для изучения устойчивости метода, выбора шага и т.д. На рис. 7.18 представлен график зависимости ?(?) для ?0

= ?/2 и v0 = 0 (сплошная линия). На первый взгляд, это косинусоида (7.29), но, во-первых, это не так (зрительным впечатлениям в таких случаях доверять особо не следует), а, во-вторых, у этого движения период отнюдь не определяется формулой, следующей из решения задачи о малых колебаниях.


Для сравнения на рисунке представлено пунктирной линией гармоническое движение с той же амплитудой ?/2, следующее из формального решения задачи о малых колебаниях (его период равен единице вследствие обезразмернвания).



Рис. 7.18. Графики зависимости ?(?) для ?0 = ?/2 и v0 = 0 (сплошная линия) и гармонического движения с той же амплитудой ?/2 (пунктирная линия)

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

Вернемся снова к разговору о периодическом, но не гармоническом движении. Период колебаний в рассмотренном примере приблизительно равен 1,18 (определено в численном эксперименте). Уравнение гармонического движения с периодом Т и амплитудой A



(в нашем конкретном случае A = ?/2, T ? 1,18, ? =

0). В табл. 7.5 сведены результаты численного решения уравнений (7.31) (вторая строка) и табулирования функции при A

= ?/2, T ? 1,18, ? = 0 (третья строка) на промежутке времени, чуть большем периода. Хотя различия и невелики, но видно, что движение не является гармоническим.

Таблица 7.5

Сравнение результатов моделирования с гармоническими колебаниями

t

0,0

0,1

0,2

0,3

0.4

0,5

0,6

?реал

1,5708

1.3737

0,7971

-0,0437

-0,8688

-1,4104

-1,5689

?гарм

1,5708

1,3533

0.7611

-0,0418

-0.8332

-1,3938

-1.5686

?(t)

1,5710

1.3737

0.7938

-0,0473

-0,8696

-1.4077

-1.5631

t

0.7

0,8

0,9

1,0

1,1

1,2

1,3

?реал

-1,3331

-0,7228

0,1308

0,9374

1,4434

1,5632

1,2889

?гарм

-1,3090

-0,6870

0,1253

0,9028

1,4304

1,5619

1,2609

?(t)

-1,3299

-0,7216

0,1297

0,9371

1,4448

1,5631

1,2869

Широчайшее распространение в математике и ее приложениях, связанных с периодическими функциями, имеет, так называемый, гармонический анализ.


Для тех, кто не изучал соответствующий раздел математики, дадим представление о нем на данном примере. Поскольку тригонометрические функции, соответствующие гармоническому движению, хорошо изучены и привычны, то стремление передать периодическое (но не гармоническое) движение хотя бы суммой нескольких гармонических вполне понятно. Все эти «гармоники» должны иметь, естественно, тот же период, что и -изучаемая функция. Если ее период Т, то, кроме тригонометрических функций
,
 период T имеют и функции с частотами, кратными
, т.е.
,
при любом целом k > 0.

Гармоническое разложение функции f(t)

с периодом Т в общем случае имеет вид



причем число гармоник-слагаемых формально бесконечно велико. Те, кто изучал ряды Фурье, знают общие правила вычисления коэффициентов a0, а1, b1, а2, b2, ... Если ограничиться лишь небольшим число гармоник, скажем, тремя, то коэффициенты можно приближенно найти интерполяцией. Взяв за узлы точки t = 0; 0,4 и 1 (выбор достаточно произволен) и решив систему трех линейных алгебраических уравнений,получим



Значения функции ?(t) приведены в четвертой колонке табл. 7.5; они значительно ближе к бреал, чем бгарм. Обратим внимание на то, что первый коэффициент значительно больше остальных, что еще раз подчеркивает, что движение близко к гармоническому.



Рис. 7.19. Периодический сигнал, подобный вырабатываемому генератором

строчной развертки в телевизоре

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



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



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



Преобразуем его к виду

(7.34)

где, как и выше,
, а
 (коэффициент 2 записан по традиции для К / 2т удобства). При малых колебаниях уравнение (7.34) превращается в

(7.35)

Его решение таково: затухающие колебания при к < ? и затухание без колебаний при к ? ?. Все это можно проверить в ходе численного моделирования, хотя уравнение (7.35) допускает аналитическое решение. Приведем его: при к < ?



где
, А -

амплитуда, ? - начальная фаза (А и ? легко выразить через начальные значения ?0 и v0). При k ? ?



где А и В также можно выразить через ?0 и v0.

Что же касается уравнения (7.34), то его аналитическое решение отсутствует, и при численном моделировании можно поставить ряд задач о том, насколько решения уравнений (7.34) и (7.35) различаются в зависимости от начальной амплитуды.

Вынужденные колебания. Если на маятник воздействует внешняя сила F(t),

меняющаяся со временем, то уравнения движения получаются из (7.34) добавлением F(t) к правой части. Рассмотрим лишь случай периодического внешнего воздействия: F(t) = F0 cos ?t, где ?

- частота вынуждающей силы. Имеем уравнение движения маятника:

(7.36)

где
. При малой амплитуде результирующего движения уравнение (7.36) примет вид

(7.37)

Движение, описываемое уравнением (7.37), состоит из двух этапов. На первом оно складывается из двух колебательных движений: затухающих собственных колебаний с частотой
 (при к < ?) и вынужденных колебаний с частотой ?. На втором этапе, по истечении времени t >> 1/k, остаются лишь вынужденные периодические колебания, амплитуда которых зависит от соотношения частот ? и ?1 и резко возрастает при ? ? ?1 - явление резонанса, описанное в любом учебнике физики.


Численное интегрирование уравнения (7.37) необязательно, так как решение можно записать в виде формул, содержащих лишь элементарные функции:

(7.38)

А

и В — произвольные постоянные, находятся из начальных условий.

Исследования переходного процесса установления стационарных вынужденных колебаний, резонанса, биений, возникающих при k = 0 и ? ? ?1  (рис. 7.20-7.22), могут быть, конечно, проведены с использованием формул (7.38) простым табулированием с выводом результатов на экран компьютера в форме, удобной для восприятия; они же могут быть и объектами численного моделирования.



Рис. 7.20. Установление стационарных вынужденных колебаний маятника

при наличии трения при к = 0,5; ? = ?/2, ? = ?, f = 2?.



Рис. 7.21. Биения в системе с близкими частотами собственных колебаний

и с вынуждающей силой при k = 0; ? = 889?/9000, ? = ?/9, f = ?/70

Возвратимся к уравнению нелинейных вынужденных колебаний (7.36). Его аналитическое решение отсутствует, и возможно лишь численное. Сформулируем ряд задач: как нелинейность влияет (при больших амплитудах движения) на период вынужденных колебаний, на резонанс, на период биений при ? ? ? и т.д. Однако математики и физики давно убедились в том, что переход от линейного к нелинейному может изменить не только количественные характеристики процесса, но и дать новое качество. В данном случае - возникновение при некоторых условиях хаотического движения маятника. Сама возможность возникновения таких движений в простых динамических системах была обнаружена относительно недавно и поразила воображение многих математиков, физиков, химиков, биологов, в которых ситуации с хаотическими движениями, как оказалось, отнюдь не редкость. Пример такого процесса будет приведен впоследствии.



Рис. 7.22. Возрастание амплитуды колебаний при прохождении через резонанс при k =

0; ? = 889?/9000, ? = ?/9, f = ?/70

Параметрические колебания.

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


В этом случае колебательные движения называют параметрическими.

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

(7.39)

где ?(t) — заданная функция, определяющая закон изменения частоты. Мы ограничимся простейшим случаем гармонического изменения ?2(t):



где ?

- частота изменения величины ?2(t).

При малых амплитудах колебаний и отсутствии трения уравнение (7.39) превращается в



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

в системе возникают нарастающие колебания. На рис. 7.23 схематически изображена фазовая диаграмма системы в переменных
 и ?, на ней заштрихованы зоны параметрического резонанса.



Рис. 7.23 Фазовая диаграмма с зонами параметрического резонанса

Понимать такую фазовую диаграмму надо следующим образом: если значения параметров у, а

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

Как можно численно установить границу зоны параметрического резонанса, например, первой? - Для этого надо задаться некоторыми значениями ?

(например, 0,1) и ?

(например, 0,3), не принадлежащими зоне неустойчивости, и проинтегрировать численно уравнение (7.40). Удобно предварительно обезразмерить время переменной ? = ?0t, после чего уравнение примет вид



(7.41)

Здесь
. Затем, медленно увеличивая ? (например, с шагом 0,01) и не меняя ?,

интегрировать уравнение (7.41), пока не попадешь в зону неустойчивости, и далее, пока не выйдешь из нее. Затем следует увеличить ? (например, взяв ? = 0,2) и снова повторить процедуру прохождения по значениям ? и т.д. - постепенно вырисуется картина границы зоны параметрического резонанса на фазовой плоскости.

Нарастание колебаний при параметрическом резонансе, описываемом уравнением (7.40), является неограниченным. Физически такого быть не может. Ограничение амплитуды колебаний наступает либо за счет учета трения, либо при возврате к sin? в уравнении (7.39), либо за счет обоих факторов. Следует учесть, что наличие трения не только ограничивает размах параметрических колебаний, но и «приподнимает» зоны параметрического резонанса над осью ?

на фазовой плоскости ?, ?, причем в разной мере. Моделирование этого и других явлений при параметрическом резонансе - интересная исследовательская работа.

Многогранность задачи об одномерных колебаниях. Колебания математического маятника одномерны в том смысле, что они описываются одной функцией ?(t) (хотя они и происходят в двумерном пространстве - плоскости, но жесткий стержень ликвидирует одну из степеней свободы, и в обычных декартовых координатах x(t), y(t) выражаются друг через друга).

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

(7.42)

описывает указанные ниже и другие системы (при этом в х, к, ? вкладывается совершенно разный физический смысл):

• математический маятник:

• пружинный маятник, где сила, действующая на тело. определяется законом Гука;

• «физический» маятник-тело, свободно вращающееся около горизонтальной оси;

• крутильный маятник наручных часов - симметричное тело, совершающее колебания около вертикальной оси под действием спиральной пружины;

• ток в колебательном контуре;

• акустический резонатор Гельмгольца, в котором происходят колебания воздуха в колбе с широким горлышком;

• колебания магнитной стрелки компаса.

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

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


КОМПЬЮТЕРНОЕ ТЕСТИРОВАНИЕ


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

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

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

Как отмечалось выше, широкое распространение в настоящее время получают инструментальные авторские системы по созданию педагогических средств: обучающих программ, электронных учебников, компьютерных тестов. Особую актуальность для преподавателей школ и вузов приобретают программы для создания компьютерных тестов - тестовые оболочки. Подобных программных средств существует множество, и программисты-разработчики готовы строить новые варианты, так называемых, авторских систем. Однако широкое распространение этих программных средств сдерживается отсутствием простых и нетрудоемких методик составления тестовых заданий, с помощью которых можно «начинять» оболочки. В настоящем разделе представлены некоторые подходы к разработке компьютерных тестов.

Технология проектирования компьютерных тестов предметной области.

Экспертами чаще используется метод нисходящего проектирования модели знаний (технология «сверху - вниз»). Вначале строится генеральное содержание предметной области с разбивкой на укрупненные модули (разделы). Затем проводится детализация модулей на элементарные подмодули, которые, в свою очередь, наполняются педагогическим содержанием .


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

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

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



Рис. 6.13. Структуры линейной модели знаний



Рис. 6.14. Семантический граф модуля знаний

Приведем пример элемента модуля знаний по теме «Исследование графиков функций», рис. 6.15.



Рис. 6.15. Пример элемента модуля знаний

Модульное представление знаний помогает

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

• осуществлять наполнение каждого модуля педагогическим содержанием;

• выявить и учитывать семантические связи модулей и их отношения с другими предметными областями.

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

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

Можно выделить два принципиальных способа контроля (тестирования) некоторой системы:



1) метод «белого ящика» - принцип тестирования экспертной модели знаний;

2) метод «черного ящика» - тестирование некоторой сложной системы по принципу контроля входных и выходных данных (наиболее подходит к компьютерному тестированию).

Для упрощения дальнейшего изложения введем ряд определений и понятий.

Тестирование -

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

Тестовое задание -

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

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

Тестовое пространство -

множество тестовых заданий по всем модулям экспертной модели знаний.

Класс эквивалентности -

множество тестовых заданий, таких, что выполнение учеником одного из них гарантирует выполнение других.

Полный тест -

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

Эффективный тест -

оптимальный по объему полный тест.

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

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



Рис. 6.16. Схема создания тестовых заданий

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


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

Множество тестовых заданий (тестовое пространство), вообще говоря, согласно принципу исчерпывающего тестирования, может быть бесконечным. Например, для исчерпывающего контроля знании таблицы умножения целых чисел от 1 до 100 необходимо использовать 100х100 всех возможных комбинаций двух чисел. А для всех натуральных чисел тестовое пространство становится бесконечным.

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

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

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

В дальнейшем необходим тестовый эксперимент на группе учащихся, который позволит провести корректировку и доводку теста до вида эксплуатации (методика «черного ящика»).

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

1) формализация экспертной целевой модели знаний;

2) нисходящее (или снизу - вверх) проектирование тестового пространства;

3) формирование и наполнение тестовых заданий;

4) формирование полного компьютерного теста;

5) тестовый эксперимент;

6) выбор эффективного теста;



7) анализ, корректировка и доводка теста до вида эксплуатации.

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

1. Типы тестовых заданий по блоку «знания»:

• вопросы альтернативные (требуют ответа да - нет);

• вопросы с выбором (ответ из набора вариантов);

• вопросы информативные на знание фактов (где, когда, сколько);

•вопросы на знание фактов, имеющих формализованную структуру (в виде информационной модели или схемы знаний);

•вопросы по темам, где имеются однозначные общепринятые знаковые модели; математические формулы, законы, предикатные представления, таблицы;

• вопросы, ответы на которые можно контролировать по набору ключевых слов;

• вопросы, ответы на которые можно распознавать каким-либо методом однозначно.

2. Типы тестовых заданий по блоку «навыки» (распознание деятельности: манипуляции с клавиатурой; по конечному результату):

• задания на стандартные алгоритмы (альтернативные да — нет, выбор из набора вариантов);

• выполнение действия.

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

• задания на нестандартные алгоритмы (альтернативные да - нет, выбор из набора вариантов);

• выполнение действия.

Выбор типов тестов определяется

• особенностями инструментальных тестовых программ (тестовыми оболочками);

• особенностями предметной области;

• опытом и мастерством экспертов.

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

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


Универсальные программы содержат тестовую оболочку как составную часть. Среди них «Адонис» (Москва), «Linkway» (Microsoft), «Фея» (Томск), «Радуга» (Москва) и т.п. Специализированные тестовые оболочки предназначены лишь для формирования тестов. Это - «Аист» (Москва), «I_now» (Иркутск), «Тест» (Красноярск) и др.

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

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

1. Вопросы с фасетом. Задание вопроса, в котором меняются признаки.

Пример: Назовите столицу страны АНГЛИЯ : ? _____.

2. Вопросы с шаблоном ответа.

Пример: В каком году произошла Октябрьская революция? В ___ году.

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

Пример: Какие силы действуют на тело, движущееся по наклонной плоскости? (сила трения, сила упругости, сила тяжести, сила реакции опоры).

4. Закрытая форма вопроса: номер правильного ответа.

Пример: Какой климат в Красноярском крае?

1. Континентальный.

2. Субтропики.

3. Умеренный.

4. Резко-континентальный.

5. Задание на соответствие: несколько вопросов и несколько ответов.

Пример:

а) Кто автор планетарной модели?

б) Кто автор закона тяготения?

в) Кто автор поэмы «Мцыри»?

а) М.Ю.Лермонтов

б) Э.Резерфорд

в) И. Ньютон

6. Конструирование ответа (шаблонный и бесшаблонный варианты): ответ формируется путем последовательного выбора элементов из инструментария по типу меню.

Пример: Чему равна производная функции у = Sin(x) + Cos(x) ?

у' = (Sin(x), Cos(x), tg(x), +, -, /, *, log(x), 1, 2, 3, 4, 5 и т.д.)

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

8. Задание на демонстрацию с движущимися объектами. Ответ - в виде действия тестируемого (определенный набор клавиш).

Пример:

Клавиатурный тренажер на время.



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

Хорошим считается тест, если

• он восприимчив к угадыванию тестируемым;

• он восприимчив к невнимательности и ошибочным действиям тестируемого;

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

тест. При этом тест используется обучаемым как

• обучение (тренажер, самоконтроль);

• контроль.

Для учителя тест служит

• корректировке учебного процесса;

• использованию как вспомогательного средства для контроля (текущего);

• использованию как дидактического средства для обучения;

• для дистанционного обучения.

Пример теста по школьному курсу информатики. В 1996 г. Республиканский центр тестирования использовал тесты по некоторым школьным предметам, в частности по информатике. Ниже приводится один из его вариантов (разработчики: Н. Г. Граве, И.А.Елисеев, Г.В.Тюрникова). Тесты построены на основе канонического принципа: вопрос и варианты ответа.

Разработчиками выбрана следующая модель знаний школьного курса информатики:

Модуль 1. ВВЕДЕНИЕ

1. Измерение информации

2. Свойство информации

3. Измерение информации

4. Предмет информации. Фундаментальные понятия

5. История развития вычислительной техники

Модуль 2. УСТРОЙСТВО И РАБОТА ЭВМ

6. Состав информационно-измерительного комплекса

7. Поколения ЭВМ

8. Арифметические основы ЭВМ

9. Состав информационно-измерительного комплекса

10. Арифметические основы ЭВМ 1

11. Физические основы ЭВМ

12. Состав информационно-измерительного комплекса

Модуль 3. АЛГОРИТМИЗАЦИЯ

13. Величины, тип, имя, значения, вид

14. Величины, тип, имя, значения, вид

15. Величины, тип, имя, значения, вид

16. Типы алгоритма

17. Способы описания

18. Способы описания

19. Алгоритм, свойства



20 - 24. Остальные вопросы как единый подраздел

Модуль 4. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

25 - 28. Операционные системы

29 - 30. Текстовый, графический, музыкальный редакторы

31 - 32. Базы данных

33. Электронные таблицы

Модуль 5. ЗАКЛЮЧЕНИЕ

34 - 36. Перспективы развития

Российский тест по информатике N 01

01. кбайт-это

1) 1000 символов, 2) 1024 байт, 3) 8 бит, 4) 1000 байт

02. Достоверность - это свойство

1) алгоритма, 2) компьютера, 3) информации, 4) языка программирования

03. Наибольший объем памяти требуется для хранения

1)«10». 2)10, 3) «десять», 4) (10)

04. Носителем информации является

1) провода, 2) принтер, 3) классный журнал, 4) телефон

05. Первая машина, автоматически выполняющая все 10 команд, была

1) машина С.А.Лебедева, 2) машина Ч.Бэббиджа, 3) абак, 4) Pentium

06. Минимально необходимый набор устройств для работы компьютера содержит

1) принтер, системный блок, клавиатуру;

2) процессор, ОЗУ, монитор, клавиатуру;

3) монитор, винчестер, клавиатуру, процессор;

4) системный блок, дисководы, мышь

07. Элементной базой ЭВМ третьего поколения являются

1) ЭЛТ (электронно-лучевая трубка), 2) светодиоды.

3) ИС (интегральные схемы), 4) транзисторы

08. Число 3210-это

1)1000002, 2)358, 3)2116, 4)100001

09. К внешним запоминающим устройствам относится

1) процессор, 2) дискета, 3) монитор, 4) жесткий диск

10. Определить сумму трех чисел: 0012 + 0178 + 1112

1)02310, 2)00910. 3)1112, 4)10002

11. Перевести число 3210 в двоичную систему счисления

1)100000, 2)111111, 3)101010, 4)100001

12. К внутренним запоминающим устройствам относится

1) монитор, 2) жесткий диск, 3) оперативная память (RAM), 4) флоппи-диск

13. Неверно записанное выражение

1)+3, 2)tg(+3), 3)-tg(-3)+l, 4)-sin(-3)+(l)*(tg(+l)

14. По выполнении следующего алгоритма х := 7; у := 12+5; у := у + у - х значение х будет

1)7, 2)89, 3)94, 4)47

15. Если исполнить Х:=2; У:=Х+3; Х:=Х+1; У:=Х+3*У, то значение У равно

1)0, 2)-10, 3)18, 4)6.5

16. При t >> 17 будет ложно



l) t=17,01, 2) t >> 212 и t» 1000, 3)t=17, 4)t >>17 и t << 20

17. Каким должно быть значение k во фрагменте алгоритма

а:=1     нц

для i от 2 до k            a:=a*i; i=i+l

кц

чтобы а стало равно 11?

1) 8, 2) 9, 3) 10, 4) 11

18. Для вывода данных в блок-схемах используют фигуру



19. Геометрическая фигура             используется в блок-схемах для обозначения

1) условия, 2) останова, 3) любого действия, 4) цикла «для»

20. Не является свойством алгоритма

1) универсальность, 2) массовость, 3) результативность, 4) дискретность

21. При составлении алгоритма для вычисления функции y=a*sin(x) аргументами являются

l)sin; 2)a,x; 3)х; 4)х,у

22. Сколько раз выполнится цикл:

i:=l; a:=10; n:=2; 

нц пока а>0 a:=a-n*i

кц

1) 0, 2) 10, 3) 5, 4) 4

23. В качестве имени переменной может быть

1) 1996, 2) а1996, 3) 1996а, 4) -1996

24. Для описания циклического алгоритма используется конструкция

1)ПОКА, 2) ЕСЛИ, 3) ВЫБОР, 4) ПРОЦЕДУРА

25. Какая программа является интерпретатором команд MS-DOS ?

1) AUTOEXEC. BAT,          2) MSDOS.SYS,

3) CONFIG.SYS,                  4) CQMMAND.COM

26. Минимально необходимый набор файлов для работы компьютера в MS-DOS

1) IO.SYS, MSDOS.SYS

2) IO.SYS, MSDOS.SYS, COMMAND.COM

3) IO.SYS, MSDOS.SYS, COMMAND.COM, CONFIG.SYS

4) IO.SYS, MSDOS.SYS, COMMAND.COM .AUTOEXEC.BAT

27. Сколько символов в своем полном имени может содержать директория

1)11, 2)8, 3)7, 4)12

28. Неверным будет утверждение

1) файл с расширением .ТХТ может быть не текстовым

2) системный диск может не содержать файл CONFIG.SYS

3) файл AUTOEXEC.BAT может не содержать ни одной строки                                           (ни одного байта)

4) файл должен содержать в расширении не менее трех букв

29. Текстовый редактор «Лексикон» - это

1) прикладная программа               2) базовое программное обеспечение

3) сервисная программа                  4) редактор шрифтов

30. Под термином «интерфейс» понимается

1) внешний вид программной среды, служащий для обеспечения диалога с



пользователем

2) связь текстового редактора с устройством печати

3) совокупность файлов, содержащихся в одном каталоге

4) устройство хранения графической информации

31. База данных - это

1) текстовый редактор 2) совокупность связанных между собой сведений

3) операционная оболочка 4) утилиты NC

32. Графический редактор нужен для

1) нормальной работы баз данных 2) быстрого поиска информации

3) проигрывания звуковых файлов 4) создания рисунков

33. В отличие от бумажных табличных документов, электронные таблицы обычно

1) имеют большую размерность

2) позволяют быстрее производить расчеты

3) обладают всеми свойствами, перечисленными в пунктах 1 - 2

4) стоят дороже

34. Что делает невозможным подключение компьютера к глобальной сети ?

1) тип компьютера

2) состав периферийных устройств

3) отсутствие винчестера

4) отсутствие телефона

35. Дан E-mail: artem@svremech.msk.ru. Слово msk означает

1) город назначения 2) тип компьютера 3) каталог 4) имя пользователя

36. Первый PHOTO CD был произведен фирмой

1)1ВМ, 2) APPLE, 3) KODAK, 4) POLAROID

Ответы на тестовые задания

1.-2);   2.-3);   3.-3);   4.-3);   5.-2);   6.-2);   7.-3);   8.-4);   9.-2);

10.-4);             11.-4);             12.-2);             13.-4);             14.-1);             15.-3);             16.-3);             17.-4);             18.-3);

19.-2);             20.-1);             21.-3);             22.-3);             23.-2);             24.-1);             25.-4);             26.-2);             27.-2);

28.-4);             29.-1);             30.-1);             31.-2);             32.-4);             33.-3);             34.-4);             35.-1);             36.-1).


КОНФИГУРАЦИИ ЛОКАЛЬНЫХ СЕТЕЙ И ОРГАНИЗАЦИЯ ОБМЕНА ИНФОРМАЦИЕЙ


В простейших сетях с небольшим числом компьютеров они могут быть полностью равноправными; сеть в этом случае обеспечивает передачу данных от любого компьютера к любому другому для коллективной работы над информацией. Такая сеть называется одноранговой.

Однако в крупных сетях с большим числом компьютеров оказывается целесообразным выделять один (или несколько) мощных компьютеров для обслуживания потребностей сети (хранение и передачу данных, печать на сетевом принтере). Такие выделенные компьютеры называют серверами; они работают под управлением сетевой операционной системы. В качестве сервера обычно используется высокопроизводительный компьютер с большим ОЗУ и винчестером (или даже несколькими винчестерами) большой емкости. Клавиатура и дисплей для сервера сети не обязательны, поскольку они используются очень редко (для настройки сетевой ОС).

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

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

В кольцевой

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

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

В шинной

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

В древовидной -

существует «главный» компьютер, которому подчинены компьютеры следующего уровня, и т.д.


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

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

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



Рис. 5.1,0. Кольцевая топология - локальной сети

 

Рис. 5.1,6. Радиальная топология локальной сети



Рис. 5.1,в. Шинная топология локальной сети



Рис. 5.1.г. Древовидная топология локальной сети

В любой физической конфигурации поддержка доступа от одного компьютера к другому, наличие или отсутствие выделенного компьютера (в составе КУВТ его называют «учительским», а остальные - «ученическими»), выполняется программой - сетевой операционной системой, которая по отношению к ОС отдельных компьютеров является надстройкой. Для современных высокоразвитых ОС персональных компьютеров вполне характерно наличие сетевых возможностей (например, OS/2, WINDOWS'95-98).

Процесс передачи данных по сети определяют шесть компонент:

• компьютер-источник;

• блок протокола;

• передатчик;

• физическая кабельная сеть;

• приемник;

• компьютер-адресат.

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

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


Пакет затем . направляется в передатчик для преобразования в сетевой сигнал. Пакет распространяется по сетевому кабелю пока не попадает в приемник, где перекодируется в данные. Здесь управление переходит к блок) протокола, который проверяет данные на сбойность, передает «квитанцию» о приеме пакета источнику, переформировывает пакеты и передает их в компьютер-адресат.



Рис. 5.2. Схема переноса информации в сети

В ходе процесса передачи блок протокола управляет логикой передачи по сети через схему доступа.

Каждая сетевая ОС использует определенную стратегию доступа от одного компьютера к другому. Широко используются маркерные методы доступа (называемые также селективной передачей), когда компьютер-абонент получает от центрального компьютера сети. так называемый, маркер - сигнал на право ведения передачи в течение определенного времени, после чего маркер передается другому абоненту. При конкурентном методе доступа абонент начинает передачу данных, если обнаруживает свободной линию, или откладывает передачу на некоторый промежуток времени, если линия занята другим абонентом. При другом способе - резервировании времени - у каждого абонента есть определенный промежуток, в течение которого линия принадлежит только ему.

Наиболее часто применяются две основные схемы:

• конкурентная (Ethernet);

• с маркерным доступом (Token Ring, Arcnet).

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



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

Сеть Ethernet использует для управления передачей данных по сети конкурентную схему. Элементы сети Ethernet могут быть соединены по шинной или звездной топологии с использованием витых пар, коаксиальных или волоконно-оптических кабелей.

Основным преимуществом сетей Ethernet является их быстродействие. Обладая скоростью передачи от 10 до 100 Мбит/с, Ethernet является одной из самых быстрых среди существующих локальных сетей. Однако такое быстродействие, в свою очередь, вызывает определенные проблемы: из-за того, что предельные возможности тонкого медного кабеля лишь незначительно превышают указанную скорость передачи в 10 Мбит/с, даже небольшие электромагнитные помехи могут значительно ухудшить производительность сети.

Как показывает их наименование, сети IBM Token Ring используют для передачи данных схему с маркерным доступом. Сеть Token Ring физически выполнена по схеме «звезда», но ведет себя как кольцевая. Другими словами, пакеты данных передаются с одной рабочей станции на другую последовательно (как в кольцевой сети), но постоянно проходят через центральный компьютер (как в. сетях типа «звезда»). Сети Token Ring могут осуществлять передачу как по незащищенным и защищенным витым проводным парам, так и по волоконно-оптическим кабелям.

Сети Token Ring существуют в двух версиях, со скоростью передачи в 4 или 16 Мбит/с. Однако, хотя отдельные сети работают на скоростях либо 4, либо 16 Мбит/с, возможно соединение через мосты сетей с разными скоростями передачи. Сети Token Ring надежны, обладают высокой скоростью (особенно версия со скоростью передачи 16 Мбит/с) и просты для установки. Однако по сравнению с сетями ARCnet сети Token Ring дороги.



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

Системы ARCnet являются сравнительно медленными. Передача осуществляется на скорости лишь 2,5 Мбит/с, что значительно меньше, чем в других типах сетей. Несмотря на малое быстродействие, ARCnet сохраняет свою популярность. Ее малая скорость передачи является в своем роде компенсацией за эффективный метод передачи сигналов. ARCnet - сравнительно недорогая и гибкая система, которая легко устанавливается, расширяется и подвергается изменению конфигурации.

Правила организации передачи данных в сети называют протоколом. Определенный протокол поддерживается как аппаратно (адаптерами сети), так и программно (сетевой ОС).

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

Например, протокол передачи данных IPX (от слов «Internetwork Packet Exchange», что означает «межсетевой обмен пакетами») используется в сетевом программном обеспечении фирмы «Novell» и является реализацией датаграмм. Другой пример - разработанный фирмой IBM протокол NETBIOS, также получивший большую известность, тоже работает на уровне датаграмм.

Сетевой адрес состоит из нескольких компонентов:

• номера сети;

• адреса станции в сети;

• идентификатора программы на рабочей станции.

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

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

Идентификатор программы на рабочей станции называется сокет. Это - число, которое используется для адресации пакетов в конкретной программе, работающей на станции под управлением многозадачной операционной системы (типа Windows, OS/2). Каждая программа для того, чтобы посылать или получать данные по сети, должна получить свой, уникальный для данной рабочей станции, идентификатор - сокет.


Контрольные вопросы ч задания


1. Что такое текстовые редакторы? Для чего они нужны?

2. Что такое графические редакторы? Для чего они нужны?

3. Что такое электронные таблицы? Для чего они нужны?

4. Что такое СУБД? Для чего они нужны?

5. Что такое интегрированные системы? Для чего они нужны?

6. Что такое экспертные системы? Для чего они нужны?

7. Что такое авторские системы? Для чего они нужны?

8. Что такое гипертекст, гипермедиа?

9. Что такое мультимедиа?

10. Какие бывают типы меню?

11. Для чего в меню используют «горячие» клавиши?

12. Разработайте программу «меню» на одном из языков программирования.


1. Назовите основные операторы языка Бейсик и охарактеризуйте их назначение.

2. Поэкспрементируйте в приведенных выше программах с оператором форматной печати.




1. Каково назначение и возможности сетевой ОС Novell NetWare?.

2. Охарактеризуйте основные команды NetWare.

3. Охарактеризуйте основные утилиты NetWare.



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


1. Составьте каким-либо средством машинной графики бордюры каждого типа симметрии из следующих элементарных мотивов, рис. 2.21.

Рис. 2.21.

2. Постройте орнаменты различного типа симметрии из выбранного произвольного элементарного мотива каким-либо средством машинной графики.

3. Задана высота (м) над уровнем моря вершин: Мак-Кинли - 6200, Логан - 6100, Элберт - 440, Робсон - 4000, Митгелл - 2000. Составьте по этим данным столбчатую диаграмму.

4. По данным упражнения 3 составьте круговую диаграмму.

5. Постройте график функции у = x sin (1/x).

6. Создайте мультипликацию: вращение электрона в модели атома.

7. Изобразите шестиугольную призму.

8. Подготовьте иллюстрацию ко Дню учителя.

9. Организуйте в школе (вузе) компьютерный вернисаж.



Контрольные вопросы и задания


1. Для чего необходимо формализовать понятие алгоритма?

2. Что означает фраза: «Машины Поста и Тьюринга являются абстрактными машинами»?

3. Для чего предназначены машины Поста и Тьюринга?

4. Как «устроена» машина Поста?

5. Перечислите и запишите команды машины Поста.

6. С помощью бумаги, карандаша и стиральной резинки «исполните» вместо машины Поста программы сложения чисел из текста.

7. Составьте (и проверьте) программу для машины Поста, создающую на ленте копию заданной последовательности меток справа от нее.

8. Пользуясь предыдущей программой, составьте программу умножения чисел для машины Поста.

9. Как «устроена» машина Тьюринга?

10. Каков принцип исполнения программы машиной Тьюринга?

11. Сравните машины Поста и Тьюринга. Укажите различия.

12. Выполните вместо машины Тьюринга примеры программ из текста.

13. Каким образом могут быть обобщена машина Тьюринга?

14. Что такое ассоциативное исчисление?

15. Постройте дедуктивную цепочку от слова «мука» к слову «торт», заменяя каждый раз по одной букве так, чтобы каждый раз получалось слово.

16. Дайте определение нормального алгоритма Маркова.

17. В чем состоит принцип нормализации алгоритмов?

18. Охарактеризуйте способы композиции нормальных алгоритмов.

19. Как алгоритм может быть связан с рекурсивной функцией?

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

21. В чем состоит тезис Черча в слабейшей и в обычной формах?

22. Перечислите простейшие функции.

23. Перечислите элементарные операции.

24. Чем отличается рекурсивная функция от примитивно-рекурсивной?

25. Дайте определение частично-рекурсивной функции.

26. Что называется массовой проблемой? Что означает алгоритмическая разрешимость массовой проблемы?



Контрольные задания


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

2. С помощью стека организуйте алгоритм, который определяет, является ли заданное слово палиндромом («перевертышем»).

3. Придумайте задачу на использование очереди.


1. Разработайте алгоритм и программу расстановки ферзей на шахматном поле таким образом, чтобы ни один из них не бил другого,

2. Разработайте программу игры «Ханойские башни».

3. Предложите другие модификации алгоритма полного тура коня.




1. Составьте программу, подсчитывающую количество слогов в заданном слове.

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

3. Придумайте новые варианты программ шифрования и дешифрования текста.

4. Разработайте клавиатурный тренажер, используя игровые элементы.

5. Разработайте игру «Крестики-нолики».

6.

Разработайте компьютерный вариант карточной игры «21».



ЛОГИКА ВЫСКАЗЫВАНИЙ. ЭЛЕМЕНТАРНЫЕ ЛОГИЧЕСКИЕ ФУНКЦИИ


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

Для иллюстрации рассмотрим пример, описанный в одной из указанных ниже книг. Некий незадачливый бизнесмен подал в компьютерную фирму жалобу на приобретенный компьютер. По словам бизнесмена, компьютер неверно отвечал на поставленные вопросы. Прибывший для проверки жалобы специалист предложил бизнесмену продемонстрировать один из ошибочных ответов. Тот немедленно затребовал вывести список клиентов, проживающих в штатах Теннеси и Кентукки, на что компьютер бесстрастно объявил, что таковых не имеется. «Вот видите!» -кипятился бизнесмен. - «А я точно знаю, что и в том, и в другом штате есть множество клиентов!» Консультант попытался объяснить, что машина по-своему права и что человек не может жить одновременно в обоих штатах, но бизнесмен не хотел ничего слушать. Тогда консультант просто повторил запрос, заменив единственное слово (список клиентов, проживающих в штатах Теннеси ИЛИ Кентукки), и через полминуты вручил жалобщику распечатку требуемого списка. «А еще проще на первых порах делать два более простых запроса» - посоветовал он напоследок.

Главной причиной возникшего курьеза послужило незнание трех основных логических операций, лежащих в основе всех выводов компьютера. Иногда эти операции И, ИЛИ, НЕ называют «тремя китами машинной логики». Познакомимся с ними подробнее.

При записи тех или иных логических выражений используется специальный язык, который принят в математической логике. Основоположником математической логики является великий немецкий математик Готфрид Вильгельм Лейбниц (1646 - 1716 гг.). Он сделал попытку построить универсальный язык, с помощью которого споры между людьми можно было бы разрешать посредством вычислений. На заложенном Лейбницем фундаменте ирландский математик Джордж Буль построил здание новой науки - математической логики, - которая в отличие от обычной алгебры оперирует не числами, а высказываниями.
В честь Д.Буля логические переменные в языке программирования Паскаль впоследствии назвали булевскими.

Высказывание - это любое утверждение, относительно которого можно сказать истинно оно или ложно, т.е. соответствует оно действительности или нет. Таким образом по своей сути высказывания фактически являются двоичными объектами и поэтому часто истинном) значению высказывания ставят в соответствие 1, а ложному - 0. Например, запись А = 1 означает, что высказывание А истинно.

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

Самой простой логической операцией является операция НЕ (по-другому ее часто называют отрицанием, дополнением или инверсией и обозначают NOT X). Результат отрицания всегда противоположен значению аргумента.

Логическая операция НЕ является унарной. т.е. имеет всего один операнд. В отличие от нее, операции И (AND) и ИЛИ (OR) являются бинарными, так как представляют собой результаты действий над двумя логическими величинами.

Таблица 4.5

Основные логические операции

Х

NOT X

X

V

X AND Y

X OR Y

0

1

0

0

0

0

1

0

0

1

0

1

1

0

0

1

1

1

, 1

1

Логическое И еще часто называют конъюнкцией, или логическим умножением (не правда ли, таблица для этой операции похожа как две капли воды на двоичную таблицу умножения?), а ИЛИ -дизъюнкцией, или логическим сложением.

Операция И имеет результат «истина» только в том случае, если оба ее операнда истинны. Например, рассмотрим высказывание «Для остановки ОС «Windows'95» требуется процессор не ниже 80386 и не менее 4 Мбайт оперативной памяти».


Из него следует, что установка будет успешной только при одновременном выполнении обоих условий: даже если у вас в машине Pentium, но мало ОЗУ (равно как и при 8 Мбайт ОЗУ процессор 80286), «Windows'95» работать откажется.

Операция ИЛИ «менее привередлива» к исходным данным. Она дает «истину», если значение «истина» имеет хотя бы один из операндов. Разумеется, в случае, когда справедливы оба аргумента одновременно, результат по-прежнему истинный. Действительно, когда студентка просит друга подарить ей на день рождения букет цветов или пригласить в кафе. можно без опасении сделать и то, и другое одновременно (впрочем, на практике в таком случае можно ограничиться чем-то одним).

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

Операции И, ИЛИ, НЕ образуют полную систему логических операций, из которой можно построить сколь угодно сложное логическое выражение.

В вычислительной технике также часто используется операция исключающее ИЛИ (XOR), которая отличается от обыкновенного ИЛИ только при Х=1 и Y=l.

Как видно из табл. 4.6, операция XOR фактически сравнивает на совпадение два двоичных разряда. Хотя теоретически основными базовыми логическими операциями всегда называют именно И, ИЛИ, НЕ, на практике по технологическим причинам в качестве основного логического элемента используется элемент И-НЕ (последняя колонка в табл. 4.6).

Таблица 4.6

Дополнительные логические операции

 

Х

Y

X XOR Y

NOT(X AND Y)

0

0

0

1

0

1

1

1

1

0

1

1

1

1

0

0

Можно проверить, что на базе элементов И-НЕ могут быть скомпонованы все базовые логические элементы (И, ИЛИ, НЕ), а значит и любые другие, более сложные.


ЛОГИСТИЧЕСКАЯ МОДЕЛЬ МЕЖВИДОВОЙ КОНКУРЕНЦИИ


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

Так как мы имеем дело с двумя различными популяциями, то введем соответствующие обозначения. Пусть N1

- численность первой популяции, a N2

- второй. Предельные плотности насыщения и максимальные врожденные скорости роста популяций обозначим соответственно K1, К2, r1 и r2, рис. 7.43.

Обратимся к логистическому уравнению (7.65) и попробуем учесть в нем межвидовую конкуренцию. Сделаем это так. Предположим, что М особей вида 2 оказывают такое же воздействие на вид 1, как одна особь вида 1. Константу

 в этом случае называют коэффициентом конкуренции. Обозначим ее ?12. Таким образом, чтобы отразить суммарное воздействие на вид 1, надо в логистическом уравнении в числителе дроби вместо N записать N1 + ?12•N2. Аналогично получается уравнение для исследовании численности второй популяции. В результате получаем систему двух дифференциальных уравнений:

(7.67)

Модель межвидовой конкуренции, выраженная этой системой» названа в честь ее авторов «моделью Лотки-Вольтерры».

Заметим, что если коэффициенты ?12 или ?21 больше единицы, то влияние со стороны конкурирующей популяции на особей данного вида сильнее, чем со стороны особей своего вида.

Рис. 7.43. Устойчивое сосуществование популяций при r1 = 2, r2 = 4, К1 = 200, К2 = 180, ?12 = 0,5, ?21

= 0,65, N

 = 100, N
 = 25. Устойчивое сосуществование достигается лишь при ?12• ?21 < 1. Сплошная линия - численность первой популяции, штриховая – второй

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

Рассмотрим, как можно построить изоклину для первого вида. По определению, для этой линии

 = 0. Из первого уравнения системы (7.67) получаем



Это равенство выполняется, если какой-либо из множителей равен нулю. Наибольший интерес представляет ситуация, в которой



или





Рис. 7.44. Изоклины, полученные с помощью модели Лотки-Вольтерры. Длины стрелок пропорциональны изменению численности, стрелки указывают направление изменения численности

Таким образом, получено уравнение изоклины, которое, как можно заметить, является уравнением прямой в плоскости (N1, N2). Вверх и вправо от изоклины из-за высокой численности обеих популяций численность вида 1 снижается, в противоположных направлениях - повышается. Аналогично можно построить изоклину для вида 2. На рис. 7.44 построены соответствующие изоклины, и показано изменение численности популяций.



Рис. 7.45. Результаты конкуренции, полученные с помощью модели Лотки-Вольтерры при различных параметрах. На рисунке а в зоне I численность обеих популяций падает; в зоне II - численность первой популяции растет, второй - уменьшается; в зоне 111 - численность обеих популяций увеличивается

Таким образом, получено уравнение изоклины, которое, как можно заметить, является уравнением прямой в плоскости (N1, N2). Вверх и вправо от изоклины из-за высокой численности обеих популяций численность вида 1 снижается, в противоположных направлениях - повышается. Аналогично можно построить изоклину для вида 2. На рис. 7.44 построены соответствующие изоклины и показано изменение численности популяций.

Для решения поставленной выше задачи объединим в одной фазовой плоскости изоклины для обоих видов и будем одновременно исследовать динамику их численности. Изоклины относительно друг друга располагаются четырьмя различными способами, что дает различный исход конкуренции.На рис. 7.45 представлены результаты конкуренции, полученные с помощью системы уравнений (7.67), заимствованные из книги М. Бигона и др. «Экология».


ЛОКАЛЬНЫЕ СЕТИ УЧЕБНОГО НАЗНАЧЕНИЯ


ЛС КУВТ - совокупность аппаратных и программных средств, ориентированных на использование в учебном процессе. В нашей стране в конце 80-х годов получили широкое распространение КУВТ «Ямаха» (японского производства), отечественные КУВТ на базе микро-ЭВМ БК0010, УКНЦ, «Корвет». Им на смену пришли КУВТ на базе компьютеров IBM PC (и им подобных) и «Apple Macintosh». В ряде мест функционируют и гибридные КУВТ с головной машиной IBM PC и ученическими УКНЦ или «Корвет».

В состав каждого КУВТ входят:

• рабочее место преподавателя (РМП);

• рабочие места учащихся (РМУ) - обычно 10 - 15;

• аппаратные и программные средства сетеобразования. В составе РМП обязательно находится компьютер (системный блок, дисплей и клавиатура), достаточно емкое устройство для хранения информации – накопитель и принтер. В указанных выше КУВТ первого поколения обычно роль накопителя выполняли два НГМД и бытовой кассетный магнитофон. Разумеется, такая сеть предоставляет весьма слабые возможности; в современных ЛС КУВТ на головной машине находится винчестер с емкостью до 3 Гбайт, CD ROM, другие устройства.

Сетевая ОС, функционирующая на РМП, должна предоставлять следующий минимальный набор пользовательских возможностей:

• пересылку программ и данных с РМП на каждое из РМУ и обратно;

• исполнение программ как на РМУ, так и на РМП;

• вывод программ и данных с РМУ на внешние накопители и принтер РМП;

• групповую рассылку программ с РМП на все РМУ.

В ходе этой работы ОС ЛС КУВТ должна быть способной к следующему.

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

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

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

Высокоразвитые ОС ЛС КУВТ предоставляют немалые возможности. Среди команд преподавателя есть несколько справочных, позволяющих установить в каком режиме функционируют компьютеры учащихся, команды пересылки программ г. их автоматического запуска на РМУ, команды вызова файлов - программ и данных - с любого из РМУ на РМП или на диск, отключения любого из РМУ от сети и обратное подключение. Сеть поддерживает локальную электронную почту - обмен короткими текстовыми сообщениями между любыми компьютерами.

Очень важен такой показатель как быстродействие сети. Так, скорость передачи по исходной ЛС КУВТ УКНЦ в 5-8 кбит/с приводит, например, к затрате нескольких минут на рассылку компилятора Паскаля - это слишком много для учебного процесса. Установка в этом классе головной машины IBM PC с сетевой системой фирмы «Линтех» сокращает это время минимум в 10 раз. Однако, даже в классах на основе компьютеров IBM PC и Macintosh скорость рассылки по сети бывает недостаточно высокой, что создает проблемы при учебной работе.

В качестве конкретного примера приведем ЛС КУВТ «Ямаха», ориентированную на работу с Бейсик-системой. Хотя этот КУВТ и устарел, он все еще используется во многих педагогических вузах, а программное обеспечение его ЛС является примером удачной реализации ЛС учебного назначения. Сетевые возможности реализованы в операционной среде MSX-BASIC, загружающейся на все компьютеры по умолчанию при отсутствии в дисководе А системной дискеты.

Полный набор команд, которыми управляет учитель, равен 25. Не обделены и ученики, которым подвластны либо 13 (расширенный набор), либо 9 команд (малый набор) по усмотрению учителя.


Подав команду DISCOM либо ENACOM со своего компьютера, учитель задает возможности учеников.

Каждый ученик может по собственному усмотрению вовсе отключиться от сети, подав команду NETINIT и, тем самым, выйти из под контроля, одновременно лишив себя возможности работы с диском и принтером. Командой ONLINE ученик вновь может подключиться к сети. Команда CHECK позволяет учителю узнать, какие компьютеры подключены к сети, а какие - нет (на экране учительской машины появляется ответ). Учитель может и сам отключить со своего места любой ученический компьютер от сети: SNDC (_"offline", n) (n = 1, 2, ... 15 - по числу рабочих мест в классе).

Пересылка программ с РМП на любое из РМУ реализуется командами SEND:

• SEND (<имя_программы>; n) - с диска РМП на РМУ;

• SEND (<имя_программы>; 0) - с диска РМП на все ученические машины одновременно;

• SEND (, n) - из ОЗУ РМП на РМУ;

• SEND (, 0) - из ОЗУ РМП на все ученические машины одновременно.

Добавив к слову SEND приставку RUN (т.е. подав команду SENDRUN), учитель может организовать немедленный запуск программы на исполнение на ученической машине.

Для пересылки файлов данных используется команда BSEND (аналогично команде SEND).

Учитель может получить программу с любого ученического компьютера командой RECEIVE (name, n) или RECEIVER n).

Если ученик располагает расширенным набором команд, то он тоже может «перетягивать» к себе на компьютер чужую программу: RECEIVE (,n) или RECEIVE (, 0) или RECEIVE (<имя_программы>,0).

В сети реализована возможность обмена текстовыми сообщениями между любыми компьютерами. Например, команда TALK ("здравствуй, Миша!", 12), введенная в любой ученический компьютер, выведет на экране компьютера N 12 указанный текст.


МАШИНА ПОСТА


Абстрактные (т.е. существующие не реально, а лишь в воображении) машины Поста и Тьюринга, предназначенные для доказательств различных утверждений о свойствах программ для них, были предложены независимо друг от друга (и практически одновременно) в 1936 г. американским математиком Эмилем Постом и английским математиком Алланом Тьюрингом. Эти машины представляют собой универсальных исполнителей, являющихся полностью детерминированными, позволяющих «вводить» начальные данные, и после выполнения программ «читать» результат. Машина Поста менее популярна, хотя она значительно проще машины Тьюринга. С ее помощью можно вести обучение первым навыкам составления программ для ЭВМ.

Абстрактная машина Поста представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой «V», и головки, которая может перемещаться вдоль ленты на одну клетку вправо или влево, наносить в клетку ленты метку, если этой метки там ранее не было, стирать метку, если она была, или проверять наличие в клетке метки. Информация о заполненных метками клетках ленты характеризует состояние ленты, которое может меняться в процессе работы машины. В каждый момент времени головка («-») находится над одной из клеток ленты и, как говорят, обозревает ее. Информация о местоположения головки вместе с состоянием ленты характеризует состояние машины Поста, рис. 1.16.

Рис. 1.16. Абстрактная машина Поста

Команда машины Поста имеет следующую структуру:

п Km,

где п -

порядковый номер команды, K-действие, выполняемое головкой, т - номер следующей команды, подлежащей выполнению.

Существует всего шесть команд машины Поста, рис. 1.17:

Рис. 1.17. Команды машины Поста

Ситуации, в которых головка должна наносить метку там, где она уже имеется, или, наоборот, стирать метку там, где ее нет, являются аварийными (недопустимыми).

Программой для машины Поста будем называть непустой список команд, такой что 1) на п-м месте команда с номером n; 2) номер т


каждой команды совпадает с номером какой-либо команды списка.

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

1) останов по команде «стоп»; такой останов называется результативным и указывает на корректность алгоритма (программы);

2) останов при выполнении недопустимой команды; в этом случае останов называется безрезультативным;

3) машина не останавливается никогда; в этом и в предыдущем случае мы имеем дело с некорректным алгоритмом (программой).

Будем понимать под начальным состояние головки против пустой клетки левее самой левой метки на ленте.

Рассмотрим реализацию некоторых типичных элементов программ машины Поста.

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



Рис. 1.18. Пример элемента программы машины Поста

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

Программа будет иметь следующий вид:



Команда условного перехода является одним из основных средств организации циклических процессов, например, для нахождения первой метки справа (или слева) от головки, расположенной над пустой клеткой; нахождение слева (или справа) от головки пустой клетки, если она расположена над меткой и т.д.

3. Остановимся на представлении чисел на ленте машины Поста и выполнении операций над ними.

Число k представляется на ленте машины Поста идущими подряд k + 1 метками (одна метка означает число «О»). Между двумя числами делается интервал как минимум из одной пустой секции на ленте. Например, запись чисел 3 и 5 на ленте машины Поста будет выглядеть так:





Обратим внимание, что используемая в машине Поста система записи чисел является непозиционной.

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



Для решения задачи можно переместить головку влево (или вправо) до первой пустой клетки, а затем нанести метку.

Программа, добавляющая к числу метку слева, имеет вид:



Программа, добавляющая к числу метку справа, имеет вид:



(отличие только в направлении движения головки в первой команде. Проверьте работоспособность этих программ на каких-либо частных примерах).

Предположим, что головка расположена на расстоянии нескольких клеток слева от числа, к которому нужно прибавить единицу. В этом случае программа усложняется. Появится «блок поиска числа» - две команды, приводящие головку в состояние, рассмотренное в предыдущем примере:



Ниже - полные тексты программ, добавляющие единицу слева и справа, соответственно:



В первом случае не нужно перемещать головку к крайней левой метке числа

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





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



Машину Поста можно рассматривать как упрощенную модель ЭВМ. В самом деле, как ЭВМ, так и машина Поста имеют:

• неделимые носители информации (клетки - биты), которые могут быть заполненными или незаполненными;

• ограниченный набор элементарных действий - команд, каждая из которых

выполняется за один такт (шаг).

Обе машины работают на основе программы. Однако, в машине Поста информация располагается линейно и читается подряд, а в ЭВМ можно читать информацию по адресу; набор команд ЭВМ значительно шире и выразительнее, чем команды машины Поста и т.д.


МАШИНА ТЬЮРИНГА


Машина Тьюринга подобна машине Поста, но функционирует несколько иначе.

Машина Тьюринга (МТ) состоит из счетной ленты (разделенной на ячейки и ограниченной слева, но не справа), читающей и пишущей головки, лентопротяжного механизма и операционного исполнительного устройства, которое может находиться в одном из дискретных состояний qo, q1, ..., qs, принадлежащих некоторой конечной совокупности (алфавиту внутренних состояний). При этом qо называется начальным состоянием.

Читающая и пишущая головка может читать буквы рабочего алфавита А = [а0, a1, ..., аt},

стирать их и печатать. Каждая ячейка ленты в каждый момент времени занята буквой из множества А. Чаще всего встречается буква a0 - «пробел». Головка находится в каждый момент времени над некоторой ячейкой ленты -текущей рабочей ячейкой. Лентопротяжный механизм может перемещать ленту так, что головка оказывается над соседней ячейкой ленты. При этом возможна ситуация выхода за левый край ленты (ЛК), которая является аварийной (недопустимой), или машинного останова (МО), когда машина выполняет предписание об остановке.

Порядок работы МТ (с рабочим алфавитом a0, a1,..., аt и состояниями q0, q1,..., qs) описывается таблицей машины Тьюринга. Эта таблица является матрицей с четырьмя столбцами и (s + 1) (t  + 1) строками. Каждая строка имеет вид

Здесь через vij

обозначен элемент объединения алфавита {а0, а1,..., аt} и множества предписаний для лентопротяжного механизма: l - переместить ленту влево, r -переместить ленту вправо, s - остановить машину; vij - действие МТ, состоящее либо в занесении в ячейку ленты символа алфавита a0, а1, ..., аt,

либо в движении головки, либо в останове машины; qij является последующим состоянием.

МТ работает согласно следующим правилам: если МТ находится в состоянии qi, головка прочитывает символ 0 в рабочей ячейке. Пусть строка qi аj vij

qij,

начинающаяся с символов qi, aj, встречается только один раз в таблице. Если vij

- буква рабочего алфавита, то головка стирает содержимое рабочей ячейки и заносит туда эту букву.
Если vij - команда r или l

для лентопротяжного механизма, то лента сдвигается на одну ячейку вправо или влево (если не происходит выход за левый край ленты) соответственно. Если vij =s, то происходит машинный останов.

Машина Тьюринга начинает работу из некоторой начальной конфигурации, включающей в себя начальное состояние (обычно q0) и положение считывающе-записывающей головки над определенной ячейкой ленты, содержащей один из символов рабочего алфавита A.

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

Рассмотрим примеры нескольких схем машины Тьюринга.

1. Алгоритм прибавления единицы к числу п в десятичной системе счисления. Дана десятичная запись числа п (т.е. представление натурального числа п

в десятичной системе счисления); требуется получить десятичную запись числа п + 1.

Очевидно, что внешний алфавит МТ должен состоять из десяти цифр 0,1,2,3,4,5,6,7,8,9 и символа пробела _. Эти цифры записывают по одной в ячейке (подряд, без пропусков).

Оказывается достаточным иметь два внутренних состояния машины: q1 и q2.

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

и замене этой цифры на единицу большую (с учетом переноса 1 в следующий разряд, если это 9, во внутреннем состоянии q2.



Соответствующая схема МТ может иметь вид

аi

qi

q1

q2

0

0Пq1

1Cq2

1

1Пq1

2Cq2

2

2Пq1

3Cq2

3

3Пq1

4Cq2

4

4Пq1

5Cq2

5

5Пq1

6Cq2

6

6Пq1

7Cq2

7

7Пq1

8Cq2

8

8Пq1

9Cq2

9

9Пq1

0Cq2

-

-Лq1

1Cq2

2. Алгоритм записи числа в десятичной системе счисления.

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

Суть алгоритма может состоять в том, что к числу 0, записанному на ленте в начале работы машины, машина добавляет 1, стирая метку за меткой, так что вместо нуля возникает число 0 + k.

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

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

Предположим, мы расширили определение МТ, добавив определенное состояние q. устройства управления машины. Будем говорить, что если устройство управления переходит в состояние q0 для заданного входного слова х, то машина допускает х; если устройство переходит в состояние qx, то машина запрещает х. Такую машину будем называть машиной Тьюринга с двумя выходами. Могут быть рассмотрены многочисленные варианты машины Тьюринга, имеющие некоторое конечное число лент. В каждой клетке этих лент может находиться один из символов внешнего алфавита А = {a0, a1, ..., аn}. Устройство управления машиной в каждый момент времени находится в одном из конечного множества состояний Q

= {q0, q1, ..., qm}. Для K-ленточной машины конфигурация ее в i-й момент времени описывается системой k-слов вида:



ail1 … aillqi aill+1 … si1t;

aik1 … aiklqi aikl+1 …aikv;

первый индекс соответствует моменту времени, второй - номеру ленты, третий -номеру клетки, считая слева направо. Говорят, что машина выполняет команду

qiaa1 … aak > qj ab1

k1 … abk kk,

К = {Л, С, П}.

Если, находясь в состоянии qi и обозревая ячейки с символами aa1

— aаk, машина переходит в состояние qj,

заменяя содержимое ячеек соответственно символами аb1 — аbк, то после этого ленты соответственно сдвигаются в направлениях k1 ... kk.

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

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

2) строки кодовых записей должны однозначно разбиваться на отдельные кодовые группы;

3) должна иметься возможность распознать кодовые группы, соответствующие командам Л, П, С,

различать кодовые группы, соответствующие символам внешнего алфавита и внутренним состояниям.

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

Может быть рассмотрено еще одно обобщение машин Тьюринга: их композиции. Операции композиции, выполняемые над алгоритмами, позволяют образовывать новые, более сложные алгоритмы из ранее известных простых алгоритмов.


Поскольку машина Тьюринга - алгоритм, то операции композиции применимы и к машинам Тьюринга. Рассмотрим основные из них: произведение, возведение в степень, итерацию.

Пусть заданы машины Тьюринга T1 и T2, имеющие общий внешний алфавит А = {a0, a1, ..., am} и внутренние состояния Q1 = {q0, q1,… qn} и Q2 = {q0, q1,

..., qt} соответственно. Композицией или произведением машины T1

и машины T2

будем называть машину Т с тем же внешним алфавитом А = {a0, а1, ...,

am} и набором внутренних состояний Q = {q0, q1,..., q2,, qn+1,..., qn+1} и программой, эквивалентной последовательному выполнению программ машин Т1

и Т2:

Т = T1 * T2..

Таким же образом определяется операция возведения в степень: n-й степенью машины Т называется произведение T...Т

c n сомножителями.

Операция итерации применима к одной машине и определяется следующим образом. Пусть машина T1

имеет несколько заключительных состояний. Выберем ее r-е заключительное состояние и отождествим его в схеме машины с ее начальным состоянием. Полученная машина  T является результатом итерации машины Т1 : Т = T1.

Прежде чем остановиться на проблеме алгоритмической разрешимости задач обратимся к другим способам формализации понятия алгоритма.


МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ И КОМПЬЮТЕРЫ


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

Путь математического моделирования в наше время гораздо более всеобъемлющ, нежели моделирования натурного. Огромный толчок развитию математического моделирования дало появление ЭВМ, хотя сам метод зародился одновременно с математикой тысячи лет назад.

Математическое моделирование как таковое отнюдь не всегда требует компьютерной поддержки. Каждый специалист, профессионально занимающийся математическим моделированием, делает все возможное для аналитического исследования модели. Аналитические решения (т.е. представленные формулами, выражающими результаты исследования через исходные данные) обычно удобнее и информативнее численных. Возможности аналитических методов решения сложных математических задач, однако, очень ограниченны и, как правило, эти методы гораздо сложнее численных. В данной главе доминируют численные методы, реализуемые на компьютерах. Это связано с тем, что моделирование здесь рассматривается под углом зрения компьютерных (информационных) технологий. Такой подход несколько сужает возможности метода в целом; его достоинство - некоторое снижение барьера необходимой математической подготовки (хотя, разумеется, и в численные методы при профессиональном занятии математическим моделированием приходится углубляться настолько, что при этом требуется значительное математическое образование). Наконец, отметим, что понятия «аналитическое решение» и «компьютерное решение» отнюдь не противостоят друг другу, так как

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

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



МЕСТО ИНФОРМАТИКИ В СИСТЕМЕ НАУК


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

Напомним, что по определению А.П.Ершова информатика- «фундаментальная естественная наука». Академик Б.Н.Наумов определял информатику «как естественную науку, изучающую общие свойства информации, процессы, методы и средства ее обработки (сбор, хранение, преобразование, перемещение, выдача)».

Уточним, что такое

фундаментальная наука и что такое

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

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

Рис. 1.2. К вопросу о месте информатики в системе наук

Однако, многие ученые подчеркивают, что информатика имеет характерные черты и других групп наук -

технических и гуманитарных (или общественных).

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



МЕТАЯЗЫКИ ОПИСАНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ


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

Для строгого и точного описания синтаксиса языка программирования, как правило, используют специальные метаязыки (языки для описания других языков). Наиболее распространенными метаязыками являются металингвистические формулы Бэкуса - Наура

(язык БНФ) и синтаксические диаграммы Вирта.

Язык БНФ

(называемый также языком нормальных форм) представляет компактную форму в виде некоторых формул, похожих на математические. Для каждого понятия языка существует единственная метаформула (нормальная форма). Она состоит из левой и правой частей. В левой части указывается определяемое понятие, а в правой - задается множество допустимых конструкций языка, которые объединяются в это понятие. В формуле используют специальные метасимволы в виде угловых скобок, в которых заключено определяемое понятие (в левой части формулы) или ранее определенное понятие (в ее правой части), а разделение левой и правой частей указывается метасимволом «::=», смысл которого эквивалентен словам «по определению есть».

Например, метаформулы

<переменная>::=А]В

<выражение>::=<переменная>|<переменная>+<переменная>|<переменная><переменная>-<переменная>


означают, что в том ( сугубо модельном) языке, на который эта метаформула распространяется, под термином <переменная> понимается любая из букв А или В, а под термином <выражение> - любая из следующих десяти записей: А; В; А+А; А+В; В+А; В+В; А-А; А-В: В-А; В-В Знак 1 следует читать «или».

Правая часть метаформулы может содержать правило построения допустимых последовательностей. Допускаются рекурсивные определения терминов и понятий, т.е. когда в правой части формулы участвует понятие, определяемое левой частью. Например, пусть необходимо ввести понятие <двоичный код>, под которым понимался любая непустая последовательность цифр 0 и 1. Тогда простое и компактное рекурсивное определение с помощью метаформул выглядит так:

<двоичная цифра>::= 0|1

<двоичный код>::=<двоичная цифра>|<двоичный код> <двоичная цифра>

Рекурсия здесь не мешает конструктивному построению понятия <двоичный код>, так как по принятым правилам при первом обращении к рекурсивно определяемому понятию следует ограничиться нерекурсивной частью формулы, т.е. под двоичным кодом понимать двоичную цифру - 0 или 1. Но при втором обращении к метаформуле, определяющей двоичный код, мы имеем варианты (конечно, неполные) понятия <двоичный код>, и можем применить рекурсию, которая даст нам следующие варианты этого понятия: 0 1 00 01 10 11, т.е. все возможные одно- и двухцифровые двоичные коды. Очевидно, что при следующих применениях рекурсии мы получим любой возможный двоичный код.

Для задания синтаксических конструкций произвольной длины часто используют фигурные скобки как метасимволы. Фигурные скобки означают, что конструкция может повторяться нуль или более раз. В частности, термин <двоичный код> можно определить по другому, а именно:

<двоичный код>::=<двоичная цифра><двоичная цифра>

И еще, для полноты множества синтаксических конструкций, необходимо определить конструкцию <пусто>:



<пусто>::=.

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

Синтаксическая диаграмма

является графическим представлением значения ме-тапеременной метаязыка. Диаграмма состоит из основных символов или понятий языка.

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

Для сравнения с метаформулами приведем несколько примеров.

Синтаксическая диаграмма

<переменная>:: =



цсвивалентна метаформуле <переменная>::= А\В.

Еще примеры:



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

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


МЕТОДЫ ПОСТРОЕНИЯ АЛГОРИТМОВ, ОРИЕНТИРОВАННЫЕ НА СТРУКТУРЫ ДАННЫХ


Часто на технологию разработки алгоритма влияют структуры данных, используемых в программе. Удачный выбор структур данных позволяет зачастую легко строить эффективные алгоритмы. Методы программирования, в которых такое влияние доминирует, называют методами, ориентированными на структуры данных. Рассмотрим некоторые классы задач, где полезны такие структуры как связные списки, очереди, стеки, деревья.

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

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

Info

Link

1 Петров

2 Смирнов

3 Алексеев

3

4

1

Линейный связанный список - это конечный набор пар, состоящих из информационной части (Info) и указующей части (Link).

N Кузнецов

2

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

Пусть, например, задано арифметическое выражение. Требуется определить, правильно ли расставлены в выражении скобки.


Для решения подобных задач используют стековую память (называемую просто «стек»). Стек представляет последовательность данных и имеет лишь одну границу для добавления и удаления элементов. В нашем случае в стек помещаются и удаляются скобки.

Первым необходимым условием правильности расстановок скобок является совпадение количества левых и правых скобок. Такой контроль легко осуществить введя счетчик top, который при просмотре выражения и обнаружении левой скобки (допустим, что имеем только круглые скобки '(' ) увеличивается на +1. Если на очередном месте встретилась правая скобка, то значение счетчика уменьшается на 1. Тогда правильность расстановки определяется по итоговому значению top.

Программа 36

program skobkal; (*проверка скобок по количеству*)

var top, i, n: integer; slovo: string[100]; skob: string[100];

begin

write('введи арифметическое выражение: ');

readln(slovo); n:length(slovo);

top:=0; skob:=''; i:=l;

while (i<=n) do begin

if slovo[i]=')' then begin top:=top+1; skob:=skob+slovo[i] end;

if slovo[i]=')' then begin

top:=top-l; skob:=skob+slovo[i] end;

i:=i+l

end;

writeln(skob) ;

if top=0 then write('выражение

правильное') i else write('выражение

неправильное');

readln .

end.

Строковая переменная skob предназначена "для визуализации всех имеющихся скобок в выражении.

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

Программа 37

program skobka2; (*проверка расстановок скобок*) var top, i, n: integer;

slovo: string[100];

store: array [1. . 100] of char; -x: char.; sicob: string[100];

p: boolean;

begin

write('введи арифметическое выражение: ');



readln(slovo); n:=length(slovo) ;

top:=0; p:=true; skob:=''; i:=1;

while (i<=n)and(p) do

begin if (slovo[i]='(') or (slovo[i]='[') or (slovo[i]='(') then begin top:=top+l; store[top]:=slovo[i];

skob:=skob+slovo[i] end;

if slovo(i]='}' then begin x:=store(top];

if x<>'(' then p:=false

else begin top:=top-l; skob:=skob+slovo{i] end;

end;

if slovo[i]=']' then begin x:=store[top] ;

if x<>'[' then p:=false

else begin top:=top-l; skob:=skob+slovo[i] end;

end;

if slovo(i]=')' then begin x:=store(top] ;

if x<>'(' then p:=false

else begin top:=top-l; skob:=skob+slovo[i] end;

end;

i:=i+l end;

writeln(skob); if top=0 then write('выражение

правильное') else write('выражение

неправильное');

readln

end.

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

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

Следующая программа демонстрирует динамику обслуживания очереди.

Программа 38

program bank;

uses crt;

type item = integer;

var qq:array[l..100] of item; i, t, v, L, R; integer;

р, x: real; st: string[10];

begin

(*начальное состояние очереди*)

qq[l]:=random(100); qq[2]:=random(100); qq[3]:=random(100);

L:=l; R:=3; р:0,6  v:=2; randomize; t:=0;

repeat

t:=t+l; x:=random; if x<p then begin R:=R+1;

qq[R]:=random(100);

end;

if (t mod v=0) then L:=L+1;

until keypressed or (R>100) ;

(*вывод состояния очереди на момент прерывания*) for i:=L to R

do writeln(qq(i]);

readin;

end.


МЕЖДУНАРОДНЫЕ СИСТЕМЫ БАЙТОВОГО КОДИРОВАНИЯ


Информатика и ее приложения интернациональны. Это связано как с объективными потребностями человечества в единых правилах и законах хранения, передачи и обработки информации, так и с тем, что в этой сфере деятельности (особенно в ее прикладной части) заметен приоритет одной страны, которая благодаря этому получает возможность «диктовать моду».

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

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

Попробуем подсчитать наиболее короткую длину такой комбинации с точки зрения человека, заинтересованного в использовании лишь одного естественного алфавита - скажем, английского: 26 букв следует умножить на 2 (прописные и строчные) - итого 52; 10 цифр, будем считать, 10 знаков препинания; 10 разделительных знаков (три вида скобок, пробел и др.), знаки привычных математических действий, несколько специальных символов (типа #, $, & и др.) — итого ~ 100. Точный подсчет здесь не нужен, поскольку нам предстоит решить простейшую задачу: имея, скажем, равномерный код из групп по N двоичных знаков, сколько можно образовать разных кодовых комбинаций. Ответ очевиден К = 2N. Итак, при N = 6 К = 64 - явно мало, при N = 7 К = 128 - вполне достаточно.

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

в этом случае 8; имея 256 комбинаций двоичных символов, вполне можно решить указанную задачу.
Поскольку 8 двоичных символов составляют 1 байт, то говорят о системах «байтового» кодирования.

Наиболее распространены две такие системы: EBCDIC (Extended Binary Coded Decimal Interchange Code) и ASCII (American Standard Information Interchange).

Первая - исторически тяготеет к «большим» машинам, вторая чаще используется на мини- и микро-ЭВМ (включая персональные компьютеры). Ознакомимся подробнее именно с ASCII, созданной в 1963 г.

В своей первоначальной версии это - система семибитного кодирования. Она ограничивалась одним естественным алфавитом (английским), цифрами и набором различных символов, включая «символы пишущей машинки» (привычные знаки препинания, знаки математических действий и др.) и «управляющие символы». Примеры последних легко найти на клавиатуре компьютера: для микро-ЭВМ, например, DEL - знак удаления символа.

В следующей версии фирма IBM перешла на расширенную 8-битную кодировку. В ней первые 128 символов совпадают с исходными и имеют коды со старшим битом равным нулю, а остальные коды отданы под буквы некоторых европейских языков, в основе которых лежит латиница, греческие буквы, математические символы (скажем, знак квадратного корня) и символы псевдографики. С помощью последних можно создавать таблицы, несложные схемы и др.

Для представления букв русского языка (кириллицы) в рамках ASCII было предложено несколько версий. Первоначально был разработан ГОСТ под названием КОИ-7, оказавшийся по ряду причин крайне неудачным; ныне он практически не используется.

В табл. 1.9 приведена часто используемая в нашей стране модифицированная альтернативная кодировка. В левую часть входят исходные коды ASCII; в правую часть (расширение ASCII) вставлены буквы кириллицы взамен букв, немецкого, французского алфавитов (не совпадающих по написанию с английскими), греческих букв, некоторых спецсимволов.

Знакам алфавита ПЭВМ ставятся в соответствие шестнадцатиричные числа по правилу: первая - номер столбца, вторая - номер строки. Например: английская 'А' - код 41, русская 'и' - код А8.



Таблица 1.9 Таблица кодов ASCII (расширенная)



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

Из сказанного выше следует, что даже 8-битная кодировка недостаточна для кодирования всех символов, которые хотелось бы иметь в расширенном алфавите. Все препятствия могут быть сняты при переходе на 16-битную кодировку Unicode, допускающую 65536 кодовых комбинаций.

Контрольные вопросы

1. Как определяется алфавит?

2. Что такое код?

3. Как объяснить большую помехоустойчивость передаваемых сообщений, составленных на русском языке?

4. Что определяют первая и вторая теоремы Шеннона?