Разделы презентаций


Алгоритмические конструкции

Содержание

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

Слайды и текст этой презентации

Слайд 1Алгоритмические конструкции

Алгоритмические конструкции

Слайд 2Использование логических выражений при конструировании алгоритма
Логические значения используются при конструировании

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

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

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

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

это структура, в которой в зависимости от некоторого условия выполняется

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

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

Слайд 4Алгоритмы
Выбор - это структура, позволяющая "разветвить" программу на несколько частей

(а не на две части, как в операторе If), в

зависимости от значения некоторого выражения (реализуется оператором Select Case).
Цикл с параметром - это структура, позволяющая повторить некоторую часть программы определенное, заранее известное, количество раз (реализуется оператором For-Next).

АлгоритмыВыбор - это структура, позволяющая

Слайд 5Алгоритмы
Цикл с предусловием - это структура, позволяющая повторять некоторую часть

программы пока соблюдается некоторое условие (реализуется оператором Do – Loop).
Цикл

с постусловием - это структура, позволяющая повторять некоторую часть программы до тех пор, пока не выполнится некоторое условие (реализуется оператором Do - Loop).
АлгоритмыЦикл с предусловием - это структура, позволяющая повторять некоторую часть программы пока соблюдается некоторое условие (реализуется оператором

Слайд 6Оператор безусловного перехода
GoTo {метка | номер строки}
Вызывает переход к оператору,

помеченному меткой или номером.
GoSub {метка | номер строки}

{метка: | номер

строки}

Return
Переход к выделенной группе операторов (внутренней процедуре). Последний оператор этой группы Return возвращает управление на оператор, следующий за GoSub.
Оператор безусловного переходаGoTo {метка | номер строки}Вызывает переход к оператору, помеченному меткой или номером.GoSub {метка | номер

Слайд 7If A > 10 Then A = A+1 : B

= B + A : GoTo Vstavka (обход)
If Name =

"Иван" Then GoTo 555(обход)
или
If Answer = "No' Then (ветвление)
Mark = Mark - 1
Else
If Num_Answer = Max_Num Then
Topic = Topic + 1
Else
Result = Mark
end if
end if

Условный оператор IF (ветвление, обход ,выбор)

If A > 10 Then A = A+1 : B = B + A : GoTo Vstavka

Слайд 8If Answer = "No' Then
Mark = Mark - 1
ElseIf Num_Answer

= Max_Num Then
Topic = Topic +

1
Else
Result = Mark
End if

Условный оператор IF (ветвление, обход ,выбор)


Слайд 9If Х>=-5.3 And X

оператор IF (ветвление, обход ,выбор)

If Х>=-5.3 And X

Слайд 10Элемент управления OptionButton
Многие элементы управления используют логический тип данных для

задания значения свойств
Наиболее типичным представителем является элемент управления Option Button

(переключатель), который служит элементом пользовательского интерфейса для выбора одной из нескольких альтернатив.
Выбран ли переключатель определяется состоянием его свойства Value. Если Value=true, то переключатель выбран, если равно false то не выбран. Состояние свойства меняется синхронно с состоянием переключателя.
Элемент управления OptionButtonМногие элементы управления используют логический тип данных для задания значения свойствНаиболее типичным представителем является элемент

Слайд 11Символьные данные
Символьные данные или строка символов - любая последовательность символов.


В Visual Basic строка символов заключается в кавычки.
“12345678” ; “Иванов”

; “Фамилия И.О.”;
В операторе описания типа используется ключевое слово String.
В Visual Basic символьные данные (строки символов) могут быть постоянной или переменной длины. Это определяется в операторе описания типа.
Примеры:
Dim Name As String*15, SurName As String
Для работы с символьными данными используется оператор конкатенации (объединения) и встроенные функции.
Символьные данныеСимвольные данные или строка символов - любая последовательность символов. В Visual Basic строка символов заключается в

Слайд 12Операции со строками. Объединение строк
Операция & - соединение строк (конкатенация

) .

Строка - "Иванов" & "Иван" & "Иванович"
Результат -

"ИвановИванИванович" (пробелы между словами вставлены в исходные строки).

Dim SurName As String*15
Dim Name As String
Dim Author As String*30
SurName = "Иванов" ‘В SurName - "Иванов" -15
Name = "Иван" ‘длина равна 4 символам
Author = SurName & Name

В переменной Author будет храниться значение
"ИвановИван" - длина равна 30 символам.
До заданной длины строка дополняется пробелами.

Операции со строками. Объединение строкОперация & - соединение строк (конкатенация ) .Строка -

Слайд 13Операции со строками. Объединение строк
В качестве операции соединения можно использовать

и +.

Разница в результате проявляется тогда, когда один

из операндов число, а другой – строка.

При соединении с помощью & старшим типом считается строка.
При соединении с помощью + старшим типом считается число.

Пример:
"12" & 4 ‘Результат "124"
"12" + 4 ‘Результат 16
Операции со строками. Объединение строкВ качестве операции соединения можно использовать и +.  Разница в результате проявляется

Слайд 14Встроенные функции для работы со строками. Преобразование данных
Чаще всего такие

преобразования необходимо использовать при работе с элементами управления (Label, TextBox,

…) и с функциями MsgBox или с InputBox.

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

Text1.Text = str$(x)


Встроенные функции для работы со строками. Преобразование данныхЧаще всего такие преобразования необходимо использовать при работе с элементами

Слайд 15Встроенные функции для работы со строками. Удаление пробелов
LTrim (строка) –

удаление пробелов, расположенных в начале символьной строки,
RTrim(строка) – удаление пробелов,

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

Dim MyString, TrimString
MyString = " <-Trim-> " ' Инициализирует строку.
TrimString = LTrim(MyString) ' TrimString = "<-Trim-> ".
TrimString = RTrim(MyString) ' TrimString = " <-Trim->".
TrimString = LTrim(RTrim(MyString)) ' TrimString = "<-Trim->".
' Тот же результат можно получить с помощью одной функции Trim.
TrimString = Trim(MyString) ' TrimString = "<-Trim->"

Встроенные функции для работы со строками. Удаление пробелов	LTrim (строка) – удаление пробелов, расположенных в начале символьной строки,	RTrim(строка)

Слайд 16Встроенные функции для работы со строками. Выделение подстроки
Left (строка,

числоСимволов) - возвращает значение типа Variant (String), содержащее указанное число

первых символов строки.
строка - строковое выражение, из которого извлекаются символы. Если string имеет значение Null, возвращается значение Null.
числоСимволов - значение типа Variant (Long). Числовое выражение, указывающее число возвращаемых символов. Если 0, возвращается пустая строка (""). Если число больше либо равняется числу символов в строке, возвращается вся строка.

В данном примере функция Left используется для извлечения указанного числа первых символов строки.
Dim AnyString, MyStr
AnyString = "Всем привет" ' Задает строку
MyStr = Left(AnyString, 1) ' Возвращает "В"
MyStr = Left(AnyString, 4) ' Возвращает "Всем"
MyStr = Left(AnyString, 20) ' Возвращает "Всем привет"
Встроенные функции для работы со строками. Выделение подстроки Left (строка, числоСимволов) - возвращает значение типа Variant (String),

Слайд 17Встроенные функции для работы со строками. Выделение подстроки
Right (строка, числоСимволов)
Возвращает

значение типа Variant (String), содержащее указанное число последних символов строки.

В

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

Dim AnyString, MyStr
AnyString = "Всем привет" ' Инициализирует строку
MyStr = Right(AnyString, 1) ' Возвращает "т"
MyStr = Right(AnyString, 7) ' Возвращает " привет"
MyStr = Right(AnyString, 20) ' Возвращает "Всем привет"
Встроенные функции для работы со строками. Выделение подстрокиRight (строка, числоСимволов)Возвращает значение типа Variant (String), содержащее указанное число

Слайд 18Встроенные функции для работы со строками. Выделение подстроки
Mid(строка, начало, [число])
строка

- строковое выражение, из которого извлекаются символы. Если строка имеет

значение Null, возвращается значение Null.
начало - значение типа Long. Позиция символа в строке, с которого начинается нужная подстрока. Если начало больше числа символов в строке, функция Mid возвращает пустую строку ("").
число - значение типа Variant (Long). Число возвращаемых символов. Если этот аргумент опущен или превышает число символов, расположенных справа от позиции начало, то возвращаются все символы от позиции начало до конца строки.
1. Возвращает значение типа Variant (String), содержащее указанное число символов строки. Используется в правой части оператора.
2. Используется в левой части оператора для замены части строки подстрокой

1. В данном примере функция Mid используется для извлечения указанного числа символов из строки.

Dim MyString, FirstWord, LastWord, MidWords
MyString = "Пример функции Mid" 'Инициализирует строку
FirstWord = Mid(MyString, 1, 6) ' Возвращает "Пример".
LastWord = Mid(MyString, 16, 3) ' Возвращает "Mid".
MidWords = Mid(MyString, 8) ' Возвращает "функции Mid«

2. Пример замены подстроки. Mid в правой части оператора присваивания.
Mid(MyString, 1, 6) = "Замена" ' MyString = "Замена функции Mid"
Встроенные функции для работы со строками. Выделение подстрокиMid(строка, начало, [число])строка - строковое выражение, из которого извлекаются символы.

Слайд 19Встроенные функции для работы со строками. Преобразование строки
LCase (строка) -Возвращает

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

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

В данном примере функция LCase используется для преобразования строки к нижнему регистру.
Dim UpperCase As String, LowerCase As String
UpperCase = "Всем Привет 1234"
LowerCase = Lcase(UpperCase) ' всем привет 1234
Встроенные функции для работы со строками. Преобразование строки	LCase (строка) -Возвращает значение типа String, представляющее строку, преобразованную к

Слайд 20Встроенные функции для работы со строками. Преобразование строки
UCase (строка) -

возвращает значение типа Variant (String), содержащее строку, преобразованную к верхнему

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

В данном примере функция UCase используется для преобразования строки к верхнему регистру.

Dim UpperCase As String, LowerCase As String
LowerCase = "Всем привет 1234"
UpperCase = UCase(LowerCase) ' ВСЕМ ПРИВЕТ 1234
Встроенные функции для работы со строками. Преобразование строки	UCase (строка) - возвращает значение типа Variant (String), содержащее строку,

Слайд 21Встроенные функции для работы со строками. Преобразование строки
StrReverse(строка)
Изменяет порядок следования

символов в строке на обратный
str = StrRevers("телефон") ' str

= "нофелет"

Replace(строка, подстрока1, подстрока2, [начало], [числоСтрок], [критерий])
Находит в строке подстроку1 и заменяет ее построкой2. Поиск начинается с позиции начало (по умолчанию= 1). Заменяется числоСтрок, по умолчанию – все. Способ сравнения (критерий): 0 – посимвольное; 1 – двоичное.
str = Replace("Телефон", "Теле", "Мега", , , 1) ' str = “Мегафон”
Встроенные функции для работы со строками. Преобразование строкиStrReverse(строка)	Изменяет порядок следования символов в строке на обратныйstr = StrRevers(

Слайд 22Встроенные функции для работы со строками. Определение положения одной строки

в другой
InStr ([начало,] строка1, строка2 [, критерий])
Возвращает значение типа Variant

(Long), указывающее позицию первого вхождения одной строки внутри другой строки.
Результатом поиска является значение позиции, с которой искомая строка2 входит в строку1. Если искомая строка2 не входит, то результат поиска равен 0.
Начало - числовое выражение, задающее позицию, с которой начинается каждый поиск. Если этот аргумент опущен, поиск начинается с первого символа строки. Если start имеет значение Null, возникает ошибка. Указание аргумента начало является обязательным, если указан аргумент критерий.
строка1 - строковое выражение, в котором выполняется поиск.
строка2 - искомое строковое выражение.
критерий - указывает способ сравнения строк. Чтобы выполнить двоичное сравнение, следует указать 0 (это значение используется по умолчанию). Чтобы выполнить посимвольное сравнение без учета регистра, следует указать 1.
Возвращаемые значения:
Позиция обнаруженной подстроки - строка2 найдена в строка1
0 - строка 2 не найдена
0 - строка1 является пустой строкой
Пустое значение - строка1 имеет значение Null
start - строка2 является пустой строкой
Пустое значение - строка2 имеет значение Null
0 - начало > строка2
Встроенные функции для работы со строками. Определение положения одной строки в другойInStr ([начало,] строка1, строка2 [, критерий])	Возвращает

Слайд 23Встроенные функции для работы со строками. Определение положения одной строки

в другой
Пример 1:
Dim SearchString, SearchChar, n As Long
SearchString = "XXpXXpXXPXXP" '

Исходная строка
SearchChar = "P" ' Следует найти "P"
n = Instr(4, SearchString, SearchChar, 1) ' Посимвольное сравнение, начиная с позиции 4. Возвращает 6
n = Instr(1, SearchString, "P", 0) ' Двоичное сравнение, начиная с позиции 1. Возвращает 9

Пример 2:
n=InStr ("abcdefghijklmuvwxyz", "efg") ' результат 5
n=InStr ("abcdefghijklmuvwxyz", "123") ' результат 0

Встроенные функции для работы со строками. Определение положения одной строки в другойПример 1:Dim SearchString, SearchChar, n As

Слайд 24Константы
Константы – элементы выражения, значения которого не меняется в процессе

выполнения программы.
Примеры
76.33 – числовая константа,
“Ошибка доступа к БД” –

символьная константа
False –логическая константа
VB содержит огромное количество
встроенных констант (цвета, клавиши,
сообщения и т.д.). Имеют префикс vb.


Константы	Константы – элементы выражения, значения которого не меняется в процессе выполнения программы. Примеры76.33 – числовая константа,“Ошибка доступа

Слайд 25Объявление констант
Аналогично объявлению переменных. Можно объявлять на уровне модуля или

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

для переменных.

На уровне процедуры:
Const имяКонстанты [As типДанных] = выражение
Пример
Const strDBError As String = “Ошибка доступа к базе данных”

На уровне модуля (можно указать область действия)
[Public | Private] Const имяКонстанты [As типДанных] = выражение
Пример
Public Const strDBError As String = “Ошибка доступа к базе данных”

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

Слайд 26Массивы
Различные данные часто представляются таблицами.
В языках программирования несколько однотипных

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

массива имеет порядковый номер (индекс), по которому его можно выбрать.
Каждый массив содержит данные только одного типа.
Все используемые в программе массивы должны быть определены с помощью оператора Dim.
Синтаксис:
Dim имя (нижняя_граница To верхняя_гр) As тип
Массивы	Различные данные часто представляются таблицами. 	В языках программирования несколько однотипных и одноразмерных данных, обозначенных одним именем, называется

Слайд 27Массивы
Примеры:
Dim Tab(1 To 10) As Single
Dim AA2(1 To 5)

As Integer
Dim C(1 To 25) As Boolean
Dim

Crab(1 To 5) As String * 10 'длина строки - 10 символов

В этом примере определены:
массив с именем Tab, состоящий из 10 элементов и каждый элемент арифметического типа Single;
массив с именем AA2, состоящий из 5 элементов и каждый элемент арифметического типа Integer, т.е. может иметь только целые значения;
массив с именем С, состоящий из 25 элементов и каждый элемент логического типа, т.е. может иметь только значения True или False;
массив с именем Crab, состоящий из 5 элементов и каждый элемент типа строки символов длиной 10 символов.
МассивыПримеры: Dim Tab(1 To 10) As SingleDim AA2(1 To 5)  As IntegerDim C(1 To 25)

Слайд 28Массивы
При использовании в программе некоторого элемента определенного массива указывается имя

массива и в скобках индекс элемента этого массива.
Примеры:
Tab(7) - используется

7 ой элемент массива Tab;
AA2(3) + AA2(4) - сложение 3-го и 4-го элемента массива AA2;
С(I) - используется I-ый элемент массива С (значение I должно быть определено и не может быть более 25);
Crab(J+1) - в качестве значения индекса используется арифметическое выражение (его значение не может быть более 5).
Массивы	При использовании в программе некоторого элемента определенного массива указывается имя массива и в скобках индекс элемента этого

Слайд 29Массивы
В VB bспользуются массивы фиксированного размера и динамические массивы (могут

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

динамического массива:
Объявляется массив с помощью ключевых слов, используемых при создании массива фиксированного размера. Список размерностей остается пустым.
Dim intCount () As Integer
С помощью выполняемого оператора ReDim указывается размерность массива в виде числа или выражения.
ReDim intCount (х)
ReDim intCount (20)
ReDim intCount (1 To 20)
При выполнении оператора ReDim данные, размещенные в массиве теряются.
Для изменения размера массива без потери данных ReDim используется с ключевым словом Preserve
ReDim Preserve intCount (х+1)




Массивы	В VB bспользуются массивы фиксированного размера и динамические массивы (могут менять размер в процессе выполнения программы).	Позволяют эффективно

Слайд 30Управляющие конструкции. Операторы следования и ветвления
Управляющие конструкции определяют последовательность

выполнения фрагментов алгоритма. К их числу относятся операторы, выполняющиеся последовательно

сверху-вниз, операторы ветвления (условные операторы) и операторы цикла.
Следование предписывает последовательное выполнение операторов. Первой выполняется оператор S1, а после ее завершения – оператор S2, далее S3 и т.д. К таким оператором относятся операторы присваивания и вызова процедур.
Пример:
count = 2*a+b
N=N+1
Управляющие конструкции. Операторы следования и ветвления 	Управляющие конструкции определяют последовательность выполнения фрагментов алгоритма. К их числу относятся

Слайд 31Управляющие конструкции. Операторы ветвления
Ветвление предписывает выбор одного из двух блоков

(операторов) в зависимости от того, выполняется условие P или нет.

В приведенной конструкции при положительном результате выполняется блок (оператор) S1, а при отрицательном – S2.
В VB ветвление реализуется с помощью операторов IF и Select Case.
Управляющие конструкции. Операторы ветвленияВетвление предписывает выбор одного из двух блоков (операторов) в зависимости от того, выполняется условие

Слайд 32Условный оператор IF (ветвление, обход ,выбор)
IF «логическое выражение» THEN «then

– последовательность» [ELSE «else – последовательность»]
или
IF логическое выражение THEN

[блок операторов - 1]
[ELSEIF логическое выражение THEN
[блок операторов - 2]]
[ELSE
[блок операторов - n]]
END IF
Блок операторов - это один оператор или последовательность операторов, расположенных на одной строке и разделенных":".



Условный оператор IF (ветвление, обход ,выбор)IF «логическое выражение» THEN «then – последовательность» [ELSE «else – последовательность»]илиIF логическое

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

то два ключевых слова Else и If можно объединить в

одно ElseIf. Получим конструкцию
If ... Then ... ElseIf ... Then ... ElseIf ... Then ... Else ... End If
Пример
If A>B And C=1 Then
count = 2*a+b
N=N+1
ElseIf A count = (a-b)/3
N=N-1
Else
N=0
End If
Операторы ветвления.Если в качестве оператора S2 также используется оператор ветвления, то два ключевых слова Else и If

Слайд 34Сокращенное ветвление
Сокращенное ветвление предписывает выполнить блок S при положительном результате

проверки условия P.
Пример:
If A>B And C=1 Then
count = 2*a+b
N=N+1
End If

Сокращенное ветвлениеСокращенное ветвление предписывает выполнить блок S при положительном результате проверки условия P.Пример:If A>B And C=1 Then	count

Слайд 35Множественное ветвление
Множественное ветвление (переключатель) определяет выбор одного из n блоков

(n>2). Для исполнения выбирается тот блок, условие которого совпадает со

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

Select Case управляющая_переменная
Case список_значений 1
[операторы_1]
[Case список значений_2
[операторы_2] ]
.
.
.
[Case Else
[операторы_n] ]
End Select
Множественное ветвлениеМножественное ветвление (переключатель) определяет выбор одного из n блоков (n>2). Для исполнения выбирается тот блок, условие

Слайд 36Оператор множественного выбора Select Case
Select Case выражение
[ Case список выражений

1
[блок операторов 1]
[ Case список

выражений 2
[блок операторов 2]

[ Case список выражений n
[блок операторов n]
[Case Else
[блок операторов n+1]
End Select

Select Case позволяет обрабатывать в программе несколько условий и аналогичен блоку конструкций if… Then…Else.
Состоит из анализируемого выражения и набора операторов Case на каждое возможное значение выражения.
Сначала вычисляется значение выражения, затем она сравнивается со значениями, заданными в операторах Case. Если найдено искомое значение, выполняются блок операторов, приписанных соответствующему Case.
Затем управление передается оператору, следующему за оператором End Select.


Оператор множественного выбора Select CaseSelect Case выражение[ Case список выражений 1     [блок операторов

Слайд 37Примеры использования оператора Select Case
Dim x As Integer
x = Val(InputBox("Введите

x"))
Select Case x
Case 1 To 9

Label1.Caption = "Значение больше нуля"
Case 0
Label1.Caption = "Значение равно нулю"
Case -9 To -1
Label1.Caption = "Значение меньше нуля"
End Select

Выражение - выражение арифметического или символьного типа.
Список выражений может иметь одну из следующих форм:
- выражение;
- выражение To;
- выражение Is знак отношения выражение.

Примеры использования оператора Select CaseDim x As Integerx = Val(InputBox(

Слайд 38Оператор множественного выбора Select Case
Select Case может выполнить нем более

одной последовательности операторов (блоков), после тога, как одно из логических

условий оказалось равно True.

X=3
Select Case X^2+1
Case 8, 4*x ‘(X^2+1 = 8 или X^2+1 = 12)
блок операторов 1
Case 7, 10, 84 To 90 ‘(X^2+1 = 7 или X^2+1=10 или 84 < = X^2+1 <= 90)
блок операторов 2
Case 100, Is <0 ‘(X^2/3 = 100 или X^2+1 <0)
блок операторов 3
Case Else ‘(в противном случае)
блок операторов 3
End Select

Оператор множественного выбора Select CaseSelect Case может выполнить нем более одной последовательности операторов (блоков), после тога, как

Слайд 39Циклы
Для выполнения повторяющихся действий используются циклы.
При работе с массивами типичным

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

действия,
прекращение перебора при достижении конца массива.

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

Слайд 40Циклы. Пример организации цикля с помощью оператора IF…Then
Dim Massiv(1 To

5) As Single
Dim S As Single
Dim I As Integer
I

= 1 ‘Начинаем с первого элемента, его индекс равен 1
Povtor1: ‘Это метка оператора, который стоит следующим
Massiv(I) = InputBox("Введите элемент массива " & I)
If I<5 Then ‘Проверка достижения конца массива
I = I + 1 ‘Переход к следующему элементу (индекс увелич. на 1)
GoTo Povtor1 ‘Это оператор перехода
EndIf
I = 1 ‘ Начинаем с первого элемента, его индекс равен 1
S = 0 ‘ Начальное значение суммы элементов массива равно 0
Povtor2: ‘Это метка, определяет место перехода
S = S + Massiv(I) ‘ Суммирование
If I<5 Then ' Проверка достижения конца массива
I = I + 1 ' Переход к следующему элементу
GoTo Povtor2 ‘ Это оператор перехода
EndIf
MsgBox "Сумма элементов массива равна " & S, ,"Ответ"
Циклы. Пример организации цикля с помощью оператора IF…ThenDim Massiv(1 To 5) As Single Dim S As SingleDim

Слайд 41Циклы. Пример организации цикля с помощью оператора IF…Then Циклы
В этой

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

выполнения операторов программы (после перехода выполняется оператор, стоящий следующим за соответствующей меткой).
Метка обозначает следующий за ней оператор программы и может включать не более 40 символов (первый обязательно буква), заканчивается двоеточием (:).
В данном фрагменте программы используются так называемые «ручные циклы», т.е. явно текущему индексу элемента массива вначале присваивается значение 1, далее это значение увеличивается на 1 и проверяется достижение конца массива.
Так как циклические вычисления очень распространены, то в языках программирования существуют специальные средства для организации циклических вычислений - операторы цикла. В Visual Basic существует несколько операторов цикла.
Циклы. Пример организации цикля с помощью оператора IF…Then ЦиклыВ этой программе используется оператор перехода (синтаксис: GoTo метка),

Слайд 42Операторы циклы
Так как циклические вычисления очень распространены, то в языках

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

цикла.
В Visual Basic существует несколько операторов цикла:
For … Next
For Each … Next
Do … Loop

Операторы циклыТак как циклические вычисления очень распространены, то в языках программирования существуют специальные средства для организации циклических

Слайд 43Цикл с использованием конструкции For … Next
Конструкция For … Next

выполняет последовательность команд определенное количество раз.
Синтаксис:
For параметр_цикла = начальное_знач

To конечное_знач [Step шаг]
Операторы
Next [параметр_цикла]
параметр_цикла – имя переменной, которая «считает» количество повторов.
начальное_знач – числовое значение, которое присваивается переменной – параметру цикла перед первым проходом цикла.
конечное_знач – числовое значение переменной – параметра цикла, после превышения которого выполнение цикла прерывается.
шаг – величина, на которую меняется значение параметра цикла при каждом проходе цикла (если шаг не задан, меняется на 1, может быть отрицательным).
Операторы - это тело цикла, которое выполняется несколько раз.




Цикл с использованием конструкции For … NextКонструкция For … Next выполняет последовательность команд определенное количество раз. Синтаксис:For

Слайд 44Пример использования оператора For…Next
Суммирование элементов массива:
Dim M(1 To 5) As

Single
Dim S As Single
Dim I As Integer
For I=1 To 5

'Step 1
M(I) = InputBox("Введите элемент массива " & I)
Next
S = 0
For I=1 To 5
S = S + M(I) 'Этот оператор выполняется 5 раз
Next
MsgBox "Сумма элементов массива равна " & S, ,"Ответ"
Пример использования оператора For…NextСуммирование элементов массива:Dim M(1 To 5) As SingleDim S As SingleDim I As IntegerFor

Слайд 45Цикл с использованием конструкции Do … Loop
Цикл выполняется до тех

пор, пока истинно заданное в цикле условие.
Синтаксис:
Do While условие
Операторы
Loop
Условие –

логическое выражение, значение которого проверяется перед каждым проходом цикла. Цикл с предусловием – может не выполняться ни разу.
Do
Операторы
Loop While условие
Цикл с постусловием выполняется хотя бы один раз.

Цикл с использованием конструкции Do … LoopЦикл выполняется до тех пор, пока истинно заданное в цикле условие.Синтаксис:Do

Слайд 46Цикл с использованием конструкции Do … Loop
Цикл выполняется до тех

пор, пока ложно заданное в цикле условие.
Синтаксис:
Do Until условие
Операторы
Loop
Условие –

логическое выражение, значение которого проверяется перед каждым проходом цикла. Цикл с предусловием – может не выполняться ни разу.
Do
Операторы
Loop Until условие
Цикл с постусловием выполняется хотя бы один раз.

Цикл с использованием конструкции Do … LoopЦикл выполняется до тех пор, пока ложно заданное в цикле условие.Синтаксис:Do

Слайд 47Пример использования оператора Do…Loop
Dim M(1 To 5) As Single
Dim S

As Single
Dim I As Integer
I=1
Do While I

I<=5 - истина
M(I) = InputBox("Введите элемент массива " & I)
I=I+1
Loop


Пример использования оператора Do…LoopDim M(1 To 5) As SingleDim S As SingleDim I As IntegerI=1Do While I

Слайд 48Пример использования оператора Do…Loop
Dim M(1 To 5) As Single
Dim S

As Single
Dim I As Integer
S = 0
I=1
Do Until I>5
'Этот оператор

выполняется до тех пор, пока I>5 не станет Истина
' (то есть при I<=5)
M(I) = InputBox("Введите элемент массива " & I)
S = S + M(I)
I=I+1
Loop
Пример использования оператора Do…LoopDim M(1 To 5) As SingleDim S As SingleDim I As IntegerS = 0I=1Do

Слайд 49Оператор Exit
Прерывание выполнения цикла до его завершения выполняется с помощью

команды безусловного перехода Exit.
Оператор Exit – завершает выполнение цикла и

передает управление следующей за циклом конструкции.
Синтаксис:
For параметр_цикла = начальное_знач To конечное_знач [Step шаг]
[Операторы]
[Exit For]
[Операторы]
Next [параметр_цикла]

Do [{While|Until} условие]
Операторы
[Exit Do]
Операторы
Loop

Пример
For n=100 to 1 step -1
W (n)= n*2
If W (n) < 20 then Exit For
Next

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

Слайд 50Примеры циклических вычислений
Вычисление факториала N! N!=1 * 2 *

3 *. . . * (N-1) * N; 0! =

1
Умножаем числа с конца к началу, используя While.

Dim N As Integer
Dim N2 As Integer
Dim Nf As Long
N = InputBox("Введите N для вычисления факториала")

N2 = N
Nf = 1
If N2 >1 Then
Do While N2>1
Nf = Nf * N2
N2 = N2 - 1
Loop
End If
MsgBox "Факториал " & N & " равен " & Nf

' с начала к концу + For
Dim N As Integer
Dim i As Integer
N = InputBox(. . . )
Nf = 1
If N >1 Then
For i = 1 To N
Nf = Nf * i
Next
End If


Слайд 51Примеры циклических вычислений
Поиск максимального элемента в массиве:
Dim M(1 To 8)

As Single, Max As Single
Dim i As Integer, iMax

As Integer
For i=1 To 8 'Step 1
M(i) = InputBox("Введите элемент массива " & i)
Next
Max = M(1)
iMax = 1
For i=2 To 8
If Max < M(i) Then
Max = M(i)
iMax = i
End If
Next
MsgBox "Максимальный элемент " & iMax
& " массива равен " & Max, ,"Ответ"
Примеры циклических вычисленийПоиск максимального элемента в массиве:Dim M(1 To 8) As Single, Max As SingleDim i

Слайд 52Примеры циклических вычислений
Отсортировать массив по возрастанию значений. Алгоритм всплывающего пузырька:

берем i-ый элемент и сравниваем его со всеми следующими. При

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

Dim M(1 To 8) As Single, Temp As Single, i As Integer, j As Integer
For i=1 To 8
M(i) = InputBox("Введите элемент массива " & i)
Next
For i=1 To 7
For j=i+1 To 8
If M(i) > M(j) Then ' Поменять местами
Temp = M(j)
M(j) = M(i)
M(i) = Temp
End If
Next
Next
Label1.Caption = ""
For i=1 To 8
Label1.Caption = Label1.Caption & M(i) & " "
Next
Здесь демонстрируются вложенные циклы. Первый цикл перебирает элементы массива от первого до предпоследнего, а второй – сравнивает выбранный элемент со всеми следующими.

Слайд 53Процедуры и функции
Процедуры позволяют разбивать программные коды на небольшие программные

блоки (это упрощает отладку, можно использовать при создании других процедур).
Visual

Basic позволяет выделить повторяющиеся, функционально законченные фрагменты программы и сделать из них подпрограммы. Подпрограммы можно использовать без их повторного написания и отладки, собирая из них требуемую программу.
Любая подпрограмма является процедурой или функцией.
Пример использования функции:
Y = Sin(X) + 8
Особенностью функции является то, что вычисленное значение подставляется вместо ее вызова.
Как правило, функция используется в правой части оператора присваивания.
Процедуры и функции	Процедуры позволяют разбивать программные коды на небольшие программные блоки (это упрощает отладку, можно использовать при

Слайд 54Процедуры и функции
Для вызова процедуры используется оператор Call.
Пример вызова

процедуры:
Call MinMax(massiv, min, max)

Такое различие связано с тем, что, если

функция возвращает только одно значение, которое подставляется вместо вызова, то процедура может возвратить несколько значений (или ни одного), которые вместо вызова подставить невозможно. Эти значения присваиваются переменным, указанным в спиcке параметров.
В вызове функции и процедуры указываются аргументы. Список аргументов определяет данные, которые передаются в процедуру и функцию из другой программы (входные аргументы) или наоборот передаются из нее в другую программу (выходные аргументы).
Процедуры и функцииДля вызова процедуры используется оператор Call. Пример вызова процедуры:Call MinMax(massiv, min, max)	Такое различие связано с

Слайд 55Процедуры и функции
Синтаксис процедур и функций

Функция содержит в первой строке

ключевое слово Function и имеет вид:
Function имя_функции (список_параметров) As тип

операторы
имя_функции = выражение
End Function

Процедура содержит в первой строке ключевое слово Sub и имеет вид:
Sub имя_процедуры (список_параметров)
операторы
End Sub

Процедуры и функцииСинтаксис процедур и функцийФункция содержит в первой строке ключевое слово Function и имеет вид:Function имя_функции

Слайд 56Процедуры и функции
Процедуры и функции пользователя помещается в раздел general

кода формы или в отдельный модуль кода .Bas
Для создания

процедуры или функции используется команды меню (Tools / Add procedure...).
Процедуры и функции	Процедуры и функции пользователя помещается в раздел general кода формы или в отдельный модуль кода

Слайд 57Процедуры и функции
Процедуры Sub подразделяются на общие процедуры и процедуры

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

по обработке событий (разгружают процедуры событий, исключают дублирование программного кода, облегчается поддержка приложения).
Private Sub Proc(X1 as single, X2 as single, Y as single)
Процедуры обработки событий связаны с объектами (элементами управления), размещенными в формах VB. Выполняются при наступлении события, с которым они связаны.
Private Sub имяЭлементаУправления_имя события(агрументы)
Private Sub Form_Load()




Процедуры и функции	Процедуры Sub подразделяются на общие процедуры и процедуры событий.	Общие процедуры – служат для размещения повторяющихся

Слайд 58Процедуры и функции
Пример процедуры:
Sub SubDemo (Rlen As Single, Rwid As

Single, Area As Double)
' заголовок процедуры SubDemo

с тремя
' аргументами- Rlen-длина, Rwid-ширина и Area-площадь
Area = RLen * Rwid ' расчет площади
End Sub
Пример функции:
Function FunDemo (RLen As Single, Rwid As Single) As Double 'заголовок функции FunDemo с двумя аргументами- Rlen-длина и Rwid-ширина
FunDemo = RLen * Rwid ' расчет площади и
' присвоение имени функции вычисленного значения
End Function
Процедуры и функцииПример процедуры:Sub SubDemo (Rlen As Single, Rwid As Single, Area As Double)   '

Слайд 59Процедуры и функции
В процедуре для вычисления и записи результата используется

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


Создав один раз такую процедуру или функцию, ее можно использовать в различных местах программы для вычислений (один раз написали и много раз используем).
В процедуре и функции могут быть определены и локальные переменные:
Function FunDemo (RLen As Single, Rwid As Single) As Double 'заголовок функции FunDemo с двумя аргументами- Rlen-длина и Rwid-ширина
Dim S As Double
S = RLen * Rwid ' расчет площади
FunDemo = S
End Function
Процедуры и функции	В процедуре для вычисления и записи результата используется выходной аргумент. В функции для записи результата

Слайд 60Процедуры и функции
Пример обращения к процедуре:
Private Sub Command1_Click()
Dim A As

Single, B As Single, C As Double
A

= InputBox("Введите значение длины прямоугольника")
B = InputBox("Введите значение ширины прямоугольника")
Call SubDemo (A, B, C)
MsgBox "Площадь прямоугольника равна " & C
End Sub
Пример обращения к функции:
Private Sub Command2_Click()
Dim A As Single, B As Single, C As Double
A = InputBox("Введите значение длины прямоугольника")
B = InputBox("Введите значение ширины прямоугольника")
C = FunDemo (A, B) * 2
MsgBox "Удвоенная площадь прямоугольника равна " & C
End Sub
Процедуры и функцииПример обращения к процедуре:Private Sub Command1_Click()Dim A As Single, B As Single, C As Double

Слайд 61Процедуры и функции
Имена аргументов при обращении могут быть любыми и

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

функции.
Пример:
Call SubDemo (10.5, 23.0, S)
Как происходит передача аргументов в процедуру (функцию):
Rlen = 10.5
Rwid = 23.0
S = Area
Процедуры и функцииИмена аргументов при обращении могут быть любыми и не совпадать с именами списка параметров при

Слайд 62Процедуры и функции
Правила вызова процедур и функций:
1. Количество значений аргументов

при обращении равно количеству параметров при записи процедуры или функции


(При записи процедуры было 3 параметра - Rlen, Rwid, Area; при обращении тоже 3 - A, B, C. При записи функции было 2 параметра - Rlen, Rwid; при обращении тоже 2 - A, B).
2. Соответствие значений аргументов и параметров определяется их последовательностью в списках
(А соответствует Rlen, В - Rwid, С - Area).
3. Тип значений аргументов при обращении к процедуре и функции должен совпадать с типом аргументов при записи процедуры и функции
(При записи процедуры и функции параметры Rlen, Rwid определены типа Single. Параметр Area и тип функции определены как Double. Используемые при обращении значения A, B также определены как Single, а C как Double).
Процедуры и функцииПравила вызова процедур и функций:1. Количество значений аргументов при обращении равно количеству параметров при записи

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

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


Для правообладателей

Яндекс.Метрика