Программирование разветвляющихся вычислительных процессов



жүктеу 326 Kb.
бет1/2
Дата25.10.2022
өлшемі326 Kb.
#39829
түріЛабораторная работа
  1   2
Л Р 3


Лабораторная работа 3


ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ


Цель работы: изучение особенностей разработки алгоритмов с разветвляющейся структурой и их реализации с помощью операторов условного перехода.
1. Краткие теоретические сведения
Для записи разветвляющихся алгоритмов используется оператор If, он имеет две формы записи:
однострочную:
If условие Then [оператор1] [Else оператор2];
многострочную:
If условие-1 Then
[ оператор1]
[ElseIf условие-2 Then
[оператор2] ...
[Else
[оператор3]]
End If
В условии записывается логическое выражение, в котором используются операции сравнения. Для создания сложных условий применяются логические операции and (и) и or (или).
Пример. Вычислить значение функции при любых значениях a и b. На первый взгляд решение этой задачи можно описать алгоритмом линейной структуры, однако при условии ab = 0 задача не может быть решена, так как деление на ноль невозможно. Для корректного решения задачи необходимо предусмотреть вывод сообщения, если вычисление y невозможно. В этом случае вычислительный процесс можно описать следующим образом: вычислить y, если ab ≠ 0, или вывести сообщение, если ab = 0.
В
ГСА решения этой задачи (рис. 3.1) используется блок проверки условия, имеющий один вход и два выхода по выполнению проверяемого условия – «Да» и «Нет» (в данном примере – это блок 2, в котором проверяется условие ab = 0). В зависимости от результата проверки условия возможны два пути продолжения решения задачи. Каждый из путей называется ветвью, а алгоритм – разветвляющимся.
Как и во всех разветвляющихся алгоритмах в данном примере нарушается ес-тественный порядок следования блоков. Так, за блоком 2 может выполняться блок 3, образуя ветвь 1, или блок 5, образуя ветвь 2; за блоком 4 всегда выполняется блок 6.
Любое изменение естественной (линейной) последовательности выполнения блоков называется переходом. Переходы бывают двух типов: условные и безусловные. Условный переход реализуются с помощью оператора условия (условного оператора).
Для рассматриваемого примера оператор условия для блочной структуры можно записать в виде:

Программный код


Sub V ( )
Dim a As Single, b As Single, y As Single
a=Val(InputBox("a ="))
b=Val(InputBox("b ="))
If a*b=0 Then
MsgBox ("ab=0")
Else y=1/ (a*b)
MsgBox ("y="& y)
End If
End Sub
Если условие выполняется, т. е. ab = 0, то в окне вывода на экран монитора оператором MsgBox выводится сообщение "ab=0", в противном случае, когда ab ≠ 0, вычисляется значение y по формуле y=1/(a*b), которое выводится в стандартном окне вывода.
Вариант программы с линейной формой записи оператора:


Программный код
Option Explicit
Sub V ( )
Dim a As Single, b As Single, y As Single
a=Val(InputBox("a="))
b=Val(InputBox("b="))

жүктеу 326 Kb.

Достарыңызбен бөлісу:
  1   2




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау