Лекции ЕН.02 Информатика

Мицкевич Андрей Анатольевич

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

Лекция1.Основы программирования на VBA

Visual Basic For Application (VBA – Visual Basic для приложений) реализован в четырех важнейших компонентах пакета Microsoft Office 97/2000. VBA представляет собой полностью унифицированный язык программирования и почти полностью унифицированную среду разработки.

VBA включает в себя основные конструкции языка Visual Basic для Windows, встроен в MS Office и приложения Office. VВА является общим для всех приложений  MS Office. В VBA применяется объектно - ориентированный подход к разработке приложений. Каждое приложение – Word, Excel, Access, PowerPoint и  др.- дополняет средства VBA новыми функциональными возможностями с помощью объектов, свойств и методов, присущих этому приложению. Как объектно – ориентированный язык программирования VBA использует следующие основные понятия: объект, свойство, метод, событие, класс и семейство объектов. Введем определения.

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

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

ОБЪЕКТ. СВОЙСТВО = ЗначениеСвойства.

Например,

……………………………………….

‘изменить имя текущего листа

ActiveSheets . Name = “Январь”

………………………………………..

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

ОБЪЕКТ.МЕТОД

Например,

………………………………………

‘удалить лист

WorkSheets(“Обзор”) . Delete

………………………………………

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

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

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

  • запись макроса при помощи макрорекодера, с последующим его редак- тированием,
  • создание макроса в редакторе VВА,
  • создание проекта в редакторе VВА.

Код VВА

Код VВА хранится в проектах. Проекты содержат модули, а модули включают процедуры и функции. Процедуры и функции содержат описания и инструкции на языке VBA.

Каждое приложение MS Office хранит проекты по своему:

  • Word сохраняет проекты в шаблонах документа (DOT) и в документах (DOC).
  • Excel сохраняет проекты в рабочих книгах (XLS).
  • Access сохраняет проекты в файлах базы данных (MDB).
  • PowerPoint сохраняет проекты в презентациях (PPT).

 Для программирования на VBA нет необходимости в обязательном порядке устанавливать какую-либо версию транслятора VB (Visual Basic). Вполне достаточно, если на компьютере будет установлен Microsoft Office 97 и выше. Для создания программы, которая называется макросом, необходимо загрузить Microsoft Word или Microsoft Excel. Далее: -Сервис-Макрос-Редактор Visual Basic. В окне проекта первой строкой записывается оператор объявления процедуры          (программы )

Sub имя()

Это стандартный заголовок макроса. Завершающей строкой процедуры является строка

End Sub

 Для запуска программы из редактора - клавиша F5. Для запуска программы из документа — alt+F8.

Элементы языка VBA

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

  • Длина имен не должна превышать 255 символов.
  • Имена должны начинаться с буквы и могут содержать комбинацию букв, цифр и символов.
  • Имена не должны совпадать со стандартными именами Visual Basic.
  • Имена не должны включать точек, пробелов и следующих символов:! @ # $ %. Символ пробела можно заменить символом подчеркивания _.

Регистр букв в именах не имеет значения, т.е. следующие имена РRIСЕ, Рriсе и price — эквивалентны.

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

Н123, Price, Sale

Неправильно записанные имена:

21days начинается с цифры;

Price Sale содержит символ пробела;

Dim совпадает со служебным словом языка.

Дадим также несколько определений элементам VBA.

Ключевые слова — это слово или символ, которые являются элементом языка программирования Visual Basic, это может быть инструкция, имя функции, оператор. Например: SUB, DIM, CONST.

Выражение — это комбинация ключевых слов, операций, констант. Резуль- татом выражения может быть строка, логическое значение или число. Примеры выражений: Х+3; Z<>0; 11.

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

Лекция 2.Типы данных языка VBA

Visual Basic имеет 11 встроенных типов данных:

Тип данных

Размер в байтах

Разрядность цифр

Диапазон значений

Boolean

2

1

логический

True или False (да - нет, включен - отключен)

Integer

2

5

целое

От (-32768) до 32768

Long

4

10

длинное целое

От (-2147483648) до 2147483647

Single

4

7

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

От (–3.402823Е+38) до (–1.401298Е-45) и от 1.401298Е-45 до 3.402823Е+38

Double

8

15

действительное двойной точности

От ± 1.79769313486232Е+308 до ± 4.94065645841247Е-324

Currency

8

19

денежный

От (–922337203685477.5808) до 922337203685477.5807

Date

8

-

для дат и времени

От 01.01.100 до 31.12.9999

String

1

+1

символьный

на любой символ - От 0 до 65535 символов

Object

4

-

Любой объект

Array

Определяется количеством и размером элементов

-

массивы

-

Variant

Определяется записанными данными

-

Любой из встроенных типов данных

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

Boolean использует для хранения значения 2 байта памяти – как и тип Integer, хотя может принимать значения либо 0 (ложь - False), либо (True – правда). Для хранения этой информации достаточно 1 бита, а занимается 16 бит.

Integer предназначен для хранения смещенного целого числа, т.е. с указанием знака числа “+” или “-”. Из 16 бит 1 используется для хранения знака, а остальные – для значащих цифр.

Long используется для хранения смещенного целого числа с двойным разрешением по сравнению с Integer и, соответственно, занимает в два раза больше памяти. Из 32, занимаемых в памяти бит, 1 предназначается для хранения знака, 31 – для хранения самого числа.

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

Currency предназначен для хранения действительного числа с фиксированной точкой, которая всегда располагается между 4 и 5 цифрами справа.

ПРИМЕР: 0.0021 46.7280 Этот тип специально предназначен для получения минимальных ошибок округления и чаще всего используется в бухгалтерских расчетах.

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

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

Пример: 05.03.1994 18.00 запишется как 34398.75. При работе с Excel следует помнить, что в нем диапазон используемых дат – от 01.01.1900 до 31.12.2078. Сам VBA позволяет оперировать датами в диапазоне 01.01.100 – 31.12.9999

String используется для хранения текста по одному байту на символ, добавляя к этому количеству еще один – для обозначения конца строки.

Object предназначен для ссылок на любой объект VBA

Array определяет индексный список величин одного и других типов - массив.

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

Переменные

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

Область определения переменной определяет, где можно использовать переменную. В VВА есть три уровня определения переменных.

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

Например:

Dim x As Single        ‘переменная x описана как действительная одинарной точности

Dim  I As Integer        ‘переменная I описан как целая

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

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

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

Если переменная не описана, то ей присваивается  тип Variant при вводе имени переменной.

Константы

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

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

Примеры описания констант:

Const Pi as Double = 3.1415926  ‘описана константа Pi

Const Name = "Visual Basic"    ‘описана константа строкового типа.

Операции

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

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

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

Математические и строковые операции VBA в порядке убывания приоритета Операция

Выполняемое действие

^

Возведение в степень

-

Отрицание

?

Умножение

/

Деление 1

\

Целочисленное деление

Mod

Определение остатка от деления

+

Сложение

-

Вычитание

&

Объединение (конкатенация) строк

Правила записи арифметических выражений в языке Бейсик.

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

b) При записи десятичных дробей для отделения целой части от дробной используется десятичная точка.

с) Знаки арифметических операций опускать нельзя.

d) Если в десятичной дроби нет целой части, то ноль перед десятичной точкой можно опустить.

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

Логические операции

Логические выражения в математической логике оперируют с логическими переменными. Логические переменные имеют в современных языках программирования тип Boolean, что означает - булева(я) или логическая. Логическая переменная в процессе выполнения программы может принимать только два значения —  "True" или "False". Определить логическую переменную можно, присвоив ей значение логического выражения.

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

 Операции отношения:

• = (равно)

• <> (не равно)

• < (меньше)

• > (больше)

• <= (меньше или равно)

• >= (больше или равно)

Например: а>b   и    b< =а+2 .

Логические выражения могут быть связаны знаками логических операций:

OR  - Логическое сложение (ИЛИ),

AND  - Логическое умножение (И),

NOT  -  Логическое отрицание (НЕ),

XOR  - Исключающее ИЛИ,

EQV  - Логическая эквивалентность,

IMP  - Логическая импликация .

Операция конкатенации

        Операция используется для сцепления двух или нескольких строк, обозначается знаком «+». Результатом будет строка, состоящая из строк – операндов.

Например,

операнд1=”язык”

операнд2=”Visual Basic”

результатом операции

“язык” + “Visual Basic”

будет строка

“язык Visual Basic”.

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

Функция

Выполняемое действие

Atn(x)

Возвращение арктангенса угла в радианах arctg x

Sin(x)

Возвращение синуса угла в радианах sin x

Cos(x)

Возвращение косинуса угла в радианах cos x

Tan(x)

Возвращение тангенса угла в радианах tg x

Exp(x)

Возвращение значения ex, где x - значение переменной или введенное число

Log(x)

Возвращение натурального логарифма числа ln x

Sqr(x)

Возвращение квадратного корень числа

Abs(x)

Возвращение абсолютного значения числа (по модулю)|x|

Функции преобразования типов Str() и Val()

Str(число)

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

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

Примечание.

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

Val(crpoкa)

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

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

В следующем примере возвращается числовое значение 1615198:

Vаl(" 1615 198-я ул.  Н.Й.")

Организация ввода/вывода информации

Диалоговые функции ввода/вывода информации

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

Функция InputBox

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

InputBox (сообщение [, заголовок] [, текст по умолчанию] )

сообщение — текст в диалоговом окне.

заголовок — строковое выражение, отображаемое в строке заголовка диалого- вого окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения.

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

Если пользователь нажимает кнопку ОК или клавишу ENTER, функция InputBox возвращает содержимое поля ввода.

Пример. Ввести значение X=0.5.

………………………………….

X=Val(InputBox(“Введите X”))

…………………………………..

В диалоговом окне ввести с клавиатуры 0.5.

Функция MsgBox

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

Синтаксис :

MsgBox (сообщение [, кнопки] [, заголовок] )

сообщение — строковое выражение, отображаемое в диалоговом окне.

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

заголовок — строковое выражение, отображаемое в строке заголовка диалого- вого окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения.

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

Пример. Вывести результат на экран монитора.

…………………………………………

MsgBox(“Ответ=” + Str(y))

…………………………………………

Использование окна отладки

 Окно отладки можно вывести на экран при помощи команды Вид - Окно отладки или нажав клавиши + .

Для вывода текущих значений в окно Проверка непосредственно из макроса необходимо ввести в нужном месте кода макроса команду Debug с единственным методом Print. Синтаксис 

Debug.Print выражение.

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

Пример.

…………………….

Debug.Print y

……………………

Использование объектов Excel

Объект WorkSheet – это лист рабочей книги. Он входит в коллекцию всех листов рабочей книги - семейство Sheets.Этот объект можно использовать для ввода/вывода данных. В этом случае к этому объекту можно применить метод Select, позволяющий выбирать конкретный лист. Например,

Sheets (“Лист1”) . Select

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

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

X=Cells(2,1)

Пример.

Вывести значения переменных s и p во вторую и третью строки второй колонки (столбец В) третьего листа соответственно.

…………………………………………………………………….

Sheets(“Лист3”).Select                ‘переходим на третий лист

Cells(2,8)=s                                ‘выводим s

Cells(3,8)=p                                ‘выводим p

…………………………………………………………………….

Часто используется свойство Value, возвращающее содержимое ячейки. Например,

Cells(2,8).Value=s                ‘выводим s

Операторы языка VBA и реализация основных алгоритмических конструкций

В языке VВА используется множество инструкций или операторов. Они служат для выполнения каких-либо стандартных действий. Условно из них можно выделить группы.

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

Например: 

REM произвольный текст комментария

 ' произвольный текст комментария

Al=5 ' комментарий к строке оператора

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

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

ПЕРЕМЕННАЯ = ВЫРАЖЕНИЕ

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

Выделяют следующие алгоритмические структуры:

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

ГОСТом установлены следующие геометрические фигуры для обозначения действий:

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

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

При составлении линейных программ необходимо:

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

Пример. Вычислить значение выражения         для любых a и b.

Программа

Sub Lin()

Dim a As Double, x As Double

a = Val(InputBox("Введите а"))  'ввод значения переменной a

x = Val(InputBox("Введите x")) 'ввод значения переменной x

b = 1 / (x) ^ (1 / 4)   'вычисляем значение b'

c = Sin(a ^ 2 + b ^ 2) 'вычисляем значение C

MsgBox ("Ответ=" + Str(c))

End Sub

Пример. Составить программу для вычисления площади S треугольника ABC по заданным значениям сторон a,b,c.

Программа

Sub Geron()

Dim a, b, c, p, s As Double

a = Val(InputBox("Введите a"))  'ввод значения переменной a

b = Val(InputBox("Введите b"))  'ввод значения переменной b

c = Val(InputBox("Введите c"))  'ввод значения переменной c

'P - полупериметр,S - площадь

p = (a + b + c)

s = Sqr(p * (p - a) * (p - b) * (p - c))

Cells(1, 1) = "Площадь="

Cells(1, 2) = s

End Sub

Операторы управления порядком выполнения команд

Обычно выполнение макроса начинается с выполнения инструкций SUB или FUNCTION и продолжается в порядке следования строк с операторами до тех пор, пока не встретится инструкция END SUB или END FUNCTION.

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

Оператор безусловного перехода  GoТо

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

Синтаксис инструкции GoTo:

 Gото строка

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

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

Примечание.

Слишком большое число инструкций GoTo затрудняет чтение и отладку программ. По воэможности следует использовать структурные управляющие инструкции (Do...Loop, For...Next, If...Then...Else, Select Case). Инструкция GoTo в VBA применяется, главным образом, для обработки ошибок.

Оператор If... Then... Else

Условный оператор If... Then...Else выполняет определённые инструкции или наборы инструкций в зависимости от значения заданных условий.

Синтаксис, т.е. правила записи строчной инструкции If...then...else следующий:

If условие Then [оператор1] [Else оператор2] .

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

Обязательный параметр условие — представляет собой логическое выражение, которое возвращает значение (истина) TRUE или (ложь) FALSE. Если условие равно TRUE, то выполняется оператор1, если условие равно FALSE, то выполняется оператор2. Далее выполняется, если иное не предусмотрено программой в операторах1 или 2, инструкция, следующая по порядку за строкой с инструкцией If... Then...Else.

Часть оператора If, а именно ключевое слово Else и следующие за ним инструкции можно опустить, тогда при условии равном FALSE выполняется оператор, следующий за строкой с инструкцией If. Т.е. инструкция If  выглядит так:

If условие Then [оператор]

Примечание.

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

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

If  условие Then

[Блок операторов]

 [Else

[Блок операторов]]

 End If

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

Оператор Select Саsе

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

Синтаксис инструкции

Select Саsе выражение

 [Case список условий-1

 [операторы-1]] 

[Саsе список условий-2 

[операторы-2]]

[Саsе список условий-n 

[операторы-n]]

[Case Else

[операторы_ else]]

End Select

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

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

  1. Саsе КОНСТАНТА1, КОНСТАНТА2, KOHCTAHTA3, ...
  2.  Саsе Is ЗНАК_ ОТНОШЕНИЯ КОНСТАНТА
  3. Case КОНСТАНТА1 to КОНСТАНТА2

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

КОНСТАНТА1<=выражение<=КОНСТАНТА2.

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

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

Пример. Дано действительное число x. Вычислить y.

Программа.

Sub Raz2()

Dim x, y As Double

x = Val(InputBox("Введите x"))  'ввод значения переменной x

If x > 0 Then y = Sin(x) Else y = 2 * x

MsgBox ("Значение y=" + Str(y#))

End Sub

Пример. Дано действительное число x. Вычислить y.

Программа

Sub Raz3()

Dim x, y As Double

x = Val(InputBox("Введите x"))

If x < 0.1 Then y = Cos(x ^ 2) Else If x > 0.1 Then y = Exp(x) Else y = x ^ 3 - 2

MsgBox ("Значение y=" + Str(y#))

End Sub

Пример. Даны три числа. Выяснить, существует ли треугольник с такими сторонами.

Программа

Sub Treug()

Dim a, b, c As Double

a = Val(InputBox("Введите сторону a"))

b = Val(InputBox("Введите сторону b"))

c = Val(InputBox("Введите сторону c"))

If (a + b) > c And (b + c) > a And (a + c) > b Then MsgBox ("Треугольник существует") Else MsgBox ("Треугольник не существует")        оператор печатать в одной строке

End Sub

Пример. Дано действительное число x. Вычислить z,y,h, если известно, что

Программа

Sub Raz3()

Dim x, z, y, h As Double

x = Val(InputBox("Введите x"))

If x > 0.8 Then

z = 2 * Sin(x)

y = Log(x) + 4 * x

h = Cos(x)

Else

    If x = 0.8 Then

    z = Sqr(Sin(x))

    y = Cos(x ^ 2) + x

    h = 2 * x

    Else

    z = Abs(x - 2)

    y = 2 + x ^ 2 * Sin(x)

    h = 0

    End If

End If

Cells(1, 1) = "x=": Cells(1, 2) = x

Cells(2, 1) = "z=": Cells(2, 2) = z

Cells(3, 1) = "y=": Cells(3, 2) = y

Cells(4, 1) = "h=": Cells(4, 2) = h

End Sub

Программирование алгоритмов циклической структуры

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

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

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

Оператор цикла While... Wend

Оператор имеет синтаксис

While условие

 [операторы]

 Wend

Синтаксис инструкции While... Wend содержит следующие элементы:

условие — обязательный элемент. Числовое выражение или строковое выражение, которое имеет значение True или False.

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

Этот оператор называют оператором цикла с предусловием. Выполняется оператор While... Wend следующим образом. Если условие имеет значение True, выполняются все операторы до инструкции Wend. Затем управление возвращается инструкции While и вновь проверяется условие. Если условие по-прежнему имеет значение True, процесс повторяется. Если оно не имеет значение True, выполнение возобновляется с инструкции, следующей за инструкцией Wend. В связи с этим  элемент условие здесь является условием выполнения цикла. Циклы While... Wend могут иметь любую глубину вложенности.

Оператор цикла Do...Loop

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

Do

[операторы] 

Loop  Until [условие]

Синтаксис инструкции Do Loop содержит следующие элементы:

 условие — необязательный элемент. Числовое или строковое выражение, которое имеет значение True или False.

операторы— один или несколько операторов, выполнение которых повто- ряется, пока условие не приобретет значение True.

Этот оператор называют оператором цикла с постусловием. Выполняется оператор Do...Loop следующим образом. Если условие имеет значение False, выполняются все операторы после инструкции Do. Затем управление передается инструкции Until и вновь проверяется условие. Если условие по-прежнему имеет значение False , процесс повторяется. Если оно имеет значение True, управление передается следующему за инструкцией Loop Until оператору. В связи с этим  элемент условие здесь является условием выхода из цикла.

Оператор цикла For...Next.

Часто при составлении макроса заранее известно количество повторений группы операторов, в таких случаях можно использовать инструкцию For...Next.

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

Синтаксис инструкции For...Next

For счетчик = начало То конец [step шаг]

 [операторы]

Next [ счетчик] 

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

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

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

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

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

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

Допускается вложение циклов For...Next (один цикл For...Next располагается внутри другого). Счетчик каждого цикла должен иметь уникальное имя.

Пример. Составить таблицу значений функции y=x2 на отрезке [2,8] с шагом 0.5.

Программа

Sub Tablica()

Dim x, y As Double, i As Integer

i = 1

Cells(1, 1) = "X": Cells(1, 2) = "Y"

For x = 2 To 8 Step 0.5

y = x ^ 2

i = i + 1

Cells(i, 1) = x: Cells(i, 2) = y

Next x

End Sub

Пример. Вычислить сумму квадратов n чисел: 1,4,9,16,25,… . Число n  задать произвольно при вводе.

Программа

Sub sum()

Dim n, i As Integer, s As Double

n = Val(InputBox("Введите количество слагаемых n"))

s = 0

For i = 1 To n

s = s + i ^ 2

Next i

MsgBox ("Сумма s=" + Str(s#))

End Sub

Пример. Вычислить произведение квадратов n чисел: 1,4,9,16,25,… . Число n  задать произвольно при вводе.

Программа

Sub Proiz()

Dim n, i As Integer, p As Double

n = Val(InputBox("Введите количество слагаемых n"))

p = 1

For i = 1 To n

p = p * i ^ 2

Next i

MsgBox ("Произведение p=" + Str(p#))

End Sub

Пример. Дана числовая последовательность:

Вычислить сумму данной последовательности при n= с точностью 0.000001.

Программа

Sub Iter()

Dim a, e, s As Double

a = 1                   'первый член ряда

s = a                   'сумма ряда

e = Val(InputBox("Введите точность вычислений"))

Do                      'начало цикла

a = -a / 2              'вычисляем очередной член последовательности

s = s + a               'накапливаем сумму

Loop Until Abs(a) < e   'конец цикла

MsgBox ("Сумма s=" + Str(s#))

End Sub

Вложенные циклы

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

Пример. Составить таблицу значений функции                                на отрезке [1,4] c шагом h=0.5.

Программа

Sub VlCircle()

Dim x, s, a, b, h As Double, i, n, k As Integer

a = Val(InputBox("Введите а"))

b = Val(InputBox("Введите b"))

h = Val(InputBox("Введите шаг h"))

n = Val(InputBox("Введите количество слагаемых n"))

k = 1

Cells(1, 1) = "X": Cells(1, 2) = "S"

For x = a To b Step h

s = 0

For i = 1 To n

s = s + x / i

Next i

k = k + 1

Cells(k, 1) = x: Cells(k, 2) = s

Next x

End Sub



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

Массивы

Массивом называется упорядоченная последовательность величин, обозначаемая одним именем. Упорядоченность заключается в том, что элементы массива располагаются в последовательных ячейках памяти. Чтобы получить доступ к нужному элементу массива нужно указать имя массива и индекс этого элемента. Имя массива образуется также как имя переменой. Различают одномерные и двумерные массивы. Одномерный массив – это список переменных, двумерный массив – таблица, имеющая строки и столбцы. Элементы одномерного массива снабжаются одним индексом, заключенным в круглые скобки. Он определяет порядковый номер элемента в массиве. Элементы двумерного массива снабжаются двумя индексами, заключенными в квадратные скобки и разделенными запятой. Первый индекс номер строки, второй номер столбца, на пересечении которых расположен элемент в таблице (матрице). Например: A(5)=3, B(2,3)=6. Все используемые массивы должны быть описаны до их использования в программе.  

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

Оператор Dim применяется для описания переменных и выделения для них памяти.

Синтаксис инструкции

Dim имя переменной [(индексы)] [As тип]

имя переменной — обязательный элемент, содержит имя переменной;

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

mun — необязательный элемент, это тип данных переменной. Если тип данных не указан, по умолчанию переменная получает тип Variant.

Например:

Dim Num As Integer        ‘явно объявляет переменную целого типа .

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

Dim B(3,3) As Single

Dim A(11) As Integer

Первый оператор объявляет двумерный массив 3*3 матрицу, состоящую из действительных чисел. Второй оператор объявляет одномерный массив (вектор) из 12 целых чисел, причем по умолчанию первый элемент массива будет А(0) а последний А(11). В этом случае говорят, что 0 -  базовый индекс. Можно изменить базовый индекс, написав в области описания модуля инструкцию Option base 1. После этого индексы массивов будут нумероваться с единицы. Другим способом изменения базового индекса является использование ключевого слова To при объявлении массива:

Dim B(1 To 3, 1 To 3) As Single

Dim A(1 To 12) As Integer

Массив в программе определяется поэлементно. Например:

Dim B(1 To 2, 1 To 3) As Single

B(1,1)=2: B(1,2)=5: B(1,3)=4:

B(2,1)=7: B(2,2)=1: B(2,3)=3

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

Dim A As Variant

A= Array(10,40,60)

Здесь A(0)=10, A(1)=40, A(2)=60.

Удобным способом ввода/вывода массивов является использование рабочего листа Excel. Исходный массив считывается из соответствующих ячеек рабочего листа, выводится массив также в ячейки рабочего листа. В этом случае используется оператор цикла For…Next и свойство Cells() для указания конкретного местоположения элемента массива. Если макрос написан для того же рабочего листа, где располагаются элементы массива, то указание на выбор этого рабочего листа можно опускать.

Рассмотрим некоторые алгоритмы обработки одномерных массивов.

Поиск максимального элемента

Пример. Дан массив A из пяти чисел. Найти максимальный элемент массива и его индекс.

Программа  

Sub Massiv()

Dim a(5) As Single

Dim max As Single, i, k As Integer

'ввод массива

For i = 1 To 5

a(i) = Cells(1, i + 1)

Next i

max = a(1)

k = 1               'индекс максимального элемента

For i = 1 To 5

If max < a(i) Then max = a(i): k = i

Next i

MsgBox ("Максимальный элемент=" + Str(max!))

MsgBox ("Индекс максимального элемента k=" + Str(k))

End Sub

Поиск количества элементов по данному правилу

Пример. Дан массив А из пяти чисел. Найти количество положительных элементов массива.

Программа

Sub Kol()

Dim a(5) As Single

Dim i, k As Integer

For i = 1 To 5

a(i) = Cells(1, i + 1)

Next i

k = 0

For i = 1 To 5

If a(i) > 0 Then k = k + 1

Next i

MsgBox ("Количество положительных элементов k=" + Str(k))

End Sub

Нахождение элементов массива по элементам другого массива

Пример. Дан вектор А(5). Найти элементы вектора В(5) по следующему правилу: bi=sin(ai),I=1,…5.

Программа

Sub NewMassiv()

Dim a(5), b(5) As Single

Dim i As Integer

'ввод массива a(5)

For i = 1 To 5

a(i) = Cells(1, i + 1)

Next i

For i = 1 To 5

b(i) = Sin(a(i))

Next i

'вывод нового массива b(5)

Cells(3, 1) = "Массив b(5)"

For i = 1 To 5

Cells(3, i + 1) = b(i)

Next i

End Sub

Умножение двух векторов

Пример. Найти скалярное произведение двух векторов А(5) и С(5).

Программа

Sub SkalProiz()

Dim a(5), c(5) As Single

Dim i As Integer, s As Single

'ввод массива a(5)

For i = 1 To 5

a(i) = Cells(1, i + 1).Value

Next i

'ввод массива c(5)

For i = 1 To 5

c(i) = Cells(7, i + 1).Value

Next i

s = 0

For i = 1 To 5

s = s + a(i) * c(i)

Next i

MsgBox ("Скалярное произведение s=" + Str(s))

End Sub

Некоторые алгоритмы обработки матриц

Поиск минимального элемента матрицы

Пример. Дана матрица А(2,3). Найти минимальный элемент.

Программа

Sub MinMat()

Dim a(2, 3) As Single

Dim min As Single, i, j As Integer

'ввод матрицы

For i = 1 To 2

For j = 1 To 3

a(i, j) = Cells(i + 1, j)

Next j

Next i

min = a(1, 1)

For i = 1 To 2

For j = 1 To 3

If a(i, j) < min Then min = a(i, j)

Next j

Next i

MsgBox ("Минимальный элемент min=" + Str(min))

End Sub

Умножение матрицы на вектор

Пример. Дана матрица А(2,3) и вектор В(3). Найти произведение А*В.

Программа

Sub UmnMatNaVec()

Dim a(2, 3) As Single, b(3) As Single, c(2) As Single

Dim s As Single, i, j As Integer

'ввод матрицы

For i = 1 To 2

For j = 1 To 3

a(i, j) = Cells(i + 1, j)

Next j

Next i

'ввод массива

For i = 1 To 3

b(i) = Cells(4, i + 1)

Next i

For i = 1 To 2

s = 0

For j = 1 To 3

s = s + a(i, j) * b(j)

Next j

c(i) = s

Next i

'вывод нового массива b(5)

Cells(6, 1) = "Массив c(2)"

For i = 1 To 2

Cells(6, i + 1) = c(i)

Next i

End Sub

Подпрограммы и функции

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

— это подпрограмма-функция. Подпрограмма Function и подпрограмма Sub являются самостоятельной программой, которая может получать аргументы, выполнять последовательность операторов и изменять значения своих аргументов. Различие между процедурами и функциями состоит в том, что функция всегда возвращает значение и процедура Function может применяться в правой части выражения, как и любая другая встроенная функция, например, Sqr, Cos или Chr, а процедура Sub не может. Для работы подпрограммам иногда необходимо передать данные, которые носят названия параметров или аргументов подпрограммы. Параметры передаются в подпрограммы при ее вызове при помощи перечисления их после имени подпрограммы. При этом описание действий в подпрограмме осуществляется с  использованием формальных параметров. Обращение к подпрограмме осуществляется с фактическими параметрами, которые должны соответствовать формальным по числу, типу и месту расположения.

Оператор Sub...End Sub

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

Синтаксис инструкции

Sub имя [(слисока аргументов)]

 операторы

End Sub

Здесь

имя — обязательный элемент, это имя процедуры Sub, удовлетворяющее =: стандартным правилам именования переменных.

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

операторы— любая группа операторов, выполняемых в процедуре Sub, находятся между Sub и End Sub.

Не допускается определение процедуры Sub внутри другой процедуры Sub или Function.

Оператор вызова подпрограмм Call

Обращение к процедуре осуществляется с помощью оператора Call.

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

Call  имя подпрограммы [параметры]

Синтаксис инструкции Call содержит следующие элементы:

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

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

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

Оператор Function...End Function 

Описывает имя, аргументы и текст программы, составляющий тело подпрограммы- функции Function.

Синтаксис инструкции

Function имя [(список аргументов)] [As тип]

операторы 

[имя = выражение] 

End Function

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

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

mun — необязательный элемент. Тип данных значения, возвращаемого подпрограммой Function.

операторы— элемент, содержащий любую группу операторов, выполняемых внутри процедуры Function.

выражение —  возвращаемое значение подпрограммой Function.

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

Пример. Вычислить полярные координаты точки, если известны ее декартовы координаты. Связь полярных и декартовых координат определяется по формулам: x=R Cosα ;  y=R Sinα .

Программа

Sub PolKoord()

Dim x As Double, y As Double

Cells(1, 7) = "Полярные координаты"

Cells(1, 7).Interior.ColorIndex = Int(Rnd * 10)

x = Val(InputBox("Введите x"))

y = Val(InputBox("Введите y"))

Cells(2, 7) = "Радиус"

Cells(2, 8) = Radius(x, y)

Cells(3, 7) = "Угол"

Cells(3, 8) = Ugol(x, y)

End Sub

Function Radius(x As Double, y As Double) As Double

Radius = (x ^ 2 + y ^ 2) ^ (1 / 2)

End Function

Function Ugol(x As Double, y As Double) As Double

Dim I1, I2, I3 As Boolean

Ugol = Atn(y / x) * 180 / (3.14152654)

I1 = x < 0 And y > 0

I2 = x < 0 And y < 0

I3 = x > 0 And y < 0

If I1 Or I2 Then Ugol = Ugol + 180

If I3 Then Ugol = Ugol + 360

End Function

Пример. Решить систему уравнений методом Гаусса.

Программа

Sub Method()

Dim a(3, 4), x(3), a1(3, 3)

n = 3

For i = 1 To n

For j = 1 To n + 1

a(i, j) = Cells(i + 1, j)

Next j

Next i

For k = 1 To n - 1

Call max(a(), n, k)

Call gauss(a(), n, k)

Next k

Call obr(a(), n, x())

Cells(6, 1) = "Вектор x"

For i = 1 To n

Cells(6, i + 1) = x(i)

Next i

End Sub

Sub max(a(), n, k)

h = Abs(a(k, k))

For i = k To n

If Abs(a(i, k)) > h Then h = Abs(a(i, k)): l = i

Next i

For j = 1 To n + 1

s = a(k, j): a(k, j) = a(l, j): a(l, j) = s

Next j

End Sub

Sub gauss(a(), n, k)

For i = k + 1 To n

d = a(k, k)

w = a(i, k)

For j = k To n + 1

a(i, j) = a(i, j) - a(k, j) / d * w

Next j

Next i

End Sub

Sub obr(a(), n, x())

x(n) = a(n, n + 1) / a(n, n)

For k = n - 1 To 1 Step -1

s = 0

For j = k + 1 To n

s = s + a(k, j) * x(j)

Next j

x(k) = (a(k, n + 1) - s) / a(k, k)

Next k

End Sub



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

ГБОУ СПО «Армавирский зооветеринарный техникум» КК

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

ГБОУ СПО «Армавирский зооветеринарный техникум»

 Краснодарского края

УТВЕРЖДАЮ

Зам.директора по УНИР

_________ Л.М. Штефанова

«___» _________ 2012г.

«Безопасность, гигиена, эргономика, ресурсосбережение. Защита информации, антивирусная защита»

Методическая разработка открытого урока

по дисциплине «Информатика и ИКТ»

Разработала преподаватель -  В.Н. Галицына

2013г.

ОДОБРЕНА                                                

Предметной (цикловой)                                

комиссии естественно-математических                

дисциплин АЗВТ                                

Протокол № ____ от «___» ________200__ г.        

Председатель П(Ц)К                

____________ В.Н.Галицына                            

Автор:   В.Н.Галицына                

Рецензенты:

                   И.Г. Акименко  -  преподаватель информатики

                   Л.В. Разумовская  -  преподаватель математики

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

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

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

Введение

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

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

Сущность комбинированных уроков и его этапы.

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

  1. организация учащихся к занятиям;
  2. повторительно-обучающая работа по пройденному материалу;
  3. работа по осмыслению и усвоению нового материала;
  4. работа по закреплению изложенного материала;
  5. работа по применению знаний на практике и формированию умений и навыков;
  6. задавание домашнего задания.

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

1

Урок № 30

Тема: «Безопасность, гигиена, эргономика, ресурсосбережение. Защита информации, антивирусная защита.

Цель урока:

Образовательная:

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

Развивающая:

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

- развитие способности логически рассуждать, делать выводы;

- развитие коммуникативной компетенции;

Воспитательная

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

Тип урока: комбинированный.

План урока

  1. Повторение изученного на предыдущем уроке материала. Беседа.
  2. Тестирование знаний по теме «Программное обеспечение компьютера».
  3. Объяснение нового материала.
  4. Знакомство с антивирусной программой.
  5. Проверка собственной флэш- карты на наличие вирусов.
  6. Познакомиться с дополнительным материалом.
  7. Домашнее задание.

Ход урока

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

Вопросы для повторения:

  1. С какой темой мы познакомились на прошлом уроке?
  2. Какие виды программного обеспечения вы знаете?
  3. Какое самое важное программное обеспечение на компьютере?
  4. Как происходит загрузка операционной системы?
  5. Какие виды операционных систем вы знаете?
  6. Приведите примеры операционных систем.
  7. Какие еще программы относятся к системным?
  8. Какие функции они призваны выполнять?
  9. Что такое прикладное программное обеспечение?
  10. Приведите примеры прикладных программ.
  11. Для чего нужны инструментальные программы?
  12. Какие вы знаете языки программирования?

II. Тестирование знаний по теме «Программное обеспечение компьютера».

1. Компьютер — это:

а) устройство для работы с текстами;

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

2

в) устройство для хранения информации любого вида;

г) многофункциональное электронное устройство для работы с информацией;

д) устройство для обработки аналоговых сигналов.

2. Во время исполнения прикладная программа хранится:

а) в видеопамяти;                

б) в процессоре;                        

в) в оперативной памяти;                

г) на жестком диске;д)         

д) в ПЗУ.

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

а) дисковод;                

б) оперативную память;                

в) мышь;        

г) принтер;        

д) сканер.

4. Для долговременного хранения информации служит:

а) оперативная память;        

б) процессор;        

в) внешний носитель;        

г) дисковод;        

д) блок питания.

5. Файл — это:

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

б) объект, характеризующийся именем, значением и типом;

в) совокупность индексированных переменных;        

г) совокупность фактов и правил;                

д) термин.

6. Расширение имени файла, как правило, характеризует:

а) время создания файла;                

б) объем файла;                

в) место, занимаемое файлом на диске;

г) тип информации, содержащейся в файле;        

д) место создания файла.

7. Текстовый редактор представляет собой программный продукт, входящий в состав:

а) системного программного обеспечения;                        

б) систем программирования;

в) прикладного программного обеспечения;

г) уникального программного обеспечения;

д) операционной системы.

8. Система управления базами данных представляет собой программный продукт, входящий в состав:

а) операционной системы;                                        

б) системного программного обеспечения;

в) систем программирования;                                

г) уникального программного обеспечения;

д) прикладного программного обеспечения.

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

а) прикладного программного обеспечения;                

б) системного программного обеспечения;

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

г) систем программирования;

д) уникального программного обеспечения.

10. Операционная система — это:

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

3                

б) система программирования на языке низкого уровня;

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

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

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

11. В файле command.com находятся:

а) внутренние команды DOS;                

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

в) внешние команды DOS;                        

г) драйверы;                

д) трансляторы.

12. Программы обслуживания устройств компьютера называются:

а) загрузчиками;        

б) драйверами;

в) трансляторами;        

г) интерпретаторами;        

д) компиляторами.

13. Программы, встроенные (“вшитые”) в ПЗУ, входят в состав:

а) загрузчика ОС;                

б) файла IO.SYS;         

в) файла MSDOS.SYS;        

г) BIOS;

д) файла COMMAND.COM.

III. Объяснение нового материала.

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

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

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

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

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

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

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

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

Различные вирусы выполняют различные действия:

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

4

  • Создают звуковые эффекты (проигрываю гимн, гамму или популярную мелодию);
  • Создают видеоэффекты (переворачивают или сдвигают экран, имитируют землетрясение, вызывают падение букв в тексте или симулируют снегопад, имитируют скачущий шарик, прыгающую точку, выводят на экран рисунки и картинки);
  • Замедляют работу ЭВМ, постепенно уменьшают объем свободной оперативной памяти;
  • Увеличивает износ оборудования (например, головок дисководов);
  • Вызывают отказ отдельных устройств, зависание или перезагрузку компьютера и крах работы всей ЭВМ;
  • Имитируют повторяющиеся ошибки работы операционной системы (например, с целью заключения договора на гарантированное обслуживание ЭВМ);
  • Уничтожают FAT – таблицу, форматируют жесткий диск, стирают BIOS, стирают или изменяют установки CMOS, стирают секторы на диске, уничтожают или искажают данные, стирают антивирусные программы;
  • Осуществляют научный, технический, промышленный и финансовый шпионаж;
  • Выводят из строя системы защиты информации, дают злоумышленникам тайный доступ к вычислительной машине;
  • Делают незаконные отчисления с каждой финансовой операции и т.д.;

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

Основные симптомы вирусного заражения ЭВМ следующие.

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

Впервые большое внимание к проблеме вирусов привлекла книга Фреда Коэна “Компьютерные вирусы, теория и эксперименты” вышедшая в свет в 1984 г.

        Большой общественный резонанс вызвало первое неконтролируемое распространение вируса в сети. 2 ноября 1988 года двадцатитрехлетний студент последнего курса Корнельского университета Роберт Таппан Моррис запустил в сети свою программу, которая из-за ошибки начала бесконтрольное распространение и многократное инфицирование узлов сети. В результате было заражено около 6200 машин, что составило 7,3 % общей численности машин в сети.

        Существует большое число различных классификаций вирусов.

        По среде обитания они делятся на сетевые, файловые, загрузочные и файлово –загрузочные вирусы.

        По способу заражения – на резидентные и нерезидентные вирусы.

По степени опасности – на неопасные, опасные и очень опасные вирусы.

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

По целостности – на монолитные и распределенные вирусы.

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

Загрузочные вирусы внедряются в загрузочный сектор диска (Boot – сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Record – MBR). Некоторые вирусы записывают свое тело в свободные сектора диска, помечая их в FAT – таблице как “плохие” (Bad cluster).

5

Файловые вирусы инфицируют исполняемые файла компьютера, имеющие расширения com и exe. К этому же классу относятся и макровирусы, написанные помощью макрокоманд. Они заражают неисполняемые файлы (например, в текстовом редакторе MS Word или в электронных таблицах MS Excel).

Загрузочно – файловые вирусы способны заражать и загрузочные секторы и файлы.

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

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

Действия вирусов могут быть не опасными, например, на экране появляется сообщение: “Хочу чучу”. Если с клавиатуры набрать слово “чуча”, то вирус временно “успокаивается”.

Значительно опаснее последствия действия вируса, который уничтожает часть файлов на диске.

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

Компаньон-вирусы (companion) – это вирусы, не изменяющие файлы. Алгоритм работы этих вирусов состоит в том, что они создают для EXE – файлов новые файлы-спутники (дубликаты), имеющие то же самое имя, но с расширением COM, например, для файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в COM – файл и никак не изменяет одноименный EXE – файл. При запуске такого файла DOS первым обнаружит и выполнит COM – файл, т.е. вирус, который затем запустит и EXE – файл.

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

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

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

Вирусы – невидимки (стелс – Stealth) используют некоторый набор средств для маскировки своего присутствия в ЭВМ. Название вируса аналогично названию американского самолета – невидимки.

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

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

Макро – вирусы используют возможности макроязыков, встроенных в системы обработки данных (текстовые редакторы и электронные таблицы). В настоящее время широко распространяются макро – вирусы, заражающие документ Word и Excel.

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

Троянская программа маскируется, как правило, под коммерческий продукт. Ее другое название “троянский конь”.

6

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

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

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

Различают следующие виды антивирусных программ:

  • Программы – детекторы (сканеры);
  • Программы – доктора (или фаги, дезинфекторы);
  • Программы – ревизоры;
  • Программы – фильтры (сторожа, мониторы);
  • Программы – иммунизаторы.

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

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

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

Для устранения этого недостатка программы – детекторы стали снабжаться блоками эвристического анализа программ. В этом режиме делается попытка обнаружить новые или неизвестные вирусы по характерным для всех вирусов кодовым последовательностям. Наиболее развитые эвристические механизмы позволяют с вероятностью около 80% обнаружить новый вирус.

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

В России получили широкое распространение программы – детекторы, одновременно выполняющие и функции программ – докторов. Наиболее известные представители этого класса – AVP (Antiviral Toolkit Pro, автор – Е. Касперский), Aidstest (автор – Д. Лозинский) и Doctor Web (авторы – И. Данилов, В. Лутовин, Д. Белоусов).

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

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

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

  • Обновление программных файлов и системной области диска;
  • Форматирование диска;
  • Резидентное размещение программ в ОЗУ.

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

7

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

Рассмотрим памятку «Основные меры по защите ЭВМ от заражения вирусами».

  • Необходимо оснастить ЭВМ современными антивирусными программами и постоянно обновлять их версии.
  • При работе в глобальной сети обязательно должна быть установлена программа – фильтр (сторож, монитор).
  • Перед считыванием с дискет информации, записанной на других ЭВМ, следует всегда проверять эти дискеты на наличие вирусов.
  • При переносе на свой компьютер файлов в архивированном виде необходимо их проверять сразу же после разархивации.
  • При работе при работе на других компьютерах необходимо всегда защищать свои дискеты от записи.
  • Целесообразно делать архивные копии ценной информации на других носителях информации.
  • Не следует оставлять дискету в дисководе при включении или перезагрузке ЭВМ, так как это может привести к заражению загрузочными вирусами.
  • Антивирусную проверку желательно проводить в “чистой” операционной системе, то есть после ее загрузки с отдельной системной дискеты.
  • Следует иметь ввиду, что невозможно заразиться вирусом, просто подключившись к Internet. Чтобы вирус активизировался программа, полученная с сервера из сети, должна быть запущена на клиенте.
  • Получив электронное письмо, к которому приложен исполняемый файл, не следует запускать этот файл без предварительной проверки. По электронной почте часто распространяются “троянские кони”.
  • Целесообразно иметь под рукой аварийную загрузочную дискету, с которой можно будет загрузиться, если система откажется сделать это обычным образом.
  • При установке большого программного продукта необходимо вначале проверить все дистрибутивные файлы, а после инсталляции продукта повторно произвести контроль наличия вирусов.
  • Последняя – не совсем серьезная мера. Если Вы хотите полностью исключить вероятность попадания вирусов в Ваш компьютер, то не набирайте на клавиатуре непонятных для Вас программ, не используйте дискеты, лазерные диски для ввода программ и документов. Отключитесь от локальной и глобальной сетей. Не включайте питание, так как возможно, что вирус уже зашит в ПЗУ.

IV. Знакомство с антивирусной программой.

V.  Проверка собственной флэш- карты на наличие вирусов.

VI. Познакомиться с дополнительным материалом. (при наличии свободного времени)

VII. Закрепление материала.

VIII. Домашнее задание. Изучить памятку, ответить на вопросы.

8

 

9

Памятка

Основные меры по защите ЭВМ от заражения вирусами.

  • Необходимо оснастить ЭВМ современными антивирусными программами и постоянно обновлять их версии.
  • При работе в глобальной сети обязательно должна быть установлена программа – фильтр (сторож, монитор).
  • Перед считыванием с дискет информации, записанной на других ЭВМ, следует всегда проверять эти дискеты на наличие вирусов.
  • При переносе на свой компьютер файлов в архивированном виде необходимо их проверять сразу же после разархивации.
  • При работе при работе на других компьютерах необходимо всегда защищать свои дискеты от записи.
  • Целесообразно делать архивные копии ценной информации на других носителях информации.
  • Не следует оставлять дискету в дисководе при включении или перезагрузке ЭВМ, так как это может привести к заражению загрузочными вирусами.
  • Антивирусную проверку желательно проводить в “чистой” операционной системе, то есть после ее загрузки с отдельной системной дискеты.
  • Следует иметь ввиду, что невозможно заразиться вирусом, просто подключившись к Internet. Чтобы вирус активизировался программа, полученная с сервера из сети, должна быть запущена на клиенте.
  • Получив электронное письмо, к которому приложен исполняемый файл, не следует запускать этот файл без предварительной проверки. По электронной почте часто распространяются “троянские кони”.
  • Целесообразно иметь под рукой аварийную загрузочную дискету, с которой можно будет загрузиться, если система откажется сделать это обычным образом.
  • При установке большого программного продукта необходимо вначале проверить все дистрибутивные файлы, а после инсталляции продукта повторно произвести контроль наличия вирусов.
  • Последняя – не совсем серьезная мера. Если Вы хотите полностью исключить вероятность попадания вирусов в Ваш компьютер, то не набирайте на клавиатуре непонятных для Вас программ, не используйте дискеты, лазерные диски для ввода программ и документов. Отключитесь от локальной и глобальной сетей. Не включайте питание, так как возможно, что вирус уже зашит в ПЗУ.

10

Заключение

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

Урок по теме: «Безопасность, гигиена, эргономика, ресурсосбережение. Защита информации, антивирусная защита»  достиг своей главной цели.

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

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

11

Список литературы

  1. Колмыкова Е.А., Кумскова И.А. Информатика: учебной пособие для студ. сред. проф. образования. – 2-е изд., стер. – М.: Издательский центр «Академия», 2009. – 416 с.
    2. Михеева Е.В., Практикум по информатике. – М.: Издательский центр «Академия», 2008.
    3. Михеева Е.В., Информационные технологии в профессиональной деятельности. – М.: Издательский центр «Академия», 2008.
    4. Безручко В.Т. Информатика (курс лекций): учебное пособие. – М.: ИД «Форум»: ИНФРА-М, 2007.–432.: ил.
    5. Шауцукова Л.З. Учебное пособие для 10-11 кл. общеобразоват. учреждений. – 4-е изд. – М.: Просвещение,2008.–416 с.: ил.
    6. Симонович С.В., Евсеев Г.А.Алексеев А. Н. Общая информатика. Учебное пособие для средней школы. – М

12

Рецензия

на методическую разработку  урока

 по дисциплине «Информатика и ИКТ»

 автор: В.Н. Галицына

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

В данной методической разработке представлен материал:

Содержание – 1 лист

Введение – 1 лист

План проведения занятия –8 листов

Памятка  – 1 лист

Заключение – 1 лист

Список используемой литературы – 1 лист

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

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

Рекомендовано проведение таких уроков преподавателям информатики.

Рецензенты:

Преподаватель информатики  И.Г. Акименко ____________________

Преподаватель математики  Л.В.Разумовская ____________________

Содержание

Введение………………………………………………………………………………………………………….1

План урока …………………………………………………………………………………………………….2-9

Памятка …………………………………………………………………………………………………………10

Заключение …………………………………………………………………………………………………….11

Список литературы ……………………………………………………………………………………………12


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


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

Раздел 4. ТЕХНОЛОГИИ СОЗДАНИЯ И ПРЕОБРАЗОВАНИЯ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ

Тема 4.1. Понятие об информационных системах и автоматизации информационных процессов

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

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

Новый термин

DTP (DeskTop Publishing System, настольная издательская система) — комплекс аппаратного и программного обеспечения, предназначенный для подготовки публикации из текста и изображений для печати. Также возможна и подготовка документа публикации для распространения не в виде твердой копии, а в электронном виде, т. е. электронная верстка в PDF– и HTML-форматах. Настольное издательство, в отличие от традиционного типографского, подразумевает полиграфическую работу не в типографии, а дома или в офисе.

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

2) системы верстки электронных документов

Среди настольных издательских систем наиболее популярными считаются системы QuarkXPress, Adobe PageMaker и Adobe InDesign.

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

Новый термин

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

Оперативная полиграфия

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

Новый термин

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

Векторная графика

В DTP обязательно приходится сталкиваться с графикой. Под работой с векторным редактором понимают создание и редактирование изображений, представленных набором контуров или кривых, имеющих цвет заливки и контура, а также толщину и тип этого самого контура. Для векторного дизайна популярны три программных продукта: Adobe Illustrator, Macromedia FreeHand и CorelDRAW.

Растровая графика

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

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

Программы верстки

Самым первым настольным верстальным пакетом в мире был Adobe PageMaker (1985 г. – версия для Macintosh), следом за которым появился пакет Ventura Publisher (1986 г.) и версия Adobe PageMaker для PC, а через год после этого – QuarkXPress (1987 г).

MS Publisher

Подавляющее большинство умеющих работать на компьютере сотрудников небольших коммерческих организаций владеет двумя программами – MS Word и MS Excel, которых им для работы вполне хватает. Подготовка макета к печати – под силу лишь профессионалу. А что делать, если нет опыта допечатной подготовки, времени и лишних средств? Решение проблемы нашла фирма Microsoft – для этого случая она предлагает использовать программный продукт под названием MS Publisher.

В 1991 г. была выпущена первая версия программы MS Publisher. За последнее время продукт прошел большой этап эволюции. Последняя версия программы введена в состав расширенного варианта MS Office ХР для работы в среде Windows. Она позволяет любому непрофессионалу создать вполне приемлемые для офиса макеты самых необходимых видов продукции. Для изготовления каждого из них – визиток, конвертов, прайс-листов, бланков, буклетов и многого другого – подготовлены десятки макетов, из которых можно выбрать подходящий и, заполнив информацией, отправить на печать.

Adobe InDesign 2.0

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

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

Adobe InDesign, в отличие от своего предшественника Adobe PageMaker, более не является продуктом начального уровня и требует от пользователя теоретического и практического опыта.

Adobe PageMaker 7.0

Adobe PageMaker 7.0 – широко распространенная профессиональная программа верстки. Самая ценная особенность Adobe PageMaker при подготовке бумажных публикаций – это мощнейший механизм работы с цветом.

Преимущества: Adobe PageMaker – это классическая и простая в работе программа (простая организация рабочего процесса – электронный "рабочий стол", мощные инструменты вывода). В 7-й версии улучшен экспорт в формат PDF. К достоинствам пакета следует отнести интегрированность с другими продуктами Adobe – Adobe Illustrator и Adobe Photoshop.

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

Corel Ventura 10

Ventura – мощная профессиональная настольная издательская система. Первоначально программа называлась Xerox Ventura Publisher и работала под DOS 6.22. Уже в то время Ventura обладала всеми необходимыми инструментами для качественной верстки. Затем пакет купила фирма Corel.

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

Преимущества: хорошая работа программы с длинными документами.

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

Adobe FrameMaker 7.0

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

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

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

QuarkXPress 6.0

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

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

Подведение итогов

Проводя сравнительные оценки рассмотренных программ, можно сделать вывод, что многолетний лидер издательской отрасли – QuarkXPress – по сей день остается одним из самых привлекательных продуктов. Привлекателен пакет Adobe InDesign. Он демонстрирует наиболее широкий спектр возможностей, хотя и сложен в освоении. К сожалению, обе эти программы достаточно дороги. Для начального знакомства с DTP рекомендуется MS Publisher.

Редакторы векторной графики

Adobe Illustrator 10

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

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

Недостатки: пакет медлителен. Работа в Adobe Illustrator трудоемка.

CorelDRAW Graphics Suite 11

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

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

Macromedia FreeHand MX

Macromedia FreeHand – векторный графический редактор, главный конкурент Adobe Illustrator, неплохое решение для создания иллюстраций для печати, Интернета и проектов Macromedia Flash. Программа аналогична Adobe Illustrator и CorelDRAW. Работает быстрее, места на жестком диске занимает меньше. Надежна как на этапе создания иллюстрации, так и при цветоделении.

Macromedia FreeHand MX – полезная программа, позволяющая из макета, подготовленного к печати, сделать его интернет-версию за короткий срок. Одним из преимуществ Macromedia FreeHand перед его конкурентом Adobe Illustrator является возможность работы с многостраничными документами. В последней версии этой программы документ может содержать до 32 тысяч шаблонов.



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

ВОЗМОЖНОСТИ ДИНАМИЧЕСКИХ (ЭЛЕКТРОННЫХ) ТАБЛИЦ. МАТЕМАТИЧЕСКАЯ ОБРАБОТКА ЧИСЛОВЫХ ДАННЫХ.

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

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

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

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

Другим видом систем обработки числовых данных являются прикладные математические пакеты. Их можно использовать для выполнения математических вычислений, построения графиков функций, преобразования выражений с переменными, нахождения приближенных значений решений уравнений и систем уравнений, вычисления площадей и объемов геометрических фигур и др. Примерами таких программ являются пакеты GRAN 1, 2D, 3D (англ. graphic analyzer – графический анализатор), Динамическая геометрия, MathCAD (англ. mathematics computeraided design – математическое компьютерное автоматизированное проектирование),  Derive (англ.  derive – получать, добывать, выводить), Mathematica (англ.  mathematics  –  математика),  MATLAB (англ. mathematics laboratory – математическая лаборатория)  и др.  

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

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

Таблицы, в которых представлены данные для обработки табличным процессором, называются электронными таблицами (ЭТ).

Электронная таблица является основным объектом обработки табличным процессором. Она, как и таблица в текстовом процессоре Word 2007, состоит из столбцов и строк, на пересечении которых образуются ячейки. В ячейках ЭТ могут храниться числа, тексты и формулы для их обработки.

Табличные процессоры предназначены для:

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

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

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

Из современных табличных процессоров можно назвать:

  • Excel (англ. excel – преобладать, превосходить), который входит в пакет программ Microsoft Office и в последнее время стал одним из самых популярных;
  • Calc (англ. calculator – вычислитель, калькулятор), который входит в пакет программ StarOffice;
  • GNumeric (англ. GNU – проект по созданию программного обеспечения свободного распространения, numeric – числовой), который свободно распространяется и др.

Мы будем изучать табличный процессор Microsoft Office Excel 2007.

Первый табличный процессор создали в 1979 году студент Г арвардского университета (США) Дэн Бриклин и его товарищ, программист  Боб Френкстон. Он был разработан для компьютера Apple II и получил название  VisiCalc (англ. Visible Calculator  – наглядный калькулятор). Программа обеспечивала возможность работать с одной таблицей, которая содержала 254 строки и 63 столбца, а также строить несложные диаграммы.

После  VisiCalc  появились аналогичные программы от других разработчиков и для других моделей компьютеров, такие как SuperCalc, Lotus 1-2-3,  Multiplan  и др. Впоследствии табличные процессоры начали включать в интегрированные пакеты прикладных  программ, таких как Framework, Works и др.

Первая версия табличного процессора Excel появилась в 1985 году. Эта программа была создана для компьютера Apple и ее авторами были американские программисты Дуг Кландер и Филипп Флоренце.  

Объекты табличного процессора Excel 2007 и их свойства

Объектами табличного процессора Excel 2007 являются электронная книга, лист, электронная таблица,  строка,  столбец,  ячейка,  диапазон,  диаграмма и др.

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

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

Электронная таблица табличного процессора Excel 2007 содержит 1 048 576 строк (номера от 1 до 1 048 576), 16 384 столбцов (по умолчанию их номера состоят из букв английского алфавита: A, B, С, ..., Z, АА, АВ, ..., ZZ,  ААА, ААВ, ..., XFD), всего 17 179 869 184 ячейки.

Каждая ячейка электронной таблицы имеет адрес. Адрес ячейки задается номерами столбца и строки, на пересечении которых она находится, например A1,  С3,  D17. Всегда одна из ячеек электронной таблицы текущая. Ее адрес отображается в поле Имя. Она выделяется табличным курсором в виде черной рамки, а номер строки и номер столбца текущей ячейки выделяются другим цветом фона.

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

Диапазон ячеек, как и отдельная ячейка, имеет адрес. Адрес связного диапазона ячеек задается адресами двух ячеек, расположенных в его противоположных углах, которые разделены двоеточием, например, A3:A7, B11:D11, G9:C3.

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

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



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

Раздел 5. ТЕЛЕКОММУНИКАЦИОННЫЕ ТЕХНОЛОГИИ

Тема 5.1 Представления о технических и программных средствах телекоммуникационных технологий

ИНТЕРНЕТ-ТЕХНОЛОГИИ, СПОСОБЫ И СКОРОСТНЫЕ ХАРАКТЕРИСТИКИ ПОДКЛЮЧЕНИЯ, ПРОВАЙДЕР

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

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

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

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

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

Логические компоненты Интернет-технологий

1) Интернет - сервисы

  • World Wide Web - Всемирная паутина
  • Электронная почта. Системы телеконференций
  • Передача файлов (FTP).
  • Интерактивный чат (chat).
  • Передача мгновенных сообщений (ICQ).
  • Аудио- и Видеоконференции.
  •  Голосовое общение (1Р-телефония).

2) Работа в Интернете

  • Браузеры,
  • Поисковые системы. Навигация в Интернете
  • Просмотр Web-страницы в браузере.

3) Информационные ресурсы в Интернете

  •  Web-страницы и Web-узлы, порталы, Web - пространство.
  •  Адресация, URL и протоколы передачи данных,
  •  Создание Web-страниц. Языки Web-публикаций.
  •  Публикации в Интернете. Представительство.

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

В число предоставляемых интернет-провайдером услуг могут входить:

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

•   резервирование данных и другие.

Способы подключения к Интернет

Самыми распространенными способами подключения к Интернету являются:

  1. Модемное соединение (коммутируемый доступ) – Dial-Up, ADSL
  2. Соединение по выделенной линии (оптоволокно и т.д.)
  3. GPRS-доступ (через сотовый телефон)
  4. Радиодоступ
  5. Спутниковый интернет

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

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

  1. Модемное соединение (Dial-Up) – самый старый способ подключения, сейчас пользуется популярностью только в городах, где нет широкого выбора провайдеров.

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

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

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

Более перспективной по сравнению с Dial-Up в настоящее время является технология ADSL (Asymmetric Digital Subscriber Line). Это технология, позволяющая предоставлять по обычным аналоговым телефонным линиям высокоскоростной широкополосный доступ в Интернет. К тому же данная технология не загружает телефонную линию абонента, благодаря разделению диапазонов сигналов в телефонной линии. Абоненту также не нужно дозваниваться до провайдера. Минусы – достаточно высокая стоимость трафика.

  1. Соединение по выделенной линии

Провайдер проводит до компьютера абонента выделенную линию (витая пара или оптоволокно) и выдает диапазон IP-адресов для выхода в Интернет. При этом пользователь получает свободную телефонную линию, постоянную связь с сетью Интернет, высокое качество соединения и передачи данных, высокую скорость (до 100 Мбит/с).

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

Требуемое оборудование

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

  1. GPRS-доступ

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

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

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

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

  1. Спутниковое соединение – бывает односторонним (асинхронным) и двусторонним. Второе по причине дороговизны оборудования (счет идет на десятки тысяч) рассматривать не будем.

Чаще всего спутниковым Интернет называют асинхронный (или совмещенный) способ доступа – данные к пользователю поступают через спутниковую тарелку, а запросы (трафик) от пользователя передаются любым другим соединением – GPRS или по наземным каналам (ADSL, dial-up). Главное требование к запросному каналу – надежность соединения. В большинстве случаев лучшим выбором для него является ADSL подключение с бесплатным исходящим трафиком.

Преимущества спутникового подключения к Интернет – в первую очередь, это очень низкая стоимость трафика – от 10 до 100 копеек за 1 мегабайт. Стоимость комплекта оборудования и подключения доступна практически для всех и составляет приблизительно 200-300 $.

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

Минусом спутникового подключения к Интернет является необходимость наличия канала для исходящего трафика – телефонной линии или телефона с поддержкой GPRS.

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



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

HTML начало

 HyperText Markup Language (HTML) является стандартным языком, предназначенным для создания гипертекстовых документов в среде WEB. HTML-документы могут просматриваться различными типами WEB-броузеров. Когда документ создан с использованием HTML, WEB-броузер может интерпретировать HTML для выделения различных элементов документа и первичной их обработки. Использование HTML позволяет форматировать документы для их представления с использованием шрифтов, линий и других графических элементов на любой системе, их просматривающей.

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

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

HTML-тэги могут быть условно разделены на две категории:

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

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

Как создаются HTML документы?

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

Основные положения

Все тэги HTML начинаются с "<" (левой угловой скобки) и заканчиваются символом ">" (правой угловой скобки). Как правило, существует стартовый тэг и завершающий тэг. Для примера приведем тэги заголовка, определяющие текст, находящийся внутри стартового и завершающего тэга и описывающий заголовок документа:

Заголовок документа

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

Некоторые тэги, такие, как

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

HTML не реагирует на регистр символов, описывающих тэг, и приведенный ранее пример может выглядеть следующим образом:

Заголовок документа

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

 и 
. Более подробно о тэгах
 будет написано ниже.

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

Когда WEB-броузер получает документ, он определяет, как документ должен быть интерпретирован. Самый первый тэг, который встречается в документе, должен быть тэгом . Данный тэг сообщает WEB-броузеру, что ваш документ написан с использованием HTML. Минимальный HTML-документ будет выглядеть так:

...тело документа...

Заголовочная часть документа

Тэг заголовочной части документа должен быть использован сразу после тэга и более нигде в теле документа. Данный тэг представляет из себя общее описание документа. Избегайте размещать какой-либо текст внутри тэга . Стартовый тэг помещается непосредственно перед тэгом и другими тэгами, описывающими документ, а завершающий тэг </HEAD> размещается сразу после окончания описания документа. Например:</span></p><p class="c2"><span class="c5"><HTML> <br><HEAD> <br><TITLE> Список сотрудников

...

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

Заголовок документа </span></p><p class="c2"><span class="c5">Большинство WEB-броузеров отображают содержимое тэга <TITLE> в заголовке окна, содержащего документ и в файле закладок, если он поддерживается WEB-броузером. Заголовок, ограниченный тэгами <TITLE> и , размещается внутри -тэгов, как показано выше на примере. Заголовок документа не появляется при отображении самого документа в окне.

Комментарии

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

Комментарии могут встречаться в документе где угодно и в любом количестве.

Тэги тела документа

Тэги тела документа идентифицируют отображаемые в окне компоненты HTML-документа. Тело документа может содержать ссылки на другие документы, текст и другую форматированную информацию.

Тело документа  

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

Уровни заголовков  

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

Заголовок первого уровня

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

Заголовок x-го уровня

где x - цифра от 1 до 6, определяющая уровень заголовка.

Тэг абзаца

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

. Если вы не разделите абзацы тэгом

, ваш документ будет выглядеть как один большой абзац.

Дополнительные параметры тэга

:

ALIGN=left|center|right>

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

Центрирование элементов документа

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

.

Все элементы между тэгами

и

будут находиться в центре окна


Тэг преформатирования

Тэг преформатирования,

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

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

Использование тэгов, определяющих формат абзаца, таких как или

, будет игнорироваться броузером при помещении их между тэгами
 и 
.

Далее идет несколько более подробный пример, собранный из предыдущих:

Список сотрудников

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

Составлено : 30 июля 1996 года

Данный список содержит фамилии, имена и отчества

всех сотрудников нашей компании.

Список может быть использован только в служебных целях.

Разрыв строки

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

Алексей Ярцев

Дмитровское шоссе,

д.9Б, офис 326

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


CLEAR=left|right|all>

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

Как вы можете видеть, данная схема демонстрирует связь


Мастер/Деталь

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

Если вы не хотите, чтобы броузер автоматически переносил строку, то вы можете обозначить ее тэгами и . В этом случае броузер не будет переносить строку даже если она выходит за нраницы экрана; вместо этого броузер позволит горизонтально прокручивать окно. Например:

Данная строка является самой длинной строкой документа, которая не допускает какого-либо разбиения где бы то ни было

Если же вы хотите все же позволить разбиение данной строки на две, но в строго запланированном месте, то вставьте тэг в это место. Например:

Данная строка является самой длинной строкой документа, которая не допускает какого-либо разбиения где бы то ни было

Данная строка является самой длинной строкой документа,

 которая не допускает какого-либо разбиения где бы то ни было

Цитата

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

, отступает от левого края документа на 8 пробелов. Например:

На открытии данной конференции глава представительства произнес:



Сегодня один из величайших дней для нашей компании.

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

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

На открытии данной конференции глава представительства произнес:

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

Список базовых тэгов HTML

Стартовый

Завершающий 

Описание 

Обозначение HTML-документа

Заголовочная часть документа

</span></p></td><td class="c6" colspan="1" rowspan="1"><p class="c2"><span class="c5">

Заголовок документа

Тело документа

Заголовок абзаца первого уровня

Заголовок абзаца второго уровня

Заголовок абзаца третьего уровня

Заголовок абзаца четвертого уровня

Заголовок абзаца пятого уровня

Заголовок абзаца шестого уровня

Абзац

 

Форматированный текст


 

Перевод строки без конца абзаца

Цитата

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

В начало

HTML далее

Тэги списков

Существует три основных вида списков в HTML-документе:

  • пронуменрованный 
  • непронуменрованный 
  • список описаний 

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

Пронумерованные списки

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

Пронумерованный список начинается стартовым тэгом

    и завершается тэгом
. Каждый элемент списка начинается с тэга
  • . Например:


    1. Программирование
    2. Алгоритмизация
    3. Проектирование

    1. Программирование
    2. Алгоритмизация
    3. Проектирование

    Тэг

      может иметь параметры:

      <OL TYPE=A|a|I|i|1 START=n>

      где:

      TYPE 

      Вид счетчика:

      • A - большие латинские буквы (A,B,C...)
      • a - маленькие латинские буквы (a,b,c...)
      • I - большие римские цифры (I,II,III...)
      • i - маленькие римские цифры (i,ii,iii...)
      • 1 - обычные цифры (1,2,3...)

      START=n 

      Число, с которого начинается отсчет

      Например:


      1. Программирование
      2. Алгоритмизация
      3. Проектирование

      1. Программирование
      2. Алгоритмизация
      3. Проектирование

      Непронумерованные списки.

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

      Пронумерованный список начинается стартовым тэгом

        и завершается тэгом
      . Каждый элемент списка начинается с тэга
    1. . Например:


      • Программирование
      • Алгоритмизация
      • Проектирование

      • Программирование
      • Алгоритмизация
      • Проектирование

      Тэг

        может иметь параметр:

        <UL TYPE=disc|circle|square>

        Тип тэга

          определяет внешний вид маркера как вид по умолчанию (disc), круглый (circle) или квадратный (square). Например:


          • Программирование
          • Алгоритмизация
          • Проектирование

          • Программирование
          • Алгоритмизация
          • Проектирование

          Вложенные списки

          Дадим пример вложенных списков:



          Список сотрудников


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


          Составлено : 30 июля 1996 года


          Данный список содержит фамилии, имена и отчества всех сотрудников нашей компании.


          Список может быть использован только в служебных целях.



          1. Дирекция

            • Иванов И.И.
            • Петров К.В.

          2. Отдел маркетинга

            • Варшавская Е.Л.
            • Самсонов Д.М.



          Вот, что вы увидите на экране броузера:

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

          Составлено : 30 июля 1996 года

          Данный список содержит фамилии, имена и отчества всех сотрудников нашей компании.

          Список может быть использован только в служебных целях.

          1. Дирекция
          • Иванов И.И.
          • Петров К.В.
          1. Отдел маркетинга
          • Варшавская Е.Л.
          • Самсонов Д.М.

          Элемент списка

        • Тэг

        • может иметь параметры:

          <OL TYPE=disc|circle|squade> или <OL TYPE=A|a|I|i|1 VALUE=n>

          в зависимости от того, в списке какого вида находится данный элемент.

          TYPE 

          Вид маркера (см.

            ) или счетчика (см.OL)

            VALUE=n 

            Значение для элемента пронумерованного списка (его номер). Все дальнейшие номера элементов списка будут отсчитываться от этого номера.

            Например:


            1. Программирование
            2. Алгоритмизация
            3. Проектирование

            1. Программирование
            2. Алгоритмизация
            3. Проектирование

            Список определений

            Список определений начинается с тэга

            и завершается тэгом
            . Данный список служит для создание списков типа "термин"-"описание". Каждый термин начинается тэгом
            , а описание - тэгом
            . Например:


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

            Отдел маркетинга

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

            Финансовый отдел

            Данный отдел занимается всеми финансовыми операциями

            Отдел кадров

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

            Гипертекстовые ссылки

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

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

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

            URL

            HTML использует URL (Uniform Resource Locator) для представления гипертекстовых ссылок и ссылок на сетевые сервисы внутри HTML-документа. Первая часть URL (до двоеточия) описывает метод доступа или сетевой сервис. Другая часть URL (после двоеточия) интерпретируется в зависимости от метода доступа. Обычно, два прямых слэша после двоеточия обозначают имя машины:

            method://machine-name/path/foo.html

            Следующий пример представляет собой вызов HTML-документа index.html с сервера www.softexpress.com с использованием HTTP протокола:

            http://www.softexpress.com/index.html

            Uniform Resource Locator имеет следующий формат:

            method://servername:port/pathname#anchor

            Опишем каждый из компонентов URL:

            METHOD 

            Имя операции, которая будет выполняться при интерпретации данного URL. Наиболее часто используемые методы:

            file: 

            чтение файла с локального диска. Имя файла интерпретируется для локальной машины пользователя. Данный метод используется для отображения какого-либо файла, находящегося на машине пользователя. Например:
            file:/home/alex/index.html - отобажает файл index.html из каталога /home/alex на пользовательской машине

            http: 

            доступ к WEB-странице в сети с использованием HTTP-протокола. (Это наиболее часто используемый метод доступа к какому-либо HTML-документу в сети). Например:
            http://www.softexpress.com/ - доступ к Home-странице компании SoftExpress

            ftp: 

            запрос файла с анонимного FTP-сервера. Например:
            ftp://hostname/directory/filename

            mailto: 

            активизирует почтовую сессию с указанным пользователем и хостом. Например:
            mailto:info@softexpress.com - активизирует сессию посылки сообщения пользователю info на машине softexpress.com, если броузер поддерживает запуск электронной почты. Заметьте, что метод mailto: не требует указание слэшей после двоеточия (как правило, после двоеточия сразу идет электронный адрес абонента)

            telnet: 

            обращение к службе telnet

            news: 

            вызов службы новостей, если броузер ее поддерживает. Например:
            news:relcom.www.support

            SERVERNAME

            Необязательный параметр, описывающий полное сетевое имя машины. Например:

            www.softexpress.com - полное сетевое имя сервера фирмы СофтСервис.

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

            PORT 

            Номер порта TCP на котором функционирует WEB-сервер. Если порт не указан, то "по умолчанию" используется порт 80. Данный параметр (port) не используется в подавляющем большинстве URL.

            PATHNAME 

            Частичный или полный путь к документу, который должен вызваться в результате интерпретации URL. Различные WEB-сервера сконфигурированы по разному для интерпретации пути доступа к документу. Например, при использовании CGI скриптов (исполняемых программ), они обычно собираются в одном или нескольких выделенных каталогах, путь к которым записан в специальных параметрах WEB-сервера. Для данных каталогов WEB-сервером выделяется специальный логический путь, который и используется в URL. Если WEB-сервер видит данный путь, то запрашиваемый файл интерпретируется как исполняемый модуль. В противном случае, запрашиваемый файл интерпретируется просто как файл данных, даже если он является исполняемым модулем. Например:

            http://www.softexpress.com/cgi-win/handle.exe

            В данном примере HTTP-сервер должен вызвать CGI-скрипт с именем handle.exe, который находится на машине с сетевым именем www.softexpress.com. Путь к данному скрипту - /cgi-win/ - в действительности является виртуальным путем (выделенным сервером для исполняемых модулей). Заметьте, что при описании пути используется UNIX-подобный синтаксис, где, в отличии от DOS и Windows используются прямые слэши вместо обратных. Если после сетевого имени машины сразу идет имя документа, то он должен находиться в корневом каталоге на удаленной машине или (что чаще) в каталоге, выделенном WEB-сервером в качестве корневого. Если же URL закагчивается сетевым именем машины, то в качестве документа запрашивается документ из корневого каталога удаленной машины с именем, установленным в настройках WEB-сервера (как правило, это index.html).

            #ANCHOR 

            Данный элемент является ссылкой на строку (точку) внутри HTML-документа. Большинство броузеров, встречая после имени документа данный элемент, размещают документ на экране таким образом, что указанная строка документа помещается в верхнюю строку рабочего окна броузера. Точки, на которые ссылается #anchor, указываются в документе при помощи тэга NAME, как это будет описано далее.

            Структура ссылок в HTML-документе

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

            URL"> текст-который-будет-подсвечен-как-ссылка

            Тэг URL">открывает описание ссылки, а тэг - закрывает его. Любой текст, находящийся между данными двумя тэгами подсвечивается специальным образом Web-броузером. Обычно этот текст отображается подчеркнутым и выделенным синим (или другим заданным пользователем) цветом. Текст, обозначающий URL, не отображается броузером, а используется только для выполнения предписанных им действий при активизации ссылки (обычно при щелчке мыши на подсвеченном или подчеркнутом тексте). Вот пример сегмента HTML-документа:

            Для получения примера смотри
            страницу  

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

            Для получения примера смотри страницу

            Ссылки на точки внутри документа

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

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

            1. Создайте маркер раздела. Синтаксис данного маркера следующий:

            Текст-который-отобразится-в-первой-строке-броузера

            2. Создайте ссылку на данный маркер:

            Текст

            Например:

            Список разделов



            Раздел 1


              Текст раздела 1


            Раздел 2


              Текст раздела 2

              Список разделов 

              • Раздел 1
              • Раздел 2

              Раздел 1

              Текст раздела 1

              Раздел 2

              Текст раздела 2

              Символы "#ex1" сообщает вашему броузеру, что необходимо найти в данном HTML-документе маркер с именем "ex1".

              Когда пользователь щелкнет мышью на строке "Раздел 1", броузер перейдет сразу к разделу 1.

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

              Графика внутри HTML-документа

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

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

              URL" ALT="text" HEIGHT=n1 WIDTH=n2 ALIGN=top|middle|bottom|texttop ISMAP>

              Опишем элементы синтаксиса тэга:

              URL

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

              ALT="text" 

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

              HEIGTH=n1 

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

              WIDTH=n2 

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

              ALIGN 

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

              ISMAP 

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

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

              <IMG SRC="http://www.softexpress.com/images/nekton.jpg" ALT="СофтСервис лого" ALIGN="top" ISMAP>

              С версии HTML 2.0 у тэга появились дополнительные параметры:

              URL" ALT="text" HEIGHT=n1 WIDTH=n2 ALIGN=top|middle|bottom|texttop|absmiddle|baseline|absbottom BORDER=n3 VSPACE=n4 HSPACE=n5 ISMAP>

              Новые параметры:

              BORDER 

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

              VSPACE 

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

              HSPACE 

              То же самое, что и VSPACE, но только по горизантали.

              Фоновые рисунки

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

              Описание фонового рисунка включается в тэг BODY и выглядит следующим образом:

              <BODY BACKGROUND="picture.gif">

              Задание стандартных цветов

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

              <BODY BGCOLOR="#XXXXXX" TEXT="#XXXXXX" LINK="#XXXXXX">

              где каждый из параметров определяет цвет того или иного элемента. Опишем эти параметры:

              BGCOLOR 

              Цвет фона документа

              TEXT 

              Цвет простого текста документа

              LINK 

              Цвет ссылки

              Цвет задается шестизначным числом в шестнадцатиричном формате по схеме RGB (Red, Green, Blue). Цвет #000000 соответствует черному, а цвет #FFFFFF - белому. Например:

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

              Горизонтальная линия

              Используя тэг


              вы можете разделить текст горизонтальной чертой.

              Формат тэга:

               SIZE=number WIDTH=number|percent ALIGN=left|right|center NOSHADE>

              Параметры тэга:

              SIZE 

              Толщина линии в пикселах.

              WIDTH 

              Ширина линии в пикселах или процентах от ширина окна броузера.

              ALIGN 

              Расположение на экране (слева | по центру | справа).

              NOSHADE 

              По умолчанию линия представлена в 3D виде с тенью. NOSHADE позволяет представить линию просто однотонной темной полоской.

              Добавление стилей в ваш HTML-документ

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

              • bold (жирный)
              • italic (наклонный)
              • mono spaced (type writer - с использованием фиксированных шрифтов)

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

              Стиль

              Элемент или тэг

              Результат

              Bold

              Этот текст жирный

              Этот текст жирный

              Italic

              Этот текст наклонный

              Этот текст наклонный

              Mono spaced

              Этот текст с непроп. шрифтом

              Этот текст с непроп. шрифтом

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

              Жизнь - это песня!

              Жизнь - это песня! 

              Внимание! Добавление большого количества стилей и их комбинаций приводит к затруднению чтения текста!

              Дополнительные стили:

              • big (юольшой)
              • small (маленький)
              • sub (подстрочник)
              • sup (надстрочник)

              Стиль

              Элемент или тэг

              Результат

              Big

              Этот текст большой

              Этот текст большой

              Small

              Этот текст маленький

              Этот текст маленький

              Sub

              Этот текст подстрочник

              Этот текст подстрочник

              Sup

              Этот текст надстрочник

              Этот текст надстрочник

              Размер шрифта

              Вы можете изменять размер шрифта при помощи тэга:

              Шрифт может иметь размер от 1 до 7. Вы можете прямо указать размер шрифта цифрой, или указать смещение относительно базового значения (по умолчанию - 3) в положительную или отрицательную сторону. Базовое значение можно изменить при помощи тэга:

              Например:

              и
              зм
              ен
              ен
              и
              е

              изменение

              Цвет шрифта

              Вы можете изменить цвет шрифта при помощи тэга:

              xxxxxx>

              Цвет указывается в RGB-формате (Red-Green-Blue) посредством указания размерности каждой компоненты цвета в шестнадцатиричном формате. Например, белый цвет обозначается "000000", черный - "FFFFFF", синий - "0000FF" и т.п.


              Красный


              Зеленый


              Синий

              Красный Зеленый Синий

              Специальные тэги HTML

              Следующие тэги позволят вам сделать ваш HTML-документ более функциональным.

              Тэг адреса

              Тэг

              используется для выделения автора документа и его дреса (например, e-mail). Синтаксис:

              Адрес-автора

              Escape-последовательности

              Некоторые символы являются управляющими символами в HTML и немогут напрямую использоваться в документе:

              • левая угловая скобка "<"
              • правая угловая скобка ">"
              • амперсанд "&"
              • двойные кавычки """

              Чтобы использовать данные символы в документе, необходимо заменить их escape-последовательностями:

              <

              < 

              >

              > 

              &

              & 

              "

              " 

              Существует большое количество escape-последовательностей для обозначения специальных символов, например "©" для обозначения знака © и ® для значка ®, появившихся в HTML 2.0. Одной из особенностей является замена символов во 2-ой части символьной таблицы (после 127-ого символа) на escape-последовательности для передачи текстовых файлов с национальными языками по 7-битным каналам.

              Внимание! Escape-последовательности чувствительны к регистру: НЕЛЬЗЯ использовать < вместо <.



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

    1. Среда языка программирования Pascal ABC

    Первая версия языка Паскаль была разработана в 1968 году. Ее разработчиком является швейцарский ученый Никлаус Вирт. Свое название язык получил в честь создателя первой механической вычислительной машины француза Блеза Паскаля. На основе языка Паскаль в 1985 г. фирма Borland выпустила версию Turbo Pascal версии 3.0. С этого времени язык Паскаль используется во всем мире в учебных заведениях в качестве первого изучаемого языка программирования.

    Система Pascal ABC основана на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к объектно-ориентированному программированию.

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

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

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

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

    Для сохранения программы необходимо выполнить команду Файл/Сохранить как…имя файла, или нажать кнопку  на панели инструментов, если необходимо сохранить существующую уже программу.

    Для загрузки программы из файла необходимо выполнить команду Файл/Открыть выбрать файл или нажать кнопку  на панели инструментов.

    Для выполнения программы необходимо выполнить команду Программа/Выполнить, либо нажать клавишу F9, либо нажать кнопку .

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

    Наиболее часто встречающиеся ошибки при работе в системе программирования Pascal ABC:

    ∙        «неожиданный символ» - символ введен не с регистра английских букв;

    ∙        «ожидался символ "точка", "точка с запятой", Begin и др.»- отсутствует необходимый символ или команда;

    ∙        «неизвестное имя» - неправильно введена команда;

    ∙        «ошибка ввода» - неверно указано имя файла;

    ∙        «ожидался конец файла» - ошибки в команде end.

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

    Программа, записанная на языке Pascal может содержать следующие разделы:

    1.        Заголовок (Program)

    2.        Раздел меток (Label)

    3.        Раздел констант (Const)

    4.        Раздел типов (Type)

    5.        Раздел переменных (Var)

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

    7.        Раздел операторов (Begin...End)

    Все программы обязательно имеют раздел заголовка и раздел операторов, остальные составляющие могут отсутствовать. При отсутствии некоторых частей программы общий порядок их следования сохраняется. Разделы между собой разделяются знаком ";" Раздел операторов заключается в операторные скобки. Это зарезервированные слова Begin, End. Раздел операторов заканчивается точкой. Раздел "заголовок" начинается с зарезервированного слова program, за которым указывается имя программы. В качестве имени может использоваться любой набор символов алфавита с несколькими исключениями:

    1.        нельзя использовать зарезервированные слова;

    2.        нельзя начинать имя с цифры;

    3.        при использовании имени не используется пробел.

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

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

    <раздел описаний, в котором описываются данные>    

    Begin   <раздел команд (тело программы)>;

    End.

    2. Алфавит, типы данных языка программирования Pascal

    Алфавит языка программирования Pascal включает:

    ∙        Латинские буквы: A a B b… Z z

    ∙        Цифры: 0 1 2..9

    ∙        Знаки математических операций: +(сложение) -(вычитание) *(умножение) /(деление)

    ∙        Знаки математических отношений: < > = <=(знак меньше или равно) >=(больше или равно) <>(не равно)

    ∙        Специальные знаки: [ ] . , ( ) : ; ^ { } $ # @

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

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

    ∙        тип - множество допустимых значений и множество применимых операций к ней;

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

    Постоянной (константа) называется величина, значение которой не изменяется в процессе исполнения программы. Константы должны объявляться в разделе констант, начиная с зарезервированного слова Сonst. В языке программирования Pascal константами являются любые явно заданные в программе данные.

    Пример. Const year=2009;

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

    Пример. Const Pi=3.14;

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

    Пример: Const а=2.4567Е-06

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

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

    Пример. Const Name='Татьяна';

    В качестве данных в программах на языке Pascal могут выступать числа, символы, целые строки символов. С этими видами информации выполняются совершенно разные действия. Например, с числовыми величинами производятся арифметические операции, чего невозможно сделать с символьными. Кроме того, разные виды данных требуют различного объема памяти для хранения. В соответствии с этими соображениями в языке Pascal введено понятие "Тип" (Type). Тип переменной указывает на то, какие данные могут быть сохранены в этом участке памяти, и в каких действиях эта переменная может участвовать.

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

    Пример. Var

            A,К: Real;  B : Integer;  C : Char;

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

    Различают переменные следующих простых типов: целые (Integer, Byte, ShortInt, Word, LongInt), вещественные (Real, Comp, Double, Single, Extended), логический (Boolean), символьный (Char).

    Тип

    Длина(байт)

    Диапазон значений

    Операции

    Целые типы

    integer

    2

    -32768..32767

    +, -, /, *, Div, Mod, >=, <=, =, <>, <, >

    byte

    1

    0..255

    +, -, /, *, Div, Mod, >=, <=, =, <>, <, >

    word

    2

    0..65535

    +, -, /, *, Div, Mod, >=, <=, =, <>, <, >

    shortint

    1

    -128..127

    +, -, /, *, Div, Mod, >=, <=, =, <>, <, >

    longint

    4

    -2147483648..2147483647

    +, -, /, *, Div, Mod, >=, <=, =, <>, <, >

    Вещественные типы

    real

    6

    2,9*10-39 - 1,7*1038

    +, -, /, *, >=, <=, =, <>, <, >

    single

    4

    1,5*10-45 - 3,4*1038

    +, -, /, *, >=, <=, =, <>, <, >

    double

    8

    5*10-324 - 1,7*10308

    +, -, /, *, >=, <=, =, <>, <, >

    extended

    10

    3,4*10-4932 - 1,1*104932

    +, -, /, *, >=, <=, =, <>, <, >

    сomp

    8

    9.2*1018..9.2*1018

    +, -, /, *, >=, <=, =, <>, <, >

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

    вoolean

    1

    true, false

    Not, And, Or, Xor, >=, <=, =, <>, <, >

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

    char

    1

    все символы кода ASCII

    +, >=, <=, =, <>, <,

    3. Оператор присваивания. Арифметические операции и стандартные функции

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

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

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

    Операнд 1

    Операнд 2

    Результат сложения, вычитания, умножения

    Результат деления

    Integer

    Integer

    Integer

    Real

    Integer

    Real

    Real

    Real

    Real

    Integer

    Real

    Real

    Real

    Real

    Real

    Real

    В Pascal существуют арифметические операции: +(сложение), -(вычитание), *(умножение), /(деление), DIV (целочисленное деление), MOD (остаток от деления).

    Пример: X := (Y + Z) / (2 + Z * 10) - 1/3;

    Пример. При выполнении целочисленного деления (операция DIV) остаток от деления отбрасывается: 15 div 3 = 5; 18 div 5 = 3; 7 div 10 = 0.

    Пример. С помощью операции MOD можно найти остаток от деления одного целого числа на другое: 15 mod 3 = 0;18 mod 5 = 3; 7 mod 10 = 7.

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

    Program summa;

    Var a,b,s,с,р: integer; {раздел описания переменных}

    Begin      {начало тела программы}

      a:=12;   {команда присваивания записывает в переменную a число 12}

      b:=5;    {команда присваивания записывает в переменную b число 5}

                   {переменные A и  B являются исходными данными}

      s:=a+b;  {команда присваивания вычисляет сумму значений переменных a и b и записывает результат в переменную s}

      Writeln('a + b=',s) {вывод значения переменной s на экран - вывод результата}

      c:=a div b;  {деление нацело (вычисление целой части  от деления а на b)}

      writeln('a div b=',c); {вывод на экран частного от деления нацело а на b}

      р:=a mod b;  {вычисление остатка от деления а на b}

      Writeln ('a mod b=',р); {вывод на экран остатка от деления а на b}

    End.         {конец  программы}

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

    a + b=17

    a div b=2

    a mod b=2

    Логический операнд - это конструкция, которая задает правило для вычисления одного из двух возможных значений: True или False. Чаще всего логические выражения используют в операторах присваивания или для записи условия, чтобы на некоторый вопрос получить ответ “ДА” или “НЕТ”. Составными частями логических выражений могут быть: логические значения (True, False); логические переменные; отношения, операции: Not(НЕ), And(И), Or(ИЛИ), Xor(исключающее ИЛИ).

    Пример. 1) Y:=True; 2) LogPer:=A > B; 3) Log1:=(A = B) And (C <= D).

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

    ∙        числовые константы;

    ∙        имена переменных;

    ∙        знаки математических операций;

    ∙        математические функции и функции, возвращающие число;

    ∙        открывающиеся и закрывающиеся круглые скобки.

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

    Имя функции

    Математическое значение

    Тип результата

    abs (a)

    |a|- модуль числа

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

    sqr (a)

    a2 возведение в квадрат

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

    sqrt (a)

    - квадратный корень

    Вещественное

    sin (a)

    sin a - синус x радиан

    Вещественное

    cos (a)

    cos a - косинус x радиан

    Вещественное

    arctan (a)

    arctg a - арктангенс числа x

    Вещественное

    ln (a)

    ln a- натуральный логарифм x

    Вещественное

    exp (a)

    ea  значение e в степени x

    Вещественное

    trunc(x)

    [x] - целая часть числа x

    Целое

    frac(x)

    {x} - дробная часть числа х

    Вещественное

    Pi

    π - число

    Вещественное

    Round (x)

    Округление до ближайшего целого

    Целое

    Int (x)

    [x]  целая часть числа

    Вещественное

    Порядок действий при вычислении значения выражения:

    1)        вычисляются значения в скобках;

    2)        вычисляются значения функций;

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

    4)        выполняются операции умножения и деления (в том числе целочисленного деления и нахождения остатка от деления);

    5)        выполняются операции сложения и вычитания.

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

    Program fun;

    Var a, c :integer; {раздел описания переменных целого типа}

     b,:real;  {раздел описания переменных вещественного типа}

    Begin      {начало тела программы}

        a:=16;       {исходные данные}

        b:= sqrt (a);  {функция sqrt извлекает квадратный корень из числа a и присваивает его значение переменной b - тип результата вещественный}

    writeln('b=’,b);{вывод на экран значения переменной b}

       c:=sqr (а);  {функция sqr возводит в квадрат значение переменной а и присваивает его  переменной c - тип результата целый}

     writeln(‘c=’,c); {вывод на экран монитора значения переменной c}

    Еnd.

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

    ! Нельзя писать выражения в виде обыкновенных дробей.

    Примеры записи математических выражений:

    Математическая запись

    Запись на Pascal

    1. x2 - 7,2x + 6

    Sqr(x) - 7.2 * x + 6

    2.

     (Abs(x) - Abs(y)) / (1 + Abs(x * y))

    4. Организация ввода и вывода данных

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

    Read(список переменных);

    ReadLn(список переменных);

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

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

    Пример.

            Var A : real; B : integer; C : char;

            Begin

              Read(A, B, C)

            End.

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

    Write (список констант и/или переменных, разделенных запятой)

    WriteLn(список констант и/или переменных, разделенных запятой)

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

    Пример. Write(A, B, C);

    WriteLn('Корнем уравнения является ', X);

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

    Процедура вывода с форматом для целого типа имеет вид:

    WriteLn(A:N); где N - выражение целого типа, задающие длину поля вывода значений.

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

    WriteLn(R:N:M); где N - выражение целого типа, задающие длину поля вывода значений, М- количество знаков в дробной части.

    Пример:

    A:=25; Write (A);  результат    25

    A:=25.367; Write (A:6:3); результат   25.367

                        Write (A:6:2); результат   25.37

    A:=-7.4385  Write (A); результат    -7.438500E+00

    S:=7; Write (S,’=’,5+2); - результат 7=7

    Write (‘S=5+2’); - вывод текста S=5+2, заключенного в апострофы.

    5. Реализация линейных алгоритмов

    ! Алгоритм, в котором команды выполняются последовательно друг за другом, называется линейным.

    Пример: Ввод трех целых чисел, вычисление и вывод их среднего арифметического и среднего геометрического значения.

    Program Z;

    Var a1,a2,a3:integer;

       sa,sg:real;

    Begin

     Writeln('Введи 3 целых числа:'); {Печать на экране просьбы о вводе}

       Read(a1,a2,a3);{Ввод данных}

       sa:=(a1 + a2 + a3) / 3;  {Вычисление среднего арифметического}

       sg:=sqrt(abs(a1*a2*a3)); {Вычисление среднего геометрического}

       Writeln ('Cр.арифм.=',sa:8:2);

       Writeln ('Cр.геом.=',sg:8:2) {Вывод данных}

    End.

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

    Program Inteface;

      Var R,S: Real;

     Begin

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

       Readln(R); {Ввод значения R}

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

       Writeln('Площадь круга радиусом ',R:5:2,' равна ',S:8:4)

    End.

    Пример. Скорость первого автомобиля v1 км/ч, второго - v2 км/ч, расстояние между ними s км. Какое расстояние будет между ними через t ч, если автомобили движутся в разные стороны?

    Согласно условию задачи искомое расстояние s1=s+(v1+v2)t (если автомобили изначально двигались в противоположные стороны) или s2=|(v1+v2)t-s| (если автомобили первоначально двигались навстречу друг другу).

            Program Car;

            Var V1, V2, T, S, S1, S2 : Real;

            Begin

      Write('Введите скорости автомобилей, расстояние между ними и время движения:');

       ReadLn(V1, V2, S, T);

       S1 := S + (V1 + V2) * T;

       S2 := Abs((V1 + V2) * T - S);

      WriteLn('Расстояние будет равно ', S1:7:4, ' км или ', S2:7:4, ' км')

            End.

    Пример. Найти сумму цифр двухзначного натурального числа.

    Program Did;

    Var A,S1,S2:integer;

    Begin

     Write ('введите двухзначное число: ');

      ReadLn (А);      {ввод с клавиатуры числа}

      S1:=a div 10;    {нахождение первой цифры числа}

      S2:=a mod 10;    {нахождение последней цифры числа}

      WriteLn ('сумма цифр числа ',а, '=', S1+ S2) {вывод результата}

    End.

    Пример.Дано: c, m, S - часы, минуты, секунды. Найти общее количество секунд с начала суток.

    Формула: Sec=c*3600+m*60+s

    Program Second;

       Var c, m, s : Byte ; Sec: LongInt ;      

    Begin

       Write ('Сколько часов прошло от начала суток? '); Readln (c);

       Write ('Сколько минут? '); Readln (m);

       Write ('Сколько секунд? '); Readln (s);

       Sec :=c*3600+m*60+s;

       Writeln ('С начала суток прошло секунд: ', Sec)

    End.

    Пример. Дано: координаты точки (Х,У). Получить сообщение TRUE, если точка принадлежит первой четверти окружности с радиусом 1, или сообщение FALSE, если точка не принадлежит области.

    Формула: точка с координатами (Х,У) принадлежит первой четверти окружности с радиусом 1 если одновременно выполняются условия: Х>0, Y>0, X2+Y2<=1

    Program FH;

       Var X,Y : Real;

    Begin

    Writeln (‘введи координаты точки: X, Y:’); Readln (X,Y);

    Writeln ((X1>=0) AND (Y1>=0) AND (SQR(X)+SQR(Y)<=1));

    End.

    Задания для практической работы по теме линейные алгоритмы.

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

    1.        Даны два числа. Найти сумму и произведение этих чисел.

    2.        Даны два числа. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.

    3.        Вычислить значение выражения  , где х и y - целые числа.

    4.        Периметр прямоугольника равен р, одна из сторон равна а. Найти его площадь.

    5.        Гипотенуза прямоугольного треугольника равна с, острый угол а градусов.

    6.        Найдите площадь квадрата, если две его противоположные вершины заданы координатами (х1,у2) ,(х2,у2).

    7.        Определить сколько времени (t) затрачено на путь (s ) со скоростью (v).

    8.        Вершины треугольника заданы точками (х1,у2) ,(х2,у2), (х3,у3). Используя формулу Герона, найдите его площадь.(АВ=Sqrt((х1-х2)2+(у1-у2)2).

    9.        Сумма вклада S руб., ее вкладывают в банк под C % годовых на N лет. Какая прибыль будет на вкладе.

    10.        Подсчитать стоимость поездки на S км. : расход бензина на 100 км.-L литров, стоимость 1 литра бензина K руб.

    11.        Вычислить стоимость покупки со скидкой : покупка А руб., скидка С %.

    12.        Даны координаты трех вершин треугольника (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь.

    13.        Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время движения лодки по озеру T1 ч, а по реке (против течения) - T2 ч. Определить путь S, пройденный лодкой.

    14.        Найти периметр и площадь прямоугольного треугольника, если даны длины его катетов a и b.

    15.        Дано целое четырехзначное число. Используя операции div и mod, найти сумму его цифр.

    16.        Дано целое четырехзначное число. Используя операции div и mod, найти произведение его цифр.

    17.        Длительность некоторого физического эксперимента измеряется в секундах; определить количество часов(полных), минут и секунд.

    18.        С начала месяца прошло m часов. Определить какое сейчас число.

    19.  С начала суток прошло k минут. Определить который сейчас час. (В часах и минутах).

    20.        Дано: координаты точки (Х,У). Получить сообщение TRUE, если точка принадлежит 2,3,4 четверти окружности с радиусом R, или сообщение FALSE, если точка не принадлежит области.

    6. Алгоритмическая конструкция ветвление

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

            If <логическое выражение> Then серия1 Else серия2;

    Если логическое выражение, выступающее в качестве условия, принимает значение True (истинно), то выполняются операторы следующие за then (серия1), если False (ложь), то выполняются операторы расположенные после else (серия2).

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

                    If <логическое выражение> Then серия;

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

    Begin

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

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

             ...

    <Оператор N>

    End; 

    ! Точка с запятой после Begin не ставиться.

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

    If <условие> Then Begin <группа операторов 1> End; 

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

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

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

    В простых условиях могут применяться знаки операций сравнения: >(больше), <(меньше), =(равно), <>(не равно), >=(больше или равно), <=(меньше или равно).

    Пример. (C+D3)>=(D1*(45-2))

    В сложных условиях логические выражения строятся с помощью логических операций: and (и), or (или), not (не).

    Примеры: (a>b) and (a>c); (Х<=1) or (Y>5) and (a>2); (4*Х-1>0) and (Х+2<3); not (a=b).

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

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

    Program Example;

    Var A,B,C : Real; {A,B - для хранения чисел, C - результат}

    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.

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

    Пример. Дано действительное число a. Вычислить f(a), если

    Program Usl1;

     Var х, F : Real;

     Begin

      WriteLn('Введите действительное число: ');  ReadLn(х);

       If х <= 0 Then F: = 0 Else

             If х <= 1 THEN F: = Sqr(х) - х  Else F = Sqr(х) - Sin(Pi * Sqr(х));

     WriteLn('Значение функции F(‘,x:5:2,’) = ', F:10:4);

    End.

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

    В конструкции CASE вычисляется выражение K и выбирается ветвь, значение метки которой совпадает со значением K. После выполнения выбранной ветви происходит выход из конструкции CASE. Если в последовательности нет метки со значением, равным K, то управление передается внешнему оператору, следующему за конструкцией CASE (в случае отсутствия альтернативы ELSE; если она есть, то выполняется следующий за ней оператор, а уже затем управление передается внешнему оператору).

    Запись оператора выбора

    Case K OF

       A1 : серия 1;

       A2 : серия 2;

         ...

       AN : серия N

      Else  серия N + 1

      End;

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

    Выражение K здесь может быть любого порядкового типа (к таким типам относятся все целые типы, Boolean, Char).

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

    Program Maximum;

    Var Max, X, Y : Real;

    Begin

      Write('Введите два неравных числа:');

      ReadLn(X, Y);

      Case X > Y Of

      TRUE  : Max := X;

      FALSE : Max := Y

      End;

      WriteLn('Максимальное из двух есть ', Max : 12 : 6)

    End.

    Задания для практической работы.

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

    1.        Дано число к- целое. Определить, является ли оно четным (нечетным).

    2.        Выяснить, имеет ли решение уравнение вида  А*х+В=0  в зависимости от параметра А.

    3.        Вычислить значение функции:          х*5   ,если х<=-1

                                                                       x/5    ,если х>=-1

    4.        Вычислить значение функции:    х*5   ,если х<=-1

                                                                       x/5    ,если х>=-1

                                                                       x2      ,если -1

    5.        Даны три числа А, В и С. Значение наибольшего из них удвоить.

    6.        Даны три числа А, В и С. Выяснить существует ли треугольник с длинами сторон А,В,С.

    7.        Дано число К- целое, трехзначное. Найти сумму цифр этого числа.

    8.        Даны три числа А , В и С . Выдать их в порядке возрастания.

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

    10.        Составьте алгоритм, который по номеру месяца выдает пору года.

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

    7. Алгоритмическая конструкция повторение

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

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

    Оператор имеет два варианта записи:

    1. For <переменная цикла> := <начало > to <конец> do < оператор>

    (С возрастанием переменной цикла)

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

    2. For <переменная цикла> := <начало > downto <конец> do < оператор>

    (С убыванием переменной цикла)

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

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

    Оператор имеет следующий вид:

    Repeat <последовательность операторов>

    Until<условие>

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

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

    Оператор имеет следующий вид:

          While <условие> do <оператор>

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

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

    1. For i:=1 to n do s:=s*i

    Преимущество структуры(1) тогда, когда переменная цикла целого типа и изменяется с шагом 1.

    2.  s:=1; i:=1;

    Repeat

    s:=s*i;

    i:=i+1;

    Until i>n;

    3.  s:=1; i:=1;

    While i<=n do

     Begin

        s:=s*i;

        i:=i+1;

    End;

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

    ! Если тело цикла содержит более одного действия, то необходимо использовать операторные скобки (Begin   End).

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

    Program Maс;

    Var a,b: longint;

    Begin

    Read(a); {ввод целого числа}

    Repeat

    b:=a mod 10; {вычисление крайней правой цифры числа}

    Writeln(b); {вывод цифры}

    a:=a div 10; {переменная а без крайней правой цифры}

    Until a=0;

         End.

    Пример. Возвести число а в степень n.

      Program Work;

    Var n,i: integer;

           L,a: real;

    Begin

    Writeln(‘Введите число - a  :’); Readln(a);

    Writeln(‘Введите показатель степени - n :’); Readln(n);

    L:=1; i:=1;

    While i<=n do Begin

    L:=a*L;

    i:=i+1;

    End;

      Writeln(‘Число ‘,a,’ в степени ’,n,’ равно ’,L:6:4);

    End.

    Задания для практической работы.

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

    1.        Вычислить сумму первых К слагаемых ряда:

    а) 1+1/2+1/3+…1/к;

    б) 2+4+6+….2*к;

    в) 1+1/22-1/32+1/42-…1/к2;

    г) 1+(1+2)+(1+2+3)+…+(1+2+…+10).

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

    3.        Дано натуральное число К. Найти :а) сумму цифр числа; б) кол-во цифр в числе.

    4.        Даны два числа А и В(положительные). Составить алгоритм нахождения:

    а) наименьшего общего делителя;

    б) наименьшего общего кратного.

    5.        Вычислить n! =1*2*3*4*…*n (факториал числа).

    6.        Даны два целых положительных числа А и В. Найти наибольшее число К такое, что А+А23+…+АК <=В.

    7.        Дано натуральное число К (K>0). Определить, является ли число простым (натуральные числа, которые имеет два натуральных делителя 1 и самого себя - 2,3,5,7…).

    8.        Дано натуральное число К (K>0). Определить, является ли оно совершенным. (число совершенное, если оно равно сумме своих делителей, 6=1+2+3).

    9.        Найти кол-во всех трехзначных чисел, сумма цифр которых равна числу К.

    10.         Сумма в S руб. положили в банк. При этом прибыль составляет k % в год от первоначальной суммы. Через какой срок сумма вклада увеличится в x раз.

    8. Структурированный тип данных: массив

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

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

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

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

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

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

    Пример. Числовая последовательность четных натуральных чисел 2, 4, 6, ..., N представляет собой линейный массив, элементы которого можно обозначить А[1]=2,А[2]=4,А[3]=6, ..., А[К]=2*(К+1), где К - номер элемента, а 2, 4, 6, ..., N - значения. Индекс (порядковый номер элемента) записывается в квадратных скобках после имени массива.

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

    Пример. Таблица умножения. На пересечении строки и столбца содержится результат произведения соответствующих чисел: A[i,j]=i*j, A[2,2]=4, A[3,2]=6. Первый индекс в записи таблиц обозначает строку, второй - столбец.

    Форматы определения массивов для одномерного массива:

    Var имя массива: array [начальный индекс .. конечный индекс] of тип данных;

    Для двумерного массива:

    Var имя массива: array [начальный индекс .. конечный индекс, начальный индекс .. конечный индекс] of тип данных;

    Пример. Var massiv1: array [1..5] of real; - одномерный массив, состоящий из 5 элементов (чисел) действительного типа.

         Var massiv2: array [1..10, 1..10] of integer; -двумерный массив из 100(10*10) целых чисел.

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

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

    Пример. Заполнить одномерный массив элементами, отвечающими следующему соотношению:

    a1=1; a2=1; ai=ai-2+ai-1 (i = 3, 4, ..., 20).

    A[1]:= 1; A[2]:= 1;

    For i := 3 to 20 do  A[i] := A[i-1] + A[i-2];

    Заполнить двумерный массив элементами таблицы умножения.

    For i := 1 to 10 do  

        For j := 1 to 10 do  A[i,j] := i*j;

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

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

    Program M1;

    Var A : Array [1..20] Of Integer; i : Integer;

    Begin

    For i:=1 to 20 do Begin

    Write('Введите A[', i, '] ');

    Readln(A[i]); {значениям индексов и вводим A[i] с клавиатуры }

    For i:=20 downto 1 do Write(A[i],' ') {Распечатываем массив в обратном порядке}  

    End.

    Еще один вариант присваивания значений элементам массива - с помощью датчика случайных чисел. В языке Паскаль случайные числа формирует функция Random. Числа получаются дробными, равномерно расположенными в интервале от 0 до 1. Выражение, дающее целое случайное число в интервале [-n,n] будет выглядеть так: Trunc(Random*n+1)-n.

    Пример. Заполнить и вывести на печать одномерный массив из 40 чисел с помощью датчика случайных чисел из интервала [-50,50].

    Program M2;

    Const n=40; {Константа n - количество элементов массива}

    Var A : Array [1..n] of Integer; i : Integer;

    Begin

    For i:=1 to n do Begin A[i]:= Trunc(Random*101)-50;

    {заполнение массива случайными числами из интервала [-50,50]}

    Write(A[i],' ') { вывод элементов массива в строку через пробел}

    End

    End.

    Пример. Заполнить и вывести на печать двумерный массив с помощью датчика случайных чисел из интервала [0,1].

    Program M3;

    Const max=5;

    Var a: array [1..max, 1..max] of real; i,j:byte;

    Begin

                For i:=1 to max do

                  For j:=1 to max do Begin

                    a[i,j]:=Random;

                    Writeln(‘a[‘,i,’,’,j,’]=’,a[i,j]);

    End

    End.

    9. Реализация алгоритмов с массивами

    Над элементами массивами чаще всего выполняются такие действия, как

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

    Сумму элементов массива можно подсчитать по формуле s=s+a[i] первоначально задав s=0. Количество элементов массива можно подсчитать по формуле к=к+1, первоначально задав к=0. Произведение элементов массива можно подсчитать по формуле p=p*a[i], первоначально задав p=1. При работе с элементами массива часто приходится изменять значения некоторых элементов, а так же переставлять элементы в массиве. При перестановке необходимо вводить дополнительную переменную.

    Рассмотрим фрагменты программ, реализующих поиск элементов с заданными свойствами:

    • поиск четных элементов.

    For i:=1 to 10 do If a[i] mod 2=0 then write(a[i],' ');

    • поиск элементов с нечетными индексами.

    For i:=1 to 10 do If i mod 2<>0 then write(a[i],' ');

    • подсчет количества элементов равных 0.

    k:=0; For i:=1 to 10 do If a[i]=0 then k:=k+1;

    • нахождение суммы элементов массива, находящихся до первого отрицательного.

       s:=0;  i:=1;

       While a[i]>=0 do Begin

           s:=s+a[i]; i:=i+1;

               End;

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

         max :=a[1]; i_max:=1;

         For i :=1 to 5 do

    If a [i] > max then Begin

    max :=a [i];

    i_max :=i;

    End;

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

    • замена положительных элементы на 1, отрицательных на 0.

    For i:=1 to n do If a[i]>0 then a[i]:=1 else if a[i]<0 then a[i]:=0;

    • вставка числа х после всех элементов равных 0.

    k:=0;

    For i:=n downto 1 do

      If a[i]=0 then Вegin

             For j:=n+k downto i+1 do

    a[j+1]:=a[j];

        a[i+1]:=x;

         k:=к+1; Еnd;

    • удаление из массива всех отрицательных элементов.

    k:=0;

    For i:=n downto 1 do

        If a[i]<0 then Вegin

       For j:=i to n-1 do a[j]:=a[j+1];

                   a[n]:=0; k:=к+1;

    Еnd;

    • перестановка минимального и максимального элементов

       max:=a[1];  {присвоение максимуму значения первого элемента}

       i_max:=1;  {присвоение номеру максимального элемента 1}

     For i:=1 to n do  сравнение всех элементов с максимумом}

       If a[i]>max then Вegin

              max:=a[i]; {запоминаем значение максимального элемента}

              i_max:=i;  {запоминаем номер максимального элемента}

    Еnd;

       min:=a[i]; i_min:=i;

        For i:=1 to n do  {поиск минимального элемента}

    If a[i]Вegin

              min:=a[i];

              i_min:=i;

    Еnd; {конец поиска минимального элемента}

       x:=a[i_max];{перестановка минимального и максимального элементов}

       a[i_max]:=a[i_min];

       a[i_min]:=x;

    Сортировка массивов

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

    1) сортировка вставкой (включением);

    2) сортировка выбором (выделением);

    3) сортировка обменом (так называемая "пузырьковая" сортировка).

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

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

    Program Work_1;

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

    Var i,d,j:integer;

     Begin

     For i:=1 to 10 do Read(a[i]);

      For j:=2 to 10 do

    Begin

    i:=j-1;

    d:=a[j];

    While (i>0) and (d

    Begin

     a[i+1]:=a[i];

     i:=i-1;

     End;

    a[i+1]:=d;

    End;

     For  i:=1 to 12 do Write(a[i],' ');

    End.

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

    Program Work_2;

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

    Var i,k,x,j,n:integer;

     Begin

      For i:=1 to 10 do read(a[i]);

       For i:=1 to 9 do Begin

    k:=i; x:=a[I];

    For j:=i+1 to 10 do

    If  xBegin

     x:=a[j]; k:=j;

    End;

    a[k]:=a[i]; a[i]:=x

    End;

    For i:=1 to 10 do Write(a[i],' ');

    End.

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

    Program Work_3;

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

    Var i,k,x,j,n:integer;

     Begin 

      For i:=1 to 10 do Read(a[i]);

      For i:=2 to 10 do Begin

        For j:=10 downto i do

    If a[j-1]>a[j] then Begin

     x:=a[j-1]; a[j-1]:=a[j];a[j]:=x;

    End;

    End;

      For  i:=1 to 10 do Write(a[i],' ');

    End.                       

    Задания для практической работы.

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

    1. Организовать ввод элементов одномерного массива размерностью n=10 с клавиатуры, заменить отрицательные элементы массива на их модули, а положительные увеличить на 1.
    2. Переставить элементы одномерного массива по следующей схеме:

    исходный массив - а[1],а[2],а[3],а[4],а[5]

    итоговый - а[5],а[4],а[3],а[2],а[1]

    1. Удалить из массива элементы кратные 3 или 5.
    2. Информация о средней суточной температуре воздуха за n дней (n<=30) представлена в виде массива t из вещественных чисел. Определить номер дня, когда средняя суточная температура за n дней была наибольшей, и номер дня, когда средняя температура за сутки была второй по своей величине после наибольшей.
    3. Организовать ввод элементов одномерного массива размерностью n=10 с помощью функции случайных чисел, вставить число K в одномерный массив после первого элемента кратного 3.
    4. Поменять местами минимальный и максимальный элементы в массиве размерностью n=10.
    5. Даны два массива а(n) и в(m). Получить новый массив с(?), который содержит только четные числа двух массивов.
    6. Имеется n грузов весом a1, …, an и платформа грузоподъемностью r. Определить, какое максимальное количество грузов можно поместить на эту платформу. ( Сортировка простыми вставками).

    10. Обработка символьной и строковой информации

    Символьный тип Char - это тип данных, предназначенный для описания одного символа: буквы, цифры, знака или кода. В памяти компьютера переменная типа Char занимает 1 байт. Символьные переменные в языке Pascal задаются следующим образом: Var <идентификатор>:char;

    Значения символьных переменных обычно заключаются в апострофы, например: ’A’,’+’, ’;’, ’W’. Однако они могут записываться с помощью знака решетки (#) и кода таблицы ASCII, например #67 соответствует символу ‘C’.

    Пример.

    Var Mv, kv, nv, cv:char;

    rc:=’Q’; nv:=#0;{пустой символ}

    При работе с переменными типа Char в языке Pascal используются следующие функции:

    Chr(x:byte):char; - возвращает символ, соответствующий в ASCII-таблице коду числа х;

    Ord(x:char):byte; - возвращает порядковый номер в ASCII-таблице символа х;

    UpCase(x:char):char: - преобразует символы из строчных латинских букв в прописные;

    Pred(x:char):char: - возвращает символ, который предшествует символу х в ASCII-таблице;

    Succ(x:char):char: - возвращает символ, который следует за символом х в ASCII-таблице/

    Пример.

    Выражение

    Результат

    Chr(60)

    ’ <’

    Ord(’1’)

    48

    Chr(55)

    ’7’

    Pred(’9’)

    ’8’

    Succ(’5’)

    ’6’

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

    Cтроковый тип данных String – структурированный тип данных, предназначенный для обработки строк. Строка - это последовательность символов. Каждый символ занимает 1 байт памяти (код ASCII). Количество символов в строке называется ее длиной. Длина строки может находиться в диапазоне от 0 до 255. Строковые величины могут быть константами и переменными. Особенностью строки в языке Pascal является то, что с ней можно работать как с массивом символов, так и с единым объектом.

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

    Var <идентификатор> : string[<максимальная длина строки>]; 

    Пример: Var Name : string[20].

    Пустая строка изображается как ’’.

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

    Операция сцепления (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные. Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false).

    Пример.

    Var S1:string[5]; S2:string[6];S3:string[11];

    S1:=’инфор’;

    S2:=’матика’;

    S3:=S1+S3; {получим строку: ’информатика’}

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

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

    Пусть S, S1, S2, sk - выражения строкового типа; poz, n, code - целого типа.

    1. Length(S): integer; - вычисляет длину строки S в символах;
    2. Concat(s1, s2,…,sk):string; - выполняет объединение строк s1, s2, …sk;
    3. Copy(s, poz, n):string: - выделяет из строки S подстроку , начиная с позиции pozл длиной n;
    4. Pos(s1, s2):byte; - отыскивает первое появление в строке s2  подстроки s1. Результатом работы этой функции становится номер (индекс) позиции в строке s2, с которой начинается строка s1. Если результат равен 0, то подстрока не найдена.

    Строковые процедуры

    1. Delete(S, poz, n); - удаляет из строки S n символов, начиная с позиции  poz;
    2. Insert(S1, S2, poz): - вставляет строку S1  в строку S2, начиная с позиции poz;
    3. Str(v, S):- преобразует числовое значение  v в строковое представление; если v – целое число, то может быть указано общее число символов 1, например str(v:1:s); если v  принимает вещественное значение, то дополнительно может быть указано число m символов после десятичной точки, например str(v:1:m:s);
    4. Val(S,v,code); - преобразует строку S в число,  и переменной v присваивается это числоn; тип числа зависит от типа переменной v –  целый или вещественный. Если такое преобразование выполнено успешно, то переменной code присваивается значение 0, в противном случае  code содержит номер позиции первого ошибочного символа.

    Пример.

    Пусть st - строка типа string[6] и st=’klmn’, S – строка string[5]. x - переменная целого типа, fs – строкового типа.

    Функция

    Результат

    X:=Leght(st)

    4

    Fs:=copy(st,2,2)

    ‘lm’

    X:=pos(‘mn’,st)

    3

    Процедура

    Результат

    Delete(st,1,1)

    ‘lmn’

    Insert(‘ab’,st,1)

    ‘abklm’

    Str(15,s)

    ‘15’

    Val(‘-3’, x, code)

    -3  0

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

    Var S, rs1, rs2, rs3, rs4, temp:string;

    Begin

    S:= ’золотопромышленник’;

    Rs1:=Copy(s,1,6);   {выделим слово ‘золото’}

    Rs2:=Copy(s,length(rsl)+1,length(s)-length(rsl));{слово ‘промышленник’}

    Temp:=S;

    Delete(temp,1,12);  {оставим часть слова ’ленник’}

    Rs3:=S[7]+temp;    {построим слово ‘пленник’}

    Rs4:=S;

    Delete(rs4,1,9);       {оставим часть слова ‘мышленник’)

    Delete(rs4,7,1);       {оставим часть слова  ‘мышленик’}

    Rs4[length(rs4)]:=rs4[5];   {заменим ‘к’ на ‘е’, получим ‘мышление’}

    Writeln(rs1,’’,rs2,’’,rs3,’’,rs4,);

    End.

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

    Var K, M:byte; Sl, Wr:string;

    Begin

    Writeln(‘введите строку текста из слов’); Readln(Sl);

    Sl:=’ ’+ Sl +’ ’;

    Writeln(‘введите удаляемое слово’); Readln(Wr);

    Wr:=’ ‘ + Wr + ‘ ‘ ;

    K:=length(Wr);       {определяем длину слова}

    Repeat

    M:=pos(Wr,Sl);      {номер позиции удаляемого слова}

    If (M<>0) then delete(Sl,M + 1,K-1) {удаляем слово из текста}

    Until M:=0

    Writeln(Sl)        

    End.

    Пример. Дана слово. Необходимо определить, является ли это слово палиндромом. (потоп, Анна)

    Var  D, G:byte; Tet:string; F:boolean;

    Begin

    Writeln(‘введите слово’); Readln(Tet);

    D:=length(Tet);     {определим длину слова}

    F:=true;     {признак, фиксирующий, что слово является палиндромом}

    G:= D div 2;

    While G>=1 do Begin

    If Tet[G]<>Tet[d – G + 1] then F:=false;

    G:=G – 1

    End;

    If F Then Writeln(‘ слово является палиндромом’)

    Else Writeln(‘слово не является палиндромом’)

    End.

    Задания для практической работы.

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

    1. Подсчитать, сколько раз в заданном тексте встречается заданный символ.
    2. Заменить в заданном тексте буквосочетание "min" на "ma".
    3. В заданном тексте подсчитать общее количество букв "x" и "y".
    4. Удвоить каждую букву в заданном тексте.
    5. Вычеркнуть из заданного слова все буквы "а".
    6. Заданную строку А переписать в обратном порядке в строку В.
    7. В заданной последовательности слов найти все слова, начинающиеся с заданной приставки.
    8. Найти самое длинное и самое короткое слово в заданном предложении.
    9. В заданном тексте подсчитать наибольшее количество подряд идущих пробелов.

    11. Использование графических возможностей языка программирования

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

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

    Рисование различных геометрических фигур осуществляется с помощью специальных стандартных команд (процедур). Команды для работы в графическом режиме хранятся в библиотечном модуле GraphAbc, который описывается в разделе описаний с помощью зарезервированного слова Uses. В модуле GraphAbc с помощью команды setwindowsize(X,Y) можно задавать  размеры графического окна. По умолчанию графическое окно будет принимать размеры экрана компьютера

    Пример. 

    Program t1;

    uses graphabc;  {подключение модуля GraphAbc}

    Begin

    setwindowsize(640,480); {устанавливает размеры графического окна}

    End.

    Команда setpixel(x,y,c) - рисует точку с координатами (х,у) цветом с. Стандартные цвета с задаются символическими константами:

    clBlack

    черный

    clYellow

    желтый

    clWhite

    белый

    clNavy

    темно-синий

    clRed

    красный

    clMaroon

    темно-красный

    clGreen

    зеленый

    clPurple

    фиолетовый

    clBrown

    коричневый

    clCream

    кремовый

    clBlue

    синий

    clAqua

    бирюзовый

    clSkyBlue

    голубой

    clOlive

    оливковый

    clFuchsia

    сиреневый

    clTeal

    сине-зеленый

    clGray

    темно-серый

    clMedGray

    серый

    clLime

    ярко-зеленый

    clSilver

    серебряный

    Процедура Line(x1,y1,x2,y2) вычерчивает прямую линию из точки (х1,y1) в точку (x2,y2) цветом установленным процедурой SetPenColor(c).

    Для задания стиля линии существует команда SetPenStyle (Style), где Style - стиль линии: psSolid - сплошная, psDash – штриховая, psDot – пунктирная, psClear – прозрачная.

    Установить ширину текущего пера можно процедурой SetPenWidth(Width: integer).

    Процедура Rectangle(x1,y1,x2,y2) рисует прямоугольник, где (х1,y1) координаты верхней левой точки, а (х2,y2) - правой нижней.

    Процедура FillRect(x1,y1,x2,y2: integer) - заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.

    Процедура Сircle(x,y,r) рисует окружность с центром в точке (х,y) и радиусом r.

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

    Процедура СlearWindow(color) устанавливает цвет графического окна. Закрасить прямоугольник и круг можно, используя команду закраски кистью SetBrushColor (color).

    SetBrushStyle(Style) - устанавливает стиль текущей кисти. Константы стилей кисти: bsSolid – сплошная, bsClear – прозрачная, bsHatch – штриховая, bsGradient – градиентная.

    Процедуры для ввода текста:

    TextOut(x,y: integer; s: string) - выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s);

    SetFontSize(size: integer) - устанавливает размер текущего шрифта в пикселях;

    SetFontColor(c: Color) - устанавливает цвет текущего шрифта;

    SetFontStyle(fs: integer) - устанавливает стиль текущего шрифта.

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

    Program L;

     uses GraphAbc;

     Begin

    SetWindowsize(640,480);{устанавливает размеры графического окна в пикселах}

    ClearWindow(clYellow); {устанавливает желтый цвет фона}

    SetPenColor(clBlue);{устанавливает синий цвет пера}

    SetPenWidth(10); {устанавливает ширину пера}

    Line(250,250,300,100);   {рисует линию}

    Line (100,270,200,350); {рисует треугольник}

    Line (200,350,300,270);

    Line (300,270,100,270);

    FloodFill(175,300,clgreen); {Закрашивает треугольник}

    Setpencolor(clGreen); {устанавливает зеленый цвет пера}

    SetPenWidth(5);      {устанавливает ширину пера}

    Rectangle(30,30,230,130);{рисует прямоугольник}

    FloodFill(50,100,clSilver);

    Setpencolor (clNavy);    {устанавливает красный цвет пера}

    Circle(460,260,70); {рисует окружность};

    FloodFill(460,260,clSkyBlue);

    SetFontStyle(fsbold); {устанавливает стиль шрифта}

    SetFontSize(18);     {устанавливает размер шрифта}

    SetFontColor(clFuchsia); {устанавливает оливковый цвет шрифта}

    TextOut(300,30,'Геометрические фигуры'); {делает надпись}

     End.

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

    • закрашенную зеленым цветом елку;
    • лодку с парусом;
    • снеговика;
    • дом;
    • придумайте свой рисунок.

    Приложение к главе 3

    Таблица 1.  Меню Правка

    Команда

    Назначение

    Отменить      CTRL+Z

    Отмена последней операции редакти-рования текста программы

    Восстановить    Shift+Ctrl+Z

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

    Вырезать       CTRL+X

    Перемещение выделенного фрагмента текста из окна редактора в буфер обмена

    Копировать   CTRL+C

    Копирование выделенного фрагмента текста из окна редактора в буфер обмена

    Вставить        CTRL+V

    Вставка выделенного текста из буфера обмена в окно редактора

    Найти             CTRL+F

    Поиск текста

    Заменить       CTRL+R

    Поиск текста и замена его новым текстом

    Найти далее  CTRL+L

    Дальнейший поиск текста

    Таблица 2. Меню Файл

    Команда

    Назначение

    Новый         CTRL+N

    Открытие окна для нового файла

    Открыть      CTRL+O

    Открытие (загрузка) файла

    Сохранить   CTRL+S

    Сохранение файла с прежним именем

    Сохранить как …

    Сохранение файла с новым именем

    Закрыть       CTRL+F4

    Закрыть текущее окно файла

    Выход

    Выход из системы программирования

    Таблица 3. Ошибки при работе в системе программирования Pascal ABC

    Ошибка

    Причина ошибки

    Неожиданный символ

    Символ введен не с регистра английских букв

    Ожидался символ "точка"  

    После end нет точки

    ожидалось  begin  

    Нет слова begin

    Ожидалась "точка с запятой"  

    Нет символа «;» либо неверно расставлены скобки в команде

    Ожидался идентификатор  

    Не указано имя программы

    Ожидалась команда    

    Отсутствует end

    Неизвестное имя

    Неправильно написано название команды  

    Ожидадось «)»

    Не закрыта скобка в  конце команды

    Ожидался конец файла

    Неверно написано слово end  либо есть  лишние символы после слова end в конце программы

    ожидался идентификатор, но ... обнаружено   зарезервированное слово

    Например, вместо val1 написано var

    Ошибка ввода. Программа завершена

    Неверно указано имя файла с задачей (‘begin’)

    Графические примитивы Модуля GraphABC

    procedure SetPixel(x,y,color: integer);

    Закрашивает один пиксел с координатами (x,y) цветом color.

    procedure MoveTo(x,y: integer);

    Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y).

    procedure LineTo(x,y: integer);

    Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).

    procedure Line(x1,y1,x2,y2: integer);

    Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).

    procedure Circle(x,y,r: integer);

    Рисует окружность с центром в точке (x,y) и радиусом r.

    procedure Ellipse(x1,y1,x2,y2: integer);

    Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).

    procedure Rectangle(x1,y1,x2,y2: integer);

    Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).

    procedure TextOut(x,y: integer; s: string);

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

    procedure FloodFill(x,y,color: integer);

    Заливает область одного цвета цветом color, начиная с точки (x,y).

    procedure FillRect(x1,y1,x2,y2: integer);

    Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.

    Процедуры для работы с пером

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

    procedure SetPenColor(c: Color);
                                                                                    Устанавливает цвет текущего пера

    procedure SetPenWidth(Width: integer);
                                                                                   Устанавливает ширину текущего пера

    procedure SetPenStyle(style: DashStyle);
                                            Устанавливает стиль текущего пера. Константы стилей пера приведены ниже.

    procedure SetPenMode(m: integer);
                                                                                  Устанавливает режим текущего пера

    Стили пера

     Стили пера определены следующими константами:

    psSolid = DashStyle.Solid;

            Сплошное перо

    psDash = DashStyle.Dash;

            Штриховое перо

    psDot = DashStyle.Dot;
            

            Пунктирное перо

    psDashDot = DashStyle.DashDot;

            Штрихунктирное перо

    psDashDotDot = DashStyle.DashDotDot;
            

    Альтернативное штрихунктирное перо

    psClear = DashStyle.Clear;

           Прозрачное перо

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

    procedure SetWindowWidth(w: integer);
            Устанавливает ширину клиентской части графического окна в пикселах

    procedure SetWindowHeight(h: integer);
            Устанавливает высоту клиентской части графического окна в пикселах

    procedure SetWindowLeft(l: integer);
            Устанавливает отступ графического окна от левого края экрана в пикселах

    procedure SetWindowTop(t: integer);
            Устанавливает отступ графического окна от верхнего края экрана в пикселах

    procedure SetWindowCaption(s: string);
            Устанавливает заголовок графического окна

    procedure SetWindowTitle(s: string);
            Устанавливает заголовок графического окна

    procedure SetWindowSize(w,h: integer);
            Устанавливает размеры клиентской части графического окна в пикселах

    procedure SetWindowPos(l,t: integer);
            Устанавливает отступ графического окна от левого верхнего края экрана в пикселах

    procedure ClearWindow;
            Очищает графическое окно белым цветом

    procedure ClearWindow(c: Color);
            Очищает графическое окно цветом c

    procedure SaveWindow(fname: string);
            Сохраняет содержимое графического окна в файл с именем fname

    procedure LoadWindow(fname: string);
            Загружаает содержимое графического окна из файла с именем fname

    procedure FillWindow(fname: string);
            Заполняет содержимое графического окна обоями из файла с именем fname

    procedure CloseWindow;
            Закрывает графическое окно и завершает приложение

    procedure CenterWindow;
            Центрирует графическое окно по центру экрана

    procedure MinimizeWindow;
            Сворачивает графическое окно

    procedure NormalizeWindow;
            Возвращает графическое окно к нормальному размеру

    Процедуры для работы с кистью

    Рисование внутренностей замкнутых областей осуществляется текущей кистью.

    Procedure SetBrushColor(c: Color);
                                              Устанавливает цвет текущей кисти

    procedure SetBrushStyle(bs: BrushStyleType);
                                  Устанавливает стиль текущей кисти. Константы стилей кисти    

                                                                                                                       приведены ниже.

    procedure SetHatchBrushBackgroundColor(c: Color);
                                           Устанавливает цвет заднего плана текущей штриховой кисти

    procedure SetGradientBrushSecondColor(c: Color);
                                          Устанавливает второй цвет текущей градиентной кисти

    Стили кисти

    bsSolid         Сплошная кисть (по умолчанию)

    bsClear         Прозрачная кисть

    bsHatch         Штриховая кисть

    bsGradient  Градиентная кисть

    Процедуры для работы со шрифтом

    Вывод текста осуществляется текущим шрифтом.

    Procedure SetFontSize(size: integer);
                                                              Устанавливает размер текущего шрифта в пикселях

    Procedure SetFontColor(c: Color);
                                                               Устанавливает цвет текущего шрифта

    Procedure SetFontStyle(fs: integer);
                                                               Устанавливает стиль текущего шрифта



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

    Word Вычисления в таблицах

    Текстовый процессор Word позволяет выполнять вычисления, записывая в отдельные ячейки таблицы формулы с помощью команды ТАБЛИЦА, Формулы.

    Формула задаётся как выражение, в котором использованы:

    • абсолютные ссылки на ячейки таблицы в виде списка (разделяемые точкой с запятой –А1; В5; Е10 и т.д.) или блока (начало и конец блока ячеек – А1:F10)
    • ключевые слова для ссылки на блок ячеек:

    LEFT – ячейки, расположенные в строке левее ячейки с формулой 
    RIGHT– ячейки, расположенные в строке правее ячейки с формулой 
    ABOVE– ячейки, расположенные в столбце выше ячейки с формулой 
    BELOW– ячейки, расположенные в столбце ниже ячейки с формулой 

    • константы – числа, текст в двойных кавычках;
    • встроенные функции WORD;
    • знаки операций (+ - * / % ^ = < <= >= < > )

    Виды встроенных функций.

    Категория

    Функция

    Назначение

    Статистические

    AVERAGE()

    Вычисление сред. значение для диапазона ячеек, например: =AVERAGE(А1:С20)

    COUNT()

    Подсчёт числа значений в указанном диапазоне ячеек, например: =COUNT(А1:С20; В25; А30)

    MAX()

    Нахождение макс-ого знач. в указанном блоке ячеек, например: =MAX(А1:С20; В25; А30)

    MIN()

    Нахождение мин-ого знач. в указанном блоке ячеек, например: =MIN (А1:С20; В25; А30)

    SUM()

    Нахождение суммы чисел в указанном блоке ячеек, например: =SUM (А1:С20; В25; А30)

    Математические

    ABS(x)

    Абсолютное значение вычисляемого выражения, например: = ABS(А1*В12-С25+100)

    MOD(x, y)

    Остаток от деления первого числа на второе, например: = MOD(А1,С12)

    INT(x)

    Целая часть числа, например: = INT(234.45)

    PRODUCT()

    Произведение чисел в указанном диапазоне ячеек, например: = PRODUCT(А1:С20; В25; А30)

    ROUND(x, y)

    Округление значения до указанного числа знаков, например, округлить до сотен: = ROUND(2345.45.-2)

    SIGN(x)

    Определение знака числа, например (-1 для отрицательных и 1 для положительных): = SIGN(-2345.45)

    Логические

    IF(x,y,z)

    Проверка заданного условия и присвоения значения ячейке: если условие истинно - значение 1, иначе значение 2:= IF (Е12>G12; значение 1;значение 2)

    AND(x,y)

    Вычисляет значение 1, если заданы истинные значения логических аргументов, иначе – 0, например: = AND(А4>3; В3<3)

    OR(x,y)

    Вычисляет значение 0, если заданы истинные значения любого логического аргумента, иначе – 1, например: = OR (А2>3; D3<=4)

    NOT(x)

    Вычисляет значение 0, если заданы истинное значение логического аргумента, иначе – 1, например: = NOT( D4>2)

    FALSE

    Логическая константа ложь, которой соответствует число 0.

    TRUE

    Логическая константа истина, которой соответствует число 1.

    DEFINED(x)

    Определяет значение в ячейке.



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

    Алгоритмы

    Алгоритмы, свойства алгоритмов и способы их описания

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

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

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

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

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

    Свойства алгоритмов:

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

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

    Типовые конструкции алгоритмов:

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

    Форма и способ записи алгоритма зависит от того, кто будет исполнителем.

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

    1. Естественное представление алгоритма

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

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

    Элементы блок-схем

    Элемент блок-схемы

    Назначение элемента
    блок-схемы

    начало и конец алгоритма

    ввод-вывод данных

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

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

    применяется для вызова отдельно описанного алгоритма (подпрограммы)

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

    2. Формальное представление алгоритмов

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

    Алгоритмический язык – это система правил и обозначений для точной и однозначной записи алгоритмов. Такая запись является формализованной. Это означает, что запись подчиняется строгим требованиям синтаксиса языка.

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

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

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



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

    Файловые менеджеры

     

    Файловый менеджер (англ. file mannager) — компьютерная программа, предоставляющая интерфейс пользователя для работы с файловой системой и файлами. Файловый менеджер позволяет выполнять наиболее частые операции

    - копирования, переноса, удаления, редактирования текстовых файлов, гибкого запуска программ для работы с этими файлами…

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

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

    Наиболее известные ортодоксальные файловые менеджеры: Norton Commander, Dos Navigator, Volkov Commander, PIE Commander, FAR Manager, Total Commander, POSIX (Linux, BSD и т. д.), Midnight Commander, Krusader, GNOME Commander.

    Навигационные файловые менеджеры: проводник Windows (англ. Windows Explorer) — встроен в Windows, Mac OS X, Finder, Path Finder, POSIX (Linux, BSD и т.д.), Konqueror — поставляется с KDE, Nautilus (файловый менеджер) — поставляется с GNOME

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

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

    1. Просмотр и редактирование текстовых файлов, подцветка синтаксиса, поддержка разных кодировок (включая Unicode)

    2. Поиск и замена по множеству файлов, множественное переименование файлов, просмотр картинок, работа с архивами.

     Идеология работы файловых менеджеров

     

    В любой файловой оболочке (а также в окнах операционных систем Microsoft Windows 95/98/2000/XP, IBM OS/2 Warp, IRIX, Linux и др.) содержатся следующие возможности для отображения каталогов и структуры каталогов:

    - вывод содержимого каталога в кратком формате (только имена файлов и их тип.)

    - вывод содержимого каталога в полном формате (вывод всех свойств файлов)

    - вывод дерева или ветвей дерева каталогов (не для окон операционных систем)

    - вывод информации о выделенном файле не доступна в окнах операционных систем Microsoft Windows 95/NT4 в базовом варианте

    - быстрый просмотр содержимого файла как есть, допустима для всех операционных систем, кроме Microsoft Windows 95/NT4.

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

    - возможность поиска файлов и отображения результатов поиска в отдельном окне

    - запуск определенного приложения, соответствующее расширению файла. Приложения запускается “открытием” файла (смотри основы работы с WIMP, список файлов)

    - назначение дополнительных программ для просмотра/изменения содержимого файла в зависимости от расширения

    - изменение размера области, отводимой для изображения содержимого каталога.

    Дополнительно следует заметить особенности в режимах отображения директорий в оболочках Far, Windows Commander, Диско-командир, Norton Commander for Windows 95, связанные с поддержкой ими длинных имен файлов. Поэтому при работе с длинными именами файлов в операционных системах Microsoft Windows 95/98/2000/NT4/NT3.51 автор рекомендует использовать именно эти программы! В противном случае возможно “обрезание” длинных имен. Использование файловых оболочек Norton Commander for DOS, Volkov Commander, DOS Navigator для работы в этих операционных системах допустимо, если для операций с файлами используется командная строка (то есть не используются клавиши F5, F6 и F7).

    История развития файловых менеджеров

     

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

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

    Norton Commander (NC) — очень популярный файловый менеджер для DOS, первоначально разработанный американским программистом John Socha. (Некоторые дополнительные компоненты были полностью или частично написаны другими людьми: Linda Dudinyak — Commander Mail, вьюеры; Peter Bradeen — Commander Mail; Keith Ermel, Brian Yoder — вьюеры.) Программа была выпущена компанией Peter Norton Computing, которая позже была приобретена корпорацией Symantec.

    В течение нескольких лет NC конкурировал по степени популярности с файловыми менеджерами PCTools и XTtree, однако, уже начиная с третьей версии Norton Commander вытеснил с персональных компьютеров эти программы.

    Разработка велась с 1984 года (первоначально под названием VDOS.) Первая версия была выпущена в 1986 году.

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

    Начиная с версии 4.0 программу разрабатывала целая команда программистов, поскольку фирма Peter Norton Computing, была куплена компанией Symantec, но новый коммандер постепенно начал утрачивать популярность, так как увеличил размер занимаемой памяти (что было критично для DOS), содержал ошибки и, к тому же, начал вытесняться собственными клонами.

    На смену Norton Commander у пришел не менее известный Dos Navigator, который можно уверенно назвать первым профессиональным файловым менеджером. Новая программа позволила одновременно открывать несколько файловых панелей и текстовых файлов, имела удобные клавиатурные сокращения и мощный текстовый редактор. В файловом менеджере появилось несколько полезных утилит, в том числе калькулятор, телефонная книжка и даже CD-проигрыватель.

    Однако Dos Navigator был написан под DOS, и переносить его на платформу Win32 разработчики не стали. Выпущенный же для Windows Norton Commander особой популярностью не пользовался. Немало файловых менеджеров, появившихся после Dos Navigator, претендовало на его лавры — на звание лучшего файлового менеджера. Но одни при всех своих преимуществах работали в текстовом режиме, другие были ненадежны в работе, интерфейс третьих был недостаточно гибким и удобным.

    Volkov Commander, Pie Commander, впоследствии — Midnight Commander и Far более-менее точно копировали нортоновский интерфейс, DOS Navigator, Windows Commander и целый ряд других аналогичных программ делали это частично.

    Команда Symantec продолжала борьбу за рынок, выпустив для DOS версии 5.0, 5.5 и для Windows версию 2.01. В Norton Commander 5.5 для DOS появилась поддержка длинных имен файлов при работе в Windows. Но большого распространения эти версии уже не получили, так как большинство пользователей перешли на операционные системы семейства Windows и предпочитали пользоваться штатными файл менеджерами этих ОС.

    Volkov Commander(VC) — один из лучших файловых менеджеров для операционной системы DOS, клон Norton Commander.

    На момент выпуска первой финальной версии 4.0 имел неоспоримые преимущества перед Norton Commander (версии 3.0, на тот же момент времени):

    PIE Commander— файловый менеджер для операционной системы DOS, разработанный в 1990, клон Norton Commander. Автор — Валентин Ефимович Черняк (Valentin Chernyak) из Москвы, затем Нью-Йорка. Имел русский и английский пользовательский интерфейс.

    Оказался разработан в результате спора автора с владельцем компании PIE Systems (отсюда название), заявившим про Norton Commander, что «советские программисты так не могут». Был написан в рекордно короткие сроки (около месяца).

    Использовался как замена таких программ как Volkov Commander и Norton Commander 3.0. Более поздние версии выходили под названием Chernyak Commander как Shareware.

    Некоторые преимущества перед аналогичными программами своего времени:

    - возможность включать до четырёх панелей;

    - возможность настраивать цвета, размер и расположение панелей;

    - показ более подробной информации при копировании файлов и каталогов;

    - рекурсивный расчет размеров каталогов;

    - возможность поместить список выбранных файлов в файл.

    Первая версия была написана целиком на ассемблере. Впоследствии переведен на Borland C 3.1.

    Время шло, прогресс неумолим, кому-то уже возможностей NC стало не хватать, и на сцену вышла разработка компании Rit Labs – Dos Navigator. Мы все долго будет помнить ту гибкость и те возможности, которые дал нам DN, и те знаменитые клавиатурные сокращения Borland - оболочек.

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

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

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

    Файловые менеджеры для операционных систем Windows

    1. FAR Manager — консольный файловый менеджер для операционных систем семейства Windows. Есть такие люди, которые не уважают Windows Commander - эти люди обычно пользуются этой программой. Некоторые используют одновременно Windows Commander и Far. Да, действительно, программа хороша собой, к тому же "сделано в России" (поддержи отечественного производителя). Эта программа выглядит как ДОС - оболочка, но приспособлена под Windows. Вообще люди делятся на три категории: те, которые знают Windows Commander; те, кто знают Far; и те, кто до сих пор сидит в проводнике "explorer" - шутка. Есть история путей и история папок, также как и в WinNavigator есть hot keys для папок (хорошая штука, но не везде встречается). Большое достоинство этой прогиб - это поддержка плагинов. Недостаток заключается в настройке. Новых версий будет выходить немного, потому что программа уже доведена до совершенства, чаще будут появляться плагины. На данный момент плагинов существует очень много, что и сделало эту программу популярной, потому что более менее "продвинутый" пользователь в состоянии настроить ее себе по собственному вкусу. Некоторые, на мой взгляд, самые нужные и интересные, плагины вы можете скачать на моем сайте.

    Архиваторы в Far: Вы можете создавать, просматривать, изменять архивы, к наиболее популярным видам, которых можно отнести RAR, ZIP, ARJ, HA, CAB.

    Плагины Far:

    - управление принтерами, как подключенными к ПК, так и сетевыми;

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

    - работа с FTP-серверами (с поддержкой доступа через различные типы прокси, автоматической докачкой и прочее);

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

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

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

    - перекодировка текстов с учетом национальных кодовых таблиц;

    - манипуляции с содержимым корзины;

    - управление приоритетами процессов на локальном или на сетевом ПК;

    - автозавершение слов в редакторе и работа с шаблонами;

    - редактирование системного реестра Windows;

    - создание и изменение ярлыков Windows;

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

    - кодирование и декодирование файлов в формате UUE;

    - управление программой WinAmp и модификация комментариев MP3-файлов;

    - обработка Quake PAK файлов;

    - работа с различными серверами через ODBC + работа с серверами;

    ORACLE через OCI запуск внешних программ (компиляторов, конверторов и проч.) при редактировании текстов в редакторе FAR;

    - отображение содержимого файлов справки Windows;

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

    - подготовка каталога сменных накопителей и многое другое...

    C:\Documents and Settings\admin\Мои документы\УМК_08_11_2013\Информатика 2 курс\Far.JPG

    Far Menedger

    Автор программы — Евгений Рошал. С 19 июня 2000 года разработкой FAR Manager занимается группа FAR Group. Евгений Рошал по-прежнему остается автором FAR Manager и следит за проектом. Программа бесплатна для некоммерческого использований, для остальных распространяется, как shareware была выпущена версия 1.70. Программа может работать как в оконном, так и полноэкранном режиме. Некоторые недостатки интерфейса схожие с DOS программами в оконном режиме (невозможность произвольного изменения текстового разрешения окон, проблемы с закрытием при выключении системы) проявляются в Windows 9x и отсутствуют в семействе Windows NT.

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

    2. Total Commander — файловый менеджер с закрытым исходным кодом, работающий под Windows. Ранее носил имя Windows Commander, по требованию фирмы Microsoft был переименован.

    Все лучшие качества файловых менеджеров сохранены и значительно расширены в FAR Manager.

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

    II ОБЗОР И СРАВНИТЕЛЬНЫЙ АНАЛИЗ ФАЙЛОВЫХ МЕНЕДЖЕРОВ

    Файловый менеджер – это специальная программа, предназначенная для разнообразной работы с файлами: копирования, переноса, удаления, редактирования текстовых файлов, гибкого запуска программ для работы с этими файлами. Первым, ставшим самым известным файловым менеджером, стал Norton Commander, занявший место в сердцах пользователей на многие годы. Гениальный двух панельный интерфейс и синий цвет для многих стал синонимом «работающего компьютера». Время шло, прогресс неумолим, кому-то уже возможностей NC стало не хватать, и на сцену вышла разработка компании Rit Labs – Dos Navigator. Мы все долго будет помнить ту гибкость и те возможности, которые дал нам DN, и те знаменитые клавиатурные сокращения Borland-овских оболочек, вроде Ctrl+K B, Ctrl+K К, и Ctrl+H.

     

    2.1 Обзор основных возможностей программы Norton Commander

     

    В Norton Commander в подобных оболочках вывод содержимого каталогов осуществляется в так называемых панелях. Панели представляют собой два прямоугольных окна, ограниченных рамкой. Размеры этих окон либо фиксирован и составляет 40*23 (полный размер) и 40*15 (половинный размер) символов, либо зависит от размеров родительского окна (Windows Commander). Любую панель можно выключить, а также можно убрать все панели с экрана и оставить экран MS DOS. В Windows Commander такой возможности нет - в нем каждой приложение, в том числе и приложения DOS, запускается в отдельном окне.

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

    Панели в Norton - подобных оболочках имеют, по крайней мере, 3 режима отображения: краткая форма оглавления (Введение, п.1.), полная форма оглавления (п.2.), и вывод дерева каталогов (п.3.) В Volkov Commander к этим базовым режимам отображения добавляется так называемая информационная панель (с информацией об устройстве, на котором расположен отображаемый на соседней панели каталог.) В Norton Commander 3.0 помимо этого есть режим просмотра в соседней панели содержимого файла, расположенного на текущей панели. В других версиях Norton Commander for DOS появились панели для просмотра содержимого архива, паспорта каталога и результата поиска файлов. Однако наиболее “разнообразным” в использовании различных режимов отображения каталогов является оболочка Far.

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

    Управление режимами отображения панелей осуществляется отдельно для правой и левой панели. Почти во всех Norton - подобных оболочках (за исключением Dos Navigator и Windows Commander) существуют отдельные пункты системного меню для управления левой и правой панелями. В DOS Navigator и Windows Commander для управления форматами панелей служит один пункт меню. Его содержимое меняется в зависимости от того, какая панель активна.

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

     2.2 Обзор основных возможностей Total Commander

    C:\Documents and Settings\admin\Мои документы\УМК_08_11_2013\Информатика 2 курс\Total Commander.JPG

     

    Пока диск находится в приводе, просматривай и копируй содержимое архива сколько душе угодно. Болванки можно спрятать обратно в шкаф, но файлы по-прежнему будут как на ладони. Второй плагин, Catalog Maker, отличается от предыдущего наличием дополнительных настроек (у DiskDir они вообще отсутствуют) и открытыми исходниками. Я бы посоветовал использовать в работе именно его, но это уже дело вкуса. Резюмирую - так как Total Commander умеет искать в архивах, наши возможности будут расти по мере развития любимого файлового менеджера. Салют, шарики, целуем любимых девушек. В смысле, одну. Самую любимую

    Все гениальное просто. Оба плагина реализованы в виде дополнительных архиваторов. Первой на очереди прога самого Криса Гизлера (автора TC) - DiskDir. Копируем файл с расширением WCX в отдельный каталог и открываем в Total Commander пункт меню "Configuration - Options". На закладке "Packer" нажимаем "Configure packer extension DLLs". Расширение для нового типа файлов можно указать любое. Я выбрал "disk". Прописываем путь к плагину, сохраняем конфигурацию, открываем зубами "Балтику".

    Чтобы схема заработала должным образом, с каждой болванкой придется провести ряд несложных операций - достать из шкафа, зайти в корень диска, выделить все файлы и нажать Alt+F5 (упаковка). Ищи в списке расширение, которое ты назначил архиватору, и жми на долгожданное ОК. Теперь мы располагаем энным количеством архивов, в которые можно зайти, как и в любой стандартный ZIP/RAR etc. Золотое отличие заключается в том, что файлов там нет, есть лишь оглавление диска. Более того, это обыкновенный текстовый файл, который по желанию можно посмотреть по Alt+F3 и даже распечатать, если бумагу девать некуда.

     

    Обзор основных возможностей Far Menedger

     

    Есть такие люди, которые не уважают Windows Commander - эти люди обычно пользуются этой программой. Некоторые используют одновременно Windows Commander и Far. Да, действительно, программа хороша собой, к тому же "сделано в России" (поддержи отечественного производителя). Эта программа выглядит как ДОС - оболочка, но приспособлена под Windows. Вообще люди делятся на три категории: те, которые знают Windows Commander; те, кто знают Far; и те, кто до сих пор сидит в проводнике "explorer" - шутка. Есть история путей и история папок, также как и в WinNavigator есть hot keys для папок (хорошая штука, но не везде встречается). Большое достоинство этой прогиб - это поддержка плагинов. Недостаток заключается в настройке. Новых версий будет выходить немного, потому что программа уже доведена до совершенства, чаще будут появляться плагины. На данный момент плагинов существует очень много, что и сделало эту программу популярной, потому что более менее "продвинутый" пользователь в состоянии настроить ее себе по собственному вкусу, управление, принтерами, как подключенными к ПК, так и сетевыми

    -подсветка синтаксиса в исходных текстах программ

    -работа с FTP-серверами (с поддержкой доступа через различные типы прокси, автоматической докачкой и прочее)

    -поиск и замена символов одновременно во множестве файлов с применением регулярных выражений.

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

    -клиенты и отправка сообщений на пейджер

    -работа при нестандартных размерах текстового экрана

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

    -манипуляции с содержимым корзины

    -управление приоритетами процессов на локальном или на сетевом ПК

    -автозавершение слов в редакторе и работа с шаблонами

    -редактирование системного реестра Windows

    -создание и изменение ярлыков Windows

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

    -кодирование и декодирование файлов в формате UUE

    -управление программой WinAmp и модификация комментариев MP3-файлов

    -обработка Quake PAK файлов

    -работа с различными серверами через ODBC работа с серверами ORACLE через OCI запуск внешних программ (компиляторов, конверторов и проч.) при редактировании текстов в редакторе FAR отображение содержимого файлов справки Windows

    -калькуляторы с разными возможностями функции проверки орфографии при обработке текста в редакторе FAR

    -подготовка каталога сменных накопителей и многое другое...

     

    C:\Documents and Settings\admin\Мои документы\УМК_08_11_2013\Информатика 2 курс\Far1.JPG

    Far Menedger

    FAR Manager.Фирма поставщик Softline. Разработчик RAR Lab. Для того чтобы установить программу нужно 566 Кб на жестком диске свободного места. Для эффективной и быстрой работы этого файлового менеджера необходимы следующие характеристики оборудования: Windows XP | Windows 95/98/ME | Windows NT 3.5/4.0 | Windows 2000/2003.

    Функциональность FAR Manager существенно расширяется за счет внешних подключаемых DLL-модулей - плагинов (этому способствует набор специальных интерфейсов - "Plugins API"). Например, работа с архивами, FTP-клиент, временная панель и просмотр сети реализованы с помощью плагинов, включенных в стандартную поставку FAR.

    Total Commander. Фирма поставщик Soft line. Разработчик Christian

    Ghisler. Для установки программы требуется 1 300 Кб свободного места на жестком диске. Технические характеристики компьютера должны быть следующие: Windows 95/98/ME/NT/2000/XP.

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

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

     




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

    Создание реляционной базы данных с помощью СУБД MS Access.

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

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

    Иерархическая структура базы данных

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

    Сетевая структура базы данных

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

    Реляционная структура базы данных

    Все данные представлены в виде простых таблиц, разбитых на строки и столбцы, на пересечении которых расположены данные.

    Объектно-ориентированные и гибридные базы данных

    В объектно-ориентированных базах данных данные хранятся в виде объектов.

    II.Реляционная база данных.

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

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

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

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

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

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

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

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

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

    III.Использование СУБД Access для создания реляционной БД

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

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

    Основными видами объектов, с которыми работали учащиеся, были:

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

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

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

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

    Этапы создания базы данных.

    1.Проектирование БД:

    Выбор предметной области БД;

    Построение модели БД (следует выделить все объекты, информацию о которых  необходимо сохранять в базе данных, указать их свойства и установить связи между ними);

    Задание структуры БД (однотабличные, многотабличные, использование форм).

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

    3.Ввод данных в БД.

    4.Создание связей между таблицами.

    5.Работа с данными (сортировка, выборка данных с использованием фильтров и/или запросов).

    IV.Примеры БД, созданных учащимися:

    Пример 1. БД «Продажа автомобилей».

    Примеры таблиц:

     

    Схема данных:

    Использование формы:

    Пример 2. База данных «Танцы».

    Схема данных:

    Использование форм:

    Пример 3. База данных «Шоколад».

    Пример таблицы:

    Схема данных:

    Использование форм:

    V.Используя приложение СУБД Access, учащиеся создают БД в различных предметных областях. В процессе работы над проектом они занимаются поиском информационных объектов для БД, определением ключевых реквизитов, структурированием информации, размещением данных в таблицах, созданием связей между таблицами, формированием запросов и отчетов. Разрабатывая индивидуальную БД, учащиеся проявляют инициативу и фантазию, более глубоко осваивают возможности СУБД Access, получают навыки самостоятельной творческой работы.  

    VI.Информационные ресурсы:

    1. http://shkola.lv/index.php?mode=cht&chtid=511
    2. http://www.site-do.ru/db/db.php
    3. http://birael.narod.ru/Linf/po/labor/lab11/prakt11.htm
    4. http://website-seo.ru/02970201132.html



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

    Компьютерная графика

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

         Графический редактор - программа редактирования графических изображений.
         Растр - представление изображения в виде двумерного массива точек (элементов растра), упорядоченных в ряды и столбцы. Для каждой точки растра указывается цвет и яркость.
         Растровая графика - графика, в которой изображение представляется двумерным массивом точек, цвет и яркость каждой из которых задаются независимо.
         Векторная графика - графика с представлением изображения в виде совокупности отрезков прямых (векторов) и соответствующих цветов.
         OLE (Object Linking Embedding) - 
         WYSIWIG (What-You-See-Is-What-You-Get) - технология "что видите, то и получите"

    1. Графическое представление информации 

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

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

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

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

    Различные форматы компьютерной графики 

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

    Рис 1. Увеличенное растровое изображение
    Увеличенное растровое изображение

    Растровая графика 

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

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

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

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

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

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

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

    Векторная графика 

    Векторный способ кодирования изображений заключается в том, что геометрические фигуры, кривые и прямые линии, составляющие рисунок, хранятся в памяти компьютера в виде математических формул и геометрических абстракций: круг, квадрат, эллипс и т. п. Например: круг с радиусом 10 единиц с координатами центра х=1, у=1, прямоугольник со сторонами 5 и 8 единиц и координатами центра х=4, у=12, то есть размеры, кривизна и местоположение элементов изображения хранятся в виде числовых коэффициентов. Благодаря этому, появляется возможность масштабировать изображения с помощью простых математических операций, в частности, простым умножением параметров графических элементов на коэффициент масштабирования (Рисунок).

    Рис. 2. Масштабирование векторного изображения
    Масштабирование векторного изображения

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

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

    Понятие объекта 

    В компьютерной графике используется понятие объекта.

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

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

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

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

    Основные принципы работы с векторными графическими редакторами 

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

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

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

    Некоторые редакторы обеспечивают возможность получения изображений трехмерных объектов, преобразования растровых изображений в векторный формат, профессиональные средства цветообработки и т.д. Однако осваивать эти средства не так-то просто. Поэтому тем пользователям, которым нужно выполнять несложные действия по вводу и редактированию картинок, целесообразно остановиться на редакторе типа Paintbrush или Adobe Illustrator, а профессионалам из редакций газет и журналов или рекламных агентств потребуется более мощный редактор типа Corel Draw или Adobe PhotoShop.

    Цвет и изображение 

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

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

    На многих типографских машинах используется разностная CMYK модель на базе четырех цветов: CYAN - бирюзовый, MAGENTA - пурпурный, YELLOW - желтый и BLAСK - черный (или, по-другому, KEY - ключевой цвет). В разностной модели черный цвет образуется, когда интенсивность всех трех составляющих максимальна, а белый - когда интенсивность всех трех составляющих равна нулю. Таким образом, при использовании CMYK модели наложение каждой краски на белую бумагу аналогично наложению цветного фильтра, который пропускает только строго определенный цветовой диапазон отраженного от бумаги света, удаляя или вычитая все остальные.

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

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

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

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

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

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

    Печать представляет собой процесс наложения краски на бумагу или другую поверхность. Краски делятся на две категории:

      Краски стандартизированных цветов, или плашечные (Spot color inks);

      Краски составных цветов (Process color inks).

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

    Spot Color Inks (Плашечные цвета). Краски плашечных цветов непрозрачны. Поэтому смешивание плашечных цветов приводит к непредсказуемым результатам, и этого лучше избегать. Плашечные цвета представлены на рынке, в частности, каталогами PANTONE и выбираются из ассортимента сотен заранее определенных цветов.

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

    Для более точного воспроизведения цветов на этапе вывода изображений графические редакторы поддерживают различные системы сопоставления цветов (Color Matching System) или стандартные палитры. Для каждой вы можете приобрести печатный каталог, который выпускает производитель красок. Использование цветов из каталогов гарантирует, что ваша работа будет одинаково напечатана в любой типографии. Следует отметить, что стандартные палитры могут быть как для плашечных, так и для составных цветов. В CorelDRAW 7 стандартные палитры систем сопоставления цветов логически объединены с палитрами для которых не существует печатных каталогов, так как цвета из этих палитр предназначены только для воспроизведения изображений на экране мониторов, например, через Интернет. Но об этом мы расскажем чуть позже, здесь же отметим, что перед тем, как создавать цветное изображение, надо четко представлять, как оно будет использоваться. Если цветное изображение будет выводиться на печать в типографии, то следует узнать, на каком оборудовании и по какой технологии оно будет печататься. Все это необходимо, чтобы правильно выбрать модель представления цвета.

    Графические редакторы высокого уровня поддерживает следующие цветовые модели:

      CMY (Бирюзовый, Пурпурный, Желтый),

      CMYK (Бирюзовый, Пурпурный, Желтый, Черный),

      MYK256 (Бирюзовый, Пурпурный, Желтый. Черный, 256 градаций),

      RGB (Красный, Зеленый, Синий),

      HSB (Оттенок, Насыщенность, Яркость),

      HLS (Оттенок, Яркость, Насыщенность),

      L*a*b* (Яркость, Зелено-красный, Голубовато-желтый).

      YIQ (Аналог телевизионного стандарта NTSC).

      Grayscale (Шкала серого цвета).

      Registration color (Совмещение цветов)

    Если ваша работа должна быть напечатана, то лучше создавать цвета непосредственно с помощью модели CMYK. А модели RGB, HSB, HLS или YIQ предпочтительно использовать для представления изображений на экране. Как уже указывалось, CMYK модель основывается на цветах красок, используемых при четырехцветной печати. Комбинируя различные процентные соотношения бирюзового, пурпурного, желтого и черного, можно воспроизвести широкую гамму цветов. Модель CMY лучше использовать при работе с трехчернильными цветными принтерами. Модель CMYK произошла от CMY по той простой причине, что с помощью только трех указанных красок не удается получить ровный черный цвет. Модель CMYK256 используется для более точной передачи оттенков при качественных работах, в ней вместо ста уровней каждого цвета используется 256. Про RGB модель вы уже все знаете. HSB модель создает цвет, варьируя только три параметра: оттенок, насыщенность и яркость. Оттенок - это имя цвета (красный, голубой и зеленый). Насыщенность - это относительная сила цвета, его интенсивность. Яркость относится к количеству черного в цвете, где 255 соответствует чистому цвету (в котором отсутствует черный), а 0 - черному цвету. HLS является вариантом модели HSB, в котором яркость вычисляется по-другому. Модель L*a*b* основывается на показателе яркости и двух цветовых показателях цветности: соотношения между зеленым и красным и соотношения между голубым и желтым. Модель L*a*b* является не зависимой от типа устройства, и ее можно применять как при просмотре на мониторе, так и при печати на принтере.

    Следует отметить, что Registration color (Совмещение цветов) не является моделью представления цвета и используется лишь для создания меток совмещения цветов при цветоделении.

    Аппаратные средства компьютерной графики 

    К аппаратным средствам, делающим возможным на компьютере работу с изображением, относятся оперативная память (ОЗУ), видеопамять, манипулятор «мышь» или клавиатура, дисплей, ВЗУ, сканер, принтер.

    Точечный элемент экрана дисплея называется «пиксел» (от picture element).

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

    Функция дисплейного процессора - вывод содержимого видеопамяти на экран дисплея, причем с такой частотой, чтобы наши глаза не успевали заметить угасание картинки. Дисплейный процессор непрерывно просматривает видеопамять и выводит ее содержимое на экран 50-60 раз в секунду. Центральный процессор может читать и изменять видеопамять (логически это часть ОЗУ), а дисплейный процессор - только читать.

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

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

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

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

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

    8.2. Графические редакторы 

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

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

    Векторно рисующие программы имеют следующие характеристики: 

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

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

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

    Нехватка реальности в рисованных (начерченных) объектах. При всех своих достоинствах, векторно созданный объект не выглядит так жизненно, как растровый.

    Растровые программы обладают следующими характеристиками: 

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

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

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

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

    Графический редактор PhotoShop. Области применения 

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

      Сканированные фотоснимки.

      Картины, насыщенные цветовыми тонами.

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

      Логотипы и эмблемы с нечеткими границами, бликами и тенями.

      Спецэффекты с применением фильтров и коррекцией цвета, невозможные в чертежных программах.

      Практически любая графика и фотоснимки для World Wide Web.

    Графический редактор Corel DRAW. Области применения 

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

      Плакаты и другая высококонтрастная графика.

      Архитектурные планы, промышленный дизайн и прочие точные чертежи.

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

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

      Брошюры, информационные листки и прочие документы в одну страницу, содержащие, кроме обычного текста, логотипы и рисунки.

    Системы деловой и научной графики 

    Системы деловой и научной графики позволяют наглядно представлять на экране различные данные и зависимости. Системы деловой графики дают возможность выводить на экран различные виды графиков и диаграмм (гистограммы, круговые и секторные диаграммы и т.д.). Среди этих систем наиболее популярны программы Microsoft® Chart, Boeing Graph, Harvard Graphics и другие, при этом пакет Harvard Graphics имеет и возможности научной графики.

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