- •Информатика Учебное пособие
- •Содержание
- •Предисловие
- •Тема 1. Введение
- •1.1. Цель и задачи курса «Информатика»
- •1.2. Объекты и составные части информатики
- •1.3. Информатика как единство науки и технологии
- •Контрольные вопросы
- •Тема 2. Основные понятия информатики
- •2.1. Место информатики в системе наук
- •2.2. Основные понятия курса «Информатика»
- •Предмет информатики составляют следующие понятия:
- •Информация классифицируется по видам. (рис. 2.4.)
- •Тема 3. Основы дискретной математики.
- •3.2. Основы логики
- •Элементарные булевые функции
- •Из них выделим функцию "отрицание X" (обозначается -X). Эта функция представлена в таблице
- •3.3. Графы и деревья
- •А) граф g; б) остов графа g; в) другой остов графа g
- •Тема 4. Основные понятия архитектуры эвм
- •Для представления числовых данных в эвм используются естественная и нормальная формы записи чисел.
- •4.2. Системы счисления. Правила перевода чисел из одной системы счисления в другую
- •3. Арифметические операции
- •4.3. Логические элементы компьютера
- •В качестве важных последовательностных схем, выполняемых на одной ис, можно отметить счетчики, сдвиговые регистры, элементы памяти и др.
- •Структурная схема базовой модели мп фирмы Intel представлена на рисунке 4.15.
- •4.5. Организация памяти компьютера
- •Используется два основных типа оперативной памяти:
- •Контрольные вопросы
- •Тема 5. Алгоритмическое решение задач, анализ алгоритмической сложности.
- •5.1. Стратегия решения задач.
- •5.2. Алгоритмы (свойства, реализация алгоритмов)
- •5.3. Структуры данных
- •5.4. Основные вычислительные алгоритмы.
- •5.5. Анализ алгоритмов
- •1. Сравнительные оценки алгоритмов
- •2. Система обозначений в анализе алгоритмов
- •3. Классификация алгоритмов по виду функции трудоёмкости
- •4. Асимптотический анализ алгоритмов
- •Контрольные вопросы
- •Тема 6. Знакомство с языками программирования.
- •6.1. Обзор языков программирования
- •6.2. Основные конструкции программирования
- •Внутри программы значение свойств можно изменять как угодно часто.
- •Константы.
- •На практике наибольшее распространение получили язык функционального программирования lisp и два его диалекта: язык Common lisp и язык Scheme.
- •Наиболее распространенным языком логического программирования является язык Prolog (Пролог).
- •Контрольные вопросы
- •Тема 7. Основы операционных систем
- •7.1. Основные концепции операционных систем
- •7.4. Файловые системы
- •7.6. Обзор современного прикладного программного обеспечения
- •Контрольные вопросы
- •Тема 8. Сети и телекоммуникации
- •Компоненты сети
- •По программной совместимости эвм: однородные (гомогенные) и неоднородные (гетерогенные);
- •8.3. Системы телекоммуникаций
- •Типы телекоммуникационных систем
- •Системы телевещания
- •Системы подвижной связи
- •Сети сотовой подвижной связи
- •Сети транкинговой связи
- •Сети персонального радиовызова
- •Сети мобильной спутниковой связи
- •Волоконно-оптические сети
- •Контрольные вопросы:
- •Тема 9. Сеть Internet
- •9.1. Теоретические основы Internet
- •9.2. Основные понятия (сайт, сокет, сервер, клиент). Web как пример архитектуры «клиент-сервер»
- •9.3. Службы Internet
- •Контрольные вопросы:
- •Тема 10. Графическое программное обеспечение
- •10.1. Иерархия графического программного обеспечения. Графические коммуникации. Графические системы.
- •10.2. Системы растровой и векторной графики
- •Описание объекта является простым и занимает мало памяти;
- •10.3. Графические редакторы
- •Контрольные вопросы
- •Тема 11. Основы защиты информации
- •11.1. Информационная безопасность и ее составляющие
- •11.2. Угрозы безопасности информации и их классификация
- •11.3. Сетевая безопасность
- •11.4. Антивирусные программы
- •Контрольные вопросы
6.2. Основные конструкции программирования
Язык программирования предоставляет программисту абстрактную модель, в которой объекты данных и операции специфицированы в проблемно-ориентированных терминах.
Под объектом данных будем понимать один или несколько однотипных элементов данных, объединенных в одно целое. Объект данных называется элементарным, если представляющее его значение является единым целым. В противном случае, если объект данных представляет собой совокупность некоторых других объектов, будем называть его структурным
Имя (идентификатор) — это строка символов, используемая для обозначения некоторой сущности в программе. Такими сущностями могут быть переменные, типы, метки, подпрограммы, формальные параметры и другие конструкции языков программирования.
Константа — это объект данных, имя которого связано со значением (значениями) в течение всего времени жизни. В языках программирования используются константы двух видов:
-литералы;
-именованные константы.
Литерал представляет собой буквальную запись значения константы. Например, 25 — это десятичная форма записи целочисленной константы, представляющей собой объект данных со значением 25. Форма записи значений литералов предопределенного типа задается в языке.
Именованная константа (константа, определяемая программистом) — это объект данных, который связывает имя с буквальным значением константы. Значения именованных констант известны во время компиляции, поэтому компилятор будет обнаруживать все ошибки, связанные с попыткой присвоения именованной константе нового значения.
Переменная — это объект данных, который явным образом определен и именован в программе. Простая переменная — это именованный элементарный объект данных. Переменные можно характеризовать с помощью следующих атрибутов: имя, адрес, значение, тип, время жизни, область видимости.
Основные понятия языка Visual Basic. Инструкции в Visual Basic.
Комментарии.
Существует два способа обозначения комментариев. Наиболее общий состоит в использовании символа одинарной кавычки.
Private Sub Commandl_Click() 'Комментарий к процедуре может находится здесь'
End Sub
Второй способ состоит в использовании зарезервированного слова Rem.
Private Sub Command l_Click()
Rem Комментарий к процедуре может находится здесь
End Sub
Присваивание и установка свойств.
Присваивание значений переменным и установка значений свойств представляет собой две основные операции в Visual Basic-Имя переменной всегда находится слева, а ее значение справа.
Оператор присваивания в Visual Basic можно рассматривать как способ присвоения переменной нового значения. Если необходимо установить новое значение, какого-либо свойства для объекта Visual Basic требуется разместить его название, за которым после точки следует название свойства с левой стороны- оператора присваивания, а значение с правой.
Объект.Свойство = Значение
Внутри программы значение свойств можно изменять как угодно часто.
Например: Изменение свойства Left при нажатии командной кнопки. При этом форма должна сдвинуться на 75 твипсов (twips).
Private Sub Command1_Click()
Form1.Left=Form1.Left - 75
End Sub
После нажатия кнопки форма переместилась на 75 твипсов левее. Сначала Visual Basic определит текущие координаты формы, затем от текущего значения Left отнимет 75 твипсов и только после этого перейдет к левой части оператора присвоения и изменит старое значение на новое.
Переменные.
В Visual Basic переменные хранят информацию. При их использовании Visual Basic резервирует область памяти в компьютере. Имена переменных могут достигать 255 символов в длину. Начинаются они с буквы, за которой могут следовать другие буквы, цифры или символы подчеркивания. Регистр символов значения не имеет. В качестве имен новых переменных нельзя использовать зарезервированные слова. Например: Print. Однако такие слова могут присутствовать как часть имени переменной, например PrintIt.
Типы переменных.
Visual Basic работает с 14-стандартными типами переменных, кроме того программист может определить собственный тип данных. Основными из них являются:
String - строковые переменные хранят символы. Один из способов обозначить данный тип переменной состоит в добавлении символа «$» к концу его имени. Например - АВС$.
Такая переменная может содержать до 2 млрд. символов. Одно из наиболее основных применений состоит в выборе информации из полей ввода. Например, если есть поле ввода с именем Text1, то тогда оператор присваивает строку из поля ввода переменной в левой части данного оператора.
A$=Text1.Text.
Integer - целочисленные переменные могут хранить только относительно небольшие целые числа в диапазоне от – 32768 до + 32767. Арифметические операции над такими числами выполняются очень быстро. Для обозначения такого типа используется символ «%».
Например: А%=5.
Long Integer - в таких переменных хранятся целые значения от – 2,15*109 до +2,15*109. Обозначается символом «&». Например: В&=1234567
Single Precision - идентификатор для данных чисел является символ «!». Данный тип позволяет хранить дробные числа с точностью до 7 знаков. Это означает, что если получается результат «12345678.97» то часть «8.97» не является точной. Результат может быть равен, к примеру «12345670.01».
Действия выполняются медленнее, чем с целочисленными переменными. Диапазон от -3,4*1038 до -1,4*10-45 для отрицательных чисел и от 1,4*10 –45 до 3,4*1038 для положительных.
Double Precision - переменные такого типа позволяют хранить числа с точностью до 16 цифр и длинной до 300 символов. Идентификатором является символ «#». Скорость вычисления с ними относительно небольшая.
Currency - он создан для того чтобы избежать ошибок при преобразовании десятичных чисел в двоичную систему и наоборот. Данный тип может иметь до 4 цифр после запятой и до 15 перед ней. Внутри данного диапазона вычисления будут точными. Идентификатор представляет собой «@». Данный тип является предпочтительным для проведения финансовых расчетов.
Date - этот тип данных позволяет хранить значение времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Такие значения в тексте программы обозначаются символами «#».
Например - Millenium = # January 1, 2001#
Byte - этот тип предназначен для хранения целых чисел от 0 до 255. Его использование позволяет сильно экономить оперативную память (1 байт) и уменьшить размер массивов.
Boolean - булев тип данных может хранить только два значения: True либо False.
Variant - может содержать данные любого типа. Visual Basic автоматически производит необходимые преобразования данных. Использование такого типа как Variant замедляет работу программы, так как требует время и ресурсы для операций преобразования типов.
Объявление переменных. Оператор Dim.
Большинство людей предпочитают не использовать идентификаторы для обозначения переменных. Вместо этого они используют оператор Dim, такая операция носит название - объявления. Например:
Dim A As Integer
Dim B As String
Объявления переменных можно комбинировать в одной строке.
Dim A As Integer, Name As Integer
Общей ошибкой является использование следующего выражения:
Dim X, Y, Z As Integer
В предположение того, все переменные будут целочисленные. Фактически X и Y будут объявлены как Variant и только Z как Integer. Чтобы избежать этого, необходимо каждый раз использовать идентификатор типа. Если переменная объявлена при помощи оператора Dim, в случае использования переменной с тем же именем и другим идентификатором типа произойдет ошибка «двойное определение» при загрузке программы.
При присвоении переменной типа Variant, можно использовать оператор - Dim без приставки - AS. Например:
Dim FOO
Необходимость объявления переменных.
Одной из наиболее общих ошибок в программе является использование необъявленных переменных. Проблема состоит в том, что Visual Basic позволяет создать переменную, как только она один раз встречается в программе. Если перепутать имя переменной, Visual Basic создает новую с похожим именем и присваивает ей значение по умолчанию, что тут же приводит к ошибке. Эту ошибку трудно обнаружить, поскольку имена переменных очень похожи.
Простейший способ избежать подобной ошибки состоит в принудительном объявлении всех переменных. Visual Basic при ошибке в имени выдает сообщение. В Visual Basic предусмотрена такая возможность, но по умолчанию она не используется. Оператор, необходимый для этого называется Option Explicit.
Для общей проверки переменных в программе необходимо оператор Option Explicit разместить в раздел General.
Для того чтобы разместить данный оператор в разделе General необходимо:
1) Открыть окно Code
2) Выбрать объект General из списка объектов в окне Object
3) Выбрать Declaration из списка Procedure
4) Ввести Option Explicit.
Изменение значений по умолчанию для типов
Предположим, в программе все переменные должны быть целочисленными. Для удобства в этом случае используется оператор DefType. Для всех целочисленных переменных это выглядит следующим образом:
DefInt A-Z
Основные формы операторов различных DefType
Функции |
Результат |
DefInt DefLng DefSng DefDbl DefCur DefStr DefVar DefBool DefByte DefDate |
Диапазон букв для Integer Диапазон букв для Long Integer Диапазон букв для Single Precision Диапазон букв для Double Precision Диапазон букв для Currency Диапазон букв для String Диапазон букв для Variant Диапазон букв для Boolean Диапазон букв для Byte Диапазон букв для Date |
Соглашения о типах можно всегда изменить, используя идентификатор, или оператор Dim для конкретной переменной. Обычно оператор DefType размещает в том же разделе (General), что и оператор Option Explicit.
Область видимости переменных
Программисты применяют термин - область видимости, когда хотят сказать о возможности использования переменной из одной части программы в другой её части. В Visual Basic переменные объявление внутри процедуры является изолированными друг от друга. В терминах программирования это означает, что данные переменные являются локальными.
Кроме того, Visual Basic позволяет объявить переменные, которые будут доступны для всех процедур формы. Такие переменные называют глобальными переменными уровня формы, как и оператор Option Explicit - объявление переменных уровня формы происходит в разделе Declaration
Например: если открыто окно Code, можно выбрать Declaration для объекта General и ввести:
Dim AZ As Currency
Тогда значение переменной AZ будет доступно всем процедурам, связанным с данной формой. Все изменения этой переменной, внесенные в любой из процедур, будут сохраняться
Динамические и статические переменные.
Когда Visual Basic вызывает процедуру обработки события, старые значения локальных переменных уничтожаются. Они принимают значения по умолчанию, такие переменные называются динамическими.
Однако это недостаточно в некоторых ситуациях.
Например: необходимо отследить сколько раз была нажата командная кнопка. Если счетчик будет все время сбрасываться, сосчитать будет невозможно.
Выходом является испытание статических переменных. Такие переменные не инициализируются повторно при вызове процедуры. Для того, чтобы объявить внутри процедуры статическую переменную, необходимо оператор Dim заменить на зарезервированное слово Static.
Static Z As Integer
Например: Пример процедуры обработки события с командной кнопкой, которая подсчитывает число щелчков мышью и выводит суммарное значение.
Private Sub Command1_Click()
Static Counter As integer
Counter = Counter + 1
Print Counter
End sub
При первом щелчке счетчику присваивается значение по умолчанию ноль. Затем Visual Basic добавляет к нему единицу и затем выводит результат.
Иногда требуется, чтобы все переменные в процедуре были статическими. Для этого необходимо добавить зарезервированное слово Static перед строкой Private Sub, с которой начинается любая процедура.
Static Private Sub Command 1_Click ( )
Строки.
Для того чтобы сложить две строки вместе (конкатенация) можно использовать операторы & или +
Например:
Title$ = «Queen»
Name$ = «Elizabeth»
Numeral$ = «I»
A$ = Title$ & Name$ & Numeral$
Результат - «Queen Elizabeth I»
Оператор & объединяет строки в том порядке, как они представлены.
Основным отличием оператора & от + является возможность использования оператора & для объединения строковых данных c другими типами. Например: C = A% & B$ объединяет целочисленную и строковую переменные, изменяя тип их значений на Variant.
Для того, чтобы произвести вывод информации на несколько строк необходимо использовать встроенную константу vbCrLf.
Например: вывод многостроковой информации в поле ввода и информационной панели.
TextString$ = «Visual» + vbCrLf
TextString$ = TextString$ + «Basic» + vbCrLf
TextString$ = TextString$ + «for Windows»
Text1.Text = TextString$
MsgBox TextString$
Строки фиксированной длины
Подобные переменные создаются при помощи оператора Dim. Например:
Dim ShortString As String * 5
Если присвоить переменной ShortString более длинную строку, например:
ShortString = «abcdefg»
то в результате значение переменной будет равно только первые пять символов.
ShortString = «abcde»,
и обратно, если присвоить строке более короткую строку, например: «abc», то к новому значению справа добавятся недостающие до пяти символов пробелы.
Числа и константы.
Если необходимо присвоить численное значение переменной, то число необходимо разместить в правой части оператора присваивания. Если дробное значение присваивается целочисленной переменной, то произойдет автоматическое округление. В случае выхода за диапазон значений для текущего типа данных Visual Basic выдает сообщение об ошибке.
Для того чтобы преобразовать строку цифр в число используется встроенная функция Val.
Val («3001») = 3001
Данная функция считывает строку до тех пор, пока не встретит символ из тех, что не употребляются в числах
Val («300Something») = 300
Аналогичным образом можно преобразовать число в строку символов простейшим способом является использование функции Str.
Str (123), результат - «123».
Операции над числами.
Существует пять фундаментальных операций:
1. «+» - сложение.
2. «-» - вычитание (обозначение отрицательных чисел).
3. «/» - деление.
4. «*» - умножение.
5. «^» - возведение в степень.
Для целых и длинных целых существует ещё две арифметические операции.
«\» - целочисленное деление
«Моd» - остаток после целочисленного деления. Например:
7\3 = 2
7 Моd 3 = 1
Работа с переменными типа Date.
Если к переменной типа Date добавить или отнять от нее целое число, то хранимая дата увеличится или уменьшится на соответственное количество дней, дробная часть числа будет влиять на время внутри одного дня. Например:
Dim FOO As Data
FOO = Now
Print FOO
Print FOO - 1000
При этом выведется текущая дата и время, и время и дата на 1000 дней назад.
Скобки и порядок выполнения операций.
При выполнении вычислений существуют два способа, позволяющих указать порядок, в котором должны происходить операции. Первый состоит в применении скобок. Например, 5*(3+4), приоритет операций в скобках дает результат 35.
Второй - это порядок иерархии в выполнении арифметических операций:
1. Возведение в степень.
2. Изменение знака числа (с положительного на отрицательный).
3. Умножение и деление.
4. Целочисленное деление.
5. Операция Mod.
6. Сложение и вычитание.
Преобразование типов данных.
Visual Basic позволяет производить преобразования из одного типа переменных в другие. Visual Basic производит преобразование, если результат попадает в диапазон для нового типа данных. в противном случае генерируется сообщение об ошибке. Основные формы преобразования данных приведены в таблице:
Функции |
Результат |
CInt CLnq CSnq CDbl CCur CStr CVar CBool CByte CDate |
Округляет число до целого Округляет число до длинного целого Преобразует число с обычной точностью Преобразует число с двойной точностью Преобразует число Currency Преобразует любые выражения в строку Преобразует любое выражение к типу Variant Преобразует число к типу Boolean Преобразует число к типу Byte Преобразует подходящее выражение в дату. |