рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Тема 1. Обработка данных средствами электронных таблиц

Тема 1. Обработка данных средствами электронных таблиц - раздел Электроника, Оглавление Предисловие.. 5 Тема 1. Обработка Данных Средств...

ОГЛАВЛЕНИЕ

Предисловие.. 5

Тема 1. Обработка данных средствами электронных таблиц.. 6

Область применения. 6

Основные понятия электронных таблиц.. 6

Общая характеристика интерфейса MS Excel. 8

Технология ввода данных в MS Excel. 10

Формулы, функции, мастер функций.. 13

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

Тема 2. Введение в технологию баз данных.. 17

Базы данных и системы управления базами данных.. 17

Основные понятия теории баз данных.. 18

Модели данных.. 18

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

Язык запросов. 26

Программные системы управления базами данных.. 27

Структура простейшей базы данных.. 29

Объекты базы данных.. 30

Режимы работы с базами данных.. 33

Разработка схемы данных.. 33

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

Тема 3. Этапы создания программ... 37

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

Тема 4. Системы и языки программирования.. 45

Системы программирования. 45

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

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

Тема 5. Методологии программирования.. 52

Структурное программирование. 52

Нисходящее проектирование. 54

Концепция модульного программирования. 55

Объектно-ориентированное программирование (ООП) 55

Декларативное программирование. 56

Параллельное программирование. 56

CASE-системы.. 56

Индустрия искусственного интеллекта.. 57

Данные и знания. 58

Модели представления знаний. 59

Экспертные системы.. 62

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

Тема 6. Паскаль – структурный язык.. 65

программирования высокого уровня.. 65

Структура программы.. 65

Константы и переменные. 66

Основные типы данных.. 67

Выражения, операнды, операции.. 70

Совместимость и преобразование типов. 72

Основные операторы языка.. 72

Массивы.. 81

Процедуры и функции.. 84

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

Тема 7. Основные принципы построения.. 89

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

Основные показатели качества ИВС.. 89

Виды информационно-вычислительных сетей.. 90

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

Тема 8. Способы связи компьютеров.. 94

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

Тема 9. Модель взаимодействия открытых систем OSI. 97

Физический уровень. 97

Канальный уровень. 98

Сетевой уровень. 98

Транспортный уровень. 99

Сеансовый уровень. 99

Представительский уровень. 99

Прикладной уровень. 99

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

Тема 10. Техническое и программное обеспечение ИВС.. 101

Техническое обеспечение информационно-вычислительных сетей.. 101

Серверы и рабочие станции. 101

Маршрутизаторы и коммутирующие устройства. 103

Модемы и сетевые карты.. 104

Аналоговые модемы.. 104

Модемы для цифровых каналов связи. 105

Сетевые карты.. 106

Устройства межсетевого интерфейса. 107

Программное обеспечение информационно-вычислительных сетей.. 109

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

Тема 11. Локальные вычислительные сети.. 111

Виды локальных сетей.. 111

Базовые технологии локальных сетей.. 114

Построение локальных сетей.. 115

Структуризация локальных сетей средствами канального уровня. 115

Построение локальных сетей средствами сетевого уровня. 116

Системное программное обеспечение вычислительных сетей. 117

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

Тема 12. Глобальная сеть Интернет.. 119

Основные понятия. 119

Информационные ресурсы (службы) Интернет. 119

Програмное обеспечение работы в Интернете. 122

Адресация и протоколы в Интернете. 122

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

Тема 13. Вирусы и антивирусное программное обеспечение.. 127

Свойства компьютерных вирусов. 127

Классификация вирусов. 127

Программы обнаружения и защиты от вирусов. 129

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

Библиографический список.. 131

 


Предисловие

 

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

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

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

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

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

Тему «Алгоритм и его свойства» традиционно считают главной темой теоретической информатики, вводящей в обширные практические разделы алгоритмизации. Разработка алгоритмов и программ для решения прикладных задач является одним из важнейших направлений дисциплины и остается наиболее стабильным компонентом подготовки специалиста в вузе. Рассмотрению этапов создания программ, различных языков программирования, а также методологиям программирования посвящены темы 3, 4, 5. Основы программирования излагаются на языке Паскаль, который является основным языком, изучаемым в ходе подготовки специалистов. Этому вопросу посвящена тема 6.

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

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

Данное пособие может быть использовано как для подготовки к лекционным занятиям по курсу «Информатика», так и для индивидуального обучения теоретическим основам информатики.

Тема 1. Обработка данных средствами электронных таблиц

Область применения

Очень часто встречаются задачи, требующие разработки нестандартных документов. Для этой цели очень хорошо подходит электронная таблица MS Excel. В… Электронные таблицы нашли широчайшее применение в экономических и… Другой аспект применения Excel – создание текстовых документов. Сетка электронной таблицы удобна для размещения…

Основные понятия электронных таблиц

Рабочая книга и рабочий лист. Строки и столбцы

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

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

Ячейки и их адресация

В расширенном формате адрес ячейки имеет вид [Имя_файла_рабочей_книги]<имя_листа>!<адрес_ячейки>, например:[Книга1. xls]Лист1!A1

Диапазон ячеек

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

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

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

Общая характеристика интерфейса MS Excel

• строка меню; • панели инструментов; • строка ввода данных или строка формул;

Технология ввода данных в MS Excel

Ячейки имеют заданный формат, который можно установить из меню Формат командой Ячейки. Эта команда имеет несколько вкладок. Вкладки открывающегося… Чтобы ввести данные в ячейку следует: 1. Сделать ячейку активной – поместить курсор в нужную ячейку и один раз щелкнуть левой клавишей мыши;

Формулы, функции, мастер функций

Формулы

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

Ссылки на ячейки

Пусть содержимое ячейки В2 определяется формулой А2*В1 (в строке формул задана формула = А2*В1). В ней записана операция над содержимым двух ячеек. Вместо чисел в формуле использованы имена ячеек - принято говорить ссылки на ячейки. Ссылки выполняют роль адресов ячеек, содержимое которых используется в вычислениях. Это означает, что результат расчета зависит от того, какие числа находятся в ячейках, участвующих в вычислении. Таким образом, ячейка, содержащая формулу, является зависимой. Значение в зависимой ячейке подлежит пересчету всякий раз, когда изменяются значения в ячейках, на которые указывают ссылки, входящие в формулу.

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

• во-первых, адрес ячейки можно ввести вручную;

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

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

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

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

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

полную абсолютную ссылку (знак $ ставится и перед именем столбца, и перед номером строки, например $А$8). В этом случае при копировании и перемещении адрес ячейки не меняется;

частичную абсолютную ссылку (знак $ ставится либо перед номером строки, либо перед именем столбца, например А$8 или $А8. В данном случае при копировании и перемещении неизменной остается только одна из
координат).

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

Автозаполнение формулами

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

Использование стандартных функций

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

Использование мастера функций

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

Ввод параметров функции

    Рис. 1.2 Строка формул и палитра формул   Параметры можно вводить непосредственно в строку формул или в поля палитры формул, а если они являются ссылками –…

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

1. Область применения электронных таблиц.

2. Что является основным элементом электронных таблиц.

3. Как обозначаются ячейки в электронных таблицах? Указать расширенный формат адреса ячейки.

4. Как присвоить собственное имя ячейки в Excel?

5. Как обозначается диапазон ячеек в электронных таблицах? Привести
примеры.

6. Сколько ячеек будет выделено при указании диапазона А3:С5 в Excel?

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

8. Перечислить основные интерфейсные элементы окна MS Excel. Пояснить их назначение.

9. Перечислите способы, которыми могут быть выполнены одни и те же операции в любом приложении Windows.

10. Что такое формат ячейки в Excel и как его можно изменить?

11. Какие способы существуют в MS Excel, которые позволяют упростить и ускорить процесс ввода данных?

12. Где располагается маркер автозаполнения в MS Excel? Его назначение?

13. Как скопировать и переместить текущую ячейку в Excel? Перечислите несколько способов.

14. Как заполнить выделенные ячейки в MS Excel выбранными последовательностями?

15. Для чего используется ввод прогрессий в Excel? Как он выполняется?

16. С какого символа начинается формула в Excel и что может содержать
в себе?

17. Отличие абсолютной ссылки от относительной в Excel?

18. Как рассматриваются по умолчанию ссылки на ячейки в формулах MS Excel?

19. Что является признаком абсолютной адресации в Excel? Какие виды абсолютной адресации различают? Привести примеры.

 


Тема 2. Введение в технологию баз данных

Базы данных и системы управления базами данных

Массивы информации, накопленные в АИС, должны быть оптимальным образом организованы для их компьютерного хранения и обработки, должна обеспечиваться… Любая АИС оперирует той или иной частью реального мира – предметной областью.… Рассмотрим базу данных крупного банка. В ней есть все необходимые сведения о клиентах, об их адресах, кредитной…

Основные понятия теории баз данных

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

Атрибут – это информационное отображение свойств объекта. Каждый объект характеризуется некоторым набором атрибутов.

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

Запись данных (англ. эквивалент record) – это совокупность значений связанных элементов данных.

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

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

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

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

Модели данных

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

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

В современных СУБД используются два основных метода ускорения доступа к данным: индексирование и хеширование. Эти методы обеспечивают лучшее по… Метод индексирования основан на использовании индексов. Индекс отношения очень… Индекс базы данных – не листы бумаги, это – специальная структура данных, создаваемая автоматически или по запросу…

Язык запросов

Этот язык имеет официальный стандарт, последняя версия которого была принята ANSI и ISO в 1992 году. Большинство разработчиков СУБД придерживаются… В составе SQL могут быть выделены следующие группы инструкций: • язык описания данных – DDL (Data Definition Language);

Программные системы управления базами данных

• профессиональные, или промышленные; • персональные (настольные). Профессиональные (промышленные) СУБД представляют собой программную основу для разработки автоматизированных систем…

Структура простейшей базы данных

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

Объекты базы данных

Таблицы. Как мы уже говорили, это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых,… Запросы. Эти объекты служат для извлечения данных из таблиц и предоставления… Начинающие пользователи не сразу понимают роль запросов, поскольку все те же операции можно делать и с таблицами. Да,…

Режимы работы с базами данных

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

Разработка схемы данных

1. Работа начинается с составления генерального списка полей – он может насчитывать сотни позиций. 2. В соответствии с тем, какие данные размещаются в каждом поле, определяют… 3. Далее распределяют поля генерального списка по базовым таблицам. На первом этапе распределение производят по…

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

1. Что означает аббревиатура СУБД?

2. Что принято называть базой данных?

3. Для чего предназначено СУБД?

4. Что называется объектом, атрибутом и ключевым элементом в теории БД?

5. Что такое первичный и вторичный ключи в БД?

6. Каким принципам должны подчиняться процедуры хранения данных в БД?

7. Перечислите модели данных в теории БД?

8. Охарактеризуйте иерархическую модель данных в СУБД.

9. Охарактеризуйте сетевую модель данных в СУБД.

10. Охарактеризуйте реляционную модель данных в СУБД.

11. Достоинства и недостатки СУБД, основанные на иерархической и сетевой моделях.

12. Как называют столбец и строку в таблице реляционной СУБД?

13. Охарактеризуйте первую, вторую и третью нормальную формы в СУБД.

14. Какие средства существуют в СУБД для ускорения доступа к данным?

15. Какой язык используется в реляционных СУБД для доступа к информации в ней?

16. Какие группы инструкций могут быть выделены в составе SQL?

17. Для чего предназначен язык описания данных?

18. Для чего предназначен язык манипулирования данными?

19. Что такое транзакция в теории БД?

20. На какие классы можно разделить все СУБД?

21. Охарактеризуйте профессиональные СУБД. Назовите их.

22. Охарактеризуйте персональные СУБД. Назовите их.

23. Что значит задать структуру БД?

24. Назовите объекты БД.

25. Охарактеризуйте таблицы БД.

26. Охарактеризуйте запросы БД. Их назначение.

27. Охарактеризуйте формы БД. Их назначение.

28. Охарактеризуйте отчеты БД. Их назначение.

29. Охарактеризуйте макросы и модули БД. Их назначение.

 


Тема 3. Этапы создания программ

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

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

1. Перечислите этапы создания программ.

2. Что выполняется на этапе постановки задачи?

3. Что представляет собой декомпозиция?

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

5. На каких принципах основано структурное программирование?

6. Какие базовые структурные элементы выделяют в структурном программировании?

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

8. Что собой представляет идея структурного программирования сверху-вниз?

9. Что собой представляет идея структурного программирования снизу-вверх?

10. Что такое отладка программы?

11. Какие классы программных ошибок вы знаете и когда они выявляются?

12. Назначение тестирования программы?

13. Какие способы тестирования вы знаете?

14. Чем отличается стратегия «белого ящика» в тестировании от стратегии «черного ящика»?

Тема 4. Системы и языки программирования

Системы программирования

В настоящее время разработка любого системного и прикладного программного обеспечения осуществляется с помощью систем программирования, в состав… · трансляторы с языков высокого уровня; · средства редактирования, компоновки и загрузки программ;

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

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

