- •Содержание
- •Введение
- •1 Рабочая программа по дисциплине «информатика»
- •Раздел 2. Алгоритмизация и программирование
- •2 Основы алгоритмизации
- •2.1 Основные этапы подготовки и решения задачи на компьютере
- •2.2 Постановка задачи. Разработка математической модели
- •2.3 Алгоритм и его свойства
- •2.4 Форма записи алгоритма на естественном языке
- •2.5 Графическая форма записи алгоритма
- •2.6 Типовые вычислительные процессы и структуры алгоритмов
- •2.6.1 Линейный вычислительный процесс
- •2.6.2 Разветвляющийся вычислительный процесс
- •2.6.3 Циклический вычислительный процесс
- •2.6.4 Алгоритмы обработки одномерных информационных массивов
- •2.6.5 Алгоритмы обработки двумерных информационных массивов
- •3 Язык программирования vba
- •3.1 Элементы языка
- •3.2 Программирование алгоритмов линейной структуры
- •3.3 Программирование алгоритмов разветвленной структуры
- •3.4 Программирование алгоритмов циклической структуры
- •3.5 Организация программ обработки одномерных массивов
- •3.6 Организация программ обработки двумерных массивов
- •4 Контрольная работа и методические указания по её выполнению
- •4.1 Выбор варианта
- •4.2 Задание 1. Варианты задач
- •4.3 Задание 2. Варианты задач
- •4.4 Задание 3. Теоретический вопрос
- •4.5 Методические указания по выполнению контрольной работы
- •4.5.1 Пример выполнения задания 1
- •4.5.2 Пример выполнения задания 2
- •4.5.3 Пример выполнения задания 3
- •Вопросы для подготовки к экзамену
- •Программирование алгоритмов циклической структуры.
- •Литература
- •Указатель
- •650992, Г. Кемерово, пр. Кузнецкий, 39. Тел. 25-75-00.
3.3 Программирование алгоритмов разветвленной структуры
Практическая реализация большинства функциональных задач осуществляется через структуру принятия решения. При этом в соответствующих им вычислительных задачах используются операторы управления и как их разновидность оператор условного перехода (ветвления, выбора).
Операторы условного перехода используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с условиями, существующими на момент выполнения этих операторов. Одним из важных элементов программного оператора выбора является выражение условия, значением которого может быть истина (True) или ложь (False).
1) Общая форма оператора условного перехода такова:
If Условие Then Оператор_1 Else Оператор_2
Оператор_1 выполняется в том случае, если Условие истинно, в противном случае выполняется Оператор_2.
2) Последовательность вычислений, выбранная по условию, может задаваться не одним, а несколькими операторами. При этом условный оператор имеет блочную структуру:
If Условие Then
Блок_операторов_1
Else
Блок_операторов_2
End If
Блок_операторов_1 выполняется в том случае, если Условие истинно, в противном случае выполняется Блок_операторов_2.
3) В условном операторе может проверяться несколько условий, тогда он имеет вид:
If Условие_1 Then
Блок_операторов_1
ElseIf Условие_2 Then
Блок_операторов_2
ElseIf Условие_3 Then
. . .
Else
Блок_операторов_по_умолчанию
End If
Если истинно Условие_N, выполняется Блок_операторов_N, если же все условия ложны, выполняется последний Блок_операторов по умолчанию.
4) В случае, когда ветвь Else является необязательной, условный оператор может быть записан в краткой форме:
If Условие Then
Блок_операторов_1
End If
Выражения-условия записываются с помощью операций отношения. Отношение — это два выражения, разделенных между собой знаком операции отношения (>, <, =, <>, <=, >=). Отношение является простейшей конструкцией логического выражения. Оно вычисляет результат - истина, если выполняется заданное соотношение, и ложь - в противном случае.
Логические операции: NOT («не» - отрицание), AND («и» - логическое умножение), OR («или» - логическое сложение).
Приоритет выполнения операций при вычислении логических выражений следующий: 1) NOT; 2) AND; 3) OR.
Например, если значение переменной X принадлежит некоторому интервалу значений от а до b, то переменной Y будет присвоено значение 1, иначе переменной Y будет присвоено значение 0.
If (X>=a) and (X<=b) Then
Y=1
Else
Y=0
End If
В пункте 2.6.2 были построены математические модели и блок-схемы алгоритмов разветвлённой структуры. Рассмотрим примеры программ, где алгоритм решения является разветвлённым.
Листинг 3. Вычисление заработной платы за неделю
Sub Пример3()
Dim t, zp As Single
Dim k As Integer
k=InputBox("Введите количество отработанных часов","Окно ввода")
t = InputBox("Введите стоимость одного часа", "Окно ввода")
If k >= 40 Then
zp = 40 * t + (k - 40) * 2 * t
Else
zp = 40 * t
End If
Debug.Print "Заработная плата за неделю = "; Round(zp, 2); "руб."
End Sub
Листинг 4. Исключение неопределенности функции.
Фрагмент программы примера 4 без описания переменных и оператора ввода:
……………………………
t = a * x - b
p = 2.5 * b * x
If p = 0 Then
Debug.Print "Y не определена"
Else
If t <= 0 Then
Debug.Print "Y не определена"
Else
y = (Log(t) + c) / p
Debug.Print "y="; Round(y, 3)
End If
End If
……………………………