Дисциплина «Основы алгоритмизации и программирования» 3Т
Разработка программ разветвленной структуры
Цель работы приобретение практических навыков составления программ разветвленной структуры, изучение базовых алгоритмов разветвляющихся структур.
Краткие теоретические сведения
Разветвляющимися алгоритмическими структурами называются такие структуры, в которых порядок выполнения блоков операторов определяется значениями логических выражений. Разветвляющийся алгоритм может состоять из нескольких ветвей, каждая из которых может содержать любую, сколь угодно сложную, алгоритмическую структуру. В процессе работы разветвляющегося алгоритма в первую очередь вычисляютсялогические выражения(частнымслучаем логического выражения является логическая переменная или константа). Если результат вычисления логического выражения принимает значение True (Истина), то выполняется часть алгоритма, расположенная по ветви «Да», если значение – False (Ложь), то – по ветви «Нет».
Наиболее часто используются три типа разветвлений. Стандартное разветвлениесодержит функциональные блоки как в ветви «Да», так и в ветви «Нет». Усеченное разветвлениесодержит функциональные блоки только в ветви «Да» или только в ветви «Нет». Вложенное разветвлениевключает одно или несколько разветвлений.
Логические выражения, в отличие от арифметических, содержат операции отношения (=, <, >, <=, >=, <>), а также еще пять логических операций, записанных далее в порядке убывания приоритета: отрицание — NOT, логическое умножение (логическое “И”) — AND, логическое сложение (логическое “ИЛИ”) — OR, исключающее “ИЛИ” — XOR, эквивалентность — EQV.
Логическое выражениеможет содержать либо простое, либо сложное условие. Простое условие – это два арифметических или строковых выражения, соединенных операцией отношения.
| Операции отношения | Значение |
| = | Равно |
| < | Меньше чем |
| > | Больше чем |
| <= | Меньше или равно |
| >= | Больше или равно |
| <> | Не равно |
Сложное условие, в отличие от простого условия, содержит логические операции — NOT, AND, OR, XOR и др.:
· AND(и) – возвращает значение Истина, если все участвующие в операции выражения имеют значение Истина;
· OR(или) – возвращает значение Истина, если хотя бы одно из участвующих в операции выражений имеет значение Истина;
· XOR(исключающее или) – возвращает значение Истина, если только одно из выражений Истина;
· NOT(операция отрицания) – возвращает обратное для значения выражения значение, то есть если выражение TRUE, вернет FALSE и наоборот.
Ниже представлена таблица истинности основных логических операций.
| Значения операндов | NOT x | x AND y | x OR y | x XOR y | х EQV y | |
| X | Y | |||||
| T | T | F | T | T | F | T |
| T | F | F | F | T | T | F |
| F | T | T | F | T | T | F |
| F | F | T | F | F | F | T |
Рассмотрим примеры простых условий:
| Логическое выражение | Результат |
| 5 < 10 | True, так как 5 меньше 10 |
| 5 > 10 | False,так как5 не больше 10 |
| 7 <> 3 | True, так как 7 не равно 3 |
| X > 45 | True,если X больше 45; в противном случае False |
| 5-1 > 1+2 | True,вначале вычисляется разность 5-1 (4), |
| затем вычисляется сумма 1+2 (3) и наконец, проверяется условие 4 > 3, т.е. 4 больше 3 |
КонструкцияIF…Then…Else…
Порядок выполнения конструкции следующий: если значение логического выражения LравноTrue, то выполняется оператор (или операторы), стоящий после Then, в противном случае выполняются операторы, стоящие после Else. Конструкция Else может отсутствовать (в формате она взята в квадратные скобки) – случай усеченного разветвления.
Строчная конструкция:
If <L> Then <операторы ист.условия> [Else <операторы ложного условия>]
Примеры: If x mod 3=0 Then TextBox4.Text= “Число кратное 3”
If x<>0 Then K=K+1: S=S+X
Ifx > 0Theny=SQR(x)Elsey=1
Iflambda< 1Orbeta = 3Thenx=0
Блочная конструкция:
If <L > Then
<операторы для обработки истинного условия>
[ Else
<операторы для обработки ложного условия>]
End If
Блочный оператор IF …END IF
Оператор IF блочной структуры имеет следующую конструкцию:
If <выражение_1> Then
<блок операторов_1>
[ ElseIf <выражение_2> Then
<блок операторов_2>
ElseIf < выражение_3> Then
<блок операторов_3>
…
ElseIf < выражение_N> Then
< блок операторов_N>
Else
<блок операторов ELSE>]
End If
Последовательно выполняется проверка истинности выражений. Если <выражение_1> истинно, выполняется блок <операторов_1> и переход к оператору, следующему за END IF, иначе выполняется проверка истинности <выражения_2> и т.д. Если ни одно из выражений не соответствует требованиям истинности, выполняется блок операторов ELSE, если он имеется, иначе — оператор, следующий за END IF.
Примеры:
If x>=a And x<=b Then
TextBox2.Text =“x принадлежит интервалу [a,b]”
End If
If x>xmax Then
Xmax=x
K=K+1
Exit For
End If
КонструкцияSelect …Case
Конструкция Select Case позволяет обрабатывать в программе несколько условий и аналогична блоку конструкций IF…Then…End IF. Эта конструкция состоит из анализируемого выражения и набора операторов Case на каждое возможное значение выражения. В первую очередь вычисляется значение заданного выражения. Затем полученное значение сравнивается со значениями, задаваемыми в операторах Case. Если найдено искомое значение, выполняются операторы, приписанные данному оператору Case. Если искомое значение не найдено, выполняются операторы за ключевым словом Case Else:
Select Case <анализируемое выражение>
Case <значение_1>
<операторы_1>
[Case <значение_2>
<операторы_2>
…
Case <значение_N>
<операторы_N>
Case Else
<операторы_else> ]
End Select
Примеры оформления условий в операторе Select :
| Case Is >100 ‘ проверка на превышение значения 100; Case x^2 ‘ проверка на равенство значению выражения; Case -10 To 10 ‘ проверка на принадлежность отрезку [-10,10]; Case 0 To 5, 12 To 19, 7, -2.5, Is > Sred |
Ключевое слово Is говорит компилятору о том, что требуется сравнить переменную с выражением, указанным после ключевого слова Is. Ключевое слово То определяет диапазон значений. Запятая в списке условий обозначает логическое OR.2.2.1. Задание на разработку проекта и вариант задания ИДЗ №1 (индивидуальное задание №1)Написать программный код для вычисления выражения Y:

Оставить комментарий