Существующие языки программирования можно разделить на две группы: процедурные и непроцедурные (см. рис. 4.1).

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

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

Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня.
Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора.

 

Рис. 4.1. Общая классификация языков программирования

 

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

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

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

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

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

Работа всех трансляторов строится по одному из двух принципов: интерпретация или компиляция.

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

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

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

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

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

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

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

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

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

Охарактеризуем наиболее известные языки программирования.

1.Фортран (FORmula TRANslating system – система трансляции формул); старейший и по сей день активно используемый в решении задач математической ориентации язык. Является классическим языком для программирования на ЭВМ математических и инженерных задач

2.Бейсик (Beginner's All-purpose Symbolic Instruction Code – универсальный символический код инструкций для начинающих); несмотря на многие недостатки и изобилие плохо совместимых версий – самый популярный по числу пользователей. Широко употребляется при написании простых программ.

3.Алгол (ALGOrithmic Language – алгоритмический язык); сыграл большую роль в теории, но для практического программирования сейчас почти не используется.

4.ПЛ/1 (PL/1 Programming Language – язык программирования первый); многоцелевой язык; сейчас почти не используется.

5.Паскаль (Pascal – назван в честь ученого Блеза Паскаля); чрезвычайно популярен как при изучении программирования, так и среди профессионалов. Создан в начале 70-х годов швейцарским ученым Никлаусом Виртом. Язык Паскаль первоначально разрабатывался как учебный, и, действительно, сейчас он является одним из основных языков обучения программированию в школах и вузах. Однако качества его в совокупности оказались столь высоки, что им охотно пользуются и профессиональные программисты. Не менее впечатляющей, в том числе и финансовой, удачи добился Филип Кан, француз, разработавший систему Турбо-Паскаль. Суть его идеи состояла в объединении последовательных этапов обработки программы – компиляции, редактирования связей, отладки и диагностики ошибок – в едином интерфейсе. Версии Турбо-Паскаля заполонили практически все образовательные учреждения, программистские центры и частные фирмы. На базе языка Паскаль созданы несколько более мощных языков (Модула, Ада, Дельфи).

6.Кобол (COmmon Business Oriented Language – язык, ориентированный на общий бизнес); в значительной мере вышел из употребления. Был задуман как основной язык для массовой обработки данных в сферах управления
и бизнеса.

7.АДА;является языком, победившим (май 1979 г.) в конкурсе по разработке универсального языка, проводимым Пентагоном с 1975 году. Разработчики – группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Огасты Ады Лавлейс. Язык АДА – прямой наследник языка
Паскаль. Этот язык предназначен для создания и длительного (многолетнего) сопровождения больших программных систем, допускает возможность параллельной обработки, управления процессами в реальном времени и многое другое, чего трудно или невозможно достичь средствами более простых языков.

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

9.Си++ (С++);объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость.

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

11.Ява (Java); платформенно-независимый язык объектно-ориентированного программирования, чрезвычайно эффективен для создания интерактивных веб-страниц. Этот язык был создан компанией Sun в начале 90-х годов на основе СИ++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей.

12.Лисп (Lisp) – функциональный язык программирования. Ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации.

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

Языки программирования для Интернета:

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

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

3. Tcl/Tk.Этот язык ориентирован на автоматизацию рутинных процессов и состоит из мощных команд. Он независим от системы и при этом позволяет создавать программы с графическим интерфейсом.

4. VRML.Создан для организации виртуальных трехмерных интерфейсов в Интернете. Он позволяет описывать в текстовом виде различные трехмерные сцены, освещение и тени, текстуры.

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

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

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

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

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

4. На какие языки подразделяются процедурные языки?

5. Охарактеризуйте языки низкого уровня.

6. Какой язык относится к языку низкого уровня?

7. Достоинства языков низкого уровня.

8. Охарактеризуйте языки высокого уровня.

9. Достоинства языков высокого уровня.

10. Приведите примеры языков высокого уровня.

11. Для чего предназначены трансляторы?

12. Чем отличается компилятор от интерпретатора?

13. Недостатки интерпретации (как вид транслятора).

14. Что представляет собой процесс компиляции программы?

15. Какие действия выполняются при компиляции?

16. Чем отличается загрузочный модуль от объектного?

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

18. Какие виды программирования относятся к непроцедурному
программированию?

19. Особенность декларативных языков.

20. Охарактеризуйте кратко языки программирования: Фортран, Бейсик, Паскаль, Кобол.

21. Охарактеризуйте кратко языки программирования: Ада, Си, Си++, Delphi, Java.

22. Приведите примеры объектно-ориентированных языков.

23. К какому классу языков относится язык Лисп?

24. К какому классу языков относится язык Пролог?

 


Тема 5. Методологии программирования

 

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

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

Структурное программирование

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

Нисходящее проектирование

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

Концепция модульного программирования

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

Декларативное программирование

Декларативный подход в разработке компьютерных программ появился в начале 70-х годов. Он не получил столь широкого применения как процедурный, поскольку был направлен на относительно узкий круг задач искусственного интеллекта. При его применении программист описывает свойства исходных данных, их взаимосвязи, свойства, которыми должен обладать результат, а не алгоритм получения результата. Разумеется, для получения результата этот алгоритм все равно нужен, но он должен порождаться автоматически той системой, которая поддерживает декларативно-ориентированный язык программирования. При логическом варианте такого подхода (прежде всего это относится к языку Пролог, PROLOG) задача описывается совокупностью фактов и правил в некотором формальном логическом языке, при функциональном варианте –
в виде функциональных соотношений между фактами (язык Лисп, LISP).

Параллельное программирование

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

CASE-системы

Основная цель CASE-систем состоит в автоматизировании всего процесса создания программного обеспечения. CASE-система позволяет исследовать прототип… CASE-технологии позволяют поддерживать коллективную работу над проектом за… Сегодня лидирующей в мире CASE-системой считается Rational Rose корпорации Rational Software. Система Rational Rose…

Индустрия искусственного интеллекта

А что если программиста удалить из технологической цепи решения задачи? Это можно сделать лишь тогда, когда в самой ЭВМ появиться «автоматический… Бум, возникший в конце 70-х годов в искусственном интеллекте и приведший к… 1. Угроза всеобщей мобилизации населения земного шара в программисты привела к идее пятого поколения ЭВМ. Но создание…

Данные и знания

Данные – это отдельные факты, характеризующие объекты, процессы и явления предметной области, а также их свойства. При обработке на ЭВМ данные трансформируются, проходя этапы: 1. Данные как результат измерений и наблюдений;

Модели представления знаний

• продукционные модели; • семантические сети; • фреймы;

Экспертные системы

Экспертные системы – это прикладные системы искусственного интеллекта, в которых база знаний представляет собой формализованные эмпирические знания… Структура ЭС приведена на рис. 5.9. Рис. 5.9. Структура экспертной системы

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

1. Приведите структуры следования и ветвления (полное и неполное).

2. Приведите структуры циклов Пока и До.

3. Отличие циклов До и Пока.

4. На чем основано нисходящее проектирование?

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

6. Что такое объект в объектно-ориентированном программировании?

7. Три принципа объектно-ориентированного программирования.

8. Особенность декларативного программирования.

9. Перечислите методологии программирования.

10. Что такое CASE-системы?

11. В каких областях применяются экспертные системы?

12. Что входит в состав экспертной системы?

13. Отличие знаний от данных.

14. Приведите модели представления знаний.

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

16. Что такое семантические сети в представлении знаний?

17. Что такое фреймы в представлении знаний?

18. Какие стратегии вывода для продукционной модели вы знаете?

 


Тема 6. Паскаль – структурный язык

Программирования высокого уровня

Структура программы

Паскаль-программа является текстовым файлом с собственным именем и с расширением .pas.

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

Program <Имя программы>;

<Раздел описаний>

Begin

<Тело программы>

End.

Здесь слова Program, Begin и End являются служебными.

Программа заканчивается служебным словом end, после которого ставится точка. Описания величин (в разделе Const, Var) и операторы друг от друга отделяются символом «;» (точкой с запятой).

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

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

· идентификатор должен быть уникальным, то есть одним и тем же именем разные объекты не могут быть названы;

· идентификатор имеет ограничение по длине (зависит от конкретной реализации языка на компьютере);

· идентификатор может состоять только из символов латинского алфавита, цифр и знака подчеркивания («_»);

· идентификатор не может начинаться с цифры.

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

1. Описание внешних модулей, процедур и функций (Uses);

2. Описание меток (Label);

3. Описание констант (Const);

4. Описание типов, задаваемых пользователем (Type);

5. Описание переменных (Var);

6. Описание функций и процедур (Procedure, Function).

Константы и переменные

Следует обратить внимание на то, что при записи числовых констант с дробной частью эта часть отделяется от целой точкой, а не запятой (например,… Константы, представляющие собой строковые величины, заключаются в апострофы… Описание именованных констант начинается служебным словом Const. Далее следуют записи вида: <Идентификатор> =…

Const

P=5.64;

Name1='Татьяна';

Name2='Виктор';

R21=6.33187E+03;

Тип константы определяется ее значением в разделе Const.

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

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

<Список имен переменных> : <Название типа>;

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

Пример:

Var

A,B,H_22,Angle : Real;

Name3 : String;

Flag : Boolean;

I,J,K,Count : Word;

 

Основные типы данных

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

В Паскале существует пять базовых типов данных:

1) Integer (целый);

2) Real (вещественный);

