Команды управления ходом выполнения программы

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

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

Условная инструкция If : Then : Else

Необходимость использования инструкции If : Then : Else возникает, если имеются альтернативные пути выполнения программы; при еe использовании проводится проверка условий и в зависимости от их истинности выполняются определeнные действия. Используется простой и полный синтаксис. Простой синтаксис:

If условие Then инструкция [Else инструкция]

— если условие, стоящее после If истинно ( True ), то выполняется инструкция, следующая за Then , если условие ложно ( False ), то выполняется инструкция, следующае за Else .

Полный синтаксис:

If условие 1 Then инструкция 1 . [инструкция m] [ElseIf условие 2 Then инструкция k] [Else инструкция n] End If

Во втором случае синтаксиса инструкция 1 : инструкция m, : записываются на новых строчках, присутствует инструкция End If . Наличие ElseIf позволяет анализировать дополнительные условия. Добавлением нескольких инструкций ElseIf можно анализировать дополнительное количество условий. Else используется для обработки противоположных ситуаций. Если нужно проверить некоторое условие при наличии другого условия, то используются вложенные инструкции, пример:

If условие 1 Then If условие 2 Then инструкция 1 . Else инструкция m End If Else инструкция n End If

Для демонстрации различия синтаксиса рассмотрим пример нахождения максимального из 2-х чисел.

Dim max As Integer If Val(txt1.Text) > Val(txt2.Text) Then max = Val(txt1.Text) Else max = Val(txt2.Text) lblMax.Caption = max или: If Val(txt1.Text) > Val(txt2.Text) Then max = Val(txt1.Text) Else: max = Val(txt2.Text) End If lblMax.Caption = max

Цикл For : Next

Цикл For : Next предназначен для выполнения определeнного количества действий, когда количество действий известно заранее; синтаксис:

For начальное_значение переменной-счeтчик To конечное_значение переменной-счeтчик [Step величина шага] инструкции Next [переменная-cчeтчик]

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

Практическая работа 9. Цикл For : Next

9а. Цикл For : Next, формирование массива, вычисление суммы элементов массива, вывод текстовые поля, поля списка и Label1.

Создать требуемые объекты, см. код процедуры Command1_Click() , данный ниже, очистить свойство Text текстового поля, а его свойству Multiline присвоить значение Тrue , тогда в процессе выполнения будет проводиться перенос строк в текстовое поле. Ввести код:

Читайте также:
Контур это программа сдачи электронной отчетности

