2_Типы данных, операторы, ветвление.ppt
- Количество слайдов: 63
Типы данных, операторы, ветвление. 1
1. ПЕРВОЕ ПРИЛОЖЕНИЕ 2
1. ПЕРВОЕ ПРИЛОЖЕНИЕ 3
1. ПЕРВОЕ ПРИЛОЖЕНИЕ 4
1. ПЕРВОЕ ПРИЛОЖЕНИЕ 5
1. ПЕРВОЕ ПРИЛОЖЕНИЕ Пример программы представлен в папке 1_Кнопка 6
2. ПОСТРАНСТВА ИМЕН Пространства имен предназначены для организации и упрощения доступа к объектам на уровне всей платформы. NET. Dim New. But As System. Windows. Forms. Button Новая переменная New. But объявлена в классе System. Windows. Forms. Button (имя класса Button). 7
2. ПОСТРАНСТВА ИМЕН ‘ Объявление нового экземпляра собственного класса Button Dim But 1 as New Button ‘ Объявление нового экземпляра класса System. Windows. Forms. Button Dim But 2 as New System. Windows. Forms. Button Использование полных имен предотвращает конфликты имен, поскольку компилятор всегда может определить, к какому именно объекту следует обращаться. При этом полные имена могут получиться длинными и громоздкими. 8
2. ПОСТРАНСТВА ИМЕН Решение проблемы длинных имен: Для полного имени класа System. Windows. Forms. Button создается псевдоним Nbut, который затем используется для объявления объекта: Imports Nbut = System. Windows. Forms. Button Dim But 3 As New NBut В рамках одного проекта допускается использование всех классов в данном пространстве имен без указания их полных имен. Если проект содержит операторы Imports для пространства имен, которые включают в себя элементы с одинаковыми именами (т. е. могут возникнуть конфликты имен), то необходимо указывать полное имя при использовании этих элементов. 9
2. ПОСТРАНСТВА ИМЕН При разработке нового проекта для него автоматически генерируются соответствующее пространство имен. Например, если создан проект Windows. Application 1, то и новое пространство имен получит такое же имя. Кроме этого, к новому проекту автоматически присоединяются некоторые общие пространства имен: System, System. Collections, System. Data, System. Diagnostics, System. Windows. Forms, System. Drawing и. т. д. 10
2. ПОСТРАНСТВА ИМЕН Программист может самостоятельно добавить некоторое пространство имен к своему проекту. Для этого необходимо импортировать пространство имен: Imports System. Drawing Программист может создать собственное пространство имен: Namespace название_пространства имен [список элементов, входящих в пространство имен] End Namespace 11
3. ОПЦИИ КОМПИЛЯТОРА Option Explicit Опция предотвращает случаи неявного объявления переменной. На уровне проекта по умолчанию для этой опции устанавливается значение On. Option Compare Опция опредеяет поведение функции сравнения двух строк и может принимать одно из двух значений: Binary и Text. Binary – сравнение двух строк будет выполняться с учетом регистра. Text - сравнение двух строк будет выполняться без учета регистра. По умолчанию установлено значение Binary. 12
3. ОПЦИИ КОМПИЛЯТОРА Option Strict Опция задает необходимость проверки компилятором того, чтобы значения, присваиваемые переменным, соответствовали типам данных, указанным для этих переменных. On - при попытке присвоить переменной значение другого типа компилятор выдает сообщение об ошибке. Ошибки будут обнаружены еще на этапе компиляции!!! Off – опция по умолчанию. 13
3. ОПЦИИ КОМПИЛЯТОРА Ошибочные записи в случае Option Strict On: Dim A As Short Dim B As Integer ‘ Попытка присвоения вещественного значения переменной целого типа A = 21. 5 ‘ Попытка присвоения строкового значения переменной целого типа B = “Привет!” ‘ Попытка неявного сужающего преобразования типов A=B 14
3. ОПЦИИ КОМПИЛЯТОРА Option Infer Опция (значение On) обеспечивает возможность объявления переменных без явного указания типа данных. Компилятор распознает тип переменной по виду инициализирующего выражения. Dim Int. Var = 5 + 3 ‘Переменная будет типа Integer Установку опций можно осуществить на вкладке Compile окна настройки свойств проекта, либо в самом начале модуля проекта: Option Explicit On Option Compare Binary 15
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Типы данных Структурные типы данных Ссылочные типы данных - Числовые типы данных - Классы - Структуры - Интерфейсы - Перечисления В VB. NET типы данных являются классами и имеют собственные поля, свойства, методы и события. 16
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примитивные типы данных: Тип Кол-во байт Диапазон значений Boolean 2 True или False Byte 1 От 0 до 255 без знака Char 2 От 0 до 65535 без знака Date или Date. Time 8 От 01. 0001 до 31. 12. 9999 Decimal 16 От -79228162514264337593543950335 до 79228162514264337593543950335 Double 8 От -4. 9406564584124 Е-308 до 1. 79769313486231 Е+308 Integer 4 От - 2 147 483 648 до 2 147 483 647 Long 8 От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 Short 2 От -32768 до 32767 Single 4 От – 3. 402823 Е-38 до 3. 402823 Е+38 String Переменная длина От 0 до 2 миллиардов символов Unicode 17
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Арифметические операторы Действие Оператор Описание Сложение + x+y Вычитание - x–y Умножение * x*y Деление / x/y Целочисленное деление xy Остаток от деления Возведение в степень Mod ^ x Mod y x^y 18
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Операторы сравнения Действие Равенство Оператор Описание = x=y <> x <> y Меньше < x
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Логические операторы Действие Оператор Описание Отрицание Not x Конъюнкция And x And y Дизъюнкция Or x Or y Логическое исключение Xor x Xor y Операторы поразрядного сдвига Действие Оператор Описание Поразрядный сдвиг влево << x << y Поразрядный сдвиг вправо >> x >> y 20
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Целочисленные типы. Тип Кол-во байт Диапазон значений Byte 1 От 0 до 255 без знака Integer 4 От - 2 147 483 648 до 2 147 483 647 Long 8 От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 Short 2 От -32768 до 32767 v При попытке присвоения целому типу дробного значения происходит его автоматическое округление до ближайшего целого. v Метод Parse служит для преобразования строки к требуемому целочисленному типу. v Метод To. String преобразует число в строку. 21
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Вещественные типы. Тип Кол-во байт Диапазон значений Decimal 16 От -79228162514264337593543950335 до 79228162514264337593543950335 Double 8 От -4. 9406564584124 Е-308 до 1. 79769313486231 Е+308 Single 4 От – 3. 402823 Е-38 до 3. 402823 Е+38 v Тип Decimal обеспечивает более высокую точность расчетов (имеет больше значащих цифр). v Представление числа с десятичной точкой: Целая_часть. Дробная часть v Представление числа в экспоненциальной форме: Мантисса. Еэкспонента 22
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Вещественные типы. Тип Decimal Кол-во байт 16 Диапазон значений От -79228162514264337593543950335 до 79228162514264337593543950335 (28 цифр) Double 8 От -4. 9406564584124 Е-308 до 1. 79769313486231 Е+308 Single 4 От – 3. 402823 Е-38 до 3. 402823 Е+38 v Деление чисел с плавающей запятой не приводит к ошибке! Результат деления на ноль будет Infinity (неопределенность). v Вычисление квадратного корня из отрицательного числа не приводит к ошибке! Результат будет Nan (Not a Number, т. е. не число). v Метод Round округляет число Decimal с точностью до указанного количества десятичных знаков. v Метод Truncate отбрасывает дробную часть у числа типа Decimal 23
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Символьный тип (Char). Тип Char служит для представления символов Unicode, занимающих 2 байта памяти, т. е. тип данных Char служит для хранения одного символа. Символьная переменная может быть объявлена двумя способами: Dim F as Char = “a”C ‘ Если включена опция Option Strict Dim G as Char = Chr. W(97) ‘ 97 – код символа а Пример: Option Strict On Dim A As Char A = “*” ‘ Неверная запись A = “*”C ‘ Верная запись 24
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Основные методы типа Char: Метод Описание Is. Digit Выполняет проверку символа на принадлежность к цифрам Is. Letter. Or. Digit Выполняет проверку принадлежности символа к буквам или цифрам Is. Lower Проверяет, записан ли символ в нижнем регистре? Is. Punctuation Проверяет, принадлежит ли символ к знакам пунктуации (точка, запятая, двоеточие, тире и т. п. ) Is. Upper Проверяет, записан ли символ с верхним регистром? Is. White. Space Проверяет, является ли символ пробелом? To. Lower Преобразует символ в нижний регистр To. Upper Преобразует символ в верхний регистр 25
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Строковый тип: Тип String – произвольной длины (до 2 миллиардов символов в строке). Строки постоянной длины в VB. NET не поддерживаются! Переменную типа String можно определить и сразу же инициализировать: Dim str As String = “Привет!” Экземпляр типа String имеет следующие свойства: v Chars – возвращает символ, размещенный в указанной позиции строки. v Lenth – определяет длину строки. 26
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Основные методы типа String: Метод Описание Index. Of Дает возможность узнать индекс первого вхождения искомой подстроки в данную строку Insert Служит для вставки подстроки в указанную позицию данной строки Join Добавляет разделители между строками в массиве и объединяет эти строки в одну Remove Удаляет заданное количество символов, начиная с указанной позиции Replace Заменяет в данной строке все вхождения заданной подстроки другой подстрокой Split Разбивает строку на массив строк. Метод обратный Join Sub. String Извлекает подстроку из строки-аргумента и записывает ее в данный экземпляр To. Char. Array Преобразует строку в массив символов Unicode To. Lower Преобразует символы в нижний регистр To. Upper Преобразует символы в верхний регистр Trim Удаляет заданные символы из строки 27
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 1. Объявление пустой строки: 2. Dim S As String = “” 3. 2. Преобразование к нижнему регистру: 4. 5. 6. Dim new. S, S As String = “VISUAL BASIC” new. S = S. To. Lower() basic” S = S. To. Lower() ‘ Результат: new. S = “visual ‘ Результат: S = “visual basic” 28
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 3. К каждому элементу строки можно обратиться как к символу через его строковый индекс (начинается с 0): Dim S, new. S As String = “VISUAL BASIC” Dim C As Char C = S. Chars(1) ‘ Результат: С = “I” 4. Замена символов в строке: S = S. Replace(“I”C, “U”C) ‘ Все символа I будут заменены символами U 29
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 5. Удаление и вставка символа: S = S. Remove(1, 1) ‘ Удаление символа I (второй по индексу) S = S. Insert(1, “U”) ‘ Вставка символа U (на втором месте) 6. Удаление и вставка одной операцией: S = S. Remove(1, 1). Insert(1, “U”) 7. Преобразование строки к массиву символов: Dim A() As Char ‘ Инициализируется текстовый массив А A = S. To. Char. Array() ‘ Заполнение массива А символами из строки S A(2) = “U”C ‘ Замена символа I на U S = New String(A) ‘ Получение новой строки из массива символов 30
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 8. Копирование строк (оператором присвоения): Dim S, new. S As String S = “VISUAL BASIC” new. S = S 9. Копирование строк методом Copy класса String: new. S = String. Copy(S) 31
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 10. Копирование заданного числа символов из заданной строки в массив: Copy. To(Инд_строки, Мас_симв, Инд_мас, Колич_симв) Инд_строки – имя результирующего массива символов; Мас_симв – имя результирующего массива символов; Инд_мас - индекс элемента массива, начиная с которого осуществляется вставка символов строки; Колич_симв – количество копируемых символов. Пример: Dim S As String = “VISUAL BASIC” Dim A() As Char = S. To. Char. Array() S. Copy. To(0, A, 4, 2) ‘ “VI”, вставка с заменой! S = New String(A) ‘ Копирование 2 -х симв. , начиная с первого символа строки S (с индексом 0, ‘ т. е. “VI”), в массив А. Вставка этих символов начинается с 5 -го элемента 32 массива А (с индексом 4, т. е. “A”). Результат: S = ”VISUVI BASIC”.
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 11. Метод Substring копирует из строки требуемое количество символов, начиная с заданной позиции: Dim S As String = “VISUAL BASIC” Dim new. S As String new. S = S. Substring(1, 3) ‘ new. S = “ISU” new. S = S. Substring(1) ‘ new. S = “ISUAL BASIC” 12. Конкатенация строк (три способа): Dim S As String = “VISUAL” Dim new. S As String = “BASIC” Dim S 1, S 2, S 3 As String S 1 = S + “ “ + new. S + “ 2008” ‘ S 1 = “VISUAL BASIC 2008” S 2 = S & “ “ & new. S & “ 2008” ‘ S 2 = “VISUAL BASIC 2008” S 3 = String. Concat(S, “ “, new. S, “ 2008”) ‘ S 3 = “VISUAL BASIC 2008” 33
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 13. Метод Split (разбивка строки на массив по разделителю). Метод Join (объединение элементов массива в строку с использованием разделителей). Dim S As String = “ 02/06/2010” Dim new. S As String Dim A() As String A = S. Split(“/”) ‘ A ={“ 02”, “ 06”, “ 2010”} new. S = S. Join(“. ”, A) ‘ new. S = “ 02. 06. 2010” 34
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 14. Метод Index. Of – поиск символов в строке (с начала строки). Метод Las. Index. Of – поиск символов в строке (с конца строки). Dim S As String, N As String S = “VISUAL BASIC” N = S. Index. Of(“I”C) ‘ Результат: 1 N = S. Index. Of(“BASIC”) ‘ Результат: 7 N = S. Index. Of(“ 2008”) ‘ Результат: -1 (не найдена подстрока) N = S. Last. Index. Of(“I”C) ‘ Результат: 10 N = S. Las. Index. Of(“BASIC”) ‘ Результат: 7 N = S. Las. Index. Of(“ 2008”) ‘ Результат: -1 (не найдена подстрока) 35
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Примеры с использованием переменных типа String: 15. Форматирование строки методом Format: S = String. Format(“Сумма чисел {0} и {1} равна [2]”, 3, 7, 3+7) ‘ Результат: “Сумма чисел 3 и 7 равна 10” 36
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Булевский тип. Тип Boolean предназначен для работы с логическими переменными, которые могут принимать одно из двух значений: True (истина, или 1) False (ложь, или 0) В VB. NET существуют 4 основных логических оператора: Not (отрицание) And (И, логическое умножение, конъюнкция) Or (ИЛИ, логическое сложение, дизъюнкция Xor (исключающее ИЛИ) Примеры: If a>0 And b>0 Or c=0 Then y=1 If Not Is. Number(A) Then Msg. Box(“Введено не число!”) 37
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Тип Date. Time. Этот тип служит для хранения информации о дате и времени. Время определяется путем отсчета интервалов (тиков) величиной 100 наносекунд начиная с 1 января 1 года. Создать объект типа Date. Time можно с помощью конструкторов: Dim D 1 As New Date. Time(1989, 12, 25) ‘ 25. 12. 1989 Dim D 2 As New Date. Time(2005, 7, 19, 15, 30, 27) ’ 19. 7. 2005 15: 30: 27 Dim D 3 As New Date. Time(2010, 6, 8, 18, 45, 15, 375) ‘ 8. 6. 2010 18: 45: 15: 375 38
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Тип Date. Time. Свойства типа Date. Time: D 1 = Date. Time. Now ‘D 1 = Текущая Дата и Время D 2 = Date. Time. Today ‘D 2 = Текущая дата 39
4. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ Основные свойства типа Date. Time: Date Возвращает дату) (Пример: 25. 10. 2010) Time. Of. Day Возвращает время (Пример: 14: 18: 23) Year Возвращает год Month Возвращает месяц (Пример: 10) Day Возвращает день Day. Of. Year Возвращает день года (от начала года) Day. Of. Week Возвращает день недели (англ. название) Hour Возвращает значение часов Minute Возвращает значение минут Second Возвращает значение секунд Millisecond Возвращает значение миллисекунд Ticks Возвращает количество тиков, прошедших с 01. 0001. Один тик равен интервалу 100 наносекунд. (Пример: 2010) (Пример: 25) 40
Тип Date. Time Public Class Form 1 Private Sub Form 1_Load(By. Val sender As System. Object, By. Val e As System. Event. Args) Handles My. Base. Load 'описание двух переменных типа Date. Time Dim D 1, D 2 As Date. Time Dim DW As String = "" 'Присвоение переменной D 1 текущей даты и времени D 1 = Date. Time. Now 'Присвоение переменной D 2 значения d 1, увеличенногог на 100 дней D 2 = D 1. Add. Days(100) 'Определение текущего дня недели Select Case D 1. Day. Of. Week Case Day. Of. Week. Monday DW = "Понедельнике" Case Day. Of. Week. Tuesday DW = "Вторник" Case Day. Of. Week. Wednesday DW = "Среда" Case Day. Of. Week. Thursday DW = "Четверг" Case Day. Of. Week. Friday DW = "Пятница" Case Day. Of. Week. Saturday DW = "Суббота" Case Day. Of. Week. Sunday DW = "Воскресенье" End Select 'Вывод различной информации о дате и времени Message. Box. Show("Сейчас: " + CStr(D 1) + vb. Cr. Lf + _ "Сегодня: " + DW + " " + CStr(Date. Time. Today) + vb. Cr. Lf + _ "Текущее время: " + CStr(D 1. Hour) + ": " + CStr(D 1. Minute) + ": " + CStr(D 1. Second) + vb. Cr. Lf + _ "В этом месяце: " + CStr(Date. Time. Days. In. Month(D 1. Year, D 1. Month)) + " дней" + vb. Cr. Lf + _ "Через 100 дней будет: " + CStr(D 2. Date), _ "Работа с датой и временем", Message. Box. Buttons. OK, Message. Box. Icon. Information) End Sub End Class Пример программы представлен в папке 2_Дата и время 41
Общее описание метода Show класса Message. Box: Message. Box. Show(String 1, String 2, Message. Box. Buttons, Message. Box. Icon) String 1 - содержит строку сообщения, выводимого в окне String 2 - представляет собой заголовок окна сообщения Message. Box. Buttons – определяет набор стандартных кнопок (Yes, No, OK, Cancel), которые будут отображаться в окне сообщения. По умолчанию отображается лишь кнопка OK. Message. Box. Icon - задает пиктограмму, выводимую в окне сообщения. 42
Message. Box. Buttons. Abort. Retry. Ignore Message. Box. Buttons. OKCancel Message. Box. Buttons. Retry. Cancel Message. Box. Buttons. Yes. No. Cancel 43
Message. Box. Icon: Message. Box. Icon. None (0) Message. Box. Icon. Question (32) Message. Box. Icon. Stop (16) Message. Box. Icon. Hand (16) Message. Box. Icon. Warning (48) Message. Box. Icon. Asterisk (64) Message. Box. Icon. Error (16) Message. Box. Icon. Exclamations (48) Message. Box. Icon. Information (64) 44
5. Математические функции Функция Описание Abs() Возвращает модуль заданного числа. Acos() Определяет угол, косинус которого равен указанному числу. Результат возвращается в радианах в диапазоне [0, ]. Asin() Определяет угол, синус которого равен указанному числу. Результат возвращается в радианах в диапазоне [- /2, /2]. Atan() Определяет угол, тангенс которого равен указанному числу. Результат возвращается в радианах в диапазоне [- /2, /2]. Cos() Определяет косинус заданного угла. Cosh() Определяет гиперболический косинус заданного угла. Div. Rem() Возвращает частное от деления двух целых чисел и передает остаток в качестве выходного параметра. Exp() Возводит число e в указанную степень. Log() Вычисляет натуральный логарифм (с основанием e) указанного числа. Log 10() Вычисляет десятичный логарифм (с основанием e) указанного числа. Max() Определяет максимальное число из двух указанных значений. Min() Определяет минимальное число из двух указанных значений. Pow() Возводит заданное число в указанную степень. Пример: Pow(x, 1/3) Round() Округляет заданное значение, возвращая ближайшее целое число. Sign() Используется для определения знака числа. Sin() Определяет синус заданного угла. Sinh() Определяет гиперболический синус заданного угла. Sqrt() Возвращает квадратный корень из указанного числа. Tan() Определяет тангенс заданного угла. Tanh() Определяет гиперболический тангенс заданного угла. 45
6. Генерация случайных чисел Y = Rnd(x) ‘ Случайное число от 0 до 1 типа Single § Если x<0, то функция Rnd возвращает каждый раз одно и тоже число, при этом аргумент х используется как начальное значение. § Если x>0 или не задано, то функция Rnd возвращает следующее случайное число в последовательности. § Если х=0, то функция Rnd возвращает последнее сгенерированное случайное число. При такой организации вызова функции Rnd генерируется всегда одна и та же последовательность!!! 46
6. Генерация случайных чисел ‘Генерация случайных чисел с инициализацией генератора Dim k As Double Randomize() ‘Начальная последовательность чисел всегда разная K = Rnd() ‘Класс Random для генерации случайных чисел Dim R As New Random ‘ R – экземпляр класса Random Dim K As Double Dim M As Integer K = R. Next. Double ‘ Метод Next. Double. Случайное число от 0 до 1 M = R. Next(1, 100) ‘Метод Next(n, k). Случайное число от n до k M = R. Next(10) ‘Метод Next(k). Случайное число от 0 до k Пример программы представлен в папке 3_Случайные числа 47
7. РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ Условный оператор If 48
A. Сокращенная форма IF 1. Один оператор1 If условие Then оператор1 Пример 1. a =2 : b =5: y = 1 If a > b Then y = a*b ‘ Все операторы в одной строке! y=y+2 49
A. Сокращенная форма IF 2. Один оператор1 If сложное_условие Then оператор1 Пример 2. Dim D As Date. Time, S As String D = Now() If (D. Day = 1) And (D. Month = 1) Then S = “Новый год!” 50
A. Сокращенная форма IF 3. Несколько операторов 1 If условие Then операторы1 End If Пример 3. a =2 : b =5: y = 1 If a > b Then y = a*b a=a+2 b=b+5 End If y=y+2 51
B. Полная форма IF 1. Общий случай If условие Then операторы1 Else операторы2 End If 52
B. Полная форма IF 1. Общий случай If условие Then операторы1 Else операторы2 End If Пример 4. Dim a, b As Integer a = 274: b = 17 If a Mod b = 0 Then Message. Box. Show(“Результат деления: “ +CStr(ab)) Else Message. Box. Show(“Остаток от деления: “ +CStr(a Mod b)) End If 53
B. Полная форма IF 2. Частный случай 1 If условие Then операторы1 Else. If: оператор2 ‘Один оператор2 End If 54
B. Полная форма IF 3. Частный случай 2 If условие 1 Then операторы1 Else. If условие 2 Then операторы2 Else. If условие 3 Then операторы3 … [Else операторы. N ] End If 55
C. Функция IIF IIf (условие, значение 1, значение 2) Пример 5. Dim k As Integer, S As String S = “Нуль” k = -4 S = IIf (k > 0, “Число положительное”, “Число отрицательное”) 56
D. Оператор многоальтернативного выбора Select Case 57
Select Case переменная Case значение 1 операторы1 Case значение 2 операторы2 … Case Else операторы. N End Select 58
Select Case Пример 6. Select Case m - k Case Is < 0 n=-1 Case 0 n=0 Case 1, 2 n=1 Case 3 to 20 n = 25 Case Else n = 100 End Select 59
Пример 7. • Разработать программу, определяющую результат гадания на ромашке: «любит–не любит–плюнет–поцелует– к сердцу прижмёт–к чёрту пошлёт» , взяв за исходное данное количество лепестков N. • Количество лепестков ромашки от 1 до 50. • Исходные данные: количество лепестков ромашки. • Выходные данные: результат гадания. 60
“Любит” “Не любит” “Плюнет” “Поцелует” “К сердцу прижмет” “К черту пошлет” 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 . , . . … 61
Начало N–кол-во лепестков 1<=N<=50 k=1 k=0 – счетчик (<=6) s=“” - сообщение Нет k=2 i = 1, N +1 Да Нет Число не входит в интервал [1; 50] Нет k=3 k=k+1 Нет k=4 k>6 Нет Да k=5 k=1 Да Да Да s = “Любит” s = “Не любит” s = “Плюнет” s = “Поцелует” s = “К сердцу прижмет” Нет k=6 Да s = “К черту пошлет” s Конец 62
Пример программы представлен в папке 4_Ромашка 63