3) Char (символьный);

4) String (строковый);

5) Boolean (логический).

Целочисленные типы данных

Таблица 6.1.Целочисленные типы данных Тип Диапазон значений Требуемая память (байт) Byte 0…255 … Пример. Var

Вещественные типы данных

Таблица 6.2. Вещественные типы данных Тип Диапазон значений Мантисса Требуемая память (байт) Real … Пример. Var

Символьный тип

Символьный тип определяет множество символов кодовой таблицы ASCII. Каждому символу поставлено в соответствии число в диапазоне от 0 до 255.

Занимает в памяти 1 байт.

Пример

Var

s: char;

В программе значения переменных и констант типа char должны быть заключены в апострофы, например, ¢А¢, ¢а¢.

Определены следующие операции отношения: =, <>, <, >, <=, >=. Результат – логический тип.

Определены следующие стандартные функции:

Ord(s) – преобразует символ s в его код типа byte.

Pred(s) – возвращает предыдущий символ.

Succ(s) - возвращает следующий символ.

Примеры:

Ord( ¢:¢ ) = 58

Ord( ¢А¢ ) = 65

Pred( ¢Б¢ ) = А

Succ( ¢Г¢ ) = Д

Строковый тип

Пример Var Str: string; {будет зарезервировано 256 байт}

Логический тип

Этот тип данных представлен двумя значениями: True и False.

Занимает в памяти 1 байт.

Пример

Var

Flag: Boolean;

Для значений True и False истинны следующие соотношения:

False < True

Ord(False) = 0

Ord(True) = 1

Succ(False) = True

Pred(True) = False

Выражения, операнды, операции

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

Выражение состоит из операндов (константы, переменные и функции, над которыми выполняются операции), круглых скобок и знаков операций. Операции определяют действия, которые надо выполнить над операндами. Например, в выражении (x+y)*2 x, y и 2 – операнды, а «+», «*» – знаки операций.

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

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

Арифметические выражения и операции

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

Порядок вычисления определяется скобками и старшинством операций:

1) *, /, div, mod

2) +, -

 

Арифметические операции:

Операция Замечания  
-a Обращение знака
a+b Сложение операндов
a-b Вычитание операндов
a*b Умножение операндов
a/b Деление операндов. b<>0. Результат всегда вещественное число.
a div b Целочисленное деление. b<>0. a и b должны быть целыми числами. Пример: 7 div 2 = 3
a mod b Остаток от целочисленного деления. b<>0. a и b должны быть целыми числами. Пример: 7 mod 2 = 1

Тип константы определяется ее значением, например, -152 – целая константа, 3.2Е-2 – вещественная константа.

Тип переменной задается в разделе Var.

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

Пример. Записать арифметическое выражение и определить его тип.

Выражение будет записано: z:=(x+y)/(1-(x-y)/2)

Тип результата – вещественный, так как есть операция деления.

Логические выражения, выражения отношения