Private Sub Command1_Click() Dim mass(15) As Integer, i As Integer Rem переменная для хранения суммы элемeнтов массива Dim summ As Integer For i = 0 To 14 mass(i) = i ‘ вывод элементов массива в поле списка lst1.List(i) = mass(i) ‘ вывод значений i в поле TextBox txt1.Text = txt1.Text » на вопрос :»Хотите, чтобы объект стал элементом массива?» ответить : «Да», копия выводится в верхний левый угол формы,

  • повторить копирование, т.к. нужен массив объектов из 3-х элементов; проверить на форме идентификаторы поля списка: List1(0), List1(1), List1(2),рис. 2.1
  • Robotics — Урок 9. Ход выполнения программы

    Языки и методы программирования, лекция-4: управление ходом выполнения программы, ветвление


    Рис. 2.1. Схема формы

    Private Sub Command1_Click() Dim mass(15, 3) As Single, i As Integer, j As Integer Dim A As Integer Dim B As Integer, Summ As Single A = -5: B = 5: Summ = 0 For j = 0 To 14 For i = 0 To 2 mass(j, i) = Rnd * (B — A) + A ‘ вывод элементов в поля массива списка List1(i).List(j) = mass(j, i) ‘ суммирование элементов двумерного массива Summ = Summ + mass(j, i) Next i, j Label1.Caption = Summ ‘ вывод суммы элементов массива End Sub

    стартовать проект, сделать щелчок на командной кнопке.

    Источник: intuit.ru

    Команды управления ходом выполнения программы

    Очень часто, в зависимости от некоторых условий, приходится изменять последовательность выполнения команд действия.

    Команды управления ходом выполнения программы делятся на три группы:

    1. Команды безусловного перехода;
    2. Команды условного перехода;
    3. Команды организации циклов.

    Безусловная передача управления

    Формат: GOTO номер строки или метка Управление передается команде, помеченной номером строки или меткой. Например: GOTO W … W: PRINT»Решение получено» Примечание.В среде программистов употребление GOTO принято считать дурным тоном. Чрезмерное пристрастие к GOTO запутывает программу.

    Условная передача управления

    Конструкцию условной передачи управления можно записать в одном из двух форматов — блочном (в несколько строк) или линейном (в одной строке). Линейный формат: IF логическое выражение THEN [ELSE ] Блочный формат: IF логическое выражение THEN [ELSE ] END IF Выполнение. Если логическое выражение принимает значение «Истина», выполняется блок команд 1, если логическое выражение — «Ложь», выполняется блок команд 2. Если ELSE отсутствует, то выполняется команда, стоящая за END IF. Пример1 INPUT «Сколько будет 2×2 «,X IF X=4 THEN PRINT «Правильно» ELSE PRINT «Не правильно» END Пример2 Вычислить значение функции Y Линейный формат: INPUT «Введите значение аргумента Х «,X IF XEND Блочный формат: INPUT «Введите значение аргумента Х «,X IF XEND Возможна вложенность одного условного оператора в другой.

    Формат записи вложенных условных операторов

    IF логическое выражение THEN [ELSEIF логическое выражение THEN ] …………………….. [ELSE ] END IF Пример3 Составить программу вычисления функции: 1 вариант IF ZEND 2 вариант IF Z=0 THEN F=Z^2-1 IF Z>1 THEN F=1/(1-Z) PRINT «F justify»>END Для самостоятельного решения: Составить программу определения кислотности раствора с помощью лакмусовой бумажки. Напомним, что, если бумажка окрашивается в красный цвет — раствор кислотный; синий — раствор щелочной; не меняет цвет — раствор нейтральный.

    Читайте также:
    Как отключить программу для слепых на самсунге

    Множественный выбор (select case)

    1. CASE константа 1, константа 2, …
    2. CASE IS знак_отношения константа
    3. CASE константа 1 TO константа 2
    • вычисляется значение выражения, записанного в SELECT CASE.
    • проверяется, удовлетворяет ли это значение одному из указанных в CASE условий
    • если значение удовлетворяет какому-то условию, выполняется блок команд, следующий за данным CASE.

    Источник: studfile.net

    Команды управления ходом выполнения программы

    Очень часто, в зависимости от некоторых условий, приходится изменять последовательность выполнения команд действия.

    Команды управления ходом выполнения программы делятся на три группы:

    1. Команды безусловного перехода;

    2. Команды условного перехода;

    3. Команды организации циклов.

    Безусловная передача управления

    GOTO номер строки или метка

    Управление передается команде, помеченной номером строки или меткой.

    Например:

    W: PRINT»Решение получено»

    Примечание. В среде программистов употребление GOTO принято считать дурным тоном. Чрезмерное пристрастие к GOTO запутывает программу.

    Условная передача управления

    Конструкцию условной передачи управления можно записать в одном из двух форматов — блочном (в несколько строк) или линейном (в одной строке).

    IF логическое выражение THEN [ELSE ]

    IF логическое выражение THEN

    [ELSE

    END IF

    Выполнение. Если логическое выражение принимает значение «Истина», выполняется блок команд 1, если логическое выражение — «Ложь», выполняется блок команд 2. Если ELSE отсутствует, то выполняется команда, стоящая за END IF.

    Пример 1

    INPUT «Сколько будет 2×2 «,X

    IF X=4 THEN PRINT «Правильно» ELSE PRINT «Не правильно»

    Пример 2

    Вычислить значение функции Y

    INPUT «Введите значение аргумента Х «,X

    PRINT «При значении Х=»;X;» функция Y=»;Y

    INPUT «Введите значение аргумента Х «,X

    PRINT «При значении Х=»;X;» функция Y=»;Y

    Возможна вложенность одного условного оператора в другой.

    Формат записи вложенных условных операторов

    IF логическое выражение THEN

    [ELSEIF логическое выражение THEN

    [ELSE

    END IF

    Пример 3

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

    IF Z>1 THEN F=1/(1-Z)

    Для самостоятельного решения:

    Составить программу определения кислотности раствора с помощью лакмусовой бумажки. Напомним, что, если бумажка окрашивается в красный цвет — раствор кислотный; синий — раствор щелочной; не меняет цвет — раствор нейтральный.

    Работа с датой и временем

    Функция DATE$

    Выдается текущая дата, зарегистрированная в компьютере. Формат даты: ММ-ДД-ГГГГ.

    Например

    Выведется текущая дата: 15-09-2000

    Функция TIME$

    Выдается текущее системное время, зарегистрированное в компьютере. Формат времени: ЧЧ:ММ:СС (часы, минуты, секунды).

    Например

    PRINT TIME$, на экране выдается текущее время.

    Читайте также:
    Программы для лотереи топ 3

    Циклы

    В языке BASIC предусмотрено два основных способа организации циклов:

    § повторение блока команд заданное количество (число) раз (цикл со счетчиком);

    § циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие.

    Цикл со счетчиком (FOR…NEXT)

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

    FOR счетчик=E1 TO E2 [STEP E3]

    NEXT счетчик

    счетчик (параметр)- числовая переменная;

    E1 — начальное значение счетчика;

    E2 — конечное значение счетчика;

    E3 — шаг изменения счетчика. По умолчанию этот шаг равен 1;

    Блок команд — набор операторов, предназначенных для повторения.

    Выполнение. Если E3 >0, то цикл продолжается все время, пока счетчик < или = E2. Если E3 или = E2.

    Пример ы

    Результат: 1 2 3 4 5

    Тело цикла будет выполняться 5 раз. Шаг изменения счетчика по умолчанию равен 1.

    2) FOR I=1 TO 5 STEP 2

    Результат: 1 3 5

    3) Обратный цикл

    FOR I=5 TO 1 STEP -1

    Результат: 5 4 3 2 1

    Проверка выхода из цикла производится в начале цикла, поэтому цикл не выполнится ни разу.

    Ограничения при использовании оператора цикла FOR … NEXT:

    1. Не изменяйте значение параметра цикла внутри цикла

    2. Никогда не передавайте управление внутрь цикла, это может привести к непредсказуемым результатам.

    GOTO 10 ‘ НЕЛЬЗЯ!

    Досрочный выход из цикла

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

    Формат команды выхода:

    Например

    INPUT «Введите значение параметра»;F

    IF F=100 THEN EXIT FOR

    Сумма Количество Произведение
    S=0 K=0 P=1
    S=S+A K=K+1 P=P*A

    Пример 1. Подсчитать сумму 10 значений переменной A.

    INPUT «Введите значение переменной»;A

    S=S+A ‘Подсчет суммы значений переменной A

    Пример 2. Подсчитать количество положительных чисел и произведение отрицательных чисел из N введенных.

    INPUT “Введите количество значений”;N

    INPUT «Введите значение переменной»;A

    PRINT»Количество положительных чисел =»;K

    PRINT»Произведение отрицательных чисел =»;P

    Практическое Задание:

    1. Подсчитать сумму положительных элементов, не превышающих значения 10 из N введенных.

    2. Подсчитать количество мальчиков, рост которых превышает 165 см и количество девочек, рост которых не превышает 165.

    Пример 1. Рассчитать и вывести на печать значения функции Y=5/X при изменении аргумента X от -5 до 5 с шагом 2.

    FOR X=-5 TO 5 STEP 2

    Пример 2. Найти максимальное значение из N введенных. Вывести максимальное значение и его индекс.

    INPUT «Введите количество значений»;N

    INPUT «Введите первое значение»;A

    PRINT «Введите «; I; «-ое

    IF A>MAX THEN MAX=A: IN=I

    PRINT «Максимальное значение =»;MAX

    PRINT “Индекс максимального значения =”; IN

    Практическое задание:

    1. Определить максимальное значение среди положительных элементов из N введенных.
    2. Подсчитать значения функции f(x)= Ö1-х 2 на заданном интервале [-0,5; 0,5] с шагом 0,1.

    Цикл WHILE … WEND

    WHILE логическое выражение

    WEND

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru