Программирование в VB_Net_1_семестр
.pdfКафедра |
|
|
Кафедра |
Тема |
|
информатики |
|
|
информатики |
|
|
Программирование и основы алгоритмизации |
|
|
|||
|
|
УГАТУ |
|
|
УГАТУ |
Лекции для студентов направлений СТС, ЭАС, БПС |
|
Программирование на языках |
|
||
|
|
|
|
высокого уровня VB.Net |
|
Составители: |
|
|
|
|
|
доценты кафедры информатики |
|
|
|
|
|
Карчевская Маргарита Петровна |
|
|
|
|
|
Рамбургер Ольга Леонардовна |
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
1 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
2 |
Кафедра |
Разделы |
|
Кафедра |
Основные элементы |
|
информатики |
|
информатики |
языка программирования |
|
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|||
|
|
|
|
|
|
• |
Основные элементы языка |
|
Любой язык представляет собой |
|
|
|
совокупность символов, соглашений и |
|
|||
|
программирования (ЯП) |
|
|
||
|
|
правил, используемых для общения. |
|
||
• |
|
|
|
||
Типы данных |
|
Алфавит – фиксированный для данного |
|
||
• |
Выражения и операции |
|
|
||
|
языка набор символов (букв, цифр, |
|
|||
• |
Оператор присваивания |
|
|
||
|
специальных знаков и т.д.), которые могут |
||||
|
|
|
|||
• |
Организация ввода/вывода в |
|
быть использованы при написании |
|
|
|
|
|
|
||
|
консольных приложениях |
|
программы. |
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
3 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
4 |
Кафедра |
Основные элементы |
|
Кафедра |
Элементы языка |
|
|||||
информатики |
языка программирования |
|
информатики |
|
||||||
|
|
УГАТУ |
|
УГАТУ |
||||||
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
Синтаксис – правила построения из |
|
|
|
Алфавит |
|
|
||||
|
символов алфавита специальных |
|
В качестве символов используются прописные и |
|||||||
|
конструкций, с помощью которых |
|
строчные буквы латинского алфавита, знак |
|
||||||
|
составляется алгоритм. |
|
подчеркивания, десятичные цифры, |
|
||||||
|
|
специальные символы: |
|
|
|
|||||
Семантика – система правил толкования |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|||
|
конструкций языка. |
|
+ - * |
/ |
> |
< |
= |
; # ’ , . |
|
|
Таким образом, программа составляется с |
: [] {} |
$ |
() |
^ |
@ |
пробел |
|
|||
|
помощью символов алфавита в |
|
а также составные символы: |
|
||||||
|
соответствии с синтаксическими правилами |
|
||||||||
|
|
|
|
|
|
|
|
|||
|
и с учетом правил семантики. |
|
|
<> <= >= |
|
|||||
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
5 |
Программирование и основы алгоритмизации |
курс 1 2014 г. |
6 |
||||
Кафедра |
Элементы языка |
|
Кафедра |
Элементы языка |
|
|||||
информатики |
|
информатики |
|
|||||||
|
|
УГАТУ |
|
УГАТУ |
||||||
|
|
|
|
|
|
|
|
|
||
• |
зарезервированные слова, |
|
Стандартные идентификаторы служат для |
|||||||
• |
стандартные идентификаторы, |
|
обозначения типов данных, констант, |
|
||||||
• |
идентификаторы пользователя. |
|
процедур и функций, заранее |
|
||||||
|
|
|
|
|
||||||
Зарезервированные слова имеют |
|
определенных разработчиками языка |
|
|||||||
|
программирования. |
|
|
|
||||||
|
фиксированные начертания и раз навсегда |
|
|
|
||||||
|
|
|
|
|
|
|
|
|||
|
определенный смысл. |
|
Например, integer (описывает целый тип |
|
||||||
|
|
|
|
|
||||||
|
|
|
|
данных), Sin, Cos (вызывают стандартные |
||||||
|
Например: if, not, mod, do, loop и т.д. |
|
математические функции) |
|
||||||
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
7 |
Программирование и основы алгоритмизации |
курс 1 2014 г. |
8 |
Кафедра |
Элементы языка |
|
Кафедра |
|
Элементы языка |
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
||
Идентификаторы пользователя служат для |
|
Константы |
|
|||
обозначения типов данных, констант, |
|
|
|
|
|
|
переменных, процедур и функций, определенных |
Простейшие объекты программы, значения |
|
||||
самим пользователем. |
|
которых заранее известны и в процессе |
|
|||
Правила написания идентификаторов: |
|
выполнения программы не изменяются. |
|
|||
|
|
|
|
|
||
• Должны начинаться с латинской буквы или знака |
Переменные |
|
||||
подчеркивания. |
|
|
||||
|
|
|
|
|
||
• Не могут содержать пробелы и специальные |
|
Простейшие объекты программы, значения |
|
|||
символы. |
|
|
||||
|
|
которых могут изменяться в процессе |
|
|||
• Прописные и строчные буквы воспринимаются |
|
|
||||
|
выполнения программы. |
|
||||
программой как синонимы. |
|
|
|
|||
|
|
|
|
|
||
• Нельзя использовать зарезервированные слова. |
|
|
|
|
||
|
Программирование и основы алгоритмизации курс 1 2014 г. |
9 |
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
10 |
Кафедра |
Элементы языка |
|
Кафедра |
|
Типы данных |
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
||
Переменные и константы в программе нужно |
|
Тип данных определяет: |
|
|||
описывать, указывая их имена |
|
|
||||
|
|
|
|
|
||
(идентификаторы) и типы. |
|
1) |
|
внутреннее представление данных; |
|
|
|
|
|
|
|
||
Имя связывает переменную или константу с |
|
2) объем памяти для хранения переменной |
|
|||
некоторой физической областью памяти |
|
|
||||
|
|
|
или константы указанного типа; |
|
||
компьютера. |
|
|
|
|
||
|
|
|
|
|
||
Тип определяет способ хранения и |
|
3) набор операций, которые с ними можно |
|
|||
|
|
|
производить. |
|
||
представления (формат) значений переменной |
|
|
|
|||
|
|
|
|
|||
или константы в памяти компьютера, диапазон |
|
|
|
|
||
значений, возможные операции. |
|
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
11 |
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
12 |
Кафедра |
|
Типы данных |
|
|
Кафедра |
Типы данных |
|
||
информатики |
|
|
|
информатики |
|
||||
|
|
|
УГАТУ |
|
|
УГАТУ |
|||
|
|
|
|
|
|
|
|
||
|
|
Типы данных |
|
|
|
Простые |
Порядковые |
|
|
|
|
|
|
|
(скалярные) |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Целые |
|
|
|
|
|
|
|
|
|
Символьные |
|
|
Простые |
|
Структурированные |
|
|
Логические |
|
||
|
(скалярные) |
|
|
|
|||||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Вещественные |
|
|
|
|
|
|
|
|
|
Дата/Время |
|
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
13 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
14 |
|||
Кафедра |
|
|
Типы данных |
|
|
Кафедра |
Целые типы |
|
|
информатики |
|
|
|
|
информатики |
|
|||
|
|
|
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
Могут быть: |
|
|
|
|
|
|
|
|
|
• |
Без знака (все значения положительные) или со |
||
|
|
|
|
|
|
|
знаком (отрицательные и положительные |
|
|
|
|
|
|
|
|
|
значения). |
|
|
|
|
|
|
|
|
|
Различаются форматом представления числа в |
||
|
|
|
|
|
|
|
компьютере. |
|
|
|
|
|
|
|
|
• |
Однобайтовыми, двухбайтовыми и т.д. |
|
|
|
|
|
|
|
|
|
Различаются диапазоном возможных значений. |
||
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
15 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
16 |
Кафедра |
|
Целые типы |
|
Кафедра |
Целые типы |
|
|
информатики |
|
информатики |
|
|
|||
|
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
|
||
Целые без знака: |
|
|
Пример суммирования целых двоичных чисел без |
||||
Хранятся в памяти компьютера в прямом коде: |
знака в однобайтовом формате (тип Byte) |
|
|||||
десятичное число переводится в двоичную СС, |
|
|
|
|
|||
слева добавляются «незначащие» нули в |
|
|
|
|
|
||
зависимости от количества бит, выделенных для |
710+ 24910 = 25610 |
|
|
||||
хранения числа. |
|
|
|
|
|||
|
|
|
|
|
|
||
Если для хранения числа выделено n бит (8,16, …), |
|
|
|
|
|||
тогда |
|
|
|
|
|
|
|
Минимальное значение числа = 0; |
|
Старшая 1 результата, которая не уместилась в |
|||||
Максимальное значение числа = (2 n – 1); |
|
||||||
|
разрядную сетку, исчезла, и результат |
|
|||||
|
|
|
|
|
|||
Количество различных чисел = 2 n |
|
суммирования оказался равным 0. |
|
||||
|
Программирование и основы алгоритмизации курс 1 2014 г. |
17 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
18 |
||
Кафедра |
|
Целые типы |
|
Кафедра |
Целые типы |
|
|
информатики |
|
информатики |
|
|
|||
|
|
|
УГАТУ |
|
|
|
УГАТУ |
Целые со знаком: |
|
Если для хранения числа выделено n бит (8,16, |
|
||||
1. Старший бит выделен для обозначения знака |
|
32, …) и старший бит используется для |
|
||||
|
числа: |
|
|
|
знака, тогда |
|
|
|
0 – соответствует знаку '+' ; |
|
Минимальное значение числа = |
(- 2 n-1) |
|
||
|
1 – соответствует знаку '-' . |
|
Максимальное значение числа = |
+ (2 n-1 – 1) |
|
||
|
Остальные биты – для значения числа. |
|
Количество различных чисел = 2 n |
|
|||
2. |
|
|
|
|
|||
Положительные значения хранятся в прямом |
|
|
|
|
|||
|
коде. |
|
|
|
|
|
|
3. |
Отрицательные значения – в дополнительном |
|
|
|
|
||
|
коде. |
|
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
19 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
20 |
Кафедра |
Целые типы |
|
Кафедра |
|
Целые типы |
|
|
информатики |
|
информатики |
|
|
|||
|
УГАТУ |
|
|
|
УГАТУ |
||
|
|
|
|
|
|
||
Пример суммирования целых двоичных чисел со |
Типы данных для представления целых чисел |
||||||
знаком в двухбайтовом формате (Short) |
|
||||||
|
|
|
|
|
|
||
3110+ 32737 10 = 32768 10 |
|
|
|
|
|
|
|
Старшая 1 результата попала в разряд, отвечающий |
|
|
|
|
|
||
за знак числа, результат суммирования оказался |
|
|
|
|
|
||
числом отрицательным, 000000000000010 – его |
|
|
|
|
|
||
дополнительный код, т.е. - 32766 10). |
|
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
21 |
|
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
22 |
|
Кафедра |
Вещественный тип |
|
Кафедра |
|
Вещественный тип |
|
|
информатики |
|
информатики |
|
||||
|
УГАТУ |
|
|
УГАТУ |
|||
|
|
|
|
|
|
||
Нормализованная форма представления |
|
Примеры представления двоичных чисел |
|
||||
вещественных чисел: |
|
|
|||||
|
|
в нормализованном виде : |
|
|
|||
|
|
|
|
|
|
||
где m – мантисса, 0.1 <= |m| < 1 |
|
Первая цифра двоичной мантиссы после точки |
|||||
p – порядок числа; |
|
|
всегда 1 |
|
|
||
|
|
|
|
|
|
||
S – основание системы счисления. |
|
|
|
|
|
|
|
|
|
|
Внутренне представление вещественных чисел |
||||
0.123*10-02 |
0.567*105 0.1*10-5 |
0.1*108 |
всегда нормализовано |
|
|
||
Программирование и основы алгоритмизации курс 1 2014 г. |
23 |
|
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
24 |
Кафедра |
Вещественный тип |
|
Кафедра |
|
Вещественный тип |
|
|
информатики |
|
информатики |
|
||||
|
УГАТУ |
|
|
|
УГАТУ |
||
|
|
|
|
|
|
||
|
|
|
Типы данных для представления вещественных |
||||
|
|
|
чисел |
|
|
||
|
Знак мантиссы |
|
|
|
|
|
|
Мантисса для такого формата имеет длину 24 |
|
|
|
|
|
||
разряда, что обеспечит точность 6-8 знаков, |
|
|
|
|
|
||
т.е. при работе с числом, в котором значащая |
|
|
|
|
|
||
часть мантиссы больше 16 777 21510 = |
|
|
|
|
|
||
= 11111111 11111111 111111112 будет получен |
|
|
|
|
|
||
неверный результат |
|
|
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
25 |
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
26 |
|
Кафедра |
Вещественный тип |
|
Кафедра |
|
Символьный тип |
|
|
информатики |
|
информатики |
|
||||
|
УГАТУ |
|
|
|
УГАТУ |
||
|
|
|
|
|
|
||
Пример представления больших чисел |
|
1. |
|
Обозначение типа - String |
|
||
|
|
|
2. |
Объем памяти – зависит от количества знаков |
|||
|
7 знаков |
15 знаков |
|
|
в строке |
|
|
|
3. |
Внутреннее представление – целое число, |
|
||||
|
|
|
|
||||
|
|
|
|
|
соответствующее одному из символов ASCII- |
||
|
|
|
|
|
таблицы |
|
|
|
|
|
Представляет строку символов в кодировке Unicode |
||||
|
|
|
2 байта на один символ |
|
|||
|
|
|
от 0 до 2 миллиардов знаков приблизительно |
|
|||
Происходит переполнение разрядной сетки |
|
|
|
|
|
||
|
Программирование и основы алгоритмизации курс 1 2014 г. |
27 |
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
28 |
Кафедра |
Логический тип |
|
|
Кафедра |
Описание переменных |
|
информатики |
|
|
информатики |
|
||
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
|
||
1. Обозначение типа – Boolean |
|
|
Областью видимости констант и переменных |
|
||
2. Объем памяти – 2 байта |
|
|
может быть блок, процедура, модуль, вся |
|
||
3. |
Внутреннее представление – |
|
|
программа. |
|
|
|
0 – FALSE (ложь) |
|
|
Код объявления может располагаться в любом |
|
|
|
|
|
|
|
||
|
1 – TRUE (истина) |
|
|
месте кода процедуры, главное, чтобы он |
|
|
|
|
|
|
|
||
|
|
|
|
помещался до начала использования данной |
|
|
|
|
|
|
переменной. |
|
|
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
29 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
30 |
Кафедра |
Описание переменных |
|
Кафедра |
Запись арифметических операций |
|
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
УГАТУ |
|||
|
|
|
|
|
||
Синтаксис : |
|
|
|
|
|
|
Dim имя переменной As тип данных [ = значение] |
|
|
|
|||
Const имя константы = значение |
|
|
|
|
|
|
Dim a As Integer = 1 |
|
|
|
|
|
|
Dim b As Single |
|
|
|
|
|
|
Const Pi = 3.1415926535897932 |
|
|
|
|
|
|
|
Инициализация переменной |
|
|
|
||
|
а при ее описании |
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
31 |
|
Программирование и основы алгоритмизации курс 1 2014 г. |
32 |
Кафедра |
Операторы |
|
Кафедра |
Оператор присваивания |
||
информатики |
|
информатики |
||||
|
|
УГАТУ |
|
|
УГАТУ |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Оператором можно назвать закодированную |
|
Выражения составляются из операндов |
|||
|
форму инструкции алгоритма. |
|
(констант, переменных и обращений к функциям) |
|||
|
|
|
|
|
||
|
Операторы в любом языке программирования |
|
с помощью знаков операций и круглых скобок. |
|||
|
являются основными исполняемыми |
|
||||
|
|
|
|
|||
|
элементами кода приложения. |
|
Тип значения выражения зависит от типов |
|||
|
|
|
|
|
операндов и операций, которые к ним |
|
|
Формат простого оператора присваивания: |
|||||
|
|
применены. |
||||
|
|
|
|
|
<Имя Переменной> = <Выражение>
В простейшем случае выражение – константа или В результате его выполнения переменная переменная.
получает значение.
Программирование и основы алгоритмизации курс 1 2014 г. |
33 |
Программирование и основы алгоритмизации курс 1 2014 г. |
34 |
|
|
Кафедра |
Оператор присваивания |
|
|
|
|
Кафедра |
|
Оператор присваивания |
|
|
|||
|
|
информатики |
|
|
|
|
информатики |
|
|
||||||
|
|
|
|
|
|
УГАТУ |
|
|
|
|
|
|
УГАТУ |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
Примеры выражений |
|
|
Выполнение оператора присваивания: |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||
21 |
Арифметических |
|
|
|
|
• |
|
вычисляется результат выражения, |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
(a + b) * c |
|
|
|
|
|
|
|
|
находящегося справа от символа |
|
|
||
|
|
math.sin(t) |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
присваивания, |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
Логических |
(a > 2) or (a < 10) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
not Flag and (a = b) |
|
|
|
|
• |
вычисленное значение записывается в |
|
|
||||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
a = b |
|
|
|
|
|
|
область памяти для хранения переменной, |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
имя которой стоит слева от символа |
|
|
||
Строковых “первая строка” & “ |
” & “вторая строка” |
|
|
|
присваивания. |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование и основы алгоритмизации |
курс 1 2014 г. |
35 |
|
|
|
|
|
|
Программирование и основы алгоритмизации курс 1 2014 г. |
36 |
|
Кафедра |
|
Пример оператора присваивания |
Кафедра |
Неявное преобразование типов |
|
|||||||
информатики |
|
информатики |
|
|||||||||
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
УГАТУ |
|
|
|
УГАТУ |
Dim x, y, z As Double |
Описание вещественных |
|
|
|
|
|||||||
|
|
|
|
|
переменных |
|
|
|
|
|||
x = 3.5 |
|
Инициализация |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
||||
y = 7.8 |
|
переменных |
|
|
|
|
|
|||||
z |
= |
x + y |
Оператор присваивания |
|
|
|
|
|||||
|
|
|
|
арифметическое |
|
|
|
|
||||
|
|
|
|
|
выражение |
|
|
|
|
|
||
|
|
|
Программирование и основы алгоритмизации |
курс 1 |
2014 г. |
37 |
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
38 |
||
Кафедра |
Пример неявного преобразования типов |
Кафедра |
Функции явного преобразования типов |
|
||||||||
информатики |
информатики |
|
||||||||||
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
УГАТУ |
|
|
|
УГАТУ |
Dim x, y As Integer |
Верно: |
Dim x, y As Byte |
|
|
|
|
||||||
x = 3 |
|
|
|
|
x = 3 |
|
|
|
|
|
||
y = 7 |
|
|
|
|
y = 7 |
|
|
|
|
|
||
Dim z As Double |
|
|
Dim z As Integer |
|
|
|
|
|||||
z |
= |
|
x + y |
|
|
z = |
x + y |
|
|
|
|
|
|
|
|
|
Неверно: |
|
|
|
|
|
|
||
Dim x, y As Double |
|
|
Dim x, y As Integer |
|
|
|
|
|||||
x = 3 |
|
|
|
|
x = 3 |
|
|
|
|
|
||
y = 7 |
|
|
|
|
y = 7 |
|
|
|
|
|
||
Dim z As Integer |
|
|
Dim z As Byte |
|
|
|
|
|||||
z |
= |
|
x + y |
|
|
z |
= x + y |
|
|
|
|
|
|
|
|
Программирование и основы алгоритмизации |
курс 1 |
2014 г. |
39 |
|
Программирование и основы алгоритмизации курс 1 |
2014 г. |
40 |