Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

F530EFB30609B81FDFDE985C2ED2DB0F

.pdf
Скачиваний:
13
Добавлен:
12.02.2015
Размер:
1.81 Mб
Скачать

Глава 14. Программирование

Инструкция объявления переменной в общем виде выглядит так:

имя переменной: тип;

Например:

var

n: integer; (переменная целого типа)

a, b: real; (переменная вещественного типа)

Массив также объявляется в подразделе объявления переменных.

Инструкция объявления одномерного массива выгдядит так:

имя: array [нижний индекс...верхний индекс] of тип;

Например:

var

a: array [1..10] of integer;

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

За разделом объявлений следует раздел инструкций программы, который заключается в операторные скобки: служебные слова begin и end. Запись внутри операторных скобок ведется с отступом в три знака. Раздел операторов заканчивается точкой.

Каждый оператор записывается с новой строки. Каждая строка завершается знаком «;».

14.4. Общие сведения о системе программирования Pascal ABC

Pascal ABC – интегрированная система программирования, имеющая свою управляющую оболочку, редактор текстовых программ, язык программирования,

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

Рабочий экран программы Pascal ABC имеет ряд элементов (рис.

39).

Строка меню является основным средствам доступа к командам меню.

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

В окне редактора кода набирается и отлаживается текст програм-

мы.

141

Раздел 4. Основы моделирования, алгоритмизации, программирования

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

Окно ввода данных открывается при выполнении процедур ввода данных в ходе работы программы. При этом ввод данных в окно ввода сопровождается эхо-выводом в окно вывода.

Рис. 2. РабочийНомераэкран QBasicтекущих строки и столбца отображают положение курсора.

Рис. 39. Основные элементы окна Pascal ABC:

1 – строка меню; 3 – панель инструментов; 3 – вкладка окна программы; 4 – окно редактирования кода

программы; 5 – окно вывода данных; 6 – номера текущих строки

истолбца; 7 – окно ввода данных

14.5.Этапы разработки программы

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

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

Второй этап – разработка словесного или графического алгоритма решения задачи.

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

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

142

Глава 14. Программирование

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

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

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

использование операции умножения вместо возведения в степень

(например, x3 = x * x * x );

если некоторое арифметическое выражение встречается в вычислениях несколько раз, то его следует вычислить заранее и хранить в памяти ЭВМ, а по мере необходимости использовать;

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

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

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

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

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

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

143

Раздел 4. Основы моделирования, алгоритмизации, программирования

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

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

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

Шестой этап – создание документации, справочной системы.

Вопросы для самопроверки

1.Что такое программа?

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

3.В чем отличие языков высокого уровня от языков низкого уровня?

4.Что такое машинный язык?

5.На какие основные группы можно подразделить языки высокого уровня?

6.Чем характеризуются логические языки программирования?

7.Какие языки программирования можно отнести к функциональным языкам?

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

9.Что называют объектом и классом объектов в технологии объектно-ориенти-

рованного программирования? 10.Что понимается под инкапсуляцией?

11.В результате какого процесса происходит порождение иерархии объектов в объектно-ориентированном программировании?

12.Что такое данные?

13.Что такое переменная?

14.В чем отличие очереди от стека?

15.Что определяет размерность массива?

16.В чем отличие графов от деревьев?

17.Для чего используются операторы?

18.Что понимается под арифметическими выражениями?

19.Из каких этапов состоит решение задач на ЭВМ?

20.Какой вид тестирования называют тестированием черного ящика?

21.Какие основные элементы включает окно Pascal ABC?

22.Из каких основных разделов состоит программа, написанная на Pascal? 23.Какие операторы можно использовать для вывода сообщений на экране в

Pascal?

24.Какие операторы используются для организации циклов в Pascal?

144

РАЗДЕЛ 5. СЕТЕВЫЕ ТЕХНОЛОГИИ И БЕЗОПАСНОСТЬ ИНФОРМАЦИИ

ГЛАВА 15

КОМПЬЮТЕРНЫЕ СЕТИ

В главе приводится понятие компьютерных сетей, дается классификация сетей. Рассматриваются типы сетевых топологий. Дается характеристика компонентов сетей. Оисывается эталонная модель обмена информацией открытой системы OSI. Рассматриваются основные протоколы из стека протоколов TCP/IP. Особое внимание уделяется характеристике глобальной сети Интернет.

15.1. Понятие компьютерных сетей, классификация сетей

Компьютерная, или вычислительная сеть – это вычислительное оборудование, соединенное линиями связи и обменивающееся по ним

информацией.

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

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

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

локальные сети (ЛВС, LAN, Local Area Network) – это вычислительные сети, покрывающая относительно небольшую территорию, такую как одно здание или небольшую группу зданий (например, академия);

территориальные сети – это вычислительные сети, охватывающие значительное географическое пространство.

Среди территориальных сетей выделяют региональные сети (MAN, Metropolitan Area Network), которые могут охватывать, например, целый город, и глобальные сети (ГВС, WAN, Wide Area Network) — сети, охватывающая сколь угодно большие территории.

Глобальные сети часто создаются путем объединения локальных и региональных сетей. К глобальным вычислительным сетям относятся Интернет, Фидонет, BBC.

По типу сетевой топологии (по схеме соединения компьютеров) выделяют следующие виды локальных сетей:

145

Раздел 5. Сетевые технологии и безопасность информации

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

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

К неполносвязным относят сети со следующими сетевыми топологиями (рис. 40):

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

звездообразные — сети, в которых компьютеры каждый своим отдельным кабелем присоединены к центральному узлу (например, сеть Arcnet);

кольцевые — сети, в которых компьютеры подключены последовательно друг к другу, образуя замкнутую сеть (например, сеть Token Ring).

а)

б)

в)

Рис. 40. Схемы основных топологий локальных сетей:

а) шина, б) звезда, в) кольцо

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

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

146

Глава 15. Компьютерные сети

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

В зависимости от способа управления различают: «клиент-сервер» – сети, состоящие из одного или несколько сер-

веров и клиентов; одноранговые – сети, в которых нет единого центра управления

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

15.2. Протоколы передачи данных в сетях

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

Передача информации в сети производится в соответствии с протоколами коммуникации.

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

Схему организации взаимодействия узлов в сети описывает эталонная модель обмена информацией открытой системы OSI (англ. Open System Interconnection — Взаимодействие Открытых Систем). Модель OSI была предложена в 1984 г. Международной организацией стандартизации ISO (англ. International Organization for Standardization).

Все функции сети в модели OSI разделены на семь уровней. Первый уровень – физический. На этом уровне определяются

физические (механические, электрические, оптические) характеристики линий связи.

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

Третий уровень – сетевой. На этом уровне происходит управление передачей пакетов через промежуточные компоненты сети.

147

Раздел 5. Сетевые технологии и безопасность информации

Четвертый уровень – транспортный. Этот уровень контролирует сборку-разборку пакетов, обнаружение и устранение ошибок в передаче данных.

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

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

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

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

В настоящее время существует несколько стандартных протоколов, имеющих широкое распространение, к ним можно отнести набор протоколов ISO/OSI, IPX/SPX (Novell NetWare), TCP/IP.

Набор протоколов TCP/IP используется для функционирования сети Интернет. Базовыми протоколами в этом наборе, давшими ему название, являются протоколы TCP и IP.

Протокол TCP (от англ. Transmission Control Protocol) – транспортный протокол, обеспечивающий разбиение информации на порции и нумерацию всех порции в процессе ее передачи и сборке при получении.

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

Протокол HTTP (от англ. Hypertext Transfer Protocol) – протокол передачи гипертекста веб-страниц по Интернету.

Протокол FTP (от англ. File Transfer Protocol) – протокол передачи файлов по Интернету, работает на трех верхних уровнях модели OSI.

Протокол TELNET (от англ. TELecommunication NETwork Protocol) – протокол для доступа к удаленному компьютеру, работает на прикладном уровне модели OSI.

Протокол IRC (от англ. Internet Relay Chat) – протокол для обмена сообщениями через сеть в режиме реального времени, работает на прикладном уровне модели OSI.

Протокол SMTP (от англ. Simple Mail Transfer Protocol) – протокол для отправки сообщений электронной почты, работает на прикладном уровне модели OSI.

148

Глава 15. Компьютерные сети

Протокол POP3 (англ. Post Office Protocol Version 3) – протокол для получения сообщений электронной почты, работает на прикладном уровне модели OSI, используется в паре с протоколом SMTP.

15.3. Компоненты компьютерных сетей

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

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

сетевого программного обеспечения.

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

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

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

К серверным операционным системам относятся, например, операционные системы Linux, Unix, Windows Server, Free BSD, Solaris.

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

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

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

Для беспроводного соединения компьютеров посредством радиосвязи, например IrDA, Bluetooth, Wi-Fi, необходимы дополнительные специализированные адаптеры.

Вкабельных линиях связи применяют следующие типы кабеля (рис. 41):

витая пара – кабель, состоящий из двух изолированных прово-

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

149

Раздел 5. Сетевые технологии и безопасность информации

ростью 10 либо 100 Мбит/с, легко наращивается, но имеет плохую помехозащищенность;

коаксильный кабель – кабель, состоящий из центрального проводника и экрана; передает информацию со скоростью до 500 Мбит/с, обладает высокой помехозащищенностью;

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

б)

а)

в)

Рис. 41. Конструкции различных видов кабелей:

а) витая пара, б) коаксильный кабель, в) оптоволоконный кабель

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

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

Модем (производное от «МОдуляция-ДЕМодуляция») – устройство, подключаемое к компьютеру для передачи и приема сигналов по телекоммуникационным (телефонным) линиям, способное осуществлять преобразование цифровых сигналы, используемые компьютером, в аналоговые

телефонных линий и наоборот.

150

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]