1717

Алгоритмизация и программирование разветвляющихся алгоритмов

Контрольная

Информатика, кибернетика и программирование

Логические выражения. Условный оператор If. Вывод тестов в ячейки рабочего листа. Логические операции. Выполнение оператора.

Русский

2013-01-06

190.76 KB

36 чел.

Алгоритмизация и программирование разветвляющихся алгоритмов

Разветвляющимся называется алгоритм, в котором некоторые действия (в программе операторы) могут выполняться один раз или не выполняется в зависимости от заданного условия.

Для реализации разветвляющегося алгоритма в языке VBA есть два оператора:

Ifусловный оператор, Select Caseоператор выбора.

Эти операторы влияют на порядок выполнения других операторов программы.

Для записи условий в операторе if используются логические выражения.

  1.  Логические выражения

Л.в. состоят из арифметических выражений, операций отношения и логических операций. Они имеют тип Boolean и могут принимать одно из двух значений: True или False.

Операции отношения (= ; <> ; < ; <= ; > ; >=) выполняют сравнение двух операндов и определяют истинно выражение (его значение true) или ложно (его значение false).

a:=5; и b:=7; a<=b – true, a a=b – false

Логические операции (not; and; or) используются для образования сложных логических выражений. Операнды логических операций должны иметь логический (булевский) тип. Приоритет логических операций ниже, чем операций отношения.

Not – логическое отрицание.

Синтаксис:

not (<логическое выражение>)

Результат операции истина, если значение операнда ложь и наоборот.

Пример: not (a<b) – false

And логическое И.

Синтаксис:

(<логическое выражение 1>) and (<логическое выражение 2>)

Результат операции истина, если оба операнда имеют значение истина, и ложь в противном случае.

Пример: (a=7) and (b>3) – false 

Or – логическое ИЛИ.

Синтаксис:

<логическое выражение 1> or <логическое выражение 2>

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

Пример: a=7 or b>3 – true

Примеры: Записать логическое выражения, которое имеет значение true, если:

  1.  значение переменной x принадлежит полуинтервалу (a;b]

a              b

 x>a and x<=b

  1.  значение переменной x находится вне полуинтервала [a;b)

a              b

 x<=a or x>b

Точка с координатами (х; y) находится внутри квадрата со стороной 1 

x;y

1

1

x>=0 and x<=1 and y>=0 and y<=1

  1.  Даны два числа a и b,

  1.  они оба положительные 

 a>0 and b>0

  1.  хотя бы одно из них положительное 

 a>0 or b>0

  1.  нет ни одного положительного 

 a<=0 and b<=0

2. Условный оператор If

Имеет две формы: полную и сокращённую.

условие

Блок операторов 1

Блок операторов 2

Нет

Да

условие

Блок операторов 1

Да

Нет

Для записи условий используются логические выражения.

Выполнение оператора:

  1.  Если значение логического выражения, записанного в условии true, то выполняется блок операторов 1, если false – блок операторов 2.
  2.  Если значение логического выражения true, то выполняется блок операторов 1, если false –оператор никаких действий не выполняет и происходит переход к следующему за If оператору.

При записи алгоритмов на языке VBA для каждой формы можно использовать однострочную и блочную структуры

Если каждый из блоков состоит только из одного оператора, то удобнее использовать при записи оператора if однострочную структуру.

Для полной формы:

If <условие> Then < оператор1> Else < оператор2>

Для сокращенной формы:

If <условие> Then < оператор1>

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

Для полной формы:

If <условие> Then 

 < Блок операторов 1>

 Else 

 < Блок операторов 2>

End If

Для сокращенной формы:

If <условие> Then 

 < Блок операторов1>

End If

Пример: If (x>=10) and (x<=20) Then

 MsgBox (‘Значение x в интервале [10,20] ‘)

 Else

 MsgBox (‘Значение x вне интервале [10,20] ‘)

 End If

Операторы If могут быть вложены в другие операторы If.

условие 1

Блок операторов 3 3

условие 2

Блок операторов 1

Блок операторов  2

If <условие 1> Then

 If < условие 2> Then

 <Блок операторов 1>

 Else

 <Блок операторов 2>

 End If

 Else 

 <Блок операторов 3>

 End If

Если по ветке Else каждый раз проверяется условие, то можно использовать сжатую структуру оператора If.

If <условие 1> Then

 <Блок операторов 1>

 Else If < условие 2> Then

 <Блок операторов 2>

 Else If < условие 3> Then

 <Блок операторов 3>

 Else 

 <Блок операторов 4>

 End If

Пример:

Найти максимум из чисел a, b, c.

Пример 1: Вычислить значение функции и определить номер формулы, по которой она вычислялась.


             начало

0

         Ввод x

10

          Вывод x

2

   -5≤x<1

       n=1

n=2

        n=3

     Вывод y,n

111

          Конец

3

4

5

8

10

12

да

нет

 x>1; x≠10

   

да

нет

7

9

6

Таблица используемых переменных

Имя переменной в задаче

Имя переменной в программе

Тип переменной

Комментарий

x

x

вещественный

аргумент функции, исходное данное

y

y

вещественный

значение функции, результат

n

byte

N формулы, результат

Sub prim2 ( )

 Dim x As Single, y As Single

 Dim n As byte

 x = InputBox ("Введи x", "Ввод исходных данных")

 MsgBoxx=” & x , , “Ввод”

 Cells(1, 2) = "Исходные данные"

 Cells(2, 2) = "x=" & x

 If x >=-5 And x < 1 Then

 y = Sqr (Abs(x))

 n = 1

 Else

 If x > 1 And x <> 10 Then

 y = x ^ 3

 n = 2

 Else

 y = 2 * x^2 + 1

 n = 3

 End If

 End If

 MsgBox “y=” & y & “ N формулы” & n , , “Вывод

 Cells(3, 2) = "Результаты"

 Cells(4, 2) = "y=" & y

 Cells(4, 3) = "N формулы=" & n

End Sub


Тесты

Для задач с разветвляющимися алгоритмами тесты должны быть в каждом интервале вычисляемой функции и в каждой точке ветвления (значение аргумента, при котором изменяется выражение для вычисления функции)

-5

3

1

1

2

1000

x

3

1

x y N формулы

-6 73 3

-5 2,… 1

0 0 1

1 3 3

2 8 2

10 201 3

11 1331 2

Вывод тестов в ячейки рабочего листа

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

 Пример:

 k = InputBox ("Введите номер строки для вывода")

 ……………………..

 Cells(k, 1) = "x=" & x

 Cells(k, 2) = "y=" & y

 Cells(k, 3) = "N формулы=" & n

Пример 2. Даны числа a, b. Если a<0, то найти min (a, b), если a=0, то найти max (a, b), в противном случае каждое число увеличить на 50%.

Начало

0

Ввод a,b

10

Вывод a,b

2

a<0

min=b

b=b+0.5*|b|

Конец

3

4

14

16

да

нет

a=0

нет

13

   a<b

a=1,5*a

min=a

Вывод a,b

max=a

   b>a

max=b

Вывод min

Вывод max

7

5

6

8

10

9

11

12

15

14


 

А также другие работы, которые могут Вас заинтересовать

84684. Виды аналитических и информационных документов, направляемых Посольством в Центр 14.29 KB
  В ней освещается широкоформатная тема например внешняя торговля страны пребывания за год или полгода вопросы состояния отношений страны пребывания с третьими странами участие страны пребывания в работе международных организаций и т. Оно касается крупных внутриполитических или внешнеполитических проблем страны пребывания. Грамотно составленный отчет является базой для внесения корректив во внешнеполитическую линию России в отношении данной страны. Составляются на видных государственных и общественных деятелей страны пребывания.
84685. Структура Посольства, распределение обязанностей, штатное расписание 13.41 KB
  Структура Посольства распределение обязанностей штатное расписание. Посол представляет РФ непосредственно руководит работой Посольства несёт персональную ответственность за выполнение возложенных на Посольство задач и осуществление им функций определяет в соответствии с нормативными актами МИДа России структуру Посольства распределяет должностные обязанности между его сотрудниками. Сотрудников посольства. Обеспечение безопасности посольства его сотрудников и членов их семей организация защиты государственной и иной охраняемой законом...
84686. Роль иностранного языка в работе дипломата 12.06 KB
  Роль иностранного языка в работе дипломата. Роль иностранного языка в работе чрезвычайно важна. Профессиональное владение иностранными языками может пригодиться дипломату во многих сферах его дипломатической деятельности. Знание в совершенстве языка страны пребывания значительно расширяет количество источников информации печатные издания на иностранном языке интернетресурсы телевидение радио и т.
84687. МГИМО: история, структура, кадровая база МИД России 15.87 KB
  МГИМО: история структура кадровая база МИД России. МГИМО является одним из старейших университетских центров страны по подготовке специалистов международного профиля. Первый набор в МГИМО составил 200 студентов. С 1946 года на учебу в МГИМО стали направляться студенты из зарубежных стран.
84688. Статус профессиональной дипслужбы во внешнеполитической системе, дипломаты и политическое руководство 13.63 KB
  Служба в аппарате внешнеполитического ведомства это особая разновидность федеральной государственной службы Российской Федерации. Это профессиональное осуществление целей и функций внешней политики России посредством исполнения государственных должностей федеральной государственной службы утвержденных в: центральном аппарате МИД РФ диппредставительствах и консульских учреждениях за рубежом представительствах при международных организациях представительствах МИД на территории РФ на отдельных государственных должностях госслужбы в...
84689. Порядок приема в МИД и требования, предъявляемые к выпускникам вузов, впервые поступающим на государственную службу 14.85 KB
  К дипломатической службе не относятся технические сотрудники. В России долгое время не было специального закона о дипломатической службе. Закон 79ФЗ о гражданской службе от 2004 года распространялся и на дипломатическую службы. В этих законах формулируются принципы государственной службы: равных доступ граждан к службе профессионализм и компетентность стабильность.
84690. Дипломатические ранги и порядок их присвоения 15.73 KB
  Присвоение дип рангов дип работникам производится в соответствии с установленными ФЗ Об основах гос службы РФ и иными нормативными правовыми актами РФ квалификационными требованиями к профессиональному образованию стажу и опыту работы по специальности знанию Конституции РФ Федеральных Законовнов применительно к исполнению своих должностных обязанностей а также с учетом срока пребывания в дип ранге результатов служебной деятельности и при наличии сертификата о соответствующем уровне владения иностранным языком. Присваиваются следующие...
84691. Порядок отбора кандидатов на замещение дипломатических должностей в загранучреждениях 17.24 KB
  Форма прохождения дипломатической службы в каждой стране своя; она определяется национальными особенностями и традициями этой страны а также материальными и кадровыми возможностями. Однако под влиянием глобализации происходит стандартизация дипломатической службы во всем мире. Это крайне ценимые качества на дипломатической службе. Главные требования которые предъявляются к лицам претендующим на должность дипломатической службы: сильная политологическая правовая и общегуманитарная подготовка классического образца воспитанность и хорошие...
84692. Прохождение службы в центральном аппарате МИДа и за рубежом. Ротация дипломатических кадров 14.15 KB
  Основные элементы системы прохождения дипслужбы можно представить следующим образом: А отбор на службу оценка претендентов с точки зрения их профессиональнокфалификационной психологической и духовнонравственной пригодности к работе в структурах МИД и загранучреждений РФ; Б процедура утверждения в должности замещение госдолжности дипслужбы; В профессиональная адаптация путём испытательного срока стажировок повышения квалификации и других мероприятий; Г оценка служебной деятельности формирование здоровых ценностных установок на...