Логическим называется выражение, составленное из операндов логического типа, скобок и логических операций (Not – отрицание, And – логическое «И», Or… Рассмотрим таблицу истинности логических операций: X Y … Пусть даны две логические переменные x и y.

Совместимость и преобразование типов

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

Два типа считаются совместимыми, если:

§ оба они есть один и тот же тип;

§ оба вещественные (любые подтипы вещественного типа);

§ оба целые (любые подтипы целого типа);

§ один – вещественный тип, второй – целочисленный;

§ один – строка, второй – символ.

Особое значение совместимость приобретает в операторах присваивания.

Существует явное и неявное преобразование типов.

При явном преобразовании типов используются функции преобразования, аргументы которых принадлежат одному типу, а результат – другому (Ord, Trunc, Round, Chr).

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

Основные операторы языка

Оператор присваивания

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

Формат оператора:

<Имя переменной> := <Выражение>;

Примеры:

S:=0;

Name:=’Оля’;

S:=S+1;

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

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

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

Например, если объявлены следующие переменные

Var

I, n : integer;

D : real;

то операторы присваивания

i:=n/10; – неправильный,

i:=1.0; – неправильный,

d:=i: – правильный.

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

Составной оператор

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

Формат оператора:

Begin

<Оператор 1>;

<Оператор 2>;

......

<Оператор N>

End;

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

Оператор ввода

Формат оператора:

Read(<Список ввода>);

Readln(<Список ввода>);

Например,

read(x,y);

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

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

Разница между работой операторов Read и Readln (от Read line) состоит в следующем: после выполнения Read значение следующего данного считывается с этой же строчки, а после выполнения Readln – с новой строки.

Оператор вывода

Формат оператора:

Write(<Список вывода>);

Writeln(<Список вывода>);

Например,

Write(¢Результат=¢, Pi*r*r);

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

Различие между операторами Write и Writeln таково: после выполнения оператора Writeln (от Write line) курсор переходит на новую строчку, а после выполнения оператора Write курсор остается на строке вывода, и следующий оператор вывода начинает вывод именно с этой позиции.

Оператор Writeln без параметров (Writeln;) реализует пропуск строки и переход к началу следующей строки.

После имени переменной или выражения через двоеточие можно указать формат числа, который задает ширину поля вывода. Для переменной целого типа – это одно число, указывающее число позиций, отводимых под целое значение (например, write(x:10);). Для переменной вещественного типа – это два числа, первое из которых указывает число позиций, отводимых под все число, включая десятичную точку, второе – число позиций, отводимых под дробную часть числа (например, write(y:7:2);). Если для вещественных величин формат вывода не задан, то значение выводится в форме с плавающей точкой.

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

Program Inteface;

Uses Crt;

Var

R,S : Real;

Begin

Clrscr; {Очистка экрана}

Write('Введите радиус круга '); {Печать на экране просьбы о вводе}

Readln(R); {Ввод значения в переменную R с клавиатуры}

S:=PI*SQR(R); {Вычисление площади круга }

Writeln('Площадь круга радиусом ',R,' равна ',S);

End.

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

 

Условный оператор

Одной из основных алгоритмических структур является ветвление
(альтернатива).

Если условие выполняется, то будет выполнена инструкция «1», если нет, то – инструкция «2». Несмотря на то, что в схеме присутствуют два действия, выполнено будет только одно, так как условие либо ложно, либо истинно. Третьего не дано. Такая схема позволяет решать задачи, в которых в зависимости от сложившихся обстоятельств требуется совершить то или иное действие. Нет никакого сомнения, что число задач такого рода огромно. Более того, очень сложно придумать реально значимое задание, алгоритм выполнения которого содержал бы в себе простое прямое следование команд. Даже примитивный пример, взятый из курса математики, не может быть решен без использования ветвления: необходимо вычислить значение выражения y = 1/x. Данная функция не всегда имеет значение, то есть не для всех значений аргумента существует значение результата. Наша задача так составить алгоритм, чтобы исполнитель ни в коем случае не встал в тупик, даже при получении нуля в качестве аргумента. Сформулировать это на естественном языке нетрудно:

1. Получить значение x.

2. Если x = 0, то сообщить, что выражение значения не имеет, иначе – вычислить y как 1/x.

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

Если <условие> {Если выполняется условие}

то <действие 1> {то выполнить действие № 1 }

иначе <действие 2> {иначе – выполнить действие № 2 }

Как это записать на Паскале? Да точно так же, только по-английски.

Формат условного оператора на языке Паскаль:

If <условие>

Then <оператор 1>

Else <оператор 2>;

Обратите внимание на то, что после Then и Else стоит только один оператор. Но что делать, чтобы решить задачу, в которой по выполнению или невыполнению условия нужно совершить не одно, а несколько действий? Здесь приходит на помощь уже известный нам составной оператор. В операторные скобки можно заключить любое количество операторов.

Вариант условного оператора в этом случае:

If <условие>

Then Begin <группа операторов 1> end

Else Begin < группа операторов 2> end;

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

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

Приведем пример решения задачи: «Из двух чисел выбрать наибольшее».

Составим алгоритм и программу.

Program Example;

Var

A,B,C : Real;

Begin

Writeln('Введите два числа');

Readln(A,B); {Ввод аргументов с клавиатуры}

If A>B Then C:=A Else C:=B;

{Если A>B, то результат - A, иначе результат - B}

Writeln(¢Наибольшее число равно ¢, C);

{Вывод результата на экран}

End.

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

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

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

 

 

Program Sq1;

Var

A, B, C, D, X1, X2 : Real;

Begin

Writeln ('Введите коэффициенты квадратного уравнения');

Readln (A,B,C);

D:=B*B-4*A*C;

If D<0 Then Writeln ('Корней нет! ') Else Begin

X1:=(-B+SQRT(D))/(2*A);

X2:=(-B-SQRT(D))/(2*A);

Writeln ('X1= ', X1:8:3, ' X2= ',X2:8:3)

End

End.

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

 

Цикл. Виды Циклов

Повторять одни и те же действия можно и при помощи оператора безусловного перехода, если записать эти действия в программе одно за другим, а в конце… Цикл «ПОКА» В группе «начальные присваивания» обязательно должно быть присвоение начального значение параметру цикла.

Repeat

<оператор 1>;

<оператор 2>;

<оператор 3>;

. . .

Until <условие>;

Читается так: «Выполнять оператор 1, оператор 2. и т. д. до выполнения условия».

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

 

Цикл «С параметром».

Форматов у этого вида цикла предусмотрено два: For <П.Ц>:=<Н.З.> To <К.З.> Do <оператор>; For <П.Ц>:=<Н.З.> Downto <К.З.> Do <оператор>;

Массивы

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

Одномерные массивы

Type <Имя типа>=Array [<Диапазон индексов>] Of <Тип элементов>; В качестве индексов могут выступать переменные любых порядковых типов. При… Описать массив можно и сразу (без предварительного описания типа) в разделе описания переменных:

Двумерные и многомерные массивы

Описание двумерного массива: Var A : Array [1..20,1..30] Of Integer;

Процедуры и функции

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

Begin

<Тело процедуры>

End;

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

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

Формат описания функции:

Function <Имя функции> (<Имя форм. параметра 1>:<Тип>;

< Имя форм. параметра 2>:<Тип>) : <Тип результата>;

<Раздел описаний>

Begin

<Тело функции>

End;

В теле функции обязательно должна быть хотя бы команда присвоения такого вида: <Имя функции>:=<Выражение>;

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

Вызов процедуры представляет в программе самостоятельный оператор:

<Имя процедуры>(<Фактический параметр 1>, < Фактический параметр 2>);

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

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

Отличие функции от процедуры:

1. Заголовок функции начинается со служебного слова Function и заканчивается указанием типа значения функции;

2. Раздел операторов функции должен содержать хотя бы один оператор присваивания имени функции;

3. Обращение к функции – не оператор, а выражение.

Приведем простейший пример использования подпрограммы.

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

Program Fn;

Uses Crt;

Var

A,B,C :Real; {глобальные переменные}

Function Max(x,y:Real):Real; {Описываем функцию Max с формальными параметрами x и y}

Begin

If x>y Then Max:=x Else Max:=y;

End;

Begin {начало основной программы}

Clrscr;

Writeln('Введите три числа');

Readln(A,B,C);

Writeln('Максимальным из всех является ', Max(Max(A,B),C));

End.

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

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

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

Еще один классический пример. Задача: «Расположить в порядке возрастания три целых числа».

Program Pr;

Uses Crt;

Var

S1,S2,S3 :Integer; {глобальные переменные}

Procedure Swap(Var A,B: Integer);

Var

C : Integer; {локальная переменная}

Begin

C:=A; A:=B; B:=C {меняем местами содержимое A и B}

End;

Begin {начало основной программы}

Clrscr;

Writeln('Введите три числа');

Readln(S1,S2,S3);

If S1>S2 Then Swap(S1,S2);

If S2>S3 Then Swap(S2,S3);

If S1>S2 Then Swap(S1,S2);

Writeln('Числа в порядке неубывания: ',S1,S2:4,S3:4)

End.

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

1. Приведите структуру программы на языке Паскаль.

2. Отличие константы от переменной в языке Паскаль.

3. Перечислите базовые типы данных в языке Паскаль.

4. Перечислите арифметические операции и стандартные функции над данными целого типа.

5. Перечислите арифметические операции и стандартные функции над данными вещественного типа.

6. Какие арифметические операции невозможны над данными вещественного типа.

7. Сколько памяти занимают данные целого, вещественного и символьного типа?

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

9. Привести таблицу истинности логических операций Not, And, Or.

10. Приведите формат оператора ввода. Приведите примеры оператора ввода.

11. Приведите формат оператора присваивания. Приведите примеры оператора присваивания.

12. Приведите формат оператора вывода. Приведите примеры оператора.

13. Для чего нужно указание формата числа в операторе вывода? Приведите примеры.

14. Приведите формат условного оператора. Приведите примеры.

15. Какие операторы цикла вы знаете?

16. Чем отличается цикл While от цикла Repeat?

17. Приведите формат оператора цикла While. Приведите пример оператора.

18. Приведите формат оператора цикла Repeat. Приведите пример оператора.

19. Приведите форматы оператора цикла For. Приведите пример оператора.

20. Чему равен шаг изменения параметра цикла (счетчика) в цикле For?

21. Что называется массивом?

22. Отличие одномерного массива от двумерного.

23. Как объявить одномерный массив?

24. Как объявить двумерный массив? Пример.

25. Приведите фрагмент ввода одномерного массива с клавиатуры.

26. Приведите фрагмент ввода двумерного массива с клавиатуры.

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

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

29. Приведите фрагмент вывода одномерного массива в строку.

30. Приведите фрагмент вывода двумерного массива в виде матрицы.

31. Какие виды подпрограмм вы знаете?

32. Когда используются подпрограммы?

33. Что должна иметь в своем составе любая подпрограмма?

34. Приведите формат процедуры.

35. Приведите формат функции.

36. Где объявляются локальные переменные, а где глобальные?

37. Что такое формальные и фактические параметры подпрограмм?

38. Что означает модификатор Var, стоящий перед формальным параметром?

39. Отличие процедуры от функции.

 


Тема 7. Основные принципы построения

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

Значительное повышение эффективности ЭВМ может быть достигнуто объединением их в вычислительные сети (ВС). Под вычислительной сетьюпонимают… Вычислительная сеть – сложная система программных и аппаратных компонентов,… Программные компоненты состоят из операционных систем и сетевых приложений. Для эффективной работы сетей используются…

Основные показатели качества ИВС

2. Производительность – среднее количество запросов пользователей сети, исполняемых за единицу времени. Производительность зависит от времени… v времени передачи запроса от пользователя к узлу сети, ответственному за его… v времени выполнения запроса в этом узле;  

Виды информационно-вычислительных сетей

· локальные (ЛВС или LAN – Local Area Network); · региональные (РВС или MAN – Metropolitan Area Network); · глобальные (ГВС или WAN – Wide Area Network).

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

1. Что понимают под вычислительной сетью?

2. Основное назначение вычислительных сетей.

3. Что составляют аппаратные средства сети?

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

5. Перечислить основные показатели качества сети.

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

7. Что понимается под пропускной способностью сети?

8. Что понимается под безопасностью сети?

9. Что понимается под прозрачностью сети?

10. Что понимается под масштабируемостью сети?

11. Что понимается под универсальностью сети?

12. Перечислите и охарактеризуйте виды сетей в зависимости от территории.

13. Что такое корпоративная сеть?

14. Перечислите и охарактеризуйте виды сетей по принципу организации передачи данных.

15. Перечислите и охарактеризуйте виды сетей по топологии.

16. Охарактеризуйте принципы работы сетей с разными топологиями. Их достоинства и недостатки.


Тема 8. Способы связи компьютеров

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

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

1. Перечислите способы соединения компьютеров и виды сетей.

2. Что представляет собой временная (простейшая) компьютерная сеть?

3. Что такое нуль-модем?

4. Назначение выделенных каналов связи. Как они реализуются физически?

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

6. Что называется глобальной сетью? Приведите пример глобальной сети.

7. Что называется связью по коммутируемому каналу?

8. Что называется разделяемым (сетевым) ресурсом?

 


Тема 9. Модель взаимодействия открытых систем OSI

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

Физический уровень

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

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

Канальный уровень

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

Сетевой уровень

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

Транспортный уровень

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

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

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

Сеансовый уровень

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

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

Представительский уровень

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

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

Прикладной уровень

Блоки информации, передаваемые между уровнями, имеют стандартный формат: заголовок (header), служебная информация, данные, концевик. Каждый уровень… Средства каждого уровня отрабатывают протокол своего уровня и интерфейсы с… · спецификация услуг (что делает уровень?);

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

1. Что такое протокол сети?

2. Что такое система OSI? Сколько уровней она содержит?

3. Как называются блоки данных на каждом уровне OSI?

4. Охарактеризуйте кратко физический уровень OSI.

5. Охарактеризуйте кратко канальный уровень OSI.

6. Охарактеризуйте кратко сетевой уровень OSI.

7. Охарактеризуйте кратко транспортный уровень OSI.

8. Охарактеризуйте кратко сеансовый уровень OSI.

9. Охарактеризуйте кратко представительский уровень OSI.

10. Охарактеризуйте кратко прикладной уровень OSI.


Тема 10. Техническое и программное обеспечение ИВС

Техническое обеспечение информационно-вычислительных сетей

Структурно ИВС содержит:

· компьютеры (хост-компьютеры, сетевые компьютеры, рабочие станции, серверы), размещенные в узлах сети;

· аппаратуру и каналы передачи данных, с сопутствующими им периферийными устройствами;

· интерфейсные платы и устройства (сетевые платы, модемы);

· маршрутизаторы и коммутационные устройства.

Серверы и рабочие станции

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

Маршрутизаторы и коммутирующие устройства

Узлы коммутации вычислительных сетей содержат устройства коммутации (коммутаторы). Если они выполняют коммутацию на основе иерархических сетевых… Устройства коммутации занимают важное место в системах передачи информации в… В сетях с маршрутизацией информации возникает задача маршрутизации данных. В системах с коммутацией каналов и при…

Модемы и сетевые карты

Модем (МОдулятор-ДЕМодулятор) устройство прямого (модулятор) и обратного (демодулятор) преобразования сигналов к виду, принятому для использования в определенном канале связи.

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

Аналоговые модемы

· преобразование широкополосных импульсов (цифрового кода) в узкополосные аналоговые сигналы – при передаче; · фильтрация принятого сигнала от помех и детектирования, то есть обратного… Модемы различаются также:

Модемы для цифровых каналов связи

Цифровые модемы выпускаются для работы в конкретных цифровых технологиях: ISDN, HDSL, ADSL, SDSL и т. д. Так, например, модемы для работы в ISDN бывают как внутренними, так и… Модемы для работы в сетях xDSL имеют большие скорости, так, ADSL-модемы обеспечивают скорости 1,5–6 Мбит/с при приеме…

Сетевые карты

Сетевые адаптеры можно разделить на две группы: · адаптеры для клиентских компьютеров; · адаптеры для серверов.

Устройства межсетевого интерфейса

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

Программное обеспечение информационно-вычислительных сетей

Сетевое программное обеспечение состоит из трех составляющих: · общего программного обеспечения; · системного программного обеспечения;

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

1. Что такое сервер и рабочая станция (клиент)?

2. Перечислите и дайте краткую характеристику специализированных серверов.

3. Что такое хост-компьютеры?

4. Что такое модем и какие виды модемов вы знаете?

5. Охарактеризуйте внутренний и внешний модемы.

6. Отличие цифровых модемов от аналоговых.

7. Что представляет собой сетевая карта, перечислите основные характеристики.

8. Какие устройства межсетевого интерфейса вы знаете?

9. Назначение повторителя как устройства межсетевого интерфейса.

10. Назначение моста как устройства межсетевого интерфейса.

11. Назначение маршрутизатора как устройства межсетевого интерфейса.

12. Назначение шлюза как устройства межсетевого интерфейса.

13. Что входит в сетевое программное обеспечение?

 


Тема 11. Локальные вычислительные сети

Локальной вычислительной сетью (ЛВС)называют сеть, элементами которой являются вычислительные машины (в том числе мини- и микрокомпьютеры),… Локальная сеть обычно предназначается для сбора, передачи, рассредоточенной и… Основное назначение любой вычислительной сети – предоставление информационных и вычислительных ресурсов подключенным к…

Виды локальных сетей

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

Базовые технологии локальных сетей

Но наличие только одного, разделяемого всеми абонентами канала передачи данных ограничивает пропускную способность системы. Поэтому в современных… Наибольшее развитие в локальных сетях получили протоколы двух нижних уровней… · подуровень логической передачи данных – LLC (Logical Link Control);

Построение локальных сетей

Структуризация локальных сетей средствами канального уровня

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

Построение локальных сетей средствами сетевого уровня

Использование в качестве адреса назначения плоского МАС-адреса, связанного с сетевым адаптером, позволяет использовать лишь одноуровневую систему… Управление потоком информации при помощи коммутаторов на основе лишь данных… Сегментация вычислительной сети при помощи коммутаторов изолирует подсети в недостаточной мере в смысле защиты от…

Системное программное обеспечение вычислительных сетей

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

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

1. Назначение локальной сети.

2. Как выполняется связь локальной сети с сетью Интернет?

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

4. Виды локальной вычислительной сети по организации управления.
Их характеристика.

5. Отличие одноранговой сети от иерархической.

6. Отличие коммутатора от концентратора.

7. Что является основной задачей маршрутизатора?

8. Из каких частей состоит сетевая ОС?

 


Тема 12. Глобальная сеть Интернет

Основные понятия

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

Интернет представляет собой объединение нескольких десятков тысяч локальных сетей, за что она и получила название СЕТЬ СЕТЕЙ. Каждая локальная сеть называется УЗЛОМ или САЙТОМ, а юридическое лицо, обеспечивающую работу сайта, – ПРОВАЙДЕРОМ. Сайт состоит из нескольких компьютеров – СЕРВЕРОВ, каждый из которых предназначен для хранения информации определенного типа и в определенном формате. Каждый сайт и сервер на сайте имеют уникальные имена, посредством которых они идентифицируются в Интернете.

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

Информационные ресурсы (службы) Интернет

WORLD WIDE WEB (WWW) – Всемирная информационная паутина. Это наиболее популярная и динамично развивающаяся в настоящее время система. Информация в… Работа с ресурсами WWW обеспечивается специальными программами - браузерами.… Работа браузера всегда начинается с вывода на экран некоторой фиксированной страницы, называемой Домашней страницей.…

Програмное обеспечение работы в Интернете

Адресация и протоколы в Интернете

IР-адрес. Первая система адресов, называемая IР-адрес. IР-адрес хоста назначается провайдером и состоит из четырех групп десятичных цифр (четырех… Система доменных имен. Вторая система идентификации компьютеров называется… ru– домен страны, в данном случае обозначает все хосты России;

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

1. Что такое Интернет?

2. Что такое узел (сайт) и провайдер?

3. Перечислите информационные ресурсы Интернет.

4. Что такое WWW?

5. Что такое FTP?

6. Что такое E-mail?

7. Что такое IRC и ICQ?

8. Что такое Telnet?

9. Как называются программы для работы с WWW? Приведите пример такой программы.

10. Какие две системы адресов имеет каждый хост в сети?

11. Что представляет собой IP-адрес? Приведите пример.

12. Что представляет собой доменное имя хоста? Приведите пример.

13. Где в DNS-имени располагается домен более высокого уровня?

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

15. Что представляет собой URL-адрес?

16. Что может указываться в качестве префикса (протокола) в URL-адресе?

17. Что представляют собой E-mаil-адреса? Привести пример.

18. Назовите основной протокол Интернета.

19. Что такое домашняя страница браузера?

20. Какие средства поиска в WWW вы знаете? Привести примеры поисковых систем.

21. Назовите протоколы работы с электронной почтой.

 


Тема 13. Вирусы и антивирусное программное обеспечение

Свойства компьютерных вирусов

Что такое компьютерный вирус? Формальное определение этого понятия до сих пор не придумано, и есть серьезные сомнения, что оно вообще может быть… Прежде всего вирус – это программа. Такое простое утверждение само по себе… Вирус – программа, обладающая способностью к самовоспроизведению. Такая способность является единственным средством,…

Классификация вирусов

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

· среде обитания;

· способу заражения среды обитания;

· степени воздействию;

· особенностям алгоритма.

 

Таблица 13.1. Классификация вирусов

  ПРИЗНАКИ
  Среда обитания Способ заражения Степень воздействия Особенность алгоритма
ВИДЫ Сетевые Резидентные Неопасные Простейшие
Файловые Нерезидентные Опасные Вирусы-репликаторы
Загрузочные   Очень опасные Вирусы-невидимки
Файлово- загрузочные     Вирусы-мутанты

 

В зависимости от среды обитаниявирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные. Сетевые вирусы распространяются по различным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. в файлы, имеющие расширения COM и EXE. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Record). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.

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

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

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

· опасные вирусы, которые могут привести к различным нарушениям в работе компьютера;

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

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

Программы обнаружения и защиты от вирусов

· программы-детекторы; · программы-доктора или фаги; · программы-ревизоры;

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

1. Способы проникновения вирусов на компьютер.

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

3. Перечислите вирусы по среде обитания. Дать краткую характеристику.

4. Перечислите вирусы по способу заражения. Дать краткую характеристику.

5. Перечислите вирусы по степени воздействия. Дать краткую
характеристику.

6. Перечислите вирусы по особенностям алгоритма.

7. Дайте краткую характеристику репликаторных вирусов.

8. Дайте краткую характеристику вируса «троянский конь».

9. Дайте краткую характеристику вируса «логическая бомба».

10. Дайте краткую характеристику вирусов-мутантов.

11. Дайте краткую характеристику вируса-невидимки.

12. Перечислите виды антивирусных программ.

13. Назовите основные действия антивирусных программ- детекторов и программ-докторов.

14. Назовите основные действия антивирусных программ-ревизоров.

15. Что представляют собой антивирусные программы-фильтры и программы-вакцины (иммунизаторы).

 

Библиографический список

1. Кадырова, Г. Р. Информатика: учебно-методический комплекс / Г. Р. Кадырова; Ульян. гос. техн. ун-т. – Ульяновск: УлГТУ,2005.

2. Кадырова, Г. Р. Компьютерный практикум. Часть 1: учебное пособие / Г. Р. Кадырова. – Ульяновск: УлГТУ, 2006.

3. Кадырова, Г. Р. Компьютерный практикум. Часть 2: учебное пособие / Г. Р. Кадырова. – Ульяновск: УлГТУ, 2006.

4. Кадырова, Г. Р. Курс лекций по информатике. Часть 1: учебное пособие / Г. Р. Кадырова. – Ульяновск: УлГТУ, 2008.

5. Информатика : учеб. пособие для студ. / Сост.: А. В. Могилев, Н. И. Пак, Е. К. Хеннер. – М. : Издательский центр «Академия», 2003.

6. Информатика : учебник / под ред. Н. В. Макаровой. – Изд. 3-е – М. : Финансы и статистика, 2003.

– Конец работы –

Используемые теги: Тема, обработка, данных, средствами, электронных, таблиц0.088

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Тема 1. Обработка данных средствами электронных таблиц

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

КУРС ЛЕКЦИЙ ПО ИНФОРМАТИКЕ Тема: Базы данных, Банки Данных, Системы Управления Базами Данных — СУБД
ГОУ ВПО ВОЛОГОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Факультет промышленного менеджмента...

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

Компьютерные данные: типы данных, обработка и управление
Реляционная модель данных. 5 Заключение: Порядок выполнения практической работы 1. Компьютерные данные: типы данных, обработка и управление… Точность - это способность выполнить задачи без погрешностей или ошибок. Данную характеристику можно трактовать еще и так: - это степень соответствия меры к определенному стандарту.…

Общее понятие о базах данных. Основные понятия систем управления базами данных. Модели данных. 10
Сетевые технологии обработки данных Компоненты вычислительных сетей... Принципы организации и основные топологии вычислительных сетей Принципы... Сетевой сервис и сетевые стандарты Средства использования сетевых сервисов...

Лекция № 3. Таблицы. Типы данных и свойства полей. Создание и заполнение таблиц
Цели... Изучить таблицы и типы данных полей...

Обработка табличной информации с помощью сводных таблиц средствами Microsoft Excel
Меняя местами строки и столбцы, можно создать новые итоги исходных данных отображая разные страницы можно осуществить фильтрацию данных, а также… Другими словами эти таблицы позволяют объединить данные с разных источников,… Создание сводной таблицы Перед тем как создать сводную таблицу необходимо сначала задать данные для этой таблицы,…

Решение функциональных и вычислительных задач средствами пакета прикладных программ MathCAD2000 и электронных таблиц MS Excel
Аппроксимация 1. Решение с помощью линейной интерполяции 2. Решение с помощью параболического сплайна 3. Решение с помощью линейной аппроксимации 4.… Ни одна серьезная разработка в любой отрасли науки и производства не обходится… Система Mathcad пользуется огромной популярностью во всем мире, позволяя готовить вполне профессиональные документы,…

Курсовая работа по курсу "Вычислительная математика и программирование" по теме "Обработка экспериментальных данных"
ОДЕССКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ... Химико технологический факультет...

Лексическая тема: По родному краю. Здравницы Казахстана. Грамматическая тема: Функционально-смысловые типы речи.
Специальность Общая медицина... Кафедра русского языка... Методические рекомендации...

Тема 28 «Санитарная обработка, дезактивация, дегазация и дезинфекция».
Имени Л Н ГУМИЛЕВА... ВОЕННАЯ КАФЕДРА... Экземпляров Экземпляр...

0.035
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам