Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

а GOTOn Оператор даёт возможность перевести процесс выполнения программы в любую строку программы

Работа добавлена на сайт samzan.net:


2.

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

Оператор передачи управления (безусловного перехода) − GOTOn

Оператор даёт возможность перевести процесс выполнения программы в любую строку программы.

Формат конструкции:

GOTO метка

Блок-схема конструкции:

Действие 1

Действие 2

1

В программе одному оператору GOTO всегда соответствуют две одинаковые метки. Одна расположена справа от оператора, вторая – первым элементом строки, в которую передаётся управление. Допускается передача управления в одну и ту же строку программы несколькими операторами GOTO по одной и той же метке.

Метки могут быть цифровыми и текстовыми. Текстовая метка обязательно начинается с буквы и в целевой строке заканчивается двоеточием.

На блок-схемах GOTO обозначается окружностью с номером блока, которому передаётся управление.

Оператор используется в основном совместно с другими операторами для создания циклов (с операторами IF …) и для организации автоматического реагирования программы на ошибки (с оператором ON ERROR).

В QBasic широко используется группа операторов, в имени которых обязательно присутствует слово IF – если со знаком сравнения.

Конструкция IFTHEN («если – то»)

Позволяет в зависимости от проверки условия выполнять или не выполнять какое-либо действие.

Формат конструкции:

IF условие THEN действие

Блок-схема конструкции:

Нет

У

Действие

Да

Условием всех конструкций IF является выражение со знаком сравнения. Оно может иметь только два значения TRUE (истина) – при котором условие выполняется и FALSE (ложь) – при котором условие не выполняется. В условиях используются знаки сравнения. Сравниваться могут не только числа и переменные, но и математические выражения.

Условие может задаваться довольно сложным образом и состоять из нескольких блоков. Для создания таких сложных условий используют специальные операторы AND, OR, NOT, IMP, XOR, EQV.

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

Код простейшей программы:

Задание: Рассчитать значение математического выражения x=sin 35 + 2,25 + a. Если переменная x будет иметь значение меньше нуля, умножить её на (-1). Вывести результат (положительное значение переменной x).

X<0

а

Конец

Х

х

X=X*(-1)

Да (+)

Нет (-)

Начало

CLS

INPUT “Ввести значение переменной а”; a

X = SIN(35) + 2.25 + a

IF X<0 THEN X = X * (-1)

PRINT “X=”; X

END

Конструкция IFTHENELSE («если − то − иначе»)

Позволяет выполнять одно из двух действий в зависимости от выполнения условия.

Формат конструкции:

IF условие THEN действие 1 ELSE действие 2

Блок-схема конструкции:

У

Действие 1

Да

Действие 2

Нет

Особенность конструкции в том, что Действие 1 и действие 2 не могут выполняться последовательно. Выполняется одно из действий, в зависимости от выполнения или невыполнения условия.

Код простейшей программы:

Задание: Ввести X. Если его значение чётное или равно 0, то прибавить 2, если нечетное, то прибавить 1. Вывести результат.

X/2=X\2

Начало

Х

X=X+1

Нет

Да

X=X+2

Х

Конец

CLS

INPUT «Введите значение x»; x

IF X/2 = X\2 THEN X = X+2 ELSE X = X+1

PRINT x

END

Для двух переменных вопрос нахождения максимума (минимума) с помощью данной конструкции решается в одну строку.

IF A > B THEN PRINT “A > B” ELSE PRINT “A < B”

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

Задание: Определить, наименьшее значение одной из нескольких переменных.

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

INPUT “Введите значения переменных A1, A2, A3, A4”; A1, A2, A3, A4

IF A1 < A2 THEN MIN = A1 ELSE MIN = A2

IF A3 < MIN THEN MIN A3

IF A4 < MIN THEN MIN A4

PRINT “Минимальное значение”; MIN

В данном случае введена переменная – эталон с именем MIN

Конструкция IFTHEN END IF  (“если − то” многострочная)

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

Выход из этой ситуации предлагает конструкция IFTHEN END IF

Формат конструкции:

IF  условие THEN

действие 1

действие 2

действие n

END IF

Блок-схема конструкции:

У

Действие 1

Действие 2

Действие n

Да

Нет

Количество операторов, расположенных в теле конструкции ограничивается только размерами файла, занимаемого программой. Элементы оператора IF и END IF должны быть первыми элементами в своих строках кода программы. После THEN все операторы тела конструкции начинают записывать с новой строки.

Задание: Ввести значение X, извлечь из него квадратный корень и вывести результат. Если значение X меньше нуля, то сообщить «Введено отрицательное значение X» и умножить X на -1. Вывести значение подкоренного выражения.

X<0

Начало

X=X*(-1)

Нет

Да

Х

Введено ...”

SQR(x)

Конец

CLS

INPUT “Введите значение x”; x

IF x < 0 THEN

PRINT “Введено отриц. Значение X”

X = X * (-1)

END IF

PRINT “Корень квадратный из X”; SQR(x)

END

Конструкция IFTHENELSEEND IF  (“если – то − иначе” многострочная)

Эта конструкция многострочный аналог функции IFTHENELSE

Формат конструкции:

IF  условие THEN

действие 1

действие 2

действие n

ELSE

действие 1

действие 2

действие m

END IF

Блок-схема конструкции:

Действие 1

Нет (–)

Да (+)

Действие n

Действие n+1

Действие m

У

Задание: Ввести A и В. Если они имеют одинаковый знак (обе положительные или обе отрицательные) то рассчитать и вывести большее из них, иначе – рассчитать и вывести меньшее.

Соответствие знаков переменных A и B проверяется условием A * B > 0. Если знаки идентичны – условие выполняется.

Большее из двух чисел определяется формулой (A + B + ABS(A - B)) / 2

Меньшее – соответственно    (A + BABS(A-B)) / 2

A*B>0

Начало

A, B

minAB

Нет

Да

maxAB

minAB

Конец

maxAB

CLS

INPUT “Введите значения А, В”; A, B

IF A * B > 0 THEN

maxAB = (A + B + ABS(A − B)) / 2

PRINT “Максимум =”; maxAB

ELSE

minAB = (A + B – ABS(A − B)) / 2

PRINT “Минимум =”; minAB

END IF

END

Элементы многострочных операторов IF, ELSE и END IF должны быть первыми элементами в своих строках кода программы.

Конструкция IFTHENELSEIF…ELSE…END IF (“перебор условий” или “выбор”)

Главной особенностью такой записи является дополнительное условие ELSEIF. Фактически ELSEIF – это ELSE снабженное индивидуальным условием IF. Условие определяет выполнение или невыполнение следующего за ELSEIF блока операторов.

Формат конструкции:

...

IF  условие 1 THEN

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

ELSEIF  условие 2 THEN

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

...

ELSEIF  условие n THEN

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

ELSE

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

END IF

...

Блок-схема конструкции:

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

Нет (–)

Да (+)

IF У1

ELSEIF

У2

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

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

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

ELSEIF

Уn

Да (+)

Да (+)

Нет (–)

Нет (–)

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

Задание: Ввести целое число X в диапазоне от 0 < X < 100000. Определить сколько цифр входит в число. Вывести результат.

Конструкция SELECT CASE

Близка по логике работы с IF. Конструкции взаимозаменяемы при решении большинства задач. Формат конструкции представлен только многострочной формой, которая может содержать вложенные блоки аналогичного строения.

Конструкция получает параметр и в зависимости от его значения выполняет тот или иной блок операторов. Параметром может быть значение переменной любого типа или значение выражения. Если значение удовлетворяет условию, то программа выполняет блок операторов данного CASE и передаёт управление за пределы конструкции.

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

Между SELECT KASE и первым KASE нельзя размещать ничего кроме комментариев.

Условные выражения за KASE могут быть записаны в форматах:

Число. Например, KASE 5.

Диапазон от меньшего значения к большему. Например, KASE 10 TO 20. При записи от большего значения к меньшему, будет проверяться только первое значение.

Условие. В записи условия название параметра обязательно заменяется словом IS. Например, условие X > 10, должно быть записано как KASE IS > 10. Если в KASE будет несколько условий, разделённых запятыми, то он сработает при выполнении любого из них.

Сочетание форматов 1 – 3, разделённых запятыми. Например, KASE 5, 15, 10 TO 20, IS > 10. Программа отработает блок операторов, соответствующий данному KASE, если выполняется, хотя бы одно из перечисленных условий.

Формат конструкции:

...

SELECT KASE

CASE  условие 1

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

CASE  условие 2

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

...

CASE  ELSE

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

END SELEKT

...

Блок-схема конструкции:

CASE ELSE

CASE

CASE

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

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

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

+

+

+

-

-

-

Задание: Ввести число от 1 до 999 и определить количество знаков в нём. Если введено число, не принадлежащее данному диапазону, то сообщить об этом.

CLS

INPUT “Введите значение Х”; Х

SELECT CASE X

CASE 1, 2, 3, 4, 5, 6, 7, 8, 9

PRINT “Одна цифра

CASE 10 TO 99

PRINT “Две цифры

CASE IS <= 0, IS >= 1000

PRINT “Ошибка ввода

CASE ELSE

PRINT “Три цифры

END SELECT

END


Контрольные задания:

1.

Составить блок-схему и код программы вычисления значения Y по заданному математическому выражению, при заданных с клавиатуры данных, предусмотрев возможность проверки значений знаменателя, подкоренного выражения и повторного ввода данных:

2.

Составить блок-схему и код программы вычисления значения Y по заданному математическому выражению, при заданных с клавиатуры данных, предусмотрев возможность проверки значений знаменателя, подкоренного выражения и повторного ввода данных:

3.

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

4.

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

5.

Составить блок-схему и код программы, для вычисления функции:

6.

Составить блок-схему и код программы, для вычисления функции:

7.

Составить блок-схему и код программы, для вычисления функции:

8.

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

9.

Составить блок-схему и код программы, находящей меньшее из двух введённых с клавиатуры чисел.

10.

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

11.

Составить блок-схему и код программы, находящей, большее и  меньшее из трёх введённых с клавиатуры чисел.

12.

Заданы длины сторон треугольника – A, B, C. Составить блок-схему и  код программы, определяющей является ли треугольник равнобедренным.

13.

Составить блок-схему и код программы, которая по четырёхзначному номеру года, заданному с клавиатуры определит столетие (например, для 1476 г. – ответ XIV век). Учесть, что началом века считается первый, а не нулевой год.

14.

Какое значение будет иметь переменная X после выполнения операторов:

X = 0
If A > 0 THEN IF B > 0 THEN X = 1 ELSE X = 2
при значениях переменных A и B:
A = 1, B = 1
A = 1, B = - 1
A = - 1, B = 1

15.

Если  N = 3, то, какое значение будет иметь переменная S после выполнения операторов:

S = 1: K = 2
1: IF K > N THEN GOTO 2
S = S * K
K = K + 1
GOTO 1
2: PRINT “S =”; S

16.

X > 0

X >=2

X

“X >= 2”

+

+

Записать фрагмент кода программы по данной блок – схеме:




1. О развитии конкуренции и ограничении монополистической деятельности во второй половине 1998 г
2. Дивидендная политика предприятия
3. Сравнительный анализ методологических оснований вариантов экзистенциального анализа ЛБинсвангера и МБосса
4. тема соцзащиты населения соц
5. Исследовательские стратегии и методы.html
6. ролевых игр Автор- Абрамова Лариса Вячеславо
7. схваченное в мыслях; это квинтэссенция духовной жизни мыслящего человечества это теоретическая сердцевин
8. Иванов Александр Андреевич
9. Верещагина ИН Учебник англ
10. Лабораторная работа СВОДНЫЕ ТАБЛИЦЫ Что осваивается и изучается Создание сводной таблицы.
11. Асиметричний доступ в Інтернет через супутник
12. СуперСказка
13. Билл Клинтон
14. за отказа иракской стороны в дальнейшем сотрудничестве
15. Курсовая работа- Мотивация труда на предприятиях автомобильного транспорта
16. ТО2 и капитального ремонта КР с последующей их корректировкой по кратности с учетом среднесуточного проб
17. Исследование особенностей для реализации физического воспитания
18. тематический диктант
19. Муниципальное управление относительно новое явление в современной России
20. . Проведение реформ в сфере образования разработка нового стандарта основного общего образования и его реал