Примерные ответы на теоретические вопросы билетов по информатике. Билет № 1 Понятие информации. Виды информационных процессов. Поиск и систематизация информации. Хранение информации; выбор способа хранения информации. Передача информации в социальных, биологических и технических системах. С развитием теории информации, кибернетики, информатики как науки понятие «информация» (от латинского informatio — сведения, разъяснения), наряду с понятиями «вещество», «энергия», «пространство» и «время» легло в основу современной научной картины мира. В то же время однозначного определения этого понятия пока не существует. Все подходы к феномену информации имеют право на существование и исследуются в соответствующих областях науки. «В информатике информацию можно рассматривать как продукт взаимодействия данных и методов их обработки, адекватных решаемой задаче». В учебниках информатики в общем виде информационный процесс определяется как совокупность действий, проводимых над информацией для получения какого-либо результата. В настоящее время выделены типовые действия над информацией, общие для различных систем: обработка, передача, хранение. Процесс обработки информации может представлять собой: • Поиск и отбор информации в различных источниках. Поиск информации отнесен к процессу обработки, поскольку при его осуществлении, независимо от того, осуществляется это вручную или с помощью компьютера, происходит процесс идентификации имеющейся (найденной) информации с требуемой в соответствии с определенными критериями поиска. По такому же принципу происходит отбор необходимой информации. • Получение новой информации. При решении задач любой дисциплины человек, обрабатывая имеющиеся исходные данные в соответствии с требуемым результатом, получает некоторую новую информацию. Интерпретация исходных данных может быть у каждого своя, результат по смыслу схожим, но в любом случае получается новая информация. Получение новой по содержанию информации из исходной информации возможно путем как математических вычислений, так и логических рассуждений. • Структурирование означает изменение формы информации без изменения ее содержания. Если процесс обработки информации связан с тем, что ее содержание не изменяется, а изменяется только форма представления, то происходит упорядочивание, систематизация, или структурирование информации. • Кодирование (упаковка) информации. В настоящее время достаточно распространен процесс кодирования, т. е. преобразования информации из одной символьной формы в другую, удобную для ее обработки, хранения или передачи. К этой деятельности можно отнести упаковку (архивирование), шифрование с использованием различных алгоритмов. Процесс передачи информации представляет собой создание копии информации на расстоянии от исходного места хранения. В процессе передачи информации обязательно участвуют источник и приемник информации. Между ними действует канал связи. В процессе передачи информация может теряться или искажаться — случайно или намеренно. На устранение этого могут быть направлены методы защиты при передаче информации. Передача информации в социальных, биологических и технических системах с точки зрения информатики осуществляется по общей схеме: источник-каналприемник. Различие в том, что в таких системах понимают под информацией. «В социальных науках под информацией понимают сведения, данные понятия, отраженные в нашем сознании и изменяющие наши представления о реальном мире. Эту информацию, передающуюся в человеческом обществе и участвующую в формировании общественного сознания, называют социальной информацией. Инженеры, биологи, генетики, психологи отождествляют информацию с теми сигналами, импульсами, кодами, которые наблюдают в технических и биологических системах. Содержание принимаемых и обрабатываемых сигналов инженера не интересует» [3], а генетиков и биологов может интересовать. К процессу хранения информации можно отнести: • Размещение (накопление). Информация, полученная в результате поиска, размещается на каком-либо носителе информации, происходит ее накопление. Процесс, в результате которого информация оказывается на носителе в виде, пригодном для последующего извлечения, называется размещением. Таким образом, мы создаем некоторый информационный ресурс. Основное отличие информационных ресурсов от других видов ресурсов состоит в том, что информация после их использования не исчезает. Поэтому важнейшей задачей является создание таких хранилищ информации, которые совмещали бы процессы защиты, структурирования, поиска, извлечения, передачи в автоматическом режиме для увеличения доступности информации. • Коррекцию. Информация в хранилищах нуждается в коррекции по различным причинам, таким как: механические повреждения или изменения свойств носителя, устаревание информации, модернизация структуры для оптимизации доступа к информации и пр. С этой целью выполняется процесс коррекции информации. • Доступ. Организация оптимального доступа к различной по ценности информации с использованием процедур защиты от несанкционированного доступа может быть отнесена к процессу хранения. Билет №2 Понятие о кодировании информации. Выбор способа представления информации в соответствии с поставленной задачей. Универсальность дискретного (цифрового) представления информации. Двоичное кодирование. Информация никогда не появляется в «чистом виде», она всегда как-то представлена, в каком-либо формализованном (закодированном) виде. Одна и та же информация может быть представлена различными способами. От того, как представлена информация, зависит очень многое, от возможной интерпретации до возможности ее технической обработки. Так что в практических задачах важно выбрать тот способ представления информации, который наиболее удобен и адекватен решаемой задаче. В настоящее время достаточно распространен процесс кодирования, т. е. преобразование информации из одной знаковой формы в другую, удобную для ее обработки, хранения или передачи. Используемый для кодирования конечный набор -1- знаков называют алфавитом. Кодирование осуществляется по принятым правилам. Правило кодирования называется кодом (от французского code — кодекс, свод законов). Длина кода — количество знаков алфавита, используемое для кодирования. Многие годы человечество работало с информацией, прежде чем был изобретен компьютер. С появлением компьютера стало возможным автоматизировать процессы обработки, передачи и хранения информации. При кодировании информации для технических устройств удобно использовать алфавиты, состоящие всего из двух знаков. Такие алфавиты называют двоичными. Чем меньше знаков в алфавите, тем проще должна быть устроена «машина» для распознавания (дешифровки) информационного сообщения. Однако чем меньше знаков в алфавите, тем большее их количество требуется для кодирования, следовательно, тем больше длина кода. Легко рассчитать количество М элементарных сообщений, которые можно закодировать, используя код постоянной длины п и алфавит из R знаков: М = Rn. Длину кода рассчитывают по формуле п = [logRM + 1]. Если мы используем двоичный алфавит, то М = 2п. При конструировании компьютеров был выбран двоичный алфавит {0, 1}, что позволило использовать достаточно простые устройства для представления и автоматического распознавания программ и данных. Именно простота сделала этот принцип кодирования таким распространенным. Наряду с этим свойством двоичное кодирование обеспечивает удобство физической реализации, универсальность представления любого вида информации, уменьшение избыточности сообщения, обеспечение защиты от случайных искажений или нежелательного доступа. Наиболее распространены кодировки компьютерных символов: ASCII, Winl251, КОИ-8. Билет № 3 Вероятностный и алфавитный подходы к измерению информации. Единицы измерения информации. Скорость передачи информации. Пропускная способность канала связи. Различные подходы к измерению количества информации в сообщении определяются различием подходов к определению самого понятия «информация». Чтобы измерить что-либо, необходимо ввести единицу измерения. Минимальная единица измерения информации — бит. Смысл данной единицы также различен в рамках разных подходов к измерению информации. Выделяют три подхода. 1. Неизмеримость информации в быту Если в сообщении содержалось для вас что-то новое, то оно информативно. Но для другого человека в этом же сообщении нет ничего нового, для него оно не информативно. Это происходит оттого, что до получения данного сообщения знания каждого из нас были различны. Фактор субъективного восприятия сообщения делает невозможным количественную оценку информации в сообщении, т. е. если рассматривать количество полученной информации с точки зрения новизны для получателя, то измерить её невозможно. 2. Вероятностный, или содержательный подход Попытаться объяснить данный подход можно, допустив, что для каждого человека можно условно выделить (например, в виде окружности) область его знания. Всё, что будет находиться за пределами окружности, можно назвать информационной неопределенностью. Постепенно, в процессе обучения или иной деятельности происходит переход от незнания к знанию, т. е. неопределенность уменьшается. Именно такой подход к информации как мере уменьшения неопределенности знания позволяет ее количественно оценить (измерить). Сообщение, уменьшающее неопределенность знания в 2 раза, несет один бит информации. Например: при подбрасывании монеты может выпасть либо «орел», либо «решка». Это два возможных события. Они равновероятны. Сообщение о том, что произошло одно из двух равновероятных событий (например, выпала «решка»), уменьшает неопределенность нашего знания (перед броском монеты) в два раза. Математики рассматривают идеальный вариант, что возможные события равновероятны. Если даже события неравновероятны, то возможен подсчет вероятности выпадения каждого события. Под неопределенностью знания здесь понимают количество возможных событий, их может быть больше, чем два. Например, количество оценок, которые может получить студент на экзамене, равно четырем. Сколько информации содержится в сообщении о том, что он получил «4»? Рассуждая, с опорой на приведенное выше определение, можем сказать, что если сообщение об одном из двух возможных событий несет 1 бит информации, то выбор одного из четырех возможных событий несет 2 бита информации. Можно прийти к такому выводу, пользуясь методом половинного деления. Сколько вопросов необходимо задать, чтобы выяснить необходимое, столько битов и содержит сообщение. Вопросы должны быть сформулированы так, чтобы на них можно было ответить «да» или «нет», тогда каждый из них будет уменьшать количество возможных событий в 2 раза. Очевидна связь количества возможных равновероятных событий и количества информации: Заполним по формуле таблицу: Количество битов Количество событий 0 1 2 3 4 5 6 7 8 9 10 1 2 4 8 16 32 64 128 256 512 1024 Это формула Р. Хартли. Если р = 1/N — вероятность наступления каждого из N равновероятных событий, тогда формула Хартли записыватся так: Чтобы пользоваться рассмотренным подходом, необходимо вникать в содержание сообщения. Это не позволяет использовать данный подход для кодирования и передачи информации с помощью технических устройств. -2- 3. Алфавитный подход к измерению информации. Подход основан на подсчете числа символов в сообщении. Этот подход не связывает количество информации с содержанием сообщения, позволяет реализовать передачу, хранение и обработку информации с помощью технических устройств, не теряя при этом содержания (смысла) сообщения. Алфавит любого языка включает в себя конечный набор символов. Исходя из вероятностного подхода к определению количества информации, появление символов алфавита в тексте можно рассматривать как различные возможные события. Количество таких событий (символов) N называют мощностью алфавита. Тогда количество информации i, которое несет каждый из JV символов, согласно вероятностному подходу определяется из формулы: N=2i Количество символов в тексте из k символов: I=k*i Алфавитный подход является объективным способом измерения информации и используется в технических устройствах. Переход к более крупным единицам измерения Ограничения на максимальную мощность алфавита не существует, но есть алфавит, который можно считать достаточным (на современном этапе) для работы с информацией, как для человека, так и для технических устройств. Он включает в себя: латинский алфавит, алфавит языка страны, числа, спецсимволы — всего около 200 знаков. По приведенной выше таблице можно сделать вывод, что 7 битов информации недостаточно, требуется 8 битов, чтобы закодировать любой символ такого алфавита, 256 = 28. 8 битов образуют 1 байт. То есть для кодирования символа компьютерного алфавита используется 1 байт. Укрупнение единиц измерения информации аналогично применяемому в физике — используют приставки «кило», «мега», «гига». При этом следует помнить, что основание не 10, а 2. 1 килобайт (Кб) — это 210 = 1024 байтов, 1 мегабайт (Мб) = = 210 Кб = 220 байтов и т. д. Умение оценивать количество информации в сообщении поможет определить скорость информационного потока по каналам связи. Максимальную скорость передачи информации по каналу связи называют пропускной способностью канала связи. Самым совершенным средством связи на сегодня являются оптические световоды. Информация передается в виде световых импульсов, посылаемых лазерным излучателем. У этих средств связи высокая помехоустойчивость и пропускная способность более 100 Мбит/с. Билет № 4 Понятие алгоритма: свойства алгоритмов, исполнители алгоритмов. Автоматическое исполнение алгоритма. Основные алгоритмические структуры. Понятие алгоритма Исторический обзор. Первым дошедшим до нас алгоритмом в его интуитивном понимании — конечной последователъности элементарных действий, решающих поставленную задачу, — считается предложенный Евклидом в III веке до нашей эры алгоритм нахождения наибольшего общего делителя двух чисел (алгоритм Евклида). Вплоть до начала XX века само слово «алгоритм» употреблялось в устойчивом сочетании «алгоритм Евклида». Для описания пошагового решения других математических задач использовалось слово «метод». Слово «алгоритм», «algorithm» происходит от имени выдающегося ученого IX века Мухаммада ибн Муса ал-Хорез-ми (в переводе с арабского Мухаммад, сын Мусы из Хорезма). По латинскому переводу его труда (XII век) Западная Европа познакомилась с десятичной позиционной системой счисления и правилами (algorismi) выполнения в ней арифметических действий. Формализация понятия алгоритма. Во всех сферах своей деятельности, в частности, в сфере обработки информации, человек сталкивается с различными методами решения задач. Они определяют порядок выполнения действий для получения желаемого результата — мы можем трактовать это как первоначальное или интуитивное определение алгоритма. Определение 1. Алгоритм — это заданное на некотором языке конечное предписание, задающее конечную последовательность выполнимых элементарных операций для решения задачи, общее для класса возможных исходных данных. Варианты словесного определения алгоритма, принадлежащие российским ученым-математикам А. Н. Колмогорову и А. А. Маркову: Определение 2 (Колмогоров). Алгоритм — это всякая система вычислений, выполняемых по строго определенным правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи. Определение 3 (Марков). Алгоритм — это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату. Свойства алгоритмов • Дискретность. Алгоритм состоит из последовательных команд, только выполнив одну команду, исполнитель может приступить к выполнению следующей. То есть структура алгоритма является дискретной (прерывной). • Конечность. Алгоритм содержит конечное количество элементарных выполнимых предписаний, т. е. удовлетворяет требованию конечности записи. Исполнитель алгоритма должен выполнять конечное количество шагов при решении задачи, т. е. алгоритм удовлетворяет требованию конечности действий. • Точность (определенность). Каждая команда алгоритма должна определять однозначное действие исполнителя. Этим свойством часто не обладают предписания и инструкции, которые составляются для людей. • Понятность. Каждая команда алгоритма должна быть понятна исполнителю. Алгоритм не рассчитан на принятие самостоятельных решений исполнителем, не предусмотренных составителем алгоритма. • Универсальность (массовость). Алгоритм должен быть единым для всех допустимых исходных данных. Разработка алгоритма — процесс творческий, но требующий значительных затрат времени и умственных усилий, поэтому желательно, чтобы он обеспечивал решение задач данного типа. Это свойство не является обязательным; не менее важными являются алгоритмы уникальные, разработанные для решения одной задачи. Алгоритм предполагает наличие исполнителя — человека или технического устройства (автомат, робот, компьютер) со строго определенным набором возможных команд. Совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя (СКИ). Исполнитель может исполнять команды из СКИ и ничего более. -3- Автоматическое исполнение алгоритма Алгоритм позволяет формализовать выполнение процесса обработки исходных данных и получения результата. На этом основана работа программно управляемых исполнителей-автоматов, например промышленных роботов. От исполнителя не требуется понимания сущности алгоритма, он должен точно выполнять команды в заданной последовательности. Примером исполнителя, автоматически выполняющего различные алгоритмы, является компьютер. Рассмотрим запись на жесткий диск компьютера телевизионной передачи с помощью ТВ-тюнера. Указав в расписании время начала и окончания записи, поставив «флажок» возле позиции «Выключить компьютер после записи», пользователь может быть уверен, что передача будет записана и компьютер будет выключен. Всю заданную работу выполнит компьютер по разработанному ранее алгоритму, не внося никаких изменений (другая передача, другое время, невыключение компьютера). Способы описания алгоритмов Словесное описание применимо лишь для простейших алгоритмов. В случае, когда связи между действиями усложняются, высокая степень детализации приводит к громоздкому описанию. Описание на алгоритмическом языке (псевдокоде) осуществляется с помощью слов естественного языка, но в специальной форме, отображающей структуру алгоритма. Всё чаще словесное описание и запись на алгоритмическом языке сводят к одному способу — словесному. Описание в графической форме в виде блок-схемы. В схеме алгоритма каждому типу действий (ввод исходных данных, вычисление, проверка условия, управление циклом, вывод результатов, окончание) соответствует своя геометрическая фигура — блок. Блоки соединяются линиями со стрелками, указывающими последовательность действий. Форма блоков установлена ГОСТом. Внутри блока записывается содержание соответствующего действия. Совокупность блоков образует блок-схему алгоритма. (В Microsoft Office можно использовать готовые шаблоны блоков.) Основные блоки, используемые при графической форме записи алгоритмов: Описание в виде программы для компьютера на языке программирования Основные алгоритмические структуры Алгоритм может быть реализован в виде комбинации трех базовых алгоритмических конструкций: линейной, разветвленной, циклической. Алгоритм линейной структуры — алгоритм, в котором предписываемые действия выполняются последовательно: Оператор1 — Оператор2 — ... — Операторе. Такой порядок выполнения действий называется естественным. Алгоритм разветвленной структуры — алгоритм, в котором предусмотрено разветвление выполняемой последовательности действий в зависимости от результата проверки какого-то условия. Условие — это некоторое логическое выражение. Если условие (логическое выражение) принимает значение «истина», то выполняется Оператор 1, в противном случае — значение «ложь» — выполняется Оператор2. Оператор1 и Оператор2 могут представлять собой группу операторов, а также могут быть условными операторами. В случае отсутствия Оператора2 получаем конструкцию с неполным ветвлением. Алгоритм циклической структуры (цикл с повторением) — алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий. Эту последовательность действий называют телом цикла. Если количество повторений известно, то используют цикл со счетчиком, иначе — цикл с предварительной или последующей проверкой условия повторения. Циклическую структуру реализуют операторы трех типов. -4- Оператор FOR...DO действует следующим образом. Тело цикла выполняется для каждого значения параметра цикла / от его начального Ml до конечного значения М2 включительно. J, Ml, M2 — чаще всего переменные целого типа. Шаг изменения переменной цикла / равен +1 или -1. Оператор WHILE...DO действует следующим образом. Каждый раз предварительно проверяется значение логического выражения. Пока оно истинно, выполняется тело цикла. Как только оно становится ложным, происходит выход за пределы цикла. Если с самого начала значение логического выражения является ложным, то тело цикла не выполняется ни разу. Оператор REPEAT...UNTIL действует следующим образом. Тело цикла выполняется, пока значение логического выражения ложно. Тело цикла выполняется как минимум один раз. Все алгоритмические конструкции имеют общее свойство: один вход и один выход. Допускается неограниченное соединение структур и их вложение друг в друга, что позволяет проектировать сложные алгоритмы. Билет № 5 Язык программирования. Типы данных. Реализация основных алгоритмических структур на языке программирования. Основные этапы разработки программ. Языки программирования Первые компьютеры (ЭВМ) разрабатывались прежде всего как вычислительные машины, т. е. устройства, выполня ющие операции над числами. Сегодня компьютеры позволяют обрабатывать информацию всех видов — текстовую, графическую, числовую, мультимедийную. Для решения задачи на компьютере необходимо создать программу, т. е. последовательность команд, входящих в систему команд компьютера. Для первых компьютеров программисты писали программы в двоичных кодах, т. е. на машинном языке. Каждая команда машинного языка задает некоторое элементарное действие центрального процессора. Важным этапом в развитии программирования явилась разработка языков программирования высокого уровня (ЯПВУ) — специальных искусственных языков, приближенных к обычному разговорному языку (английскому). Примеры таких языков: FORTRAN, Basic, Pascal, С. Большинство языков высокого уровня универсальны, т. е. предназначены для решения широкого круга задач. Первая цель создания ЯПВУ — облегчить создание программ. Вторая цель — сделать программы переносимыми, т. е. уменьшить количество труда по адаптации программ для новых типов компьютеров. Поскольку компьютер (а точнее, его процессор) оперирует не конструкциями ЯПВУ, а двоичными командами, то перед выполнением программа должна быть превращена в машинный код. Выполняют эту операцию программы-трансляторы. В зависимости от порядка подготовки программы на языке высокого уровня к исполнению, трансляторы делятся на компиляторы и интерпретаторы. Компилятор — это программа, автоматически преобразующая (компилирующая) исходный код ЯПВУ в машинный код и создающая таким образом исполняемый файл. Он может быть запущен на исполнение операционной системой. В ОС Microsoft такие файлы могут иметь расширения ехе, com, dll. Интерпретатор — это программа, преобразующая код ЯПВУ в машинный код шаг за шагом, т. е. каждая команда преобразуется интерпретатором и сразу выполняется компьютером, затем интерпретатор преобразует следующую команду, компьютер ее выполняет и т. д. (интерпретатор — «синхронный переводчик»). Недостаток интерпретаторов — низкая скорость выполнения программ. Примеры: интерпретаторы языков Basic и Java Script. Для языка Basic в настоящее время существуют как интерпретаторы, так и компиляторы. Типы данных При решении задач на компьютере следует определить данные задачи и их типы. Данные — это информация, необходимая для выполнения программы, представленная в формальном виде, который обеспечивает возможность ее хранения, обработки и передачи (англ. data). Языки высокого уровня организуют обработку данных с помощью переменных. Переменная — это именованная область оперативной памяти, в которой может храниться нужная информация (данные). Способ хранения определяется типом переменной. -5- Константа — это именованное значение, которое остается неизменным на протяжении всего времени выполнения программы. Числовая константа представляет собой какое-либо число (7; 3.14), а строковая константа — произвольную строку ("количество учеников в классе"). В любом ЯПВУ переменные и константы характеризуются своими типами. Тип данных — это правила хранения и формат данных. Во время работы программы тип данных будет определять, каким образом данные будут извлекаться из оперативной памяти (ОП), интерпретироваться и сохраняться в ОП. Например, величины 2 05 и -45 относятся к целочисленному типу и их можно складывать, вычитать, перемножать и делить. Величины "цвет" и "ок" относятся к строковому типу, их можно сцеплять, но над ними нельзя выполнять арифметические операции. В языкe Basic существуют следующие типы данных. Примечание. Массив — индексированный набор элементов одного типа1; string (англ.) — ряд, последовательность, цепочка; строка — последовательность символов. Реализация основных алгоритмических структур на языке программирования -6- 7 Основные этапы разработки программ Разработка законченного программного продукта в виде компьютерной программы — длительный и трудоемкий процесс. Чтобы окончательный вариант программы работал правильно и содержал как можно меньше ошибок, программисты придерживаются полного цикла разработки программы, состоящего из шести базовых этапов: 1. Постановка и анализ задачи. Четкое определение задачи и наборов входных и выходных данных. 2. Разработка алгоритма. Определение зависимости между входными и выходными данными, создание процедуры их преобразования. 3. Разработка пользовательского интерфейса. Определение того, что пользователь должен видеть на экране, как будут вводиться данные, где и в каком формате будут представлены выходные данные. 4. Написание программного кода. Преобразование алгоритма в компьютерную программу на языке высокого уровня. 5. Тестирование и отладка программы. Тестирование -— прогон программы на наборе тестов, для которых известен результат, с целью проверки правильности ее работы. Отладка (debug) — процесс выявления и устранения ошибок в программе. 6. Составление документации. Подготовка документов, содержащих описание программы, включая техническое задание, блок-схемы, предположения, список входных и выходных переменных (часто совмещается с программным кодом), руководства пользователя. Билет № 6 Технология нисходящего программирования. Разбиение задачи на подзадачи. Процедуры и функции. Технологии программирования Под алгоритмом, в случае, когда исполнителем является компьютер, можно понимать последовательность команд для процессора. В узком смысле слова, программирование рассматривается как кодирование — реализация одного или нескольких взаимосвязанных алгоритмов на некотором языке программирования. В более широком смысле, программирование — процесс создания программ, т. е. разработка программного обеспечения. Существуют разные типы языков программирования. Одни из них — структурные языки, особенностью которых является, во-первых, организация программы в виде командных структур, а, во-вторых, обособление кода и данных. 8 Для уменьшения затрат на написание и отладку часто повторяющихся участков кода их обособляют в отдельные именованные участки, обладающие своей внутренней структурой программного кода и переменных. В дальнейшем программа может обращаться к этому участку по имени. Такие участки называются подпрограммами. Структурные языки: Pascal, Ada, Java, C#, C++, С, Modula-2. Пример неструктурных языков программирования — декларативные языки. В этих языках нет программы действий как таковой, а есть набор данных и правил их преобразования. Таким образом, исполнение программы — это попытка получения новых данных в соответствии с некоторым правилом. Такие языки позволяют описывать достраивающиеся программы (доопределяющие свой набор правил) и применяются при работе с крупными наборами данных (декларируя определенные множества) в экспертных системах. Декларативные языки: Prolog, Lisp, XSL. К неструктурным языкам программирования относится также ассемблер. Существуют различные технологии программирования. Технология восходящего программирования («снизу вверх») реализуется так: 1. Вначале создаются и отлаживаются самые элементарные подпрограммы (скорее всего используя созданные ранее, хранимые в модулях-библиотеках). 2. Реализуется более крупный блок задачи путем вызова таких подпрограмм. 3. Повторяется пункт 2 до тех пор, пока не реализуется вся задача. Достоинства этого подхода — уменьшается общий объем работы за счет ранее созданных участков кода; снижаются требования к аппаратным ресурсам; уменьшается вероятность возникновения ошибок, так как только на поздних этапах проекта мы работаем с большим объемом кода. Недостатки — уже реализованные, отлаженные и протестированные модули иногда приходится разрабатывать заново (так как головной модуль разрабатывается на завершающем этапе). Использование готовых частей кода может привести к менее эффективной структуре решения в целом. Кроме того, при применении такого подхода в чистом виде возникает опасность потерять общую логику разработки. Технология нисходящего программирования — это создание программы «сверху вниз». Сначала разрабатывается основная программа (точнее, ее общая структура) и в ней записываются обращения к пока еще не написанным вспомогательным подпрограммам; и так далее — до самых простых «неделимых» подпрограмм. Существенный этап такой разработки — определить основные структуры данных и правила их обработки. То есть определить, с какими данными подпрограммы будут работать и что должно быть ими сделано в результате выполнения. При этом для ускорения процесса работы над задачей руководитель может разрабатывать основную программу, а другие сотрудники — подпрограммы. Если какая-то подпрограмма не готова, ее заменяют подпрограммой-«заглушкой», которая при заданных входных данных дает разумный результат (хотя фактически подпрограмма не работает). Технология нисходящего программирования (метод последовательной детализации) лежит в основе технологии структурного программирования и широко применяется при использовании структурных языков программирования, таких как Pascal или C++. Алгоритм решения основной задачи называется основным алгоритмом. Алгоритм решения некоторой подзадачи по отношению к исходной (основной) задаче называется вспомогательным алгоритмом. Таким образом, структурное программирование естественно возникает во многих классах задач, прежде всего в таких, где задача естественно расщепляется на подзадачи, а информация — на достаточно независимые структуры данных. Структурное программирование предполагает, что логическая структура программы может быть выражена комбинацией трех базовых структур: следования, ветвления и цикла. Эти структуры могут комбинироваться одна с другой, как того требует программа. Итак, особенности структурного программирования: • модульность — создание программы из более мелких составляющих — модулей, блоков, подпрограмм. Один из этих модулей является в проекте главным и содержит нечто вроде конспекта всей программы. Обычно этот модуль содержит только вызовы подчиненных модулей или блоков; • структурность — составление программ как комбинации базовых структур трех типов: следования, ветвления, цикла. При разработке программ крайне рекомендуется принимать меры к обеспечению читабельности и ясности кода — следовать правилам и соглашениям по организации программ. Четкость и простота текста упрощают отладку задачи, ее сопровождение и последующую модификацию. Этапы решения сложной задачи X сверху вниз: 1. Разбиваем задачу X на несколько функциональных подзадач XI, Х2, ХЗ и т. д., т. е. выполняем ее декомпозицию. 2. Предполагаем, что впоследствии эти части будут разработаны, создаем их спецификации: • • • • • вид подпрограммы (процедура или функция); ее имя; имена и типы формальных параметров, их порядок; для функции — тип возвращаемого значения; комментарии, описывающие назначение подпрограммы. 9 3. Пишем программу решения задачи X, заменив каж дую из подпрограмм XI, Х2, ХЗ «заглушками», и от лаживаем ее в таком виде. 4. Параллельно работаем с каждой из подпрограмм XI, Х2, ХЗ, при необходимости так же разбивая каждую из них на подзадачи еще более низкого уровня, т. е. используя методику, начиная с п. 1. Каждую подзадачу можно решать независимо от других. 5. Проводим комплексную отладку постепенно, по одной заменяя заглушки на автономно отлаженные подпрограммы. Пример декомпозиции задачи (разбиения задачи на подзадачи). Пусть задача заключается в сборе информации из разных источников: вводе с клавиатуры и вводе из файла, ее обработке и выводе результатов, как в файл, так и на экран монитора. Тогда метод последовательной детализации можно представить так: Вспомогательные алгоритмы (подпрограммы) создаются еще и в том случае, когда есть необходимость использования одного и того же набора действий во многих алгоритмах. Например, решение системы линейных уравнений выполняется многократно, но с различным количеством уравнений и разными значениями коэффициентов. Достоинства метода программирования «сверху вниз» — серьезные ошибки с большой вероятностью отыскиваются уже на ранних стадиях проекта; тестирование систематично. Недостаток — при отладке поглощается больше машинных ресурсов. Необходимо снижать трудоемкость тестирования и отладки программы. Процедуры и функции Подпрограмма (subroutine) — именованная последовательность операторов языка, предназначенная для решения некоторой подзадачи. Часто подпрограмма имеет свои переменные, не пересекающиеся с переменными других подпрограмм или самой программы (если только переменные не были объявлены специальным образом или переданы подпрограмме). Каждая подпрограмма имеет имя, по которому к ней можно обратиться. В языках Turbo Pascal и QBasic механизм подпрограмм реализуется в виде процедур (procedure) и функций (function) с такой же структурой, как и основная программа. Они различаются назначением и способом использования. Основное назначение процедуры — выполнение самостоятельных действий (без возврата какого-либо значения), а функции — возврат значения для использования в выражениях основной программы. Подпрограммы вводятся в основную программу с помощью соответствующего описания, затем к ним можно выполнять обращение. Создание подпрограмм облегчает программирование, так как: 1) не требует многократно повторять в тексте программы аналогичные фрагменты; 2) улучшает структуру, облегчая ее понимание; 3) уменьшает вероятность появления ошибок (отлаживается отдельно); 4) позволяет очень длинную программу разбить на части; 5) позволяет использовать подпрограммы в других программах. В языках программирования высокого уровня существуют как стандартные вспомогательные подпрограммы, так и возможность разработки пользователем своих программ при решении сложных задач. Процедура начинается с заголовка, за ним следует имя, а в круглых скобках — список формальных параметров. Процедура может получить из основной программы несколько переменных (фактических параметров) для изменения их значений. Чтобы выполнить процедуру, к ней следует обратиться из основной программы с фактическими параметрами. Количество, тип и порядок следования формальных и фактических параметров должны совпадать. Функция предназначена для того, чтобы возвращать одно значение, оно и является ее результатом. Описание функции начинается с заголовка, за ним следует имя, а в круглых скобках — список формальных параметров: Функция или процедура — самостоятельная часть программы, имеющая собственные переменные, которым отводится отдельное, не зависящее от основной программы, место в памяти компьютера. Билет № 7 10 Структуры данных. Обработка массивов. Поиск в массиве. Основные алгоритмы сортировки массивов. В связи с тем, что подавляющее большинство прикладных задач оперируют большим количеством разнообразных данных, практически все развитые универсальные языки программирования высокого уровня имеют в своем синтаксисе конструкции, предназначенные для организации сложных моделей представления данных. Основное назначение таких конструкций — упростить описание модели, упорядочить дальнейшую обработку и позволить создавать объединения из отдельных переменных. Самый простой случай такой структуры данных — массив. В компилируемых языках высокого уровня массив определяют как упорядоченный набор однотипных переменных. Такой набор переменных объявляется заранее, с указанием типа переменных и их количества — для отведения нужного объема памяти. Переменные в массиве называются его элементами. Каждый элемент массива имеет индекс — целое число, задающее его положение по порядку в массиве. Основная операция с массивом — обращение к его элементам. Элементы массива используются и изменяются как обычные переменные. Массивы активно используются в тех случаях, когда нужно обработать большое количество однотипных данных. Примеры: массив значений температуры, массив названий товаров и пр. Часто возникает задача поиска (определения индекса) элемента в массиве по заданному критерию. Простейший способ такого поиска: перебор всех элементов до нахождения нужного. В качестве ответа можно хранить значение, а можно — индекс найденного элемента. Если в массиве выдержан какой-то принцип расположения элементов (упорядочение), то все операции поиска можно ускорить. Упорядоченным по неубыванию считается массив, в котором каждый следующий элемент не меньше предыдущего, упорядоченным по невозрастанию — тот, где каждый следующий элемент не больше предыдущего. В упорядоченных массивах можно искать любой заданный элемент методом деления отрезка пополам, а поиск максимума и минимума вообще не нужен. Алгоритмов сортировки массивов достаточно много, наиболее простой в реализации — метод пузырька. Этот алгоритм предполагает многократный проход по массиву; на каждом проходе (итерации цикла) циклически обмениваются местами попарно элементы, стоящие в неправильной последовательности. В результате самый «легкий» элемент (минимальный или максимальный) «всплывает» и занимает свое место. На каждой итерации количество обрабатываемых элементов уменьшается на единицу. Итерации повторяются, пока требуется выполнить хотя бы одну перестановку: Другой пример — сортировка вставками. На i-й итерации считается, что часть масива с 1-го по (i - 1)-й элемент уже упорядочена. Далее i-й элемент вставляется в отсортированную часть массива без нарушения упорядоченности. И так далее. Билет № 8 Основные понятия и операции формальной логики. Законы логики. Логические переменные. Логические выражения и их преобразования. Построение таблиц истинности логических выражений. Основные понятия и операции алгебры логики Формальной логикой принято называть античную логику, основанную Аристотелем. Это название происходит от основного принципа логики как науки, который гласит, что правильность рассуждения (умозаключения) определяется только его логической формой, или структурой, и не зависит от конкретного содержания входящих в него суждений [16]. Логика изучает формы мышления с точки зрения их структуры, законы и правила получения некоторого знания. Формами мышления являются: понятие, суждение, умозаключение. Понятие — форма мышления, отражающая существенные свойства предмета или класса однородных предметов. Характеризуется содержанием и объемом. Содержание понятия — те признаки предмета, которые 11 позволяют отличить предмет от всех остальных. Объем понятия — множество предметов, каждому из которых принадлежат эти признаки. Суждение — форма мышления, в которой что-либо утверждается или отрицается о наличии предмета, его свойствах и действиях. Характеризуется содержанием и формой. Содержанием суждения является его смысл. Форма — способ построения. Суждения бывают истинными и ложными. Умозаключение — форма мышления, в которой из одного или нескольких суждений на основании определенных правил вывода получается новое суждение (вывод, или заключение). В своем развитии логика прошла ряд этапов. Современную логику называют математической. Алгебра высказываний (алгебра логики) — раздел математической логики. Алгебра логики возникла в середине XIX века в трудах Джорджа Буля. Создание алгебры логики представляло собой попытку решать традиционные логические задачи алгебраическими методами. Учение о высказываниях, называемое алгеброй высказываний (алгеброй логики), является первой из формальных логических теорий. Объектами алгебры логики являются высказывания. Алгебра логики имеет приложения при синтезе релей-но-контактных и электронных схем. В этой теории отвлекаются от содержания высказывания, а рассматривают только то его свойство, что оно представляет собой или истину, или ложь. Тогда высказывание можно рассматривать как вели Всякое сложное высказывание, составленное из некоторых исходных высказываний посредством логических операций, будем называть логическим выражением. Его также называют формулой алгебры логики. Исходные высказывания могут быть логическими константами (если имеют постоянное значение «истина» или «ложь») или логическими переменными. Переменные высказывания — это такие переменные, значениями которых могут быть любые наперед заданные простые высказывания — константы. Логические операции позволяют каждой формуле при заданных значениях входящих в нее высказываний приписать одно из двух значений: 0 или 1. Тем самым каждая формула может рассматриваться как некоторый способ задания или реализации функции алгебры логики. Логическая функция — это функция, определенная на множестве значений (истина, ложь) и принимающая значение из того же множества [16]. Например: Л = А&В, F2 = AvB. Функцию можно задавать как в виде формулы, так и в виде таблицы, которая содержит все наборы значений переменных и значения функции на этих наборах. Такую таблицу называют таблицей истинности. Логические выражения и их преобразования Будем называть две функции F1 и F2 равносильными, или тождественными, если при любых значениях всех переменных, входящих вЛ и F2, эти функции принимают одинаковые значения. Равносильность обозначается знаком равенства (=). 12 Посредством приведенных операций над высказываниями могут быть образованы другие, сколь угодно сложные высказывания. Так можно получать из одной функции другую, равносильную ей. Логические операции имеют следующий приоритет: действия в скобках, инверсия, &, v, —>, ~. В алгебре логики имеется ряд законов, позволяющих осуществлять равносильные преобразования формул. Законы логики и правила преобразования логических выражений В алгебре, которую мы изучаем в школе, существуют пять основных законов: переместительные, сочетательные и распределительный. Среди законов алгебры логики есть подобные законы. 13 С использованием законов алгебры логики выполняются преобразования сложных логических функций. Если логическая функция представлена с помощью дизъюнкций, конъюнкций и инверсий, то такая форма представления называется нормальной. Логическая функция называется тождественно ложной, если она принимает значение «ложь» на всех наборах входящих в нее простых высказываний. Например: Логическая формула называется тождественно истинной, если она принимает значение «истина» на всех наборах входящих в нее простых высказываний (тождественно истинные высказывания часто называют тавтологиями). Например: Построение таблиц истинности логических выражений Таблица истинности логического выражения — это таблица, содержащая значения логического выражения, полученные на всех значениях входящих в него логических переменных. Правило построения таблицы истинности: 1. Подсчитать количество N используемых переменных. 2. Определить число строк М в таблице по формуле М = 2*. 3. Подсчитать количество логических операций в логическом выражении и определить количество столбцов в таблице, которое равно: количество переменных плюс количество логических операций. 4. Ввести названия столбцов таблицы в соответствии с последовательностью выполнения логических операций с учетом скобок и приоритетов. 5. Заполнить столбцы логических переменных наборами значений. 6. Провести заполнение таблицы истинности по столбцам, выполняя логические операции в соответствии с установленной в п. 4 последовательностью. Приведенные выше законы можно доказать построением таблиц истинности. Построим таблицу истинности для доказательства равно- Столбцы, соответствующие искомым выражениям, совпали. Следовательно, выражения равносильны. Билет № 9 Логические элементы и схемы. Типовые логические устройства компьютера: полусумматор, сумматор, триггеры, регистры. Работа компьютера состоит в операциях над двоичными кодами и пересылке этой информации по линиям связи. Средством обработки двоичных сигналов в компьютере являются логические элементы. Причем, для реализации любых логических операций над двоичными сигналами достаточно элементов трех типов, реализующих три основные логические операции — И, ИЛИ, НЕ. Логический элемент — это электронная схема с одним или несколькими входами и одним выходом, через которые проходят электрические сигналы, представляющие цифры 1 и 0; на выходе логический элемент выдает значение логического произведения, логической суммы или отрицания. Так как сигнал, выработанный одним логическим элементом, можно подавать на вход другого элемента, то это дает возможность образовывать схемы из отдельных логических элементов, которые называются функциональными схемами. Из отдельных логических элементов можно создать функциональную схему арифметического назначения. Устройства компьютера (сумматор в процессоре, регистры, ячейки памяти в оперативной памяти и др.) строятся на основе базовых логических элементов. 14 Типовые логические устройства Триггер Для хранения информации в оперативной памяти компьютера, а также во внутренних регистрах процессора используются триггеры. Триггер может находиться в одном из двух устойчивых состояний (одно из которых обозначает ноль, а другое — единицу), что позволяет запоминать, хранить и считывать 1 бит информации. Самый простой триггер — iJS-трштер. Он состоит из двух элементов ИЛИ-НЕ, входы и выходы которых соединены кольцом: выход первого соединен со входом второго и выход второго — со входом первого. Триггер имеет два входа S (от англ. set — установка) и R (от англ. reset — сброс) и два выхода Q (прямой) и Q (инверсный). Логическая схема .RS-триггера [39]: Если на входы поступают сигналы R = 0 и S = O.jro триггер находится в режиме хранения, на выходах Q и Q сохраняются установленные ранее значения. Если на установочный вход S поступает на короткое время сигнал 1, то триггер переходит в состояние 1 и после того, как сигнал на входе S станет равен 0, триггер будет сохранять это состояние, т. е. будет хранить 1. При подаче 1 на вход R триггер перейдет в состояние 0. Подача на оба входа S и R логической единицы может привести к неоднозначному результату, поэтому такая комбинация входных сигналов запрещена. 15 Сумматоры [9, 31] Сумматор — это вычислительная схема, выполняющая процедуру сложения поступающих на ее вход двоичных кодов. По числу входов различают полусумматоры, одноразрядные сумматоры (ОС) и многоразрядные сумматоры. Рассмотрим построение схемы одноразрядного полусумматора, предназначенного для сложения двух двоичных чисел в одном разряде. Составим таблицу логических значений для сумматора, где А, В — слагаемые, Р и Y — перенос и цифра разряда для суммы соответственно: Заметим, что Р — это функция, реализующая операцию конъюнкции двух переменных А и В, а У — отрицание операции эквивалентности: На основе полученных логических функций можно построить схему полусумматора. Схема требует два логических элемента И, один логический элемент ИЛИ, один логический элемент НЕ. Эта схема называется полусумматором, так как в ней отсутствует третий вход — перенос из предыдущего разряда. Схема полного одноразрядного сумматора должна содержать три входа: два слагаемых одного разряда и перенос из предыдущего разряда; и два выхода: сумму в данном разряде и перенос в следующий разряд. Составим таблицу логических значений для одноразрядного сумматора, где А, В — слагаемые, PQ — перенос из предыдущего разряда, Р JS.Y — перенос в следующий разряд и цифра разряда для суммы соответственно. В таблице будет 8 строк, так как имеется 3 входа. Для сложения двух четырехразрядных чисел потребуется три одноразрядных сумматора и один полусумматор. Схема суммирования, на основе таких блоков, будет иметь вид: 16 Здесь As, А2, А\, AQ, В3, В%, ^1» ^0 — соответственно двоичные цифры слагаемых, У3> ^2» ^1> ^о — двоичные цифры результата. Если единица переноса возникнет в старшем разряде, то она будет потеряна, говорят, что произойдет переполнение разрядной сетки. Чтобы избежать таких ситуаций, следует для переменных в программах задавать соответствующий тип данных для целых чисел (например, LONGINT вместо INTEGER) или выбирать экспоненциальную форму записи (например, REAL). Суммируемые коды поступают на входы сумматора одновременно по всем разрядам. Для этого в каждом разряде используется сумматор на три входа, на выходах которого образуются значения суммы Yi данного разряда и переноса Pj+i в старший разряд. В процессе распространения сигнала переноса устанавливается окончательное значение суммы в каждом разряде. Очевидно, что в течение этого времени на входах сумматора присутствуют сигналы At, Bt, соответствующие суммируемым кодам. Максимальное по времени суммирование получается в том случае, когда перенос, возникший в первом разряде, распространяется по всем разрядам (например, при сложении кодов 11..11 и 00..01). Регистр Триггер запоминает один разряд двоичного числа. Для запоминания га-разрядного двоичного числа необходимо п соединенных между собой триггеров. Получаем n-разрядный регистр. Билет № 10 Информационные (нематериальные) модели. Моделирование как метод познания. Назначение и виды информационных моделей. Основные этапы компьютерного моделирования. Информационные (нематериальные) модели. Моделирование как метод познания Прежде чем перейти к информационным и математическим моделям, следует рассмотреть несколько примеров, поясняющих, что такое модель. Прежде чем построить новый корабль, кораблестроитель сначала строит модель — маленький деревянный кораблик — и испытывает ее. Для того чтобы объяснить, как функционирует система кровообращения, лектор демонстрирует плакат, на котором стрелочками изображены направления движения крови. Это модель системы кровообращения. Перед тем как запустить в производство самолет, его помещают в аэродинамическую трубу и с помощью соответствующих датчиков определяют величины напряжений, возникающих в различных местах конструкции. Это модель нагрузок, которые испытывает самолет . Во всех перечисленных примерах имеет место сопоставление некоторого объекта с другим, его заменяющим: реальный корабль — деревянный кораблик; система кровообращения — схема на плакате; серийный самолет — единичный самолет в аэродинамической трубе. Причем во всех случаях предполагается, что какие-то свойства сохраняются при переходе от исходного объекта к его заменяющему. Например, хотя самолет, находящийся в аэродинамической трубе, и не летит, но напряжения, возникающие в его корпусе, соответствуют условиям полета. Итак, можно сказать, что модель — это такой материальный или мысленно представляемый объект, который замещает объект-оригинал с целью его исследования, сохраняя некоторые важные для данного исследования типичные черты и свойства оригинала, т. е. его существенные стороны. Хорошо построенная модель, как правило, доступнее для исследования, чем реальный объект (например, такой, как экономика страны, Солнечная система и т. п.). Другое, не менее важное назначение модели состоит в том, что с ее помощью выявляются наиболее существенные факторы, формирующие те или иные свойства объекта. Модель также позволяет учиться управлять объектом, что важно в тех случаях, когда экспериментировать с объектом бывает неудобно, трудно или невозможно (например, когда эксперимент имеет большую продолжительность или когда существует риск привести объект в нежелательное или необратимое состояние). Таким образом, мы можем сделать вывод, что модель необходима для того, чтобы: • понять, как устроен конкретный объект — каковы его структура, основные свойства, законы развития и взаимодействия с окружающим миром; • научиться управлять объектом или процессом и определить наилучшие способы управления при заданных целях и критериях (оптимизация); • прогнозировать прямые или косвенные последствия реализации заданных способов и форм воздействия на объект. Интересно, что хорошо построенная модель обладает удивительным свойством: ее изучение может дать некоторые новые знания об объекте-оригинале. Примером может служить Периодическая система химических элементов Д. И. Менделеева. С ее помощью оказалось возможным как предсказание свойств существующих элементов, так и открытие новых элементов. Процесс построения модели называется моделированием. Модели могут быть материальными и информационными. Материальные модели воспроизводят физические, геометрические и другие свойства объекта. Примеры: глобус, скелет, макеты зданий и мостов, модели самолетов, кораблей, автомобилей. Предметом изучения информатики являются информационные модели. Информационные модели представляют объекты в образной или знаковой форме. Объектом информационного моделирования могут быть физические (падение тел), химические (реакции горения), биологические (фотосинтез в листьях растений) процессы, метеорологические явления (гроза, торнадо), экономические (падение курса валюты), социальные (миграция, рост населения) процессы и т. д. Знаковая информационная модель может быть представлена в виде текста (программа на языке программирования), формулы (второй закон Ньютона F = ma), таблицы (периодический закон Д. И. Менделеева), карты, схемы, чертежа (используется язык графических элементов). Естественные языки используются 17 для создания описательных информационных моделей (гелиоцентрическая модель мира Коперника). С помощью формальных языков строятся формальные информационные модели (математические, логические). Модели, построенные с использованием математических понятий и формул, называются математическими моделями. В физике рассматривается много различных функциональных зависимостей, выраженных на языке алгебры, которые представляют собой математические модели изучаемых явлений или процессов. Предметом изучения информатики являются общие принципы построения информационных моделей. Компьютер позволяет ученым работать с такими информационными моделями, которые требуют больших объемов вычислений, невозможных в «докомпьютерную» эпоху. Лишь с помощью компьютера появилась возможность рассчитать прогноз погоды раньше, чем наступит завтрашний день. Один и тот же объект может иметь множество различных моделей, и одна и та же модель может описывать разные объекты. Назначение и виды информационных моделей Назначение информационных моделей чаще всего состоит в получении данных, которые могут быть использованы для подготовки и принятия решений экономического, социального, организационного или технического характера, для достижения наилучших показателей деятельности объекта моделирования. Объект моделирования можно рассматривать как систему. Система — это сложный объект, состоящий из взаимосвязанных частей (элементов) и существующий как единое целое. Всякая система имеет определенное назначение (функцию, цель). Структура — это совокупность связей между элементами системы, т. е. внутренняя организация системы. Для отражения состояния систем используются статические и динамические модели. Модели, описывающие состояние системы в определенный момент времени, называются статическими информационными моделями (строение молекул, строение Солнечной системы, «Система природы» К. Линнея). Модели, описывающие процессы изменения и развития систем, называются динамическими информационными моделями (процесс протекания химической реакции, ядерной реакции, движения тел, развитие организмов и популяций). Для отражения систем с различными структурами используются различные виды информационных моделей: • Табличные модели применяются для описания объектов, обладающих одинаковыми наборами свойств. Могут быть динамическими и статическими. Свойства объекта представлены в виде списка, а их значения размещаются в ячейках прямоугольной таблицы (закон и Периодическая таблица химических элементов Д. И. Менделеева). • В иерархических моделях объекты распределены по уровням. Каждый элемент более высокого уровня может состоять из элементов нижнего уровня, а элемент нижнего уровня может входить в состав только одного элемента более высокого уровня (генеалогическое дерево, классификация объектов). • Сетевые модели применяются для отражения таких систем, в которых связи между элементами имеют сложную структуру (сеть Интернет, телефонная сеть, процесс передачи мяча в коллективной игре, например, в футболе). Могут быть статическими и динамическими. Основные этапы компьютерного моделирования 1. Постановка задачи характеризуется описанием объекта моделирования в общем виде, определением конечного результата моделирования и имеющихся условий (возможно ограничений). 2. Определение цели моделирования. От выбранной цели зависит, какие характеристики объекта моделирования считать существенными, какие методы лучше подходят для решения данной задачи. 3. Анализ объекта моделирования для выделения существенных свойств с точки зрения цели моделирования. Нет единственно правильного способа выделения существенных свойств объекта моделирования, поскольку объекты моделирования серьезно отличаются. Это может быть материальный объект, некая сложная информационная система, промышленный процесс и пр. Иногда необходимые свойства объекта могут быть очевидны, а порой приходится перебрать множество вариантов, прежде чем будет достигну та цель моделирования. Поэтому к этапам п. 2 и п. 3 можно возвращаться многократно. Адекватность модели объекту моделирования будет зависеть еще и от того, как выделенные существенные свойства мы сможем формализовать, т. е. в какой форме мы их отобразим. 4. Формализация (определение и приведение к выбранной форме). Важный этап моделирования, влияющий на результат. От выбранной формы представления данных зависит, насколько точен будет конечный результат, в какой степени построенная модель соответствует объекту. Формами представления могут быть: словесное описание, чертеж, таблица, формула, схема, алгоритм, компьютерная програм ма и т. п. Итак, форма представления модели определена, и данные формализованы для обработки. Конечной целью этого этапа является создание информационной модели. 5. Разработка компьютерной модели для проведения эк сперимента: а) создание математической или имитационной модели для исследования с помощью компьютера; б) проверка данных и условий на непротиворечивость; в) планирование эксперимента. Существует множество программных комплексов, которые позволяют строить и исследовать самые разные по назначению модели. Разнообразное программное обеспечение позволяет преобразовать исходную информационную модель в компьютерную и провести компьютерный эксперимент. 18 В процессе разработки компьютерной модели исходная информационная модель будет претерпевать некоторые изменения по форме представления, так как должна ориентироваться на определенную программную среду и инструментарий. После внесения уточнений необходимо перепроверять данные и условия на непротиворечивость. В результате проверки может возникнуть необходимость возврата к п. 2 или п. 3. План эксперимента должен четко отражать последовательность работы с моделью. 6. Компьютерный эксперимент: а) исследованиме модели; б) анализ полученных результатов на соответствие цели моделирования; в) уточнение модели. Компьютерный эксперимент включает в себя исследование модели в соответствии с поставленной целью. Конечная цель моделирования — принятие решения, которое должно быть выработано на основе всестороннего анализа результатов моделирования. Анализ полученных результатов на соответствие цели моделирования — решающий этап для дальнейшей работы. Если результаты не соответствуют целям поставленной задачи, значит, на предыдущих этапах были допущены ошибки. Если такие ошибки выявлены, то требуется уточнение (корректировка) модели. Корректировка может быть незначительной в рамках проведения самого эксперимента или существенной, требующей возврата к предыдущим этапам. Процесс повторяется до тех пор, пока результаты не будут удовлетворять цели моделирования и их можно будет использовать для принятия решений. Пример построения информационной модели Задача Фибоначчи (из «Книги абака» итальянского математика Фибоначчи, 1228 г.) [27]: «Некто поместил пару кроликов в некоем месте, огороженном со всех сторон стеной, чтобы узнать, сколько пар кроликов родится при этом в течение года, если природа кроликов такова, что каждый месяц пара кроликов производит на свет другую пару, а рождают кролики через два месяца после своего рождения». Задача Фибоначчи сводится к последовательности чисел: 1, 1, 1, 2, 3, 5, 8, 13, 21, ... , где каждый последующий член равен сумме двух предыдущих, за исключением первых двух членов. Математическая модель размножения кроликов: fib(n) = fib(n - 1) + fib{n -2), п > 2, где fib(n) — количество пар кроликов, рожденных за п месяцев, fib(l) = 1 и fib(2) = 1. Анализ модели В таблице приведены результаты моделирования процесса размножение кроликов, из которых видно, что кролики размножаются катастрофически быстро. Согласно модели у кроликов нет врагов и запас корма у них не ограничен, что, вероятно, и ведет к бесконтрольному размножению. С другой стороны, в модели ограничено количество рождаемых пар кроликов — только одна пара, казалось бы, это должно сдерживать их рост. В модели не отражена возможность заболеваний и эпидемий. Можно ли считать такую модель адекватной реальной ситуации? Модель строится, в частности, для того, чтобы получить дополнительную информацию об объекте моделирования. При этом подразумевается, что информация, полученная при исследовании модели, может быть с той или иной степенью достоверности перенесена на объект. Адекватность модели объекту предполагает воспроизведение моделью с необходимой полнотой всех характеристик объекта, существенных для целей моделирования. То есть, создав модель, надо ответить на вопрос, возможно ли такое в действительности. В книге Я. И. Перельмана «Живая математика» приведены несколько примеров необыкновенно быстрого размножения животных, поставленных в благоприятные условия. О реальном размножении кроликов в Австралии мы знаем из учебника истории. Когда этот материк был открыт европейцами, кроликов на нем не существовало. Их завезли туда в конце XVIII века во время промышленной революции в Англии. Оказалось, что на материке отсутствовали хищники, питающиеся кроликами. Началось их бесконтрольное размножение, и вскоре полчища кроликов наводнили Австралию. Они наносили огромный вред сельскому хозяйству 19 (в том числе овцеводству). На борьбу с ними были брошены огромные средства, и только благодаря энергичным мерам удалось справиться с бедой. Аналогичный случай произошел и в Калифорнии. Вот так теоретическая задача, сформулированная математиком в XIII веке, оказалась практической. Такое же бесконтрольное размножение воробьев можно было наблюдать в Америке и мангустов — на острове Ямайка. Билет № 11 Специализированное программное обеспечение для защиты программ и данных. Компьютерные вирусы и антивирусные программы. В современном мире значительная часть деятельности человека в самых разных отраслях связана с автоматизированной обработкой данных. Это делает подавляющее большинство производственных, финансовых, обслуживающих и административных процессов зависимыми от надежного функционирования информационных систем и придает весьма высокую стоимость данным, которые в них обрабатываются. Защита этих данных как от случайного повреждения, так и от злонамеренных действий — цель целой отрасли в области разработки программных и аппаратных средств, отрасли обеспечения информационной безопасности. При обеспечении информационной безопасности ее рассматривают как процесс сохранения трех аспектов безопасности информации: целостности (логической непротиворечивости, соответствия выполняемым задачам обработки), доступности (возможности проведения всех необходимых операций с обрабатываемыми данными) и конфиденциальности (политики распространения и использования данных). Наибольшее значение меры по обеспечению информационной безопасности имеют при работе в общедоступных телекоммуникационных сетях и самом крупном их объединении — Интернете. Для обеспечения безопасности информации при персональной работе применяют несколько видов программного обеспечения. Каждый из этих видов позволяет организовать защиту от реализации некоторых угроз. Наиболее распространены: 1. Антивирусные программы — средства выявления и устранения вредоносного программного обеспечения. 2. Брандмауэры — программы, реализующие политику взаимодействия с внешними сетями и контролирующие ее исполнение. 3. Средства разграничения доступа к информации на основе некоторых специальных данных (учетных записей пользователей, паролей на доступ к информации, ключей шифрования). Компьютерные вирусы — это программы или фрагменты программного кода, которые, после запуска, могут вопреки воле пользователя выполнять различные операции на этом компьютере — создавать или удалять объекты, модифицировать файлы данных или программные файлы, осуществлять действия по собственному распространению по локальным вычислительным сетям или по сети Интернет. Такая модификация программных файлов, файлов данных или загрузочных секторов дисков, при которой последние сами становятся носителями вирусного кода и в свою очередь могут осуществлять вышеперечисленные операции, называется заражением (инфицированием). Существует большое количество вирусов, классифицируемых по различным критериям. Для борьбы с подавляющим большинством вирусов применяются различные антивирусные программы. Наиболее распространены: 1. Программы-сканеры (полифаги). Эти программы после запуска анализируют файлы на диске на предмет обнаружения программного кода вирусных программ. При их обнаружении полифаги принимают меры к удалению вредоносного кода, его блокированию или удалению всей вредоносной программы. Корректность и эффективность работы такой программы зависят от ее своевременного обновления (программы обнаруживают и удаляют в основном известные вирусы и их модификации) и настройки параметров сканирования и удаления. Не обеспечивают мониторинга в реальном времени. 2. Программы-мониторы. Проверяют файлы запускаемые, открываемые или модифицируемые во время работы системы. Способ проверки сходен с принципом работы полифагов, зачастую они используют общие базы данных о вирусах и механизмы их удаления. Позволяют принимать меры более оперативно, но не выявляют вирусы уже имеющиеся на диске (например, пропущенные устаревшей версией монитора до обновления). Дополняют полифаги. 3. Программы-фильтры. Эти программы проверяют поток данных, принимаемых системой по определенному протоколу (электронной почты, Web-страниц и пр.) Позволяют защитить компьютер от получения вредоносных программ из сети. 4. Программы-детекторы нежелательного программного обеспечения (ПО). С многими свободно распространяемыми программами или свободно доступными WEB-страницами связаны формально не вредоносные программы, которые тем не менее могут затруднять работу пользователя, использовать его компьютер для нежелательных операций или разглашать личные данные пользователей. Значительная часть таких программ выявляется антивирусами-полифагами, но иногда это не программы, а настройки уже имеющегося ПО. В таких ситуациях антивирусы бесполезны. Выявляют такие настройки и устраняют их программы-детекторы (Anti-SpyWare). Все эти программы не могут полноценно противостоять распространяющимся с помощью уязвимостей в сетевом программном обеспечении вирусам-червям. Для защиты от таких программ необходимо своевременно обновлять уже установленное ПО (обновлениями, выпущенными производителями), а также применять программы контроля работы с сетями — брандмауэры. Таким образом, защита — комплексная задача, требующая грамотного применения набора взаимодействующих программ, а также своевременного их обновления. Билет № 12 20 Архитектура современных компьютеров. Основные устройства компьютера, их функции и взаимосвязь. Компьютер — это универсальное (многофункциональное) программно управляемое устройство для хранения, обработки и передачи информации. Архитектура ПК — это общее описание структуры и функций компьютера на уровне, достаточном для понимания принципов его работы. Несмотря на огромное разнообразие, подавляющее большинство современных компьютеров построено с использованием общих принципов: 1. Собраны по принципу открытой архитектуры. Спецификации на создание тех или иных устройств разрабатываются отраслевыми объединениями и известны всем заинтересованным производителям. Это позволяет собирать компьютеры, подбирая комплектующие в зависимости от заявленных критериев. Архитектуры также предусматривают обмен данными с любыми устройствами — это позволяет разрабатывать устройства любого назначения, не предусматривавшиеся при проектировании. 2. Соблюдается магистра л ьно-модульный принцип построения. В соответствии с этим принципом, компьютер представляет собой набор блоков, взаимодействующих на основе общего канала обмена информацией. Каждый блок выполняет специализированные операции. Обмениваются блоки данными по общему каналу (шине). Микросхемы поддержки шины и средства взаимодействия блоков собраны на основной плате компьютера — материнской. Такая архитектура позволяет организовать обработку любых данных, которые могут быть представлены в цифровой форме. В 1945 году в своем докладе математик Джон фон Нейман описал, как должен быть устроен компьютер для того, чтобы быть универсальным устройством для работы с информацией. Эти принципы носят его имя; говорят о принципах фон Неймана или об архитектуре фон Неймана: • принцип программного управления, согласно которому программа состоит из набора команд, которые выполняются процессором друг за другом в определенной последовательности ; • принцип однородности памяти, согласно которому программы и данные хранятся в одной и той же памяти (оперативном запоминающем устройстве — ОЗУ); • принцип адресности, согласно которому основная память состоит из пронумерованных ячеек и процессору в любой момент времени доступна любая ячейка. Конструктивно современные компьютеры реализуются в виде взаимодействующих специализированных устройств, созданных из микросхем (основные модули - СБИС), напаянных на печатных платах. Процессор — центральное устройство компьютера, выполняющее все арифметические и логические операции и управляющее другими устройствами компьютера. Внутренняя память компьютера делится на две части. ОЗУ — оперативное запоминающее устройство — быстрая, полупроводниковая, энергозависимая память, хранит данные, с которыми непосредственно работает процессор. Используется для чтения и для записи информации в адресные ячейки памяти. ПЗУ — постоянное запоминающее устройство — энергонезависимая память. В ПЗУ хранится информация, присутствие которой постоянно необходимо в компьютере (программы проверки оборудования и первоначальной загрузки ПК). ПЗУ — это память только для чтения, микросхема программируется один раз в заводских условиях. Объем оперативной памяти, тактовая частота и разрядность процессора — это основные характеристики компьютера. Данные и программы для обработки сохраняются в оперативной памяти, для сохранения их при отключении электропитания используются различные устройства внешней памяти (накопители на жестких («винчестер»), гибких магнитных дисках и оптических дисках (CD, DVD-диски)). Периферийные устройства служат для увеличения функциональных возможностей компьютера, удобства ввода и вывода информации. Основные виды устройств и их взаимодействие показаны на следующей схеме: Для ввода данных в компьютер и демонстрации результатов обработки применяются различные устройства ввода/вывода (от клавиатуры до принтера). 21 К компьютеру могут быть подключены как внешние устройства (т. е. вне корпуса компьютера), так и внутренние. Внешние устройства подключаются с помощью специальных преобразователей сигналов (адаптеров) или более сложных устройств управления (контроллеров). Для подавляющего большинства современных устройств разного назначения предусмотрены стандартные средства подключения — адаптеры и контроллеры, которые уже смонтированы на материнской плате компьютера. Для обеспечения возможности установки и подключения устройств предусмотрены либо разъемы подключения внешних и внутренних устройств (USB, Fire Wire, различные шины подключения устройств внешней памяти) либо возможность установки дополнительной платы-контроллера или адаптера в резервные разъемы системной шины. Билет № 13 Компьютерные сети. Аппаратные средства компьютерных сетей. Топология локальных сетей. Характеристики каналов (линий) связи. Одной из наиболее полезных возможностей, предоставляемых современными компьютерами, является возможность использования его для автоматизированного обмена информацией с другими компьютерами по линиям связи. Реализуется эта возможность с помощью компьютерных сетей — объединений компьютеров. Под компьютерной телекоммуникационной (вычислительной) сетью понимается программно-аппаратный комплекс, обеспечивающий автоматизированный обмен данными между компьютерами по линиям связи. Для организации такого обмена, в первую очередь, требуется ряд аппаратных средств, позволяющих организовать специальные или использовать уже существующие линии связи для приема и передачи цифровой информации. При использовании аналоговой линии связи (например, телефонной) для обмена данными требуется устройство модулятор-демодулятор (модем), выполняющий преобразование цифровых сигналов в аналоговые. Пример такого устройства — модем для коммутируемой телефонной линии. При использовании цифровой линии связи (например, специализированной компьютерной сети) применяется устройство-адаптер, выполняющее преобразование кодов в стандарт, используемый сетью. Примером такого устройства может служить адаптер для подключения к сети Ethernet. Комплекс из линии связи и устройств, передающих и принимающих информацию, называется каналом связи. К основным характеристикам любого канала связи относят: • Пропускную способность. Это количество информации, которое можно передать через этот канал за единицу времени. Единицей измерения, таким образом, оказывается количество битов в секунду. В некоторых случаях указывают два числа — пропускную способность при приеме и при передаче данных. • Надежность канала. Под надежностью канала понимают вероятность возникновения ошибки при передаче данных. Чем меньше вероятность, тем надежнее канал. Надежность канала — интегральная характеристика, которая зависит от типа линии, используемой технологии и конкретного канала. Если возникает необходимость, ее рассчитывают как отношение времени, когда канал не мог передавать данные, ко времени, когда он эти данные передавал. • Максимальную дальность. В зависимости от используемой технологии передачи данных, канал связи может иметь некоторую максимальную длину. Например, в сети, построенной по стандартам FastEthernet, максимальная длина медного кабеля между узлом и устройством сети — 100 метров. Основными характеристиками технологий обмена данными, применяемыми при создании сетей, являются характеристики максимальной пропускной способности, количества объединяемых в сеть компьютеров и максимального расстояния, на котором возможен обмен данными. По этим характеристикам среди технологий выделяют: 1. Локальные сети. Это сети, с потенциально ограниченным числом компьютеров и/или небольшой длиной линий связи. Такие сети обладают высокой скоростью при сравнительно небольшой цене, но могут увеличиваться только до определенных пределов. Например, в сети FastEthernet не должно быть более 1024 узлов. Если возникает необходимость, то такие сети делят на отдельные сегменты и объединяют с помощью специального оборудования. 2. Территориальные сети. Это сети с потенциально неограниченным числом компьютеров, но сравнительно небольшой длиной линий связи (т. е. расположенные на сравнительно небольшой территории — одного города, например). 3. Глобальные сети. Это сети, объединяющие большие территории. Такие сети, как правило, создаются крупными организациями для предоставления услуг связи. В них используют высокоскоростные, специализированные линии дальней связи. Основное назначение глобальных сетей — организация взаимодействия между более мелкими территориальными сетями. При создании локальных сетей важное значение имеет общий принцип соединения компьютеров и устройств сети линиями связи. Такой принцип соединения называется топологией сети. Рассматривают три основные топологии (фактически, способа соединения): • Общая шина. Для связи всех компьютеров в сети создается общий канал обмена данными, к которому подключаются все машины (самый простой пример — все компьютеры подключаются к общему кабелю). Способ логически самый простой, но небезопасный, ограничивающий количество компьютеров в сети и иногда приводящий к техническим проблемам. 22 • Звезда. Компьютеры соединяются со специальным устройством — концентратором (или коммутатором) отдельными линиями связи. При этом возрастает надежность, такая сеть менее чувствительна к отказам, но она требует центрального устройства, прокладки большего количества линий и зависит от работы центрального устройства. Это самый популярный сейчас способ построения сетей. • Кольцо. В этой топологии компьютеры соединяются по кругу. Физически это реализуется с помощью устройств-коммутаторов, логически — специальным программным обеспечением. Такая топология требует сложных программ, но позволяет контролировать состояние сети (устраняя ошибки или используя резервное «кольцо» связи) и не теряет производительности под большой нагрузкой. Сети соединяются между собой с помощью специализированных компьютеров на основе общих межсетевых протоколов обмена. Межсетевые протоколы обмена — наборы правил, позволяющие передавать информацию независимо от технологии, использованной для организации сети. Такие протоколы позволяют организовать транзитную передачу данных, объединяя так сети. Образованное таким образом самое крупное объединение сетей называется межсетевой средой — Интернетом. Билет № 14 Информационные ресурсы государства. Образовательные информационные ресурсы. Информационная этика и право, информационная безопасность. Защита информации. Ресурсом принято считать некоторый запас или источник каких-либо средств, использование которых может принести некоторую выгоду или необходимо для решения тех или иных задач. Ресурс может принадлежать государству, компании или частному лицу. В настоящее время наряду с материальными ресурсами для государства большое значение приобретают информационные ресурсы. Информационными ресурсами считают накапливаемое содержимое специальных хранилищ и источники общественно-значимой информации. Как и для материальных ресурсов, для информационных ресурсов остро стоит проблема обеспечения их сохранности. Для решения проблемы охраны информационных ресурсов существует юридическое определение понятия «информационный ресурс»: «Информационные ресурсы — отдельные документы и отдельные массивы документов, документы и массивы документов в информационных системах (библиотеках, архивах, фондах, банках данных, других информационных системах)». В период движения к информационному обществу значимость информационных ресурсов возрастает. Информационные ресурсы государства становятся товаром, совокупная стоимость которого на мировом рынке сопоставима со стоимостью традиционных ресурсов. Информационные ресурсы государства можно считать стратегическими ресурсами,» поскольку по значимости их можно приравнять к ресурсам материальным, сырьевым, энергетическим, финансовым или трудовым. Отличительная особенность информационных ресурсов в том, что после использования они не исчезают, ими можно воспользоваться многократно. Эта особенность способствует формированию и расширению рынка информационных услуг. К ним относятся поиск и подбор информации по заданным критериям, консалтинг, обучение, телекоммуникации и пр. Информационные услуги невозможно представить без развитых средств телекоммуникаций. Кроме того, решающее значение для формирования рынка информационных услуг имело и имеет создание баз данных по различным отраслям профессиональной и научной деятельности. Огромные информационные потоки нуждаются в систематизации для их хранения и использования. Поэтому информационные ресурсы классифицируют по какомулибо основанию. Это может быть отраслевой принцип (по виду науки, промышленности, социальной сферы и пр.) или по форме представления (виды носителей, степень формализации, наличие Дополнительных возможностей) и пр. К образовательным информационным ресурсам можно отнести любые информационные ресурсы, используемые в образовательных целях. Поскольку образование в современном обществе становится непрерывным, то для разных категорий обучаемых требуются различные виды образовательных ресурсов. К наиболее востребованным образовательным ресурсам можно отнести библиотечные образовательные ресурсы, архивные ресурсы и информацию по различным научным отраслям. На современном этапе развития информационных технологий необходимо обратить внимание на вопросы защиты информации. Защита информации, с одной стороны, представляет собой самостоятельный информационный процесс, но более важным сейчас становится организация защиты информации как важнейшего компонента процессов хранения, обработки, передачи информации в системах любого типа, особенно в социальных и технических. На рынке информационных услуг возникают новые отношения между его участниками, нуждающиеся в правовом регулировании со стороны государства. Правовое регулирование этой сферы всегда будет отставать от 23 реальных потребностей общества. Поэтому на первое место выходят этические аспекты, определяющие нормы поведения в сфере использования информационных ресурсов, только затем правовые. Правовое регулирование в информационной сфере на сегодняшний день определяется следующими законами Российской Федерации: 1. Закон «О правовой охране программ для ЭВМ и баз данных» (разграничивает вопросы авторских и имущественных прав на программные продукты и базы данных). Именно эти вопросы являются наиболее актуальными в настоящее время. 2. Закон «Об информации, информатизации и защите информации» (защита информационных ресурсов от порчи, искажения и уничтожения). Закон создает условия для включения России в международный информационный обмен, закладывает основы предотвращения бесхозяйственного отношения к информационным ресурсам и информатизации, частично обеспечивает информационную безопасность и права юридических и физических лиц на информацию. Особое внимание стоит уделить статье 11 закона, где говорится об «информации о гражданах (персональные данные)». Статьей предусмотрены гарантии недопущения сбора, хранения, использования и распространения информации о частной жизни граждан (это может делаться только на основании решения суда), недопустимости использования собранной любым путем информации для дискриминации граждан по любому признаку. Уголовный кодекс РФ, раздел «Преступления в сфере компьютерной информации», предусматривает наказания за неправомерный доступ к компьютерной информации, создание, использование и распространение вредоносных программ для ЭВМ, умышленное нарушение правил эксплуатации ЭВМ и их сетей [27]. билет № 15 Классификация программного обеспечения компьютера. Взаимосвязь аппаратного и программного обеспечения компьютера. Современные компьютеры можно считать универсальными, поскольку они применяются для автоматизации обработки и обмена самой разной информацией практически во всех отраслях современной жизни. Эта универсальность достигается, в первую очередь, применением огромного количества самого разного программного обеспечения, реализующего собственно операции по обработке информации. Условно, программное обеспечение можно разделить на два крупных блока: 1. Системное программное обеспечение. Сюда относятся программы, обеспечивающие выполнение общих для всех программ технических задач, взаимодействие с аппаратурой. а) Ядро операционной системы. Функции этих программ, данных и библиотек функций — управление выполнением программ, оперативной памятью, обеспечение взаимодействия программ. б) Системные библиотеки функций. Сюда входят библиотеки и программы, обеспечивающие работу с устройствами внешней памяти (файловые системы), устройств ввода/вывода (обеспечение интерфейса с пользователем) и др. В большинстве современных ОС в ядро или важные системные библиотеки также входят библиотеки для работы с сетями. в) Драйверы. Программное обеспечение, разрабатываемое поставщиками аппаратных средств и в операционной системе управляющее нестандартными (не предусмотренными при разработке ОС) устройствами. Драйвер обеспечивает выполнение стандартных для класса устройств функций, что позволяет разрабатывать новые, более совершенные устройства и применять их без принципиальных модификаций ОС. г) Утилиты. Небольшие программы, реализующие частные технические задачи по обслуживанию компьютера: архивирование, контроль состояния устройств внешней памяти, поиск нужных файлов и пр. 2. Прикладное программное обеспечение. Сюда относятся программные комплексы, обеспечивающие выполнение различных прикладных задач, т. е. выполнение фактических задач пользователей. Множество таких программ и комплексов огромно и исчерпывающей классификации не поддается. Среди таких комплексов можно выделить несколько часто используемых видов: а) Офисные пакеты. Комплексы программ, решающих основные задачи делопроизводства: подготовку документов, выполнение подсчетов, презентации, ведение переписки и организацию работы и др. б) Системы управления базами данных (СУБД), справочные системы и оболочки автоматизированных информационных систем. Эти программы позволяют организовать ввод, хранение и работу с больши ми объемами специализированных данных. СУБД часто являются общими компонентами, обеспечива ющими работу большого количества специализированных комплексов. в) Программы обработки графической информации.Крупный класс программ, целью применения кото рых является формирование какого-либо изображения. Среди них можно упомянуть программы обра ботки фотоизображений, издательские комплексы, системы подготовки реалистичных трехмерных изображений и многие другие. г) Среды разработки. Программные комплексы, включающие специализированные текстовые редакторы, трансляторы, средства отладки и контроля за исполнением программ, средства разработки дополнительных элементов программ, библиотеки компонентов и многие другие средства, используемые профессиональными разработчиками системного и прикладного программного обеспечения. Эффективная реализация тех или иных задач требует не только специализированного программного обеспечения, но и предъявляет определенные требования к применяемой аппаратуре. При этом исходят из того, что необходимые задачи должны быть решены без привлечения чрезмерно дорогостоящей аппаратуры, возможности которой все равно не будут востребованы. Чаще всего рассматривают следующие варианты: 24 Компьютеры для решения задач делопроизводства. Основным требованием к таким компьютерам является высокая надёжность. Здесь не требуется высокая производительность, большие объемы оперативной памяти, качественный вывод и ввод звука, но необходимо достаточно качественное (хотя и не так быстро обновляемое) изображение на мониторе, высокая надежность хранения данных, хорошая сетевая поддержка. Такие машины, как правило, комплектуются принтерами, обеспечивающими высокое качество монохромного отпечатка при его минимальной стоимости — лазерными и светодиодными. Домашние компьютеры. Основные (то есть в данном случае требующие специального учета) задачи таких компьютеров связаны с подключением довольно большого количества разнообразной периферии, необходимостью запуска графических программ (игровых), т. е. применение графических акселераторов, качественное воспроизведение звука. Мониторы таких компьютеров должны работать быстро, соответствовать санитарным нормам, но не обязательно точно отражать оттенки. Домашние ПК не обязательно должны иметь высоконадежные крупные системы хранения данных. Компьютеры для обработки графической информации. Такие машины, в зависимости от характера графики, должны иметь большие профессиональные мониторы, профессиональные графические ускорители, мощные и точные системы печати. Практически всем таким компьютерам требуются мощные процессоры и большие объемы оперативной памяти. Сходные требования, с поправкой на специфику, предъявляются и к компьютерам для обработки звука. Для таких задач существует большое количество специализированных периферийных устройств — различные принтеры, графические планшеты для художников и инженеров, системы цветовой калибровки и пр. Билет № 16 Операционная система: понятие, основные функции. Примеры операционных систем, многообразие операционных систем. С формальной точки зрения, чем меньше «посторонних» по отношению к конкретной программе действий выполняет компьютер, чем меньше дополнительных условий для ее работы требуется — тем лучше. Но на практике значительная часть действий, которые необходимо выполнить программе (особенно действий по взаимодействию с аппаратурой), — типовые, являются общими для многих программ. Кроме того, если каждая программа полностью независима от остальных и полностью управляет всеми ресурсами, то координировать работу затруднительно, работоспособность компьютера зависит от каждой программы, а наблюдать за ситуацией может только человек. До тех пор, пока компьютеры не имели никаких лишних ресурсов, существование каких-то вспомогательных программ было невозможно. С разработкой машин второго поколения возникла задача сокращения простоя машины между запуском расчетных задач, поскольку появились средства ускоренного ввода программ и данных (перфокарты и перфоленты с автоматическими считывателями). В этот период были созданы первые координирующие исполнение программы — менявшие задачи по мере их завершения. Позднее из этих программ выросли современные операционные системы: комплексы программ и данных, выполняющие задачи управления взаимодействием программ, аппаратуры и пользователей между собой. Во-первых, задачей операционных систем (ОС) является управление ресурсами: процессорным временем, оперативной памятью, доступом к устройствам внешней памяти. Во-вторых, обеспечение взаимодействия программ (между собой и аппаратурой). В-третьих, в современных операционных системах появилась задача обеспечения взаимодействия с пользователем (человеко-машинный интерфейс) и с другими компьютерами — в сетях. Основной компонент операционной системы — ядро. Ядро — это комплекс программ, постоянно присутствующий в оперативной памяти и выполняющий задачи управления процессами и памятью. Помимо этого, операционная система содержит библиотеки функций, выполняющих конкретные задачи. К этим библиотекам обращаются прикладные программы для выполнения типовых задач. Например, как часть такой библиотеки реализуются программы управления данными на внешних носителях — поддержки файловых систем. Как правило, операционная система поставляется с набором прикладных программ, которые обеспечивают выполнение некоторых типовых задач. Такие вспомогательные программы называются утилитами. Существует большое количество операционных систем и вариантов их исполнения. Классифицируют их по разным основаниям, наиболее популярно деление: 1)По способу управления выполняемыми процессами: • однозадачные. В один момент времени выполняется одна задача, только по окончанию исполнения управление передается следующей (или процессору команд ОС); • многозадачные. В оперативной памяти присутствует несколько программ, которые с точки зрения пользователя выполняются одновременно. На практике ОС переключается от одной программы к другой. 2)По разделению среды пользователей: • однопользовательские. Это ОС, не предусматривающие разделение ресурсов между пользователями (т. е. не различающими пользователей); • многопользовательские. Это ОС, имеющие в своем составе средства разграничения ресурсов между , пользователями. В настоящий момент активно используются две линии операционных систем: 1) операционные системы линии UNIX; 2) операционные системы линии Windows. 25 Все эти ОС являются многозадачными, многопользовательскими, обеспечивают взаимодействие с широким спектром аппаратуры, предусматривают расширение возможностей за счет разработки самых разных программ. В составе этих ОС в том или ином виде поставляются средства организации графического интерфейса пользователя. Все они имеют свои достоинства и недостатки, выбор конкретной ОС обуславливается задачами и предпочтениями пользователя. Билет № 17 Понятие файла. Файловый принцип хранения данных. Операции с файлами. Типы файлов. Информация, представляемая для обработки на компьютере, называется данными. Для хранения на устройствах внешней памяти данные организуют в виде файлов. Файл — именованная область внешней памяти. Способ организации как служебной, так и пользовательской информации о файлах на носителях называют файловой системой. Конкретная файловая система определяет, в частности, правила именования файлов. Необходимые для выполнения операций с файлами и носителями программные средства входят в состав операционных систем. Такие программные средства не изменяют и не обращаются к содержимому файлов, а оперируют с ними просто как с целым, непрерывным массивом данных. Таким образом, файловая система обеспечивает выполнение операций для любых программ. Имя файлу присваивает пользователь, или программа, создающая файл, предлагает имя в автоматическом режиме. По историческим причинам для пользователя имя файла в операционных системах фирмы Майкрософт состоит из двух частей, разделенных точкой: собственно имени и расширения. Тип файла определяется по его расширению, которое задает программа, сохраняющая файл. С точки зрения прикладных программ, файл представляет собой некоторую последовательность байтов. Используя такой подход, как доступ к файлам, организуется также доступ к некоторым устройствам, которые принимают или возвращают поток байтов. К таким устройствам относятся принтеры, модемы, клавиатура или поток текстового вывода на экран и др. В некоторых операционных системах предусмотрен такой доступ и к служебной информации самих носителей. Для работы с такими файлами предусмотрены специальные, зарезервированные системой, имена файлов. Следует помнить, что для ОС линии Microsoft: • между именем и расширением ставится точка, не входящая ни в имя, ни в расширение; • имя файла можно набирать в любом регистре, т.к. для системы все буквы строчные; • символы, не использующиеся в имени файла * = + [ ] \ ; : , .<>/?; • имена устройств не могут использоваться в качестве имён файлов (prn, lpt, com, con, nul ). Наиболее часто встречающиеся расширения: • EXE, COM — готовая к выполнению программа; • ВАТ — пакетный командный файл; • SYS — программа-драйвер устройства (системная); • ВАК — резервная копия файла; • OBJ — объектный модуль («полуфабрикат» программы); • DAT — файл данных со служебной информацией; • В AS — исходный текст программы на Бейсике; • ТХТ — текстовый файл; • DOC — документ, созданный в Microsoft Word. Для удобства хранения и работы файловые структуры организуются с помощью вложенных каталогов (папок). Каталог — специальный системный файл, в котором хранится служебная информация о файлах. На каждом носителе может быть множество каталогов. В каждом каталоге может быть зарегистрировано много файлов, но каждый файл регистрируется только в одном каталоге. На каждом логическом томе присутствует один главный, или корневой, каталог. В нем регистрируются файлы и подкаталоги (каталоги 1 уровня). В каталогах 1 уровня регистрируются файлы и каталоги 2 уровня и т. д. Получается древовидная структура каталогов, например: Каталог, с которым работает пользователь в настоящий момент, называется текущим. Когда используется файл не из текущего каталога, программе, осуществляющей доступ к файлу, необходимо указать, где именно этот файл находится. Это делается с помощью указания пути к файлу. Путь к файлу — это последовательность имен каталогов, в операционных системах Windows разделенных символом «\» (в ОС линии UNIX используется символ «/»). Этот путь задает маршрут к тому каталогу, в котором находится нужный файл. Рассмотрим, например, запись \KLASS10\DOCS\START2\text.doc Она означает, что файл text. doc находится в подкаталоге START2, который находится в каталоге DOCS, а он в свою очередь находится в каталоге KLASS10 корневого каталога. Если перед первым символом «обратный слэш» появится точка, то отсчет будет вестись от текущего каталога. 26 Каталог «две точки» — это каталог, в который входит текущий. Над файлами можно производить следующие основные операции: копирование, перемещение, удаление, переименование и пр. Каждый файл на диске имеет свой адрес. Чтобы понять принцип доступа к информации, хранящейся в файле, необходимо знать способ записи данных на носители информации. Перед использованием диск размечается на дорожки и секторы (форматируется). С точки зрения оборудования разметка — это процесс записи на носитель служебной информации, отмечающей конец и начало каждого сектора. Обычный объем сектора — 512 байт. На одной стороне размещается 80 дорожек. Каждая дорожка содержит 18 секторов. Названия «сектор», «дорожка» введены для дисковых носителей. Во многих современных носителях информации, использующих хранение данных в энергонезависимой памяти, эти понятия поддерживаются реализацией файловых систем для обеспечения общих принципов работы. В одной из распространенных файловых систем, FAT, предусматривается, что все файлы перечислены в каталогах. Обязателен корневой каталог, размещенный в определенном месте диска. О каждом из перечисленных в каталоге файлов помимо обычных данных известно местоположение (в виде номера) начала файла. Для того, чтобы определить, какие именно секторы занимает файл, применяется второй обязательный элемент файловой системы — таблица FAT (размещения файлов). Таблица представляет собой массив ячеек. Размер ячейки фиксирован и отражается в номере файловой системы (12, 16, 32 бита). Каждый файл занимает некоторую последовательность секторов, не обязательно последовательно расположенных. При сохранении файла в ячейку записывается номер следующего сектора в цепочке. Поскольку на современных дисках секторов существенно больше, чем можно записать номеров в таблице, то секторы объединяют в кластеры. Именно кластерами и распределяется пространство на дисках, в результате эта файловая система неэффективно работает с мелкими файлами. Сделать эту проблему менее острой позволяет увеличение размера ячейки в FAT. Это позволяет уменьшить размер кластера и увеличить количество адресов (файлов) на диске. В операционных системах, начиная с Windows 98, реализована FAT-32. Помимо этой файловой системы, существует большое количество других, разработанных для разных операционных систем и решаемых задач. Билет № 18 Виды профессиональной информационной деятельности человека и используемые инструменты (технические средства и информационные ресурсы). Профессии, связанные с построением математических и компьютерных моделей, программированием, обеспечением информационной деятельности людей и организаций. Информационная деятельность человека и технические средства Деятельность человека, связанную с процессами получения, преобразования, накопления и передачи информации, называют информационной деятельностью. Все люди в своей жизни занимаются информационной деятельностью (получают письма, читают книги, хранят фото- и видеоархивы, разговаривают по телефону, решают задачи, разгадывают кроссворды и т. п.); для многих она является профессиональной. Тысячелетиями предметами труда людей были материальные объекты. Все орудия труда от каменного топора до первой паровой машины, электромотора или токарного станка были связаны с обработкой вещества, использованием и преобразованием энергии. Вместе с тем человечеству всегда приходилось решать задачи управления, накопления, обработки и передачи информации, опыта, знания. Возникали группы людей, чья профессия связана исключительно с информационной деятельностью. В древности это были, например, жрецы, летописцы, затем — ученые и т. д. Изобретение письменности называют первой информационной революцией. Однако число людей, которые могли воспользоваться информацией из письменных источников, было ничтожно мало. Во-первых, грамотность была привилегией крайне ограниченного круга лиц, во-вторых, древние рукописи создавались в единичных (иногда единственных) экземплярах. Новой эрой или второй информационной революцией в развитии обмена информацией стало изобретение книгопечатания. Благодаря печатному станку (первому техническому средству копирования информации), созданному И. Гуттенбер-гом в 1440 году, знания, информация стали широко тиражируемыми, доступными многим людям. Это послужило мощным стимулом для увеличения грамотности населения, развития образования, науки, производства. И. Федоров в 1564 году издал в Москве первую печатную книгу «Апостол». Не всем известно, что в Китае еще в XI веке было изобретено книгопечатание. Изобретатель Пи Шен сделал из глины литеры иероглифов (металлические появились позже), уложил их в металлическую форму, смазал специальным составом и сделал первый бумажный оттиск (бумагу ведь тоже изобрели в Китае). Но его изобретение не получило распространения из-за большого количества иероглифов (около 50 000) [33]. По мере развития общества постоянно расширялся круг людей, чья профессиональная деятельность была связана с обработкой и накоплением информации. Постоянно рос и объем человеческих знаний, опыта, а вместе с ним количество книг, рукописей и других письменных документов. Появилась необходимость создания специальных хранилищ этих документов — библиотек, архивов. Информацию, содержащуюся в книгах и других документах, необходимо было не просто хранить, а упорядочивать, систематизировать. Так возникли библиотечные классификаторы, предметные и алфавитные каталоги и другие средства систематизации книг и документов, появились профессии библиотекаря, архивариуса. 27 В результате научно-технического прогресса человечество создавало все новые средства и способы сбора (запись звуковой информации с помощью микрофона, фотоаппарат, кинокамера), хранения (бумага, фотопленка, грампластинки, магнитная пленка), передачи информации (телефон, телеграф, радио, телевидение, спутники). Но важнейшее в информационных процессах — обработка, целенаправленное преобразование информации — осуществлялось до недавнего времени исключительно человеком. Вместе с тем постоянное совершенствование техники, производства привело к резкому возрастанию объема информации, которой приходится оперировать человеку в процессе его профессиональной деятельности. Развитие науки, образования обусловило быстрый рост объема информации, знаний человека. Если в начале прошлого века общая сумма человеческих знаний удваивалась приблизительно каждые пятьдесят лет, то в последующие годы — каждые пять лет. Во второй половине XX века выпуск научно-технической печатной продукции стал подобен нарастающей лавине. Ни отдельный человек, ни специальные организации, созданные для обработки поступающей информации, не могли не только освоить весь информационный поток, но и оперативно находить в нем то, что требовалось для тех или иных работ. Сложилась парадоксальная ситуация, когда для получения нужной информации легче и дешевле было провести исследования заново, чем разыскать ее в научной литературе. Информационная система, основанная на бумажных носителях, переросла свои возможности. Назрел информационный кризис, т. е. ситуация, когда информационный поток так увеличился, что стал недоступен обработке в приемлемое время. Выходом из создавшейся ситуации явилось создание телекоммуникационной инфраструктуры (баз данных и сетей разных типов). В настоящее время компьютеры используются для обработки не только чисел, но и других видов информации. Благодаря этому компьютеры прочно вошли в жизнь современного человека, широко применяются в производстве, проек-тно-конструкторских работах, бизнесе и многих других отраслях. Но к современным техническим средствам работы с информацией относятся не только компьютеры, но и другие устройства, обеспечивающие ее передачу, обработку и хранение: • сетевое оборудование: модемы, кабели, сетевые адаптеры; • аналого-цифровые и цифро-аналоговые преобразователи; • цифровые фото- и видеокамеры, цифровые диктофоны; • записывающие устройства (CD-R, CD-RW, DVD-RW и др.); • полиграфическое оборудование; • цифровые музыкальные студии; • медицинское оборудование для УЗИ и томографии; • сканеры в архивах, библиотеках, магазинах, на экзаменах и избирательных участках; • ТВ-тюнеры для подачи телевизионного сигнала в компьютер; • плоттеры и различные принтеры; • мультимедийные проекторы; • флэш-память, используемая также в плеерах и фотоаппаратах; • мобильные телефоны. Кроме персональных компьютеров существуют мощные вычислительные системы для решения сложных научно-технических и оборонных задач, обработки огромных баз данных, работы телекоммуникационных сетей (Интернет): • многопроцессорные системы параллельной обработки данных (управление сложными технологическими процессами); • серверы в глобальной компьютерной сети, управляющие работой и хранящие огромный объем информации; • специальные компьютеры для проектно-конструктор-ских работ (проектирование самолетов и космических кораблей, мостов и зданий и пр.). Все перечисленные технические средства и системы предназначены для работы с информационными ресурсами (ИР) в различных отраслях экономики. Можно выделить несколько основных направлений, где информационная деятельность связана с компьютерами. 1. Научные исследования. Расчеты и вычисления — обязательный элемент тех научных исследований, где требуется на основании эксперимента построить гипотезу о закономерностях, проявляемых в нем. Создаются специальные автоматизированные системы для научных исследований. Вычислительные операции на компьютере выполняют не только математики, механики, физики, астрономы, но и специалисты в области экономики. Литературоведы используют специальные программы для анализа текстов произведений, создания различных словарей. 2. Создание новых изделий. Некоторые этапы создания новых изделий могут быть автоматизированы, а следовательно, не удивительно, что компьютеру и здесь нашлось место. Системы автоматизированного проектирования (САПР) используются во всех проектных и конструкторских организациях. Ведь и интегральную схему оказалось возможным сконструировать благодаря самому компьютеру и его программному обеспечению. Проектировщик вводит в САПР техническое задание, а использование баз данных, расчетных блоков, экспертных систем, имитатора позволяет получить техническую документацию, по которой будут изготовлены опытные образцы. 3. Управление. Теория автоматического управления к моменту создания компьютеров была хорошо развитой точной инженерной наукой, поэтому оказалось возможным использовать компьютеры для целей управления. Системы автоматического управления (АСУ) могут управлять процессами, для которых разработаны математические модели и методы их решения. Станки с числовым программным управлением (ЧПУ) имеют специализированный компьютер с 28 пультом оператора, дисплеем и клавиатурой, а также управляющую программу. В ней указывается все необходимое, чтобы из заготовки получилась деталь, размеры и форма которой определены чертежом. По специальным программам работают автоматические стиральные машины, СВЧ-печи, швейные и вышивальные машины и т. д. 4. Информационные системы (ИС), базы данных (БД). Основу ИС составляет банк данных, в котором хранится большая по объему информация о какой-либо области человеческих знаний. Это может быть информация об инфраструктуре города (транспорт, карта, телефоны, организации и т. д.). Использование Интернета делает доступными сведения из ИС большому числу пользователей. В настоящее время школы Москвы получают доступ в Интернет и могут использовать сведения из различных ИС для выполнения проектов из различных областей (география, история, литература, биология, экология и т. п.). ИС или БД учреждений, школ, библиотек и т. д. позволяют выполнять поиск, запросы, изменения и дополнения быстро, с малым количеством ошибок и человеческих ресурсов. 5. Обучение. Широкое распространение получили компьютеры в области образования. Одна из важнейших целей создания системы образовательных порталов — в явном виде и с участием специалистов сформировать профессиональную зону и механизмы поиска качественной образовательной информации. 6. Компьютеры в издательском деле. Компьютер может быть использован автором уже на самых первых этапах создания литературных, публицистических и других произведений. Затем с этим текстом работает редактор издательства. 7. Автоматизированное рабочее место (АРМ). В настоящее время это место работника, оснащенное компьютером и другими техническими средствами (принтер, сканер, аудио-колонки или наушники, микрофон, видеокамера, электронный микроскоп и т. п.). АРМ может иметь также выход в Интернет, что позволяет быстро находить необходимую информацию в сфере своей деятельности, получать и отправлять электронные письма, делать покупки в Интернете, заказывать электронные билеты и т. д. Билет № 19 Кодирование графической информации. Растровая и векторная графика. Средства и технологии работы с графикой. Кодирование графической информации Практически все современные компьютеры являются цифровыми — они хорошо работают с числами, но не умеют обрабатывать непрерывные величины. Это относится и к изображениям — изображение может быть сформировано только из отдельных элементов. Но восприятие зрительной информации человеком таково, что изображение, составленное из большого числа отдельных мелких деталей, воспринимается как непрерывное. Это дает возможность с помощью современных компьютеров обрабатывать различные изображения. Для создания модели изображения, годной для обработки, разобьем картинку вертикальными и горизонтальными линиями на маленькие прямоугольники. Полученный двумерный массив прямоугольников называется растром, а сами прямоугольники — элементами растра, или пикселями (это слово произошло от английского picture's element — элемент картинки). Теперь осталось закодировать числами цвет каждого пикселя — и задача кодирования изображения будет решена: закодированные цвета пикселей, перечисленные по порядку (например, слева направо и сверху вниз), и будут кодировать картинку. Разумеется, часть информации о картинке при таком кодировании потеряется. Потери будут тем меньше, чем мельче прямоугольники и чем точнее закодирован цвет каждого из них. Рассмотрим способы кодирования цвета элемента изображения. Заметим, что, во-первых, в понятие «цвет элемента» включается и его яркость. Во-вторых, для единообразия говорят и о цветах черно-белого изображения. В этом случае цвет (оттенок серого цвета) просто сводится к яркости. Кодирование черно-белых изображений. Яркость описывается одним числом. Для кодирования яркости пикселей отводятся ячейки фиксированного размера, чаще всего от 1 до 8 битов; черный цвет кодируется нулем, а чисто белый — максимальным числом N, которое может быть записано в ячейку. Для одноразрядной ячейки N = 1, а для 8-разрядной N = 255. Для практических приложений 8-разрядных ячеек вполне достаточно (человеческий глаз в состоянии различить не более одной-двух сотен разных оттенков серого цвета). Кодирование цветных изображений — метод RGB. Для цветных изображений дело обстоит сложнее. Человеческий глаз различает огромное количество разных цветов и оттенков, которые не так просто закодировать одним числом. Для кодирования изображения, как правило, рассматривают цветовые модели — способы формирования цвета. Одна из самых распространенных моделей рассматривает формирование цвета из света трех основных цветов: красного, зеленого и синего. Этот способ кодирования цветов называется RGB — по первым буквам английских слов Red, Green, Blue — красный, зеленый, синий. Остальные цвета формируются как сложение трех данных цветов, взятых с разной яркостью. Например, сиреневый цвет — это сумма красного и синего, желтый цвет — сумма красного и зеленого, оранжевый — тоже сумма красного и зеленого, но в другой пропорции. Поэтому в модели RGB можно закодировать цвет пикселя тремя числами — яркостью его красной, зеленой и синей составляющих. Средства и технологии работы с графикой Рассмотрим аппаратные и программные средства обработки графической информации. К аппаратным средствам относятся: • мониторы и видеокарты, поддерживающие графический режим отображения; • видеоускорители, позволяющие увеличить скорость выполнения операций по обработке графической информации и, таким образом, разгружающие центральный процессор; 29 • ЗБ-акселераторы, способные самостоятельно обрабатывать графические объекты в трехмерном пространстве и в масштабе реального времени; • манипуляторы «мышь»; • сканеры; • графический планшет, для ввода изображения прямым рисованием на поверхности планшета; • принтеры; • графопостроители (плоттеры). К программным средствам относят: • графические редакторы; • средства создания анимации; • программные средства для работы с трехмерной графикой; • средства деловой графики. Растровая и векторная графика Существуют два основных подхода к представлению графической информации для ее обработки компьютером — растровый и векторный. В растровой графике изображение представляется как совокупность данных о координатах и цветах пикселей. В векторной графике — это данные, однозначно определяющие все графические примитивы (линии, дуги, окружности, прямоугольники и пр.), составляющие рисунок, и их параметры — толщину линии, вид заполнения и пр. Положение и форма графических примитивов задаются в системе координат, связанных с экраном. К достоинствам растровой графики относят: возможность представления изображения фотографического качества, простоту вывода на внешние устройства. Существенными недостатками растровой графики являются: большой объем памяти, требуемый для хранения изображений и ограниченные возможности масштабирования. Векторные изображения занимают относительно небольшой объем памяти и могут легко масштабироваться без потери качества. Но при этом векторная графика не позволяет получать изображения фотографического качества и при распечатке выглядят не так, как на экране монитора. Для работы с графикой существует множество прикладных программ. Общее название программ для создания растровых изображений — графические редакторы, их применяют по отношению к прикладным программам, не имеющим какой-либо специализированной ориентации и используемым для рисования или редактирования изображений. * Растровые графические редакторы целесообразно использовать для редактирования отсканированных изображений. Для создания иллюстраций обычно используются редакторы векторной графики. Билет № 20 Кодирование звуковой информации. Форматы звуковых файлов. Ввод и обработка звуковых файлов. Из курса физики известно, что звук представляет собой колебания воздуха. Амплитуда этих колебаний непрерывно меняется со временем. По своей природе звук является непрерывным сигналом. Для кодирования звука надо этот непрерывный сигнал превратить в последовательность нулей и единиц. Делают это следующим образом. С помощью микрофона звук можно превратить в колебания электрического тока. Амплитуда колебаний измеряется через равные промежутки времени (на практике — несколько десятков тысяч раз в секунду). Каждое измерение фиксируется с установленной точностью и записывается в двоичном виде. Этот процесс называется дискретизацией. Устройство для выполнения дискретизации называется аналого-цифровым преобразователем (АЦП). АЦП измеряет электрическое напряжение в каком-то диапазоне и выдает ответ в виде многоразрядных двоичных чисел. Например, типичный 8-битовый АЦП преобразует значения напряжения в диапазоне [-500 мВ, 500 мВ] в 8-разрядные двоичные числа в диапазоне [-127, +127]. Воспроизведение закодированного таким образом звука производится при помощи цифро-аналогового преобразователя (ЦАП). Двоичные числа, кодирующие звук, подаются на вход ЦАП с точно такой же частотой, как и при дискретизации, и ЦАП преобразует их в значения электрического напряжения обратно тому, как это делал АЦП. Например, двоичные числа из диапазона [-127, +127] преобразуются в значения напряжения из диапазона [-500 мВ, 500 мВ]. Полученный на выходе ЦАП ступенчатый сигнал сначала сглаживается с помощью аналогового фильтра, а затем преобразуется в звук при помощи усилителя и динамика. При работе со стереозвуком все это проводится отдельно и независимо для левого и правого каналов. На качество воспроизведения звука влияют в основном два параметра: частота дискретизации и разрешение — размер ячейки, отводимой под запись значения амплитуды. Например, при записи на компакт-диски (CD) используются 16-разрядные значения, а частота дискретизации равна 44 032 Гц. Эти параметры обеспечивают прекрасное качество звучания речи и музыки. Выбор частоты дискретизации определяется максимальной частотой звука, который еще слышит человек, 22 кГц. Чтобы удержать при дискретизации информацию о колебании в 22 кГц, на каждом периоде должно записываться, по крайней мере, два значения. То есть нужна вдвое большая частота дискретизации, а именно 44 кГц. Эта частота обеспечивает запись любых слышимых человеком звуков. В тех случаях, когда столь высокое качество не требуется, можно использовать меньшие частоты дискретизации: 11 кГц, 5,5 кГц и т. д. Чтобы первые частоты, получаемые 30 последовательным делением исходной частоты вдвое, оказались целыми, удобно взять исходную частоту в виде произведения целого числа на степень двойки. Этим и объясняется выбор частоты 172 • 28 = 44 032 Гц. Однако, во многих случаях качество CD не требуется. Для записи и передачи речи достаточна частота дискретизации 8 кГц. Несмотря на то, что составляющие человеческого голоса с частотой свыше 4 кГц не могут быть зарегистрированы при такой частоте дискретизации, закодированную речь легко понять. Программы для обработки звука можно назвать звуковыми редакторами, если не определять их конкретные возможности. Общими операциями для таких редакторов являются возможность записи, воспроизведения и редактирования звуков. Оцифрованный звук представляется в звуковых редакторах в наглядной форме, поэтому операции с файлами проводятся легко с помощью мыши. Кроме того, можно накладывать звуковые дорожки друг на друга и применять различные звуковые эффекты. Как правило, звуковые файлы подвержены сжатию. Оцифрованный звук можно сохранять без сжатия в универсальном формате в файле WAV или в формате со сжатием МРЗ. Билет № 21 Кодирование текстовой информации. Основные приемы преобразования текстов: редактирование и форматирование. Понятие о настольных издательских системах. Гипертекстовое представление информации. Кодирование текстовой информации. Двоичное кодирование текстовой информации. Различные кодировки кириллицы Первые компьютеры были созданы для обработки числовой информации. Начиная с конца 60-х годов XX века, компьютеры стали использовать для обработки текстовой информации. В настоящее время практически все пользователи персональных компьютеров работают с текстами, используя специальные программы — текстовые редакторы. Человек различает символы по их начертанию, а компьютер — по их кодам. В мире в качестве стандарта кодирования символьной информации принята таблица ASCII (American Standard Code for Interchange). В ней для кодирования одного символа используется количество информации, равное 1 байту (8 битов). Всего с помощью одного байта можно закодировать: N = 28 = 256 символов. Этого вполне достаточно для представления текстовой информации на компьютере. Таблица разделена на две части по 128 символов. Первая (основная) часть содержит буквы латинского алфавита, десятичные цифры, знаки пунктуации, арифметических действий и др. Вторая часть (расширение) предназначена, в основном, для кодирования национальных алфавитов. Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Присвоение символу конкретного кода — это вопрос соглашения, которое фиксируется в кодовой таблице. Первые 33 кода (с 0 по 32) обозначают не символы, а операции (новая строка — код 10, возврат каретки — код 13, ввод пробела — код 32, и т. д.). В настоящее время существует пять различных кодовых таблиц для русских букв: КОИ-8, СР1251 (для Windows), СР866 (ASCII, MS DOS), Mac (для Macintosh), ISO (International Standards Organization, код, используемый в языке HTML). Такое количество кодировок затрудняет чтение текстов в Интернете и отображение в тестовых редакторах. Одному и тому же двоичному коду в различных кодировках поставлены в соответствие различные символы. Например, в ASCII русская буква А имеет код — 10000000, КОИ-8 — 11100001, СР1251 — 11000000. Для того чтобы правильно прочесть текст, присланный в другой кодировке, необходимо: • в текстовом редакторе Microsoft Word в меню Сервис, Параметры, Общие активизировать флажок подтверждать преобразование при открытии, выбрать нужную кодировку; • при работе в браузере, например IE, в меню Вид, Вид кодировки выбрать нужную кодировку. При вводе в компьютер текстовой информации происходит ее двоичное кодирование. Пользователь нажимает на клавиатуре клавишу с символом — ив компьютер поступает определенная последовательность из восьми электрических импульсов (двоичный код символа). Код символа хранится в оперативной памяти компьютера. В процессе вывода символа на экран монитора производится обратный процесс — декодирование, т. е. преобразование кода символа в его изображение, которое хранится в памяти компьютера. Новый международный стандарт Unicode (Юникод) отводит на каждый символ не один байт, а два, и потому с его помощью можно закодировать не 256 символов, а N = 216 = = 65 536. Кодировка Unicode поддерживает все знаки всех языков и пригодна для чтения в Microsoft Internet Explorer, начиная с версии 4.0, и Microsoft Office с 1997 г. Основные приемы преобразования текстов: редактирование и форматирование Текст, созданный в текстовом редакторе, может быть преобразован, т. е. отредактирован и отформатирован. Редактирование — это преобразование документа, обеспечивающее вставку, удаление, перемещение его фрагментов (объектов). Объект — это и весь текст в целом, и абзац, и строка, и слово, и символ, и таблица, и ее составляющие. Редактирование может быть применено к любому объекту документа, который предварительно выделен. Возможны следующие операции редактирования: • удаление, перемещение, копирование; • отмена или возврат выполнения последних операций; • поиск и замена фрагментов текста; • вставка необходимого объекта (рисунок, файл, содержимое буфера обмена, гиперссылку, объект OLE — формулу, диаграмму, таблицу из приложения Excel, анимацию, звук). Всё, что позволяет делать с текстом или его фрагментами меню Правка, Вставка и некоторые кнопки панели инструментов Стандартная, и будет являться редактированием. Форматирование — это изменение вида документа, т. е. такое его преобразование, которое меняет форму представления документа. Форматирование может быть применено к любому выделенному объекту докумета (см. схему на с. 135). 31 Возможны следующие виды форматирования: 1) Задание параметров страницы (размер, поля, ориентация и др.). 2) Форматирование абзаца: • выравнивание (по ширине, центру, правому и левому краям); • установка отступа первой строки; • установка отступов и интервалов между строками и абзацами. 3)Форматирование символов: • изменение шрифта — растровый (Comic Sans MS) или векторный (Bookman Old Style), моноширинный (Courier), рубленый (Arial) или с засечками (Times New Roman); • изменение начертания шрифта (обычное, полужирное, курсивное, полужирное курсивное, варианты подчеркивания, цвет символов, нижний или верхний индексы); • изменение размера символов (единицей измерения размера шрифта является пункт (пт), 1 пт = 0,376 мм. Например, 10 пт — размер, 12 пт — размер, 14 пт — размер). 4) Формирование списков. 5) Оформление границ и заливки. 6) Организация колонок. 7)Форматирование таблиц (направление текста, объединение ячеек, ширина столбцов и высота строк и т. д.). Большую помощь при форматировании оказывает инструмент Формат по образцу, находящийся на панели инструментов Форматирование. При сохранении текстовых документов в текстовых редакторах (процессорах) можно задавать различные форматы: • только текст, *.txt — сохраняет текст без форматирования; • формат RTF, *.rtf — сохраняет все форматирование, универсальный; • документ Word, *.doc — полностью сохраняет форматирование; • HTML документ, *.htm или *.html — сохраняет web-страницы, содержит управляющие тэги языка разметки гипертекста; и другие. Понятие о настольных издательских системах Мощные программы обработки текста настольные издательские системы (программы верстки) предназначены для подготовки документов к публикации. Примерами такой системы являются Adobe PageMaker и Ventura Publisher. Они обеспечивают все функции текстового процессора: воспринимают тексты, созданные в различных текстовых редакторах; • воспринимают отсканированные или нарисованные в графических редакторах иллюстрации, созданные на ПК разных платформ, и корректируют их цвета; • имеют большой набор шрифтов и возможность их графического преобразования (сжатие, растяжение или симметричное отражение по вертикали или горизонтали); • имеют возможности для различного «обтекания» рисунка текстом; • обеспечивают автоматическое оптимальное размещение текста на странице, автоматическую нумерацию страниц будущей книги; • обеспечивают адаптацию к различным печатающим устройствам и пр. Гипертекстовое представление информации 32 В широком смысле гипертекст — информационный массив, в котором заданы и автоматически поддерживаются ассоциативные и смысловые связи между выделенными элементами, понятиями, терминами или разделами. В более узком смысле это может быть текст, в котором отдельные фрагменты на экране выделены цветом, подчеркиванием; связанная с ними информация сразу может быть выдана на экран. Иллюстрацией такого текста служит Справка Windows или любого приложения. Курсор мыши, оказавшись на выделенном фрагменте, принимает другую форму. Чтение документа с экрана монитора становится в таком случае не линейным, как в случае книги, а дающим возможность «перескакивать» с одной части текста к другой интересующей вас, а также просматривать дополнительную информацию. Гиперссылка (выделенный фрагмент) может состоять из текста, графики, видео, звука и анимации. Щелкнув на гиперссылке в документе, вы перейдете: • к дополнительному разделу в данном документе, в другом файле (меню Вставка, Гиперссылка, связать с местом в документе); • к показу рисунка или мультфильма, прослушиванию звукового фрагмента (меню Вставка, Гиперссылка, связать с новым документом); • на web-страницу какого-либо сайта (меню Вставка, Гиперссылка, связать с файлом, web-страницей)1. Web-страницы сайтов представляют собой документы с гипертекстовой разметкой. Поэтому так легко путешествовать по Всемирной паутине (WWW — Worl Wide Web), переходя с сайта на сайт по гиперссылкам. Существует специальный язык HTML для создания Web-страниц. 33 Билет № 22 Динамические (электронные) таблицы. Назначение и принципы работы электронных таблиц. Использование электронных таблиц для обработки числовых данных (на примере задач из различных предметных областей). Прикладные программы, предназначенные для работы с числовыми данными, представленными в прямоугольных таблицах, называются табличными процессорами, еще их называют просто электронными таблицами. Назначение. Эти программы позволяют создавать динамические (электронные) таблицы, в которых автоматически происходит пересчет значений формул при изменении исходных данных, используемых в этих формулах. Они предназначены для математических, финансовых, статистических расчетов, построения диаграмм для более наглядного воспроизведения данных и ведения простейших баз данных. Принципы работы. Для понимания принципов работы рассмотрим табличный процессор Excel фирмы Microsoft. Файл, полученный с помощью MS Excel, — это электронный документ (рабочая книга), который состоит из прямоугольных таблиц (рабочих листов). Электронную таблицу (ЭТ) можно редактировать, форматировать, удалять и сохранять во внешней памяти. ЭТ состоит из 256 строк с именами А, В, С, D, Е ...IV и столбцов с номерами 1, 2, 3, 4 ..., 16 384, на пересечении которых находятся ячейки. Ячейка — основная единица хранения данных. Адрес ячейки (ссылка на ячейку) образуется из имени столбца и номера строки: А1, Bl, D3, Е5, АК10454, HZ14500 и т. п. Активная ячейка выделяется на экране жирной рамкой. Данные можно вводить только в активную ячейку, их можно видеть также в строке формул. Активную ячейку можно выделить щелчком мышью. Типы данных. В ячейку можно поместить данные следующих типов: текст, число, формулу. Текст и числа рассматриваются как константы. Формулы — одно из важнейших средств табличных процессоров. Формула должна начинаться с одного из знаков: равенство, плюс или минус, может включать в себя числа, адреса ячеек данного или другого рабочего листа, функции (математические, статистические, финансовые и др.) и знаки математических операций. Например: =А2*ВЗ^2 — содержимое ячейки А2 умножается на квадрат содержимого ячейки В3; -(D4-F5)/5 — операция деления разности содержимого ячеек D4 и F5 на константу 5. При вводе формулы в ячейке может отображаться как результат вычислений по формуле, так и сама формула в зависимости от установки того или иного режима. Сама формула отображается также в строке формул при активизации ячейки. При изменении данных в ячейках, на которые ссылается формула, результат автоматически пересчитывается сразу же. Редактирование данных в ячейках: удаление содержимого ячейки, отмена последнего изменения, перемещение данных, копирование данных, замена содержимого ячейки целиком, исправление данных в ячейке (двойной щелчок левой кнопкой мыши в редактируемой ячейке или в строке формул). Форматирование данных в ячейках:, • изменение представления чисел (горизонтальное или вертикальное представление), т. е. их формата, что может облегчить восприятие данных; • выравнивание данных: по левому краю, по центру, по правому краю; • изменение начертания шрифтов: полужирный, курсив, подчеркивание; • изменение шрифта и его размера; • изменение ориентации данных используется для более удобного в ряде случаев представления их в таблице. Функции — это заранее подготовленные формулы, к которым надо обращаться по заданному имени и с определенным количеством и типом данных. MS Excel предлагает более 300 функций. Вызов функции осуществляется либо через меню Вставка, Формула, либо щелчком на кнопке Часто используемые функции: Имя функции СУММ Пример: =СУММ(А1:А5) равносильно формуле: =А1+А2+А3+А4+А5 Назначение функции Суммирует аргументы МАКС Пример: =МАХ(А1:А20) Возвращает максимальное значение из списка аргументов Возвращает среднее арифметическое СРЗНАЧ Пример: =CP3HA4(A1:F1) равносильно формуле: аргументов =(Al+Bl+Cl+Dl+Fl)/5 Подсчитывает количество чисел в списке СЧЕТ Пример: =СЧЕТ(А1:А20) аргументов Копирование формул. Абсолютные и относительные ссылки. В формулах используются ссылки на адреса (содержимое) ячеек. Различие между ними проявляется при копировании формул. ЭТ Excel по умолчанию интерпретирует ссылки в формулах как относительные. Это означает, что если вы копируете формулу в другие ячейки рабочего листа, то ссылки на ячейки в новой формуле автоматически изменяются так, чтобы соответствовать новому расположению формулы. Изменение «координат» (номера строки и имени столбца) производится на столько единиц, на сколько строк и столбцов смещена ячейка, в которую помещают копию формулы. Например, копирование формулы =СУММ(СЗ:ЕЗ) из ячейки F3 в ячейку G4 приведет к появлению в ячейке G4 формулы =CyMM(D4:F4). Если необходимо, чтобы ссылки не изменялись при копировании формулы в другую ячейку, воспользуйтесь абсолютными ссылками. Абсолютный адрес указывает на точное положение адресуемой ячейки в таблице и записывается со знаком 34 $ перед именем столбца и номером строки, например $А$3. Возможна абсолютная адресация только столбца или строки, такая адресация называется смешанной, например $А4, А$4. Автоматическое заполнение. Вы можете сэкономить время на ввод с клавиатуры последовательного ряда чисел (арифметической прогрессии), обозначений, названий месяцев и дней недели, как в строках, так и в столбцах: 1. Для создания числового ряда введите в смежные ячейки два первых числа. 2. Выделите эти ячейки. 3. Установите указатель мыши на точку в правом нижнем углу выделения, он примет вид тонкого черного крестика +. 4. Нажмите левую кнопку мыши и, не отпуская ее, перетащите указатель + по строке или столбцу. 5. Отпустите кнопку, и ячейки будут заполнены. Для автозаполнения названиями месяцев или дней недели достаточно ввести название в одну ячейку и выполнить пункты 3-5. Для автозаполнения формул достаточно выделить ячейку с формулой и выполнить пункты 3-5. При абсолютной адресации адреса ячеек копируются без изменения, а при относительной изменяются. В MS Excel имеется множество дополнительных возможностей, ускоряющих и облегчающих работу с таблицами: • автоматический подбор высоты строк и ширины столбцов; • объединение ячеек и перенос слов в ячейке; • наложение защиты на лист и книгу; • возможность сортировки данных таблицы; • удобная справочная система; • использование векторного редактора; • использование буфера обмена; • изменение вида информации в ячейках: формулы — значения; • печать рабочих листов. Предварительный просмотр; • работа с несколькими рабочими листами. Переключение рабочих листов. Именование рабочих листов. Примеры задач для обработки числовых данных [8, 22] Физика. Пересчет температуры из шкалы Цельсия в температуру по шкале Фаренгейта и обратно Немецкий физик Г. Фаренгейт в 1724 году предложил температурную шкалу, названную его именем. Температура по шкале Фаренгейта t°F связана с температурой по шкале Цельсия t°C соотношением: t°C = —(t°F - 32). Составить таблицу, переводящую температуру, измеренную по шкале Фаренгейта, в температуру по шкале Цельсия и обратно. Экономика. Расчет месячной заработной платы Рассчитать месячные выплаты сотрудникам с учетом премий и налога. Вывод формул в ячейки таблицы расчета заработной платы (Сервис, Параметры, Вид, Формулы): 35 Технология (кулинария). Продукты для похода Рассчитать необходимое количество продуктов на весь поход для одного человека и всей группы. Нормы продуктов на 1 день для 1 человека приведены в таблице. Успеваемость. Итоги первого полугодия по школе Посчитать успеваемость (процент учащихся, обучающихся без 2) и качество знаний (процент учащихся, обучающихся на 4 и 5). 36 Билет № 23 Математическая обработка статистических данных, результатов эксперимента. Использование динамических (электронных) таблиц для обработки и представления результатов естественнонаучного и математического эксперимента, экономических и экологических наблюдений, социальных опросов. Математическая обработка статистических данных, результатов эксперимента Зависимости между параметрами некоторого объекта, процесса, явления могут быть выражены с помощью математических формул. Но в некоторых случаях коэффициенты в этих формулах могут быть получены в результате статистической обработки экспериментальных данных. Статистика — это наука о сборе, измерении и анализе больших массивов количественных данных. Статистические данные носят приближенный, усредненный характер, получаются путем многократных измерений. Математический аппарат статистики разрабатывает раздел науки под названием «Математическая статистика». Статистические данные используются, в частности, для получения упрощенного математического описания сложной или неизвестной зависимости между данными некоторой системы (регрессионные модели). Статистические функции электронных таблиц позволяют обрабатывать статистические данные, например, вычислять среднее арифметическое числовых данных (СРЗНАЧ), среднее геометрическое положительных числовых данных, минимальное и максимальное значения из набора данных, выполнять подсчеты (СЧЁТ, СЧЁТЕСЛИ, СЧЁТЗ, СЧИТАТЫГУСТОТЫ и т. д.). Статистический анализ данных широко используется: • в народном хозяйстве при: анализе результатов деятельности предприятий и организаций; оценке состояния финансового, сырьевого и других рынков; анализе прибыльности инвестиционной деятельности; составлении краткосрочных планов и долгосрочных прогнозов; • в социологии и психологии для обработки и анализа результатов опросов, тестирования, анкетирования; • в научной деятельности для обработки результатов экспериментов, оценки их достоверности, проверки гипотез и пр. Использование динамических (электронных) таблиц для обработки и представления результатов естественно-научного и математического эксперимента, экономических и экологических наблюдений, социальных опросов Для определения статистической зависимости необходимо выполнить два шага: 1. На основании физического смысла статистических данных принять вид аналитических зависимостей. Это может быть, например, полином второй степени у = ах2 + Ъх + с, линейная зависимость у = ах + Ъ и т. п. Во всех формулах х — аргумент, у — значение функции, а, Ъ, с — параметры функций. 2. С помощью метода наименьших квадратов (МНК) по имеющимся статистическим данным найти значения величин о, Ъ, с, определяющих конкретный вид принятой зависимости. Полученная аналитическая зависимость называется регрессионной моделью. MS Excel позволяет построить регрессионную модель по статистическим данным и получить значение коэффициента детерминированности (достоверности) R2 (КД). КД определяет, насколько удачной является полученная регрессионная модель. КД принимает значения от 0 до 1. Если он равен 1, то функция точно проходит через табличные значения, если 0, то выбранный вид регрессионной модели совсем неудачен. Чем R2 ближе к 1, тем удачнее модель. Алгоритм построения регрессионной модели: 1. Выделить обе колонки исходных данных (наборы X и Y). 2. Вызвать Мастер диаграмм. 37 3. Построить Точечную диаграмму. 4. Для полученной диаграммы выбрать команду Добавить линию тренда (из текстового меню Диаграмма или контекстного меню для любой точки диаграммы). Тренд — это график регрессионной модели (от англ. trend — тенденция). 5. Выбрать, например, линейную линию тренда. Перейти к вкладке Параметры. 6. В открывшемся диалоговом окне параметров выбрать опции: показывать уравнение на диаграмме и поместить на диаграмму величину достоверности аппроксимации (R/2). 7. На экране появится линия тренда, уравнение с числовыми параметрами и коэффициент R2. 8. Проанализировать линию тренда (как часто ее точки совпадают с точками точечной диаграммы) и значение R2 и повторить построение регрессионной модели для других видов аналитических зависимостей. 9. Выбрать из полученных регрессионных моделей ту, которая имеет наибольшее значение R2. Примеры построения регрессионных моделей Пример географических наблюдений. Зависимость температуры воздуха от широты города [28] Определить зависимость температуры воздуха от широты города. Статистические данные метеорологических наблюдений позволяют высказать гипотезу о том, что средняя температура зависит от широты города и может быть описана некоторой математической формулой. Регрессионный анализ показал, что зависимость средней температуры от широты города является квадратичной, так как R2 = 0,98, что ближе к 1, чем R2 для линейной зависимости. Используя зависимость у = 0,0367je2 - 4,9784л: + + 173,59 можно восстановить значение средней температуры для города, находящегося на 50-й широте (16,42 °С), и высказать прогноз средней температуры для города, находящегося на 70-й (4,9 °С) или 40-й (33,2 °С) широте. Если представится возможность получить данные о температуре на этих широтах, то можно проверить точность модели и убедиться в достоверности (или ошибочности) данных, которые получены при ее использовании. Во втором случае 38 новый набор статистических данных позволит уточнить модель или ее коэффициенты и предоставит возможность для более точного прогноза температуры. Экологический пример. Медицинская статистика Определить зависимость частоты заболеваемости жителей города бронхиальной астмой от качества воздуха. Очевидно, чем хуже воздух, например, выше концентрация С угарного газа в атмосфере, тем больше хронических больных Р на 1000 жителей. Статистические данные являются усредненными и приближенными, их собирают в разных городах в течение длительного времени. Далее данные анализируют и обобщают. Квадратичная зависимость Р(С): Далее регрессионная модель может быть использована для восстановления значений и для прогнозирования заболеваний. Экономический пример. Темпы прироста показателей банковского сектора Представить экономические показатели в табличном виде и с помощью диаграмм (журнал «Итоги» 2005, № 47). Такую информацию анализируют специалисты банковского дела, финансисты и экономисты. Месяц Актив 01.12.04 01.01.05 01.02.05 01.03.05 01.04.05 01.05.05 01.06.05 01.07.05 01.08.05 01.09.05 4,1 4,0 1,8 2,8 1,6 0,9 2,6 4,3 1,7 3,9 Собственные средства (капитал) 1,6 2,6 2,2 6,1 0,4 1,5 1,4 1,0 1,8 2,0 39 Социальные опросы Опросы разных категорий населения страны проводят для того, чтобы выявить, например, проблемы трудоустройства, места размещения магазинов, школ и детских садов, мнения избирателей перед выборами и т. п. Анализ результатов опросов позволяет принять правильные решения по тому или иному вопросу. Выбор будущей профессии является одним из важных решений, принимаемых человеком в своей жизни. Поэтому ответы на вопрос: «Какой фактор является для вас наиболее значимым при выборе профессии, и, соответственно, вуза?» (Журнал «Обучение и карьера», 2006, № 4) представляют интерес для многих специалистов. Фактор Интерес к определенной деятельности Престиж и доходность выбираемой специальности Возможность последущего трудоустройства Другое Предназначение Возможности родителей Советы родителей и друзей Процент выбравших данный фактор 54,63 16,49 12,37 7,21 5,25 3,09 1,06 Математический эксперимент Для игрального кубика идеальной формы выпадение чисел от 1 до б будет равновероятным при числе опытов, стремящемся к бесконечности. То же справедливо для идеальной монеты, после подбрасывания она с одинаковой вероятностью Р = 1/2 будет падать на обе стороны (орел или решка). Чтобы убедиться в этом, можно провести эксперимент с большим числом опытов. Результаты такого эксперимента приведены в следующей таблице. Ниже приведен фрагмент таблицы одного из опытов. Всего было выполнено 14 серий опытов (с использованием случайной функции MS Excel). № опыта 1 2 3 4 5 6 7 8 9 10 11 12 37 38 39 40 41 Орел — 1 Решка — 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 № опыта Орел — 1 № опыта Орел — 1 Решка — 0 Решка — 0 13 0 25 0 14 0 26 0 15 1 27 16 1 28 17 0 29 18 1 30 19 0 31 20 0 32 0 21 1 33 22 0 34 23 1 35 0 24 0 36 1 0 0 177 189 0 178 190 1 179 191 0 180 192 0 181 193 40 1 1 182 194 0 1 0 183 195 0 1 0 184 196 0 1 1 185 197 1 0 0 186 198 1 0 0 187 199 0 0 0 188 200 В следующей таблице приведены результаты обработки результатов 14 серий опытов по 200 бросков в каждой серии. В последнем столбце вычислены среднее количество выпадений орла и решки и их средние вероятности. Действительно, вероятности событий близки — орел выпадал с вероятность 0,51, а решка — 0,49, что согласуется с теоретическими данными. 42 43 44 45 46 47 48 Орел— 1 Решка —0 № серии опытов по 200 1 бросков 2 3 4 5 6 7 8 9 10 11 12 13 14 Среднее 1 0 Кол-во Вероятност Кол-во ь Вероятност ь 87 117 105 110 111 93 98 96 110 102 107 96 101 105 103 0,44 0,59 0,53 0,55 0,56 0,47 0,49 0,48 0,55 0,51 0,54 0,48 0,51 0,53 0,51 113 83 95 90 89 107 102 104 90 98 93 104 99 95 97 0,57 0,42 0,48 0,45 0,45 0,54 0,51 0,52 0,45 0,49 0,47 0,52 0,50 0,48 0,49 Естественно-научный эксперимент [28] Пусть проводится эксперимент: последовательно бросают тяжелый шарик с 1, 2, 3, ..., 10 этажа, замеряют высоту начального положения шарика и фиксируют время падения. По результатам эксперимента составляют таблицу. В нее добавляют расчетные значения времени, вычисленные по известной формуле: Я(м) из опыта *(с) расчетное 3 6 9 12 15 18 21 24 27 30 0,8 1.1 1,3 1,5 1.7 1.9 2,0 2,2 2,3 2,4 0,78 1,11 1,35 1,56 1,75 1,92 2,07 2,21 2,35 2,47 Среднее абсолютных значений отклонений точек данных от среднего — по функции СРОТКЛ 0,01 0,005 0,025 0,03 0,025 0,01 0,035 0,005 0,025 0,035 2 H - зависимость времени падения тела на землю от первоначальной высоты Н без учета сопротивлеg ния воздуха, g - ускорение свободного падения. Для вычисления tрасчетноt в MS Excel была использована функция извлечения квадратного корня из числа — КОРЕНЬ(Х): =КОРЕНЬ((2*А2/9,81)), где А2 — адрес ячейки, содержащей значение высоты. Сравнение опытных и расчетных данных таблицы позволяет сделать вывод об адекватности использованной модели зависимости времени падения тела на землю от первоначальной высоты Н без учета сопротивления воздуха. Этот вывод можно сделать, проанализировав отклонение опытных данных от расчетных значений, полученных с помощью встроенной функции «Среднее отклонение» СРОТКЛ, которая возвращает среднее абсолютных значений отклонений точек данных от среднего. СРОТКЛ является мерой разброса множества данных. где tрасчетное = 41 Билет № 24 Понятие базы данных. Системы управления базами данных. Создание, ведение и использование баз данных при решении учебных и практических задач. Любой из нас, начиная с раннего детства, многократно сталкивался с бытовыми аналогами баз данных. Это — всевозможные справочники, энциклопедии и т. п., и самый популярный из всех — телефонный. Записная книжка — тоже «база данных», которая есть у каждого из нас. Большая или маленькая, простая или многофункциональная, она — обязательный элемент деловой жизни любого человека. Где бы мы хранили имена, телефоны, адреса, даты рождения и пр. своих многочисленных друзей, знакомых, деловых партнеров, непосредственных начальников, коллег и т. д., если бы не было записных книжек? В необходимых случаях мы обращаемся к ней, чтобы получить нужные сведения. Потребность структурировать накопленную или накапливающуюся информацию (организовывать массивы данных в определенном порядке и последовательности, с определенной обработкой этих данных), содержащую совокупность сведений в какой-либо предметной области, возникла у человечества давно. Всевозможные справочники и энциклопедии уже в прошлом веке были широко распространены. Подобные «базы данных» и базы данных настоящего времени — это принципиально разные вещи, но их объединяет одна главная идея — структурирование данных по какому-либо основанию. Другими словами, база данных (БД) — это организованная совокупность структурированных данных в какойлибо предметной области. Развитие технологии «баз данных» привело к созданию компьютерных баз данных, которые являются основой упорядочивания, сортировки, хранения, математической и графической обработки данных. Самый простой способ создания баз данных для большинства пользователей — с помощью специальных программных сред, которые называются системами управления базами данных (СУБД). Все современные компьютерные базы данных можно разделить на иерархические, реляционные и сетевые, т. е. в основе любой СУБД лежит один из трех указанных типов моделей данных. Дадим краткую характеристику этим моделям. Иерархическая модель графически представляет собой перевернутое дерево. Основные параметры этой модели это уровни, узлы, связи. Первый уровень занимает центральный узел, второй — узлы второго уровня и т. д. Между узлами установлены связи, причем эти связи фиксированы, т. е. каждый узел связан со своим подмножеством узлов следующего уровня, и эти подмножества не пересекаются. Данная модель может быть представлена на примере школы: параллели, классы, учащиеся. Сетевая модель подобна иерархической модели. Она представлена теми же компонентами: уровнями, узлами, связями, но характер их взаимодействия другой. В этой модели все связи между элементами различных уровней являются свободными, т. е. каждый элемент вышестоящего уровня может быть связан одновременно с любыми элементами следующего уровня. Пример — Всемирная паутина (WWW). Что же такое реляционная база данных? Прежде, чем ответить на этот вопрос, сделаем краткий исторический экскурс по наиболее ярким представителям реляционных баз данных разных поколений. Первые компьютерные базы данных появились в 80-х годах XX века. Это были «неповоротливые» среды, с достаточно примитивным инструментом обработки данных, который создавал множество файлов, необходимых для полноценного функционирования базы данных в целом. Для создания более гибких структур в подобных БД необходимо было использовать их внутренний язык. Интерфейс таких сред напоминал экран MS DOS. Все команды БД вводились в командной строке, точно так же, как и в MS DOS. Подобными особенностями обладали базы данных семейств dBase II, dBase III (например, база данных «Карат»). Базы данных FoxPro и Paradox различных версий были представлены улучшенным (более удобным и многофункциональным) интерфейсом, а также имели усовершенствованные Мастера для создания отчетов и среды для написания процедур. Обычно базу данных, состоящую из двумерных таблиц, принято называть реляционной. Тогда все базы данных семейства dBase II, dBase III, FoxPro и т. п. — реляционные, так как данные в них представляются в виде таблиц. Понятно, что с усовершенствованием и развитием БД нового поколения, сам термин «реляционная база данных» расширился, т. е. говоря о реляционных БД недостаточно упоминать только о представлении в ней данных в виде двумерных таблиц. Характерные особенности реляционных баз данных: • табличное представление данных; • все реляционные СУБД обрабатывают большие объемы информации, намного больше, чем те, с которыми справляются электронные таблицы; • реляционная СУБД может легко связывать таблицы так, что для пользователя они будут представляться одной таблицей (создание сложных информационных моделей); • реляционная СУБД минимизирует общий объем базы данных. Для этого таблицы, содержащие повторяющиеся данные, разбиваются на несколько связанных таблиц; • реляционная СУБД отличается от традиционных СУБД тем, что в единственном файле базы данных находятся не только таблица с данными, но и различные другие объекты (пример — файл базы данных Access). Хотя идеальный вариант в реляционной СУБД — два файла базы данных. В одном находятся данные, в другом -объекты, модули. Такое разбиение позволяет сделать защиту базы данных более эффективной: защита информации (файл с таблицами) и защита объектов и программ (файл с объектами и модулями). Объекты БД 42 Таблица. В СУБД вся информация хранится в таблицах. Это базовый объект БД, все остальные объекты создаются на основе существующих таблиц (производные объекты). Каждая строка в таблице — запись БД, а столбец — поле. Запись содержит набор данных об одном объекте, а поле — однородные данные обо всех объектах. Запросы. В СУБД запросы являются важнейшим инструментом. Они служат для выборки записей, обновления таблиц и включения в них новых записей. С помощью запросов можно просматривать и изменять данные из нескольких таблиц. Они также используются в качестве источника данных для форм и отчетов. Но главное предназначение запросов — это отбор данных на основании критериев и математическая обработка данных (вычисляемые поля). В любой момент можно выбрать из БД необходимую информацию и создать вычисляемое поле. Запрос — производный объект БД. Формы. Они предназначены для ввода данных в таблицу, для открытия других форм и отчетов (кнопочные формы), а также с их помощью можно ограничить объем информации, доступной пользователям, обращающимся к БД (маска). Другими словами, форма представляет собой бланк, подлежащий заполнению, или маску, накладываемую на набор данных. Большая часть данных, представленных в форме, берется из таблицы или запроса. Другая информация, не связанная ни с таблицей, ни с запросом, хранится в макете формы (например, кнопки, вычисляемые поля и т. п.). Форма также является производным объектом БД. Отчеты. Они служат для отображения итоговых данных из таблиц и запросов в удобном для просмотра виде. В отчетах, так же, как и в формах, часть данных берется из таблицы и запроса, другая часть информации хранится в макете отчета. Отчет — производный объект БД. Разработчик — это человек (опытный пользователь или программист), которой самостоятельно создает новую БД. Прежде, чем приступить к созданию БД, необходимо продумать ее проект. Проект — это абстрактная (теоретическая) модель будущей БД, состоящая из объектов и их связей, необходимых для выполнения поставленных задач. Процесс проектирования включает, прежде всего, создание структуры таблиц, установку связей между этими таблицами, создание производных объектов (запросы, формы, отчеты, макросы, модули). Билет № 25 Компьютерные телекоммуникации: назначение, структура. Информационные ресурсы в телекоммуникационных сетях. Комплексы аппаратных и программных средств организации компьютерных сетей. Представления о телекоммуникационных службах: электронная почта, чат, телеконференции, форумы, Интернет-телефония. Информационно-поисковые системы. Организация поиска информации в сетях. Одной из наиболее полезных возможностей, предоставляемых современным компьютером, является возможность использования его для автоматизированного обмена информацией с другими компьютерами по линиям связи. Реализуется эта возможность с помощью компьютерных сетей — объединений компьютеров. Под компьютерной телекоммуникационной (вычислительной) сетью понимается программно-аппаратный комплекс, обеспечивающий автоматизированный обмен данными между компьютерами по линиям связи. Любые информационные ресурсы в том или ином виде можно передавать по сети. Современная сеть, состоящая из компьютеров (возможно специализированных), представляет собой некий комплекс узлов и каналов связи — аппаратуры и программ, обеспечивающих прием и передачу данных. Большая часть возможностей, обеспечиваемых современными телекоммуникационными сетями, опирается на то, что эти сети могут обмениваться данными между собой, создавая межсетевую среду. Самое крупное такое объединение общедоступных сетей — это межсетевая среда Интернет (Internet). Огромная распространенность сетей, их многофункциональность, в первую очередь, опираются на ряд принципов, соблюдение которых обеспечивает: • открытость, т. е. возможность разработки различных сетевых приложений, в том числе не предусмотренных ранее; • использование для обмена данными сетей на базе различных технологий, с самыми разными каналами связи; • возможность подключения новых абонентов и новых сетей, а также расширения существующих без принципиальной перестройки; • возможность обеспечения автоматического перепланирования схемы обмена (изменение маршрутизации) при возникновении технической необходимости (например, отказе канала связи); • контроль обмена данными и минимизацию потерь в случае возникновения ошибок. Основным принципом, лежащим в основе современных телекоммуникационных сетей, является принцип пакетной коммутации. Этот принцип состоит в том, что для доставки данные разбиваются на независимые фрагменты (пакеты), каждый пакет снабжается служебной информацией и передается отдельно от других пакетов. Итоговое сообщение (последовательность пакетов) восстанавливается при необходимости в конечной точке. Основой конструирования и функционирования современных сетей являются их модели. Модель сети — это схема разделения функций между компонентами сети, определяющая основы их взаимодействия. В основе Интернета лежит сетевая модель DOD (Department of Defence, министерство обороны США). Эта модель подразумевает, что все функции делятся на четыре уровня — от непосредственных клиентских программ до средств обмена сигналами. За каждым уровнем закреплены определенные задачи, выполняя их, уровень обменивается данными только с выше- и нижележащими уровнями. С логической точки зрения каждый уровень одного узла посылает данные такому же уровню другого узла. 43 За каждым уровнем закреплены следующие функции: 1. За уровнем доступа к среде — функции приема и передачи сигналов, преобразования их в цифровую форму и/или перекодирование. Этот уровень характеризует каждую сетевую технологию, применяемую для создания отдел: чой сети. Именно здесь осуществляется фактические прием и передача сигнала. 2. За сетевым уровнем закреплены функции организации межсетевого взаимодействия, он связывает отдельные сети. Протоколы этого уровня определяют маршруты следования пакетов (т. е. выполняют операцию перенаправления пакетов из одной сети в другую) и обмениваются необходимой технической информацией о пересылке. Узлы, выполняющие пересылку, называются шлюзами; выполняющие обработку пакетов и маршрутизацию, — маршрутизаторами. У таких специализированных узлов могут не задействоваться другие уровни, кроме первых двух. 3. За транспортным уровнем — задачи транспорта данных. Этот уровень связывает между собой программы, запущенные на конкретных узлах, т. е. позволяет определить, какая конкретно программа должна обработать полученный поток данных или обеспечить программе возможность отправки данных. Некоторые протоколы этого уровня позволяют также определять, получены ли отправленные данные. 4. К прикладному уровню отнесены все программы, взаимодействующие с пользователем и формирующие поток данных для обмена. Основным набором протоколов, реализующих эту модель и обеспечивающим работу среды Интернет, является стек протоколов TCP/IP. Этот набор протоколов не предусматривает никаких стандартов на уровень доступа к среде, что позволяет использовать любые каналы передачи данных. Стек протоколов предусматривает механизм, позволяющий разрабатывать различные сетевые приложения и использовать для их работы существующую инфраструктуру без модернизации. На основе этого стека протоколов уже разработано большое количество программ, реализующих разнообразные сервисы (службы, программы для предоставления специализированных услуг). Большинство телекоммуникационных служб предполагают обмен данными между двумя основными типами программ: клиентом (программа, взаимодействующая с пользователем) и сервером (программа, обслуживающая запросы). Наиболее популярны следующие сетевые службы: 1. Служба электронной почты. Этот сервис позволяет обмениваться сообщениями в асинхронном режиме, т. е. отправить сообщение можно даже если адресат не работает с сетью в момент отправки и получит его только через некоторое время. Основу инфраструктуры электронной почты составляют почтовые отделения — серверы, принимающие почту и обрабатывающие ее (либо пересылая, либо помещая в хранилище до обращения пользователя). Индивидуальный «раздел» пользователя в такой системе называется почтовым ящиком. Для обращения к содержимому своего почтового ящика или при отправке новой почты пользователь должен использовать специальную программу-клиент. Во многих случаях этот клиент реализован как web-приложение. 2. Служба World Wide Web (Всемирная паутина). В этой службе информация представляется в виде отдельных объектов, связанных между собой. Структура такого рода называется гипертекстом. Для описания отдельных объектов и связей между ними применяется специальный язык разметки гипертекста — HTML. Основу функционирования этой службы составляют программы, выдающие объекты-страницы (и/или их составляющие) по запросу клиента (webсерверы), и программы, демонстрирующие полученные страницы (браузеры). Содержимое такой страницы может быть подготовлено заранее, а может быть создано WEB-cep-вером по запросу, с помощью специальных программ. Это позволяет применять эту службу как универсальное средство создания интерфейсов к большинству других служб, а также как средство создания специализированных приложений. В качестве примера таких приложений можно привести форумы (приложения, в которых посетители обмениваются мнениями по различным вопросам, оставляя в выделенных разделах, хранящихся в БД на серверах, свои комментарии), чаты (приложения, позволяющие организовать беседу в режиме реального времени, непосредственно передавая всем пользователям отправляемые каждым сообщения). 3. Телеконференции и Интернет-телефония. Эти сервисы опираются на возможность передавать по сети потоки (т. е. не сообщения фиксированной длины, а некоторое количество данных за определенное время) аудио- и видеоинформации. С помощью телеконференций организуется обсуждение в режиме реального времени (это проще и эффективнее во многих случаях чатов и пр.), а с помощью 44 Интернет-телефонии — передача звуковой информации телефонной сети между узлами Интернет в виде потока IPпакетов. Такими узлами могут быть специальные телефонные станции или просто компьютеры. Передача такого потока обходится значительно дешевле междугородного канала связи. Служба WWW, выполняя роль универсального интерфейса к большей части современных сетевых служб, позволяет добиться сходства в представлении информации из самых разных источников. Тем не менее, поскольку сам язык подготовки страниц ориентирован на оформление текста (а не на отражение его логической структуры), и в каждом конкретном случае авторы отдельных наборов страниц сами принимают решение о том, что и как отображать на своих страницах, не уведомляя об этом никого, то возникает проблема поиска информации в среде Интернет. С ростом общего количества страниц и объема представленной в такой форме информации, эта проблема становится все острее. Для поиска нужной информации в среде Интернет применяют несколько способов: 1. Применение классификации и каталогизации. В соответствии с этим подходом создаются специальные ресурсы-рубрикаторы, на которых аннотированные ссылки разносят по некоторым категориям. Поиск информации в этом случае осуществляется постепенным уточнением области до тех пор, пока набор страниц не будет сокращен до обозримого минимума. К сожалению, сам поисковый рубрикатор должен пополняться с помощью людей. В результате, в таких рубрикаторах просто не упомянуто подавляющее большинство страниц. 2. Применение методов полнотекстового поиска и поиска по ключевым словам. В этом случае автоматизированными средствами готовится поисковый индекс — фактически, база данных, содержащая информацию о наполнении страниц. Пользователь, обращаясь к этому индексу, просит найти страницу, на которой содержатся определенные слова. Постепенно уточняя область поиска, снова получаем обозримый набор документов. Поисковый индекс формируется, в основном, автоматически, что резко увеличивает количество участвующей в поиске информации. К сожалению, это также увеличивает и количество «мусора», попадающего в результаты обработки запросов. Для борьбы с этим применяют систему ранжирования результатов на основе релевантности — некоторого вычисленного коэффициента «соответствия» найденной страницы запросу. 3. Поиск информации в специализированных источниках. Если точно известна область поиска, то вполне возможно, что существуют специализированные хранилища информации, имеющие специально разработанные поисковые системы. Такая система позволит найти нужное существенно быстрее, чем использование поисковых систем общего назначения. 45