Простые типы данных языка программирования СИ.

Простые типы данных языка программирования СИ.

К простым типам данных относятся константы и переменные.

константа – фиксированное значение, такое как число или символ (символьная строка). Это значение не моет быть изменено операторами программы;

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

Типы данных: int – целое число, В памяти хранится ТОЧНО.

long – целое число с в 2 раза большим числом значащих цифр, чем для int; В памяти хранится ТОЧНО.

float – вещественные числа– это десятичные дроби и, в частности, целые числа, записанные в виде десятичных дробей; вместо запятой, отделяющей целую часть от дробной, используется точка. Если целая часть константы равна нулю, то она может быть опущена, как и нулевая дробная часть В памяти хранится НЕ ТОЧНО.

double - число с в 2 раза большим числом значащих цифр, чем для float

char – символ. Этот тип определяет целые числа без знака в диапазоне от 0 до 255, что обычно соответствует кодам символов. Символьные константы заключаются в апострофы: 'S', '1', 'a' – правильно записанные символьные константы.

Операции над данными (операция присваивания., арифметические операции, операции над битами, операции отношения, логические операции, операция условия ?:) языка программирования СИ.

Основными операциями в Си являются:

=операция присваивания; *операция умножения; /операция деления; +операция сложения; –операция вычитания или операция изменения знака

1) +=, --=, *=, /=, %= – дополнительные операции присваивания, корректирующие значения переменной, стоящей слева от знака присваивания. Переменной присваивается новое значение, равное старому, скорректированному с помощью величины выражения, стоящего справа. 2) % – операция деления по модулю, использующаяся в целочисленной арифметике. Результат – остаток от деления. 3) ++ и -- – операции увеличения и уменьшения для целочисленных данных. Они увеличивают (уменьшают) значение своего операнда на 1. Операции отношения используются для сравнений и применяются при формировании выражений условия:

<меньше; <=меньше или равно; = =равно; >=больше или равно; >больше; !=не равно.

&& - И; || - ИЛИ; ! – НЕ; Условные операторы дают программисту возможность передавать управление на тот или иной оператор программы в зависимости от определенных условий. Операция условия (?:) выражение1 ? выражение2 : выражение3Если "выражение1" истинно, то значением всего условного выражения является величина "выражения2"; в противном случае значение всего условного выражения – величина "выражения3".

Операторы организации цикла языка СИ.

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

Оператор циклаwhile

While (выражение) оператор

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

Структура оператора: for (инициализация; проверка условия; коррекция) оператор

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

Структура оператора do while:

Do оператор while (выражение);

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

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

Математически это определение может быть выражено следующим образом

Простые типы данных языка программирования СИ. - student2.ru

На первом этапе решения СЛАУ система приводится к виду (3.10), после чего происходит проверка условия сходимости итерационного процесса к решению системы. Для этого необходимо выбрать максимальные значения коэффициентов ai,iи провести проверку условия на сходимость итерационного процесса. После этого задаются начальные приближения, обычно для этого используется столбец свободных членов, и проводится расчет по формуле (3.12) до достижения окончательного решения.

Пример

В качестве примера рассмотрим функцию вида Простые типы данных языка программирования СИ. - student2.ru на интервале Простые типы данных языка программирования СИ. - student2.ru заданную табличным способом.

X
F(x)

Необходимо определить значение функции в точке x-2.5. Воспользуемся для этого полином Лагранжа. Исходя из формул (4.1 и 4.3) запишем этот полином в явном виде:

Простые типы данных языка программирования СИ. - student2.ru (4.4).

Тогда подставляя в формулу (4) исходные значения из нашей таблицы получим

Простые типы данных языка программирования СИ. - student2.ru

Полученный результат соответствует теории т.е. Простые типы данных языка программирования СИ. - student2.ru .

Оптимальный выбор узлов

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

Задача состоит в том, чтобы подобрать узлы Простые типы данных языка программирования СИ. - student2.ru , так чтобы минимизировать величину:

Простые типы данных языка программирования СИ. - student2.ru

Решение данной задачи определяется следующим соотношением:

Простые типы данных языка программирования СИ. - student2.ru (3.3.5)

и оценка (3.3.3) примет вид:

Простые типы данных языка программирования СИ. - student2.ru (3.3.6)

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

Синтаксис

МОБР(массив)

Массив — числовой массив с равным количеством строк и столбцов.

Заметки

Массив может быть задан как диапазон ячеек, например A1:C3; как массив констант, например {1;2;3: 4;5;6: 7;8;9}; или как имя диапазона или массива.

Если какая-либо из ячеек в массиве пуста или содержит текст, то функция МОБР возвращает значение ошибки #ЗНАЧ!.

МОБР также возвращает значение ошибки #ЗНАЧ!, если массив имеет неравное число строк и столбцов.

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

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

В качестве примера того, как вычисляется обратная матрица, рассмотрим массив из двух строк и двух столбцов A1:B2, который содержит буквы a, b, c и d, представляющие любые четыре числа. В следующей таблице приведена обратная матрица для A1:B2:

  Столбец A Столбец B
Строка 1 d/(a*d-b*c) b/(b*c-a*d)
Строка 2 c/(b*c-a*d) a/(a*d-b*c)

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

Некоторые квадратные матрицы не могут быть обращены, в таких случаях функция МОБР возвращает значение ошибки #ЧИСЛО!. Определитель такой матрицы равен 0.

Пример 1

Чтобы этот пример проще было понять, скопируйте его на пустой лист.

Создайте пустую книгу или лист.

Выделите пример в разделе справки. Не выделяйте заголовок строки или столбца.

Выделение примера в справке.

Нажмите сочетание клавиш CTRL+C

На листе выделите ячейку A1 и нажмите сочетание клавиш CTRL+V.

Чтобы переключиться между просмотром результатов и просмотром формул, возвращающих эти результаты, нажмите сочетание клавиш CTRL+` (апостроф) или в меню Сервис укажите на пункт Зависимости формул и выберите режим Режим проверки формул.

 
A B
Данные Данные
-1
Формула Формула
=МОБР(A2:B3)  
   

Примечание. Формулу в этом примере необходимо ввести как формулу массива. После копирования этого примера на пустой лист выделите диапазон A5:B6, начиная с ячейки, содержащей формулу. Нажмите клавишу F2, а затем нажмите клавиши CTRL+SHIFT+ENTER. Если формула не будет введена как формула массива, единственное значение будет равно 0.

Пример 2

Чтобы этот пример проще было понять, скопируйте его на пустой лист.

Создайте пустую книгу или лист.

Выделите пример в разделе справки. Не выделяйте заголовок строки или столбца.

Простые типы данных языка программирования СИ. - student2.ru Выделение примера в справке.

Нажмите сочетание клавиш CTRL+C

На листе выделите ячейку A1 и нажмите сочетание клавиш CTRL+V.

Чтобы переключиться между просмотром результатов и просмотром формул, возвращающих эти результаты, нажмите сочетание клавиш CTRL+` (апостроф) или в меню Сервис укажите на пункт Зависимости формул и выберите режим Режим проверки формул.

 
A B C
Данные Данные Данные
-1
Формула Формула Формула
=МОБР(A2:C4)    
     
     

Примечание. Формулу в этом примере необходимо ввести как формулу массива. После копирования этого примера на пустой лист выделите диапазон A6:C8, начиная с ячейки, содержащей формулу. Нажмите клавишу F2, а затем нажмите клавиши CTRL+SHIFT+ENTER. Если формула не будет введена как формула массива, единственное значение будет равно 0,25.

Простые типы данных языка программирования СИ. - student2.ru Совет Для доступа к отдельным элементам обратной матрицы следует использовать функцию ИНДЕКС.

ИНДЕКС

 

Возвращает значение или ссылку на значение из таблицы или интервала. Функция ИНДЕКС () имеет две синтаксические формы: ссылка и массив. Ссылочная форма всегда возвращает ссылку; форма массива всегда возвращает значение или массив значений.

ИНДЕКС(массив;номер_строки;номер_столбца) возвращает значение указанной ячейки или массив значений в аргументе «массив».

ИНДЕКС(ссылка ;номер_строки;номер_столбца;номер_области) возвращает ссылку на указанные ячейки или ячейки в аргументе «ссылка».

Виды и модели данных.

Главное меню СУБД

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

Меню FoxPro для DOS

Общесистемные функции (SYSTEM-меню). Здесь реализованы средства доступа к файлам, Help, а также “настольная оргтехника” – календарь, калькулятор и т.д. Исключительно полезным является доступ к справочной информации через это меню или просто с помощью клавиши F1. Окно Помощи кроме содержательной части содержит ряд управляющих средств. Кнопки Topics, Next и Previous переносят читателя назад в оглавление или к следующему/предыдущему разделу помощи. Через мен See Also можно сразу перейти к разделам, на которые есть ссылки в данном месте.

Если Вы находитесь в окне Помощи, то получить нужную справку, например, по функции MIN(), можно, быстренько нажав буквы M и I (то есть 1 или 2 первые буквы).

Работа с файлами СУБД (FILE-меню). В этом меню находятся средства управления (открытие, закрытие, создание и т.п.) файлами, принадлежащими только FoxPro:

New – создание нового файла;

Open – открытие имеющегося файла;

Close – закрытие активного окна;

Save – сохранение файла с тем же именем;

Save as – сохранение файла с новым именем;

Revert – выдача предыдущей версии текстового файла до всех изменений;

Printer Setup – определение принтера/порта для выдачи файла, форматирование листа;

Print – печать файла;

Quit – выход в ДОС.

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

Undo – отмена последнего выполненного действия;

Redo – повторение действия, отмененного в Undo;

Cut – удаление из текста выделенной области с взятием ее в буфер клавиатуры;

Copy – копирование выделенного текста в буфер;

Paste – вывод содержимого буфера в текст;

Clear – очистка выделенной области без взятия ее в буфер;

Select All – выделение всего текста окна;

Goto Line – переход к строке с указанным номером;

Find – поиск заданного фрагмента текста;

Find Again – поиск следующего вхождения текста;

Replace And find Again – последовательный поиск вхождения с заменой;

Replace All – полная замена всех вхождений текста;

Preferences – настройка редактора.

Работа с базой данных (DATABASE-меню). Это меню содержит исключительно средства управления базой данных и связанными с ней файлами:

Setup – модификация/создание/открытие баз данных, а также индексов и фильтров;

Browse – вызов команды полноэкранного редактирования, при этом главное меню дополняется справа пунктом Browse;

Append From – добавление записей из других БД/файлов;

Copy To – копирование в другие БД/файлы;

Sort – сортировка записей;

Total – создание БД с суммами по заданному признаку;

Average – среднее арифметическое числовых полей;

Count – подсчет записей с указанным признаком;

Sum – суммирование числовых полей;

Calculate – вычисления в базе данных;

Report – подключение ранее созданной формы отчета;

Label – подключение ранее созданной формы почтовых наклеек;

Pack – физическое удаление помеченных записей;

Reindex – переиндексация базы.

Работа с записями базы данных (RECORD-меню). Меню реализует действия по обработке базы данных:

Append – вызов окна дополнения базы новыми записями;

Change – вызов окна редактирования записей;

Goto – переход к указанной записи;

Locate – последовательный поиск записи по ключу;

Continue – продолжение поиска (поиск следующей записи);

Seek – ускоренный индексный поиск по ключу;

Replace – изменения (вычисления) в базе данных;

Delete – пометка записей, предназначенных для удаления;

Recall – снятие пометок для удаления.

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

Do – выбор командного файла и исполнение программы;

Cancel – прерывание программы;

Resume – продолжение программы;

Compile – переход в окно компиляции программы;

Generate – вызов генератора приложений;

FoxDoc – вызов документатора программ;

FoxGraph – вызов графического пакета FoxGraph;

Do <PRG-файл> – исполнение текущей программы (<PRG-файла>), загруженного во внутренний редактор FoxPro.

Работа с окнами (WINDOW-меню). Здесь сосредоточены средства управления системными и пользовательскими окнами FoxPro: открытие, закрытие, перемещение, изменение размера т.д., а также средства отладки готовых программ.

Знаки операций

Команды могут содержать следующие знаки операций:

МАТЕМАТИЧЕСКИЕ:

** или ^ – возведение в степень;

* – умножение, / – деление, % – остаток от деления;

+ – сложение, – – вычитание.

ЛОГИЧЕСКИЕ:

NOT – НЕ (другая форма указания операции НЕ – !);

AND – логическое И;

OR – ИЛИ.

Знаки логических операций (кроме !) окаймляются точками или пробелами.

ОТНОШЕНИЯ:

< – меньше, > – больше, = – равно, # – не равно, <= – не больше, >= – не меньше. Знаки отношения применимы как к числовым выражениям, так и к датам и символьным выражениям. Если сравниваются символьные строки разной длины, сравнение выполняется по длине второго выражения, т.е. выражения, стоящего справа от знака отношения. Остаток левого операнда, превышающий длину правого операнда, игнорируется. Эта особенность организовать поиск данных и по неполному ключу, например фамилии по первой(ым) букве(ам). Тогда более короткое выражение должно стоять справа от знака “=” и из него обычно должны быть удалены концевые пробелы.

Для символьных выражений реализованы дополнительные операции.

ОПЕРАЦИИ ОТНОШЕНИЯ:

$ – сравнение символьных строк. Операция A$B даст значение логическая “Истина”, если A идентично B, либо А входит в В, и “Ложь” в противном случае.

== – сравнение на полное тождество символьных строк и по длине, и по содержанию, включая пробелы.

ОПЕРАЦИЯ СЦЕПЛЕНИЯ:

+ – соединение двух или более строк в одну.

Структура команд

Команды FoxPro, ориентированные на обработку файлов базы данных, в самом общем виде имеют следующий синтаксис:

НАЗВАНИЕ [<границы>] [<список выражений>] [FOR <условие>] [WHILE <условие>]

Здесь:

НАЗВАНИЕ – имя команды;

<границы> – границы действия команды, которые могут иметь одно из следующих значений:

· ALL – все записи базы данных;

· REST – все записи, начиная с текущей, до конца базы;

· NEXT <N> – следующие N записей, начиная с текущей;

· RECORD <N> – запись номер N;

FOR <условие> – выполнение команды только для записей, отвечающих <условию>;

WHILE <условие> – выполнение команды только до тех пор, пока не перестанет выполняться <условие>.

Слова FOR и WHILE могут присутствовать в команде одновременно. В этом случае WHILE-условие, очевидно, имеет приоритет перед FOR-условием.

П р и м е р: LIST NEXT 10 FIELDS fam,tab,dtr FOR fam=’П’

Название Границы Выражение FOR-условие

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

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

Символьные константы в FoxPro выделяются апострофами, кавычками или квадратными скобками.

Константы типа “дата” берутся в фигурные скобки (например, {09.11.95}). Пустая дата ({ . . }) вообще может быть задана одними фигурными скобками {}.

Логические константы T (истина) и F (ложь) в тексте программ обрамляются точками.

Фильтрация данных

В FoxPro предусмотрена специальная команда вида SET FILTER TO [<условие>] (см. Помощь), которая позволяет установить FOR-условие для всех без исключения команд обработки данных.

Последовательный поиск

Начальный поиск:

LOCATE (см. Помощь) осуществляет последовательный поиск одной самой первой записи в БД, удовлетворяющей заданному условию, среди записей, находящихся в заданных границах. в случае, если границы и WHILE-условие отсутствуют, поиск ведется во всем файле, начиная с первой записи. При успешном поиске указатель записей устанавливается на найденную запись, функция RECNO() равна номеру этой записи, а функция FOUND(), оценивающая результат поиска, возвращает значение “Истина”. В противном случае функция RECNO() равна числу записей в базе плюс 1, а функция FOUND()=.F., а функция достижения конца файла EOF() возвращает .Т.

Продолжение поиска

CONTINUE – команда, которая продолжает поиск записей, начатых ранее командой LOCATE. Если не было найдено нужных записей, указатель записей устанавливается на нижнюю границу поиска (если она введена в команде) или на конец файла (EOF()=.T.).

Понятие о рабочих областях

В FoxPro можно обрабатывать сразу несколько файлов БД (до 25). Каждый такой файл типа DBF и все вспомогательные файлы (например, индексные) открываются в своей отдельной рабочей области. Переход из области в область осуществляется командой SELECT <рабочая область>. Первые 10 рабочих областей идентифицируются номерами 1-10 или буквами A – J. Области с 11-й по 25-ю обозначаются номерами или буквенно-цифровыми именами W11 – W25. Если в качестве параметра указать цифру 0, произойдет переход в первую свободную рабочую область.

Область, в которой мы находимся в данный момент, называется активной рабочей областью, и в ней можно работать с находящейся здесь базой данных, используя все допустимые команды системы. Одновременно даже в одной команде можно иметь доступ (с некоторыми ограничениями) к полям других баз. В этом случае имя поля из неактивной области – составное. Собственно имени поля тогда предшествует имя рабочей области, разделенные знаками “->” или (что более удобно) точкой: A->name или A.name . При входе в СУБД активизируется область 1 (или А), и, если Вы работаете только с одной базой, заботиться об открытии областей не нужно.

2.8. Связь вида одна_запись_к_одной

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

П р и м е р:

SELECT a

USE brig1

SELECT b

USE kadr

INDEX ON tab TO kadrtab && (проиндексировать активную БД по полю tab, создать файл kadrtab.idx)

SELECT a

SET RELATION TO tab INTO b && (установить связь по полю tab с рабочей областью b)

LIST tab, vir, b.fam

Здесь выводятся записи файла brig1.dbf, в которые включено поле соответствующих им фамилий kadr.dbf (b.fam). Связь между всеми файлами разрывается командой SET RELATION TO без параметров.

Цикл с условием

Цикл с условием выполняется до тех пор, пока <условие> истинно:

DO WHILE <условие>

<команды>

ENDDO

В языке FoxPro отсутствует понятие “метка” ( а, соответственно, и любимый некоторыми оператор GOTO). Если требуется выйти за пределы цикла, необходимо использовать команду EXIT, которая передаст управление команде, следующей за ENDDO. Команда LOOP осуществляет передачу управления в цикле, но в противоположную сторону – в его начало, на саму команду цикла. Это нужно, чтобы при необходимости избежать выполнения некоторых команд, предшествующих фразе END, и сразу перейти к следующему циклу.

Цикл с параметром

FOR <переменная>=<вырN1> TO <вырN2> [STEP <вырN3>]

<команды>

ENDFOR

Цикл аналогичен оператору DO Фортрана и for Си.

Математические функции

ABS(), INT(), MAX(), MIN(), MOD(), ROUND(), RAND(), SIGN(), EXP(), LOG(), LOG10(), SQRT(), SIN(), COS(), TAN(), ASIN(), ATAN() – в основном те же самые, что и в других языках. PI() – число Пи; DTOR() – преобразование градусов в радианы, RTOD() – обратная функция.

Строковые функции

$, AT/ATC(), INLIST(), LEN(), LIKE(), LEFT(), SUBSTR(), LTRIM(), REPLICATE(), SPACE(), PADC().

Функции работы с датами

CDOW(), CMONTH(), CTOD(), DATE(), DOW(), DTOC(),DAY(), MONTH(), YEAR() и т.д.

2.14. Функции преобразования типов данных

ASC(), CHR(), STR(), VAL().

Функция анализа условий

IIF(<условие>,<выр1>,<выр2>) – выдает значение <выр1>, если <условие> истинно, и <выр2> – если ложно. Допускается вложение функций IIF.

Работа протоколов

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

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

Компьютер-отправитель в соответствии с протоколом выполняет следующие действия:

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

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

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

Компьютер-получатель в соответствии с протоколом выполняет те же действия, но только в обратном порядке:

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

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

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

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

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

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

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

Каналы связи

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

Типы кабелей

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

• витая пара (неэкранированная и экранированная);

• коаксиальный кабель;

• оптоволоконный кабель.

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

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

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

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

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

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

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

Идея беспроводной среды весьма привлекательна, так как ее компоненты:

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

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

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

Способы передачи

Беспроводные сети используют три способа передачи данных:

• инфракрасное излучение;

• лазер;

• радиопередачу.

Сервером.

Одноранговая сеть

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

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

Одноранговая сеть характеризуется рядом стандартных решений:

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

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

• для объединения компьютеров в сеть применяется простая кабельная система.

Целесообразность применения

Одноранговая сеть вполне подходит там, где:

• количество пользователей не превышает 10 человек;

• пользователи расположены компактно;

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

• в обозримом будущем не ожидается значительного расширения фирмы

и, следовательно, сети.

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

Достоинства одноранговых сетей: низкая стоимость и высокая надежность.

Недостатки одноранговых сетей:

• зависимость эффективности работы сети от количества станций;

• сложность управления сетью;

• сложность обеспечения защиты информации;

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

В такие операционные системы, как Microsoft Windows NT Workstation Microsoft Windows for Workgroups и Microsoft Windows 95, встроена поддержка одноранговых сетей. Поэтому, чтобы установить одноранговую сеть, дополнительного программного обеспечения не требуется.

Популярностью пользуются и одноранговые сети на базе сетевых операционных систем LANtastic, NetWare Lite.

Сеть с выделенным сервером

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

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

Взаимодействие между рабочими станциями в сети, как правило, осуществляется через сервер. Логическая организация такой сети может быть представлена топологией "звезда". Роль центрального устройства выполняет сервер.

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

Основным аргументом при выборе сети на основе сервера является, как правило, защита данных. В таких сетях, например, как Windows NT Server, проблемами безопасности может заниматься один администратор: он формирует политику безопасности и применяет ее в отношении каждого пользователя сети.

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

Достоинства сети с выделенным сервером:

• надежная система защиты информации;

• высокое быстродействие;

• отсутствие ограничений на число рабочих станций;

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

Недостатки сети:

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

• зависимость быстродействия и надежности сети от сервера;

• меньшая гибкость по сравнению с одноранговой сетью. Сети с выделенным сервером являются наиболее распространенными Сетевые операционные системы для таких сетей – LANServer (IBM), Windows NT Server и NetWare (Novell).

В таблице 2.1. приведены сравнительные характеристики – типов сетей.

Таблица 2.1

Характеристики двух основных типов сетей

Параметр Одноранговые сети Сети на основе сервера
Размер Не более 10 компьютеров Ограничены аппаратным обес­печением сервера и сети
Защита Вопросы защиты решаются каждым пользователем са­мостоятельно Широкая и комплексная защита ресурсов и пользователей
Админист­рирование Вопросами администрирова­ния своего компьютера зани

Наши рекомендации