Какая инструкция должна быть первой при описании условного алгоритма

Условные алгоритмы

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

Синтаксис
оператора:

If
<условие> Then

<инструкции_1>

[Else

<инструкции_2>

End
If]

Здесь
If, Then, Else, End If – зарезервированные слова
VBA (если, то, иначе, конец ветвления);

<условие>
– произвольное выражение логического
типа;

<
инструкции_1>, < инструкции_2> –
любые операторы языка VBA.

Условный
оператор работает по следующему
алгоритму. Вначале вычисляется значение
условного выражения <условие>. Если
результат есть True (истина), то выполняются
<инструкции_1>, а <инструкции_2>
пропускаются. Если результат есть False
(ложь), наоборот, <инструкции_1>
пропускаются, а выполняются <инструкции_2>.

Часть
условного оператора, начинающаяся со
слова Else, может быть опущена, в этом
случае имеет место неполная форма
условного оператора. При этом, если
условное выражение имеет значение
True, выполняются инструкции, стоящие за
Then; в противном случае весь оператор
пропускается.

Задания:

  1. Для
    данного x вычислить значение функции:

Пример:

Sub Большее_из_двух
()

Dim A As Integer, B As Integer,
C As Integer

A= Val (InputBox (“Введите
число”, ”Ввод числа”))

B= Val (InputBox (“Введите
число”, ”Ввод числа”))

If A>=B Then

C=A

Else

C=B

End If

MsgBox “Наибольшее
число ”& C , ”Вывод результата”

End Sub

Операторы цикла

Цикл
— многократное повторение последовательности
действий по некоторому условию. В VBA
существуют операторы, реализующие
несколько типов циклов.

Цикл
с предусловием (цикл-пока)

— наиболее универсальная циклическая
структура. Он организует выполнение
операторов, составляющих тело цикла,
неизвестное заранее число раз. Реализуется
оператором While. Формат оператора:

Do
While <условие>

<тело
цикла>

Loop

Здесь
Do, While, Loop – зарезервированные слова;

<условие>
– выражение логического типа;

<тело
цикла> – операторы VBA.

Алгоритм
работы оператора следующий. Вначале
вычисляется значение выражения
<условие>. Если <условие> имеет
значение True, выполняется <тело цикла>;
после чего вычисление значения выражения
<условие> повторяется. Если <условие>
имеет значение False, оператор прекращает
свою работу.

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

Цикл
с постусловием (цикл-до)

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

Цикл
с постусловием может быть записан в
одном из следующих видов:

Do
Until <условие>

<тело
цикла>

Loop

или

Do

<тело
цикла>

Loop
Until <условие>

Здесь
Do, Until, Loop – зарезервированные слова;

<условие>
– выражение логического типа;

<тело
цикла> – операторы VBA.

Оператор
работает по следующему алгоритму.
Вначале выполняется <тело цикла>,
после чего вычисляется значение
логического выражения <условие>.
Если его значение есть False, операторы,
образующие <тело цикла>, повторяются.
В противном случае оператор завершает
свою работу.

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

Цикл
с параметром (цикл со счетчиком, цикл
– для)

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

Синтаксис
оператора:

For
<параметр> = <начальное значение>
To <конечное значение> [Step <шаг>]

<тело
цикла>

Next

Здесь
For, To, Step, Next – зарезервированные слова
VBA;

<параметр>
– простая переменная порядкового типа
;

<начальное
значение> – выражение того же типа
что и <параметр>, определяющее
начальное значение параметра;

<конечное
значение> – выражение того же типа,
определяющее конечное значение
параметра;

<шаг>
– некоторое значение типа <параметр>,
задающее, на сколько изменяется значение
параметра при каждом проходе цикла;

<тело
цикла> – операторы VBA.

Этот
оператор организует повторение группы
инструкций, образующих <тело цикла>,
пока <параметр> изменяется от
<начального значения> до <конечного
значения> с указанным шагом. Цикл
выполняется столько раз, сколько нужно,
чтобы <параметр> от <начального
значения> достиг <конечного значения>.

При
выполнении оператора вначале вычисляется
значение выражения <начальное значение>
и осуществляется присваивание <параметр>
= <начальное значение>. После этого
циклически повторяется:


проверка условия <параметр> <=
<конечное значение>, если значение
выражения <шаг> задано и имеет
положительное значение, или <параметр>
>= <конечное значение>, если значение
выражения <шаг> задано и имеет
отрицательное значение;


выполнение <тела цикла>;


изменение значения переменной
<параметр> на величину, указанную
после слова Step; если <шаг> не указан,
он полагается равным 1.

Задания:

  1. Начав
    тренировки, спортсмен в первый день
    пробежал 10 км. Каждый день он увеличивал
    дневную норму на 10% нормы предыдущего
    дня. Какой суммарный путь пробежит
    спортсмен за 7 дней?

  2. Одноклеточная
    амеба каждые 3 часа делится на 2 клетки.
    Определить, сколько амеб будет через
    3, б, 9, 12, …. 24 часа.

  3. Около
    стены наклонно стоит палка длиной х
    м. Один ее конец находится на расстоянии
    y м от стены. Определить значение синуса
    угла между палкой и полом для значений
    y, изменяющихся от 2 до 3 м с шагом h м.

  4. У
    гусей и кроликов вместе 64 лапы. Сколько
    могло быть кроликов и гусей (указать
    все сочетания, которые возможны)?

  5. Составить
    алгоритм решения задачи: сколько можно
    купить быков, коров и телят, платя за
    быка 10 р., за корову — 5 р., а за теленка
    — 0,5 р., если на 100 р. надо купить 100 голов
    скота?

  6. Покупатель
    должен заплатить в кассу S р. У него
    имеются 1, 2, 5, 10, 50, 100, 500 р. Сколько купюр
    разного достоинства отдаст покупатель,
    если он начинает платить с самых
    крупных?

  7. Ежемесячная
    стипендия студента составляет А р., а
    расходы на проживание превышают
    стипендию и составляют В р. в месяц.
    Рост цен ежемесячно увеличивает расходы
    на 3%. Составьте программу расчета
    необходимой суммы денег, которую надо
    единовременно попросить у родителей,
    чтобы можно было прожить учебный год
    (10 месяцев), используя только эти деньги
    и стипендию.

  8. Составить
    программу для проверки утверждения:
    “Результатами вычислений по формуле
    х2 + х + 17 при 0 < х < 15 являются простые
    числа”. Все результаты вывести на
    экран.

  9. Составить
    программу для проверки утверждения:
    “Результатами вычислений по формуле
    х2 + х + 41 при 0 < х < 40 являются простые
    числа”. Все результаты вывести на
    экран.

  10. Составить
    программу, которая запрашивает пароль
    (например, четырехзначное число) до
    тех пор, пока он не будет правильно
    введен.

Пример:

  1. Найти
    сумму всех четных чисел в первой
    десятке:

Sub
Summa
()

Dim
j As Integer, sum As Integer

For
j
= 2 To
10 Step
2

sum
= sum
+ j

Next

MsgBox
«Сумма равна » & sum

End
Sub

  1. Написать
    программу, осуществляющий вывод на
    экран введенного числа после его
    проверки. Ввод должен завершиться,
    когда вводимое значение окажется
    положительным числом.

Sub
Пример()

Dim
d As Integer

Do

d
= Val(InputBox(«Введите положительное
чиcло», «Ввод числа»))

Loop
Until d > 0 And (IsNumeric(d))

MsgBox
«Введеное число » & d

End
Sub

  1. Найти
    максимальное из n введенных с клавиатуры
    чисел.

Sub
Max_n_while()

Dim
n As Byte, k As Single, i As Byte, Max As Single

n
= Val(InputBox(«Введите количество чисел»))

i
= 1

Do
While i <= n

k
= Val(InputBox(«Введите
число»,
«Ввод
чисел»))

If
i = 1 Then Max = k

If
k > Max Then Max = k

i
= i + 1

Loop

MsgBox
«Наибольшее из чисел » & Max

End
Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

1.

Разработка
условных
алгоритмов в
полной форме
1

2.

Цели урока:
1. Познакомиться с условной
алгоритмической структурой;
2. Изучить полную и неполную формы
условного алгоритма;
3. Научиться изображать условные
алгоритмы в полной форме
в виде блок-схем.
2

3.

ВОПРОСЫ:
ЧТО ТАКОЕ АЛГОРИТМ?
ОСНОВНЫЕ ВИДЫ АЛГОРИТМОВ?
ОСНОВНЫЕ ФОРМЫ ЗАПИСИ
АЛГОРИТМОВ?
3

4. Найдите ошибки в предложенной блок-схеме:

начало
начало
начало
начало
Ввод а, в
Действие 1
Ввод
х, у 1
Действие
Р=х-у 2
Действие
Действие 2
Р=х-у
Действие 3
Вывод S
Действие 3
Вывод Р
конец
конец
конец
конец
4

5.

Разветвляющийся алгоритм в полной
форме– это алгоритм, в котором в
зависимости от условия выполняется либо
одна, либо другая последовательность
действий.
да
Действие 1
условие
нет
Действие 2
5

6. Примеры:

Если ласточки летают
низко, то будет дождь,
иначе дождя не будет.
6

7. Примеры:

У лукоморья дуб зеленый;
Златая цепь на дубе том:
И днем и ночью кот ученый
Все ходит по цепи кругом:
Идет направо – песнь заводит,
Налево – сказку говорит,
Там чудеса: там леший бродит,
Русалка на ветвях сидит…
А.С.Пушкин
7

8. ВЫЧИСЛИТЕ АЛГОРИТМ УСЛОВНОЙНОЙ СТРУКТУРЫ В ПОЛНОЙ ФОРМЕ, ПРЕДСТАВЛЕННОЙ В ВИДЕ БЛОК-СХЕМЫ, ПРИ ЗАДАННЫХ ИСХОДНЫХ ДАННЫХ:

ВЫЧИСЛИТЕ АЛГОРИТМ УСЛОВНОЙНОЙ СТРУКТУРЫ В
ПОЛНОЙ ФОРМЕ, ПРЕДСТАВЛЕННОЙ В ВИДЕ БЛОКСХЕМЫ, ПРИ ЗАДАННЫХ ИСХОДНЫХ ДАННЫХ:
начало
Ввод а
Работа в парах
Х=а*2
да
а
0
2
х
-5
-1
4
3
6
8
18
22
нет
Х<10
Х=Х-5
Х=Х+6
Вывод х
конец
8

9. Рефлексия

да
Понравился
урок?
ПОКАЖИТЕ
нет
ПОКАЖИТЕ
Спасибо за
урок

10.

Разработка
условных
алгоритмов в
неполной форме
10

11.

ВОПРОСЫ:
ЧТО ТАКОЕ АЛГОРИТМ?
ОСНОВНЫЕ ВИДЫ АЛГОРИТМОВ?
ОСНОВНЫЕ ФОРМЫ ЗАПИСИ
АЛГОРИТМОВ?
КАКИЕ АЛГОРИТМИЧЕСКИЕ
КОНСТРУКЦИИ ИСПОЛЬЗУЮТСЯ
В БЛОК-СХЕМАХ?
11

12.

Разветвляющийся алгоритм в неполной
форме – это алгоритм, в котором в
зависимости от условия выполняется какаято последовательность действий.
да
условие
нет
Действие 1
12

13. Примеры:

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

14.

Задание 1:
Определить фамилию пропавшей, если
известно, что это женщина не старше
25 и не моложе 16 лет. Возраст ее
кратен 7. В списке три фамилии. Кто
из них?
• 1. Иванова Е. И., 26 лет;
• 2. Петрова А. Л., 21 год;
• 3. Сидорова Е. Н., 16 лет.
Ответ: Петрова А. Л., 21 год.
14

15.

Задание 2:
Установить марку и номер машины, в
которой уехала пропавшая, если известно,
что цвет машины не красный, а номер
кратен 9:
• 1. черный джип с номером 1101;
• 2. красный «Запорожец» с номером 9909;
• 3. белая «Волга» с номером 2709.
Ответ: белая «Волга» с номером 2709.
15

16.

Задание 3:
Определить, кто из соседей говорит правду,
отвечая на вопрос «Когда Вы видели
пропавшую на улице в последний раз?», если
известно, что между 7.00 и 11.20 часами
пропавшая еще находилась дома :
• 1. сосед из кв. № 59 ответил — в 9.00 ч,
• 2. соседка из кв. № 7— в 11.30 ч.
Ответ: соседка из кв. № 7.
16

17.

Задание 4:
На выставку отбираются кошки,
которых рост должен быть больше 19
см, но меньше 27 см. Определить,
какая кошка пройдет отбор?
• 1. Мурзик, 28 см
• 2. Мурка, 21 см
• 3. Васька, 17 см
Ответ: Мурка
17

18. ДОМАШНЕЕ ЗАДАНИЕ

• Выучить опорный конспект.
• Придумать 3 задачи по теме
«условный алгоритм в неполной
форме».
18

Скачать материал

ВетвлениеУсловный алгоритм

Скачать материал

  • Сейчас обучается 402 человека из 60 регионов

Описание презентации по отдельным слайдам:

  • ВетвлениеУсловный алгоритм

    1 слайд

    Ветвление
    Условный алгоритм

  • Условный алгоритм или ветвление – это такая организация алгоритма, при которо...

    2 слайд

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

  • Условие – это логическое выражение3Логическое выражение – это повествовательн...

    3 слайд

    Условие – это логическое выражение
    3
    Логическое выражение – это повествовательное предложение, в котором что-либо утверждается или отрицается.
    Примеры логических выражений:
    Все лошади белые.
    111 делится на 3.
    Логическое выражение имеет значение: ложь (false) или истина (true).
    Логические выражения: простые (=, >, <, >=, <=, <>) и сложные: (условие1) лог. операция (условие2).
    Логические операции: отрицание (not), логическое сложение (or), логическое умножение (and), исключающее или (xor)

  • Логический тип - booleanНаписать программу, которая выводит значение true, ес...

    4 слайд

    Логический тип — boolean
    Написать программу, которая выводит значение true, если точка с заданными координатами (x, y) лежит в заштрихованной области и false – в противном случае.
    1.1
    1.2

  • Логический тип - boolean2. Написать программу, которая выводит значение true,...

    5 слайд

    Логический тип — boolean
    2. Написать программу, которая выводит значение true, если указанное высказывание является истинным, и false – в противном случае.
    2.1. Данное натуральное число A кратно числу B, но не кратно числу C.
    2.2. Целое число N является четным двузначным числом.
    2.3. Данное трехзначное натуральное число является палиндромом («перевертышем»).
    2.4. Сумма первых двух цифр заданного четырехзначного числа равна сумме двух его последних цифр.

  • Ветвление 1 – полная форма6Формат команды:
If    then  K1 
else  K2;

Это озн...

    6 слайд

    Ветвление 1 – полная форма
    6
    Формат команды:
    If <условие 1> then K1
    else K2;

    Это означает:
    Если условие 1
    истинно,
    тогда выполнить K1,
    иначе выполнить K2

  • Ветвление 2 – составные операторы7Формат команды:
If    then  
Begin  K1;  K3...

    7 слайд

    Ветвление 2 – составные операторы
    7
    Формат команды:
    If <условие 2> then
    Begin K1; K3; K4; End
    else
    Begin K2; K5; End;

    Замечания:
    1. Составной оператор –
    на ветке ветвления
    более одной команды.
    2. Операторные скобки
    (Begin – End).

  • Ветвление 3 – Неполная форма8Формат команды:
If    then  
Begin  K1;  K7;  En...

    8 слайд

    Ветвление 3 – Неполная форма
    8
    Формат команды:
    If <условие 3> then
    Begin K1; K7; End;

  • Замечания (основные ошибки):9Условие ветвления содержит знаки сравнения: =,,...

    9 слайд

    Замечания (основные ошибки):
    9
    Условие ветвления содержит знаки сравнения: =,<, >, <=, >=, <>.
    Команда присваивания (:=) не может использоваться в условии.
    Сложное условие ветвления записывается в скобках: (условие 1) лог. операция (условие 2); логическая операция: and или or.
    Используются операторные скобки (begin – end), если на ветке ветвления более одной команды.
    Нельзя записывать: then; или ;else.

  • Задачи 1:10Даны три числа: x, y, z. Найти наибольшее число max(x, y, z).
Даны...

    10 слайд

    Задачи 1:
    10
    Даны три числа: x, y, z. Найти наибольшее число max(x, y, z).
    Даны три числа: x, y, z. Найти сумму наибольшего и наименьшего чисел ( S = max + min ).
    Определить результат гадания на ромашке с N лепестками.
    Даны три числа: x, y, z. Найти «среднее» число («среднее» число больше одного, но меньше другого).
    Даны три положительных числа: a, b, c . Определить, можно ли построить треугольник с такими сторонами. Если такой треугольник существует, найти его периметр и площадь.

  • Задачи 2:11Набор состоит из 1 ручки, 2 тетрадей, 4 карандашей. Имеется a руче...

    11 слайд

    Задачи 2:
    11
    Набор состоит из 1 ручки, 2 тетрадей, 4 карандашей. Имеется a ручек, b тетрадей, c карандашей. Сколько получится наборов?
    Влезет ли шкаф размером a×b×c в дверь размером x×y?
    Или: Влезет ли сундук размером a×b×c в иллюминатор радиуса R?
    На шахматной доске заданы два поля
    с координатами: I (k, l) и II(m, n).
    Определить цвет полей.

    Если на поле I находится ферзь, а на поле II – конь, определить: угрожает ли ферзь коню, угрожает ли конь ферзю?

  • Домашнее задание 1:Нарисовать блок-схемы для задач.

Определить значение функ...

    12 слайд

    Домашнее задание 1:
    Нарисовать блок-схемы для задач.

    Определить значение функции для заданного аргумента:

    1.

    2.

    12

  • Ветвление 4: Вложенные ветвления13

    13 слайд

    Ветвление 4: Вложенные ветвления
    13

  • Задачи 3:14Решить квадратное уравнение для любых параметров a (a≠0), b, c:

Д...

    14 слайд

    Задачи 3:
    14
    Решить квадратное уравнение для любых параметров a (a≠0), b, c:

    Даны два числа m и n. Если эти числа не равны, заменить каждое из них одним и тем же числом, равным большему из данных, а если равны – то заменить числа нулями.
    При покупке на сумму более 500 рублей предоставляется скидка 3%, при покупке на сумму более 1000 рублей – скидка 5%. Определить стоимость покупки с учетом скидки.
    На оси ОХ расположены две точки a и b. Определить, какая из точек расположена ближе к нулю.

  • Задачи 4:15Даны два числа a и b. Меньшее из этих чисел заменить их полусуммой...

    15 слайд

    Задачи 4:
    15
    Даны два числа a и b. Меньшее из этих чисел заменить их полусуммой, а большее – их удвоенным произведением. Если числа равны – оставить их без изменения.
    Известно, что из четырех чисел a1, a2, a3, a4 одно отлично от трех других, равных между собой. Присвоить номер этого числа переменной n и вывести ее на экран.
    Определить взаимное расположение двух окружностей: первая окружность – радиус R1 и центр А(х1, y1), вторая окружность – радиус R2 и центр В(х2, y2).

  • Домашнее задание 2:Нарисовать блок-схему программы с вложенными ветвлениями....

    16 слайд

    Домашнее задание 2:
    Нарисовать блок-схему программы с вложенными ветвлениями.
    Написать программу для своей блок-схемы.

    16

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 312 714 материалов в базе

  • Выберите категорию:

  • Выберите учебник и тему

  • Выберите класс:

  • Тип материала:

    • Все материалы

    • Статьи

    • Научные работы

    • Видеоуроки

    • Презентации

    • Конспекты

    • Тесты

    • Рабочие программы

    • Другие методич. материалы

Найти материалы

Другие материалы

  • 20.12.2020
  • 429
  • 0
  • 14.12.2020
  • 205
  • 1
  • 25.11.2020
  • 235
  • 0
  • 25.11.2020
  • 236
  • 0
  • 21.11.2020
  • 399
  • 2
  • 01.11.2020
  • 1893
  • 24
  • 10.10.2020
  • 401
  • 0
  • 09.10.2020
  • 1190
  • 11

Вам будут интересны эти курсы:

  • Курс повышения квалификации «Основы местного самоуправления и муниципальной службы»

  • Курс повышения квалификации «Организация научно-исследовательской работы студентов в соответствии с требованиями ФГОС»

  • Курс профессиональной переподготовки «Клиническая психология: организация реабилитационной работы в социальной сфере»

  • Курс повышения квалификации «Экономика и право: налоги и налогообложение»

  • Курс повышения квалификации «Организация практики студентов в соответствии с требованиями ФГОС педагогических направлений подготовки»

  • Курс повышения квалификации «Организация практики студентов в соответствии с требованиями ФГОС технических направлений подготовки»

  • Курс повышения квалификации «Организация практики студентов в соответствии с требованиями ФГОС юридических направлений подготовки»

  • Курс повышения квалификации «Организация маркетинга в туризме»

  • Курс профессиональной переподготовки «Разработка эффективной стратегии развития современного вуза»

  • Курс профессиональной переподготовки «Политология: взаимодействие с органами государственной власти и управления, негосударственными и международными организациями»

  • Курс профессиональной переподготовки «Эксплуатация и обслуживание общего имущества многоквартирного дома»

  • Курс повышения квалификации «Информационная этика и право»

План урока:

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

Определение разветвляющегося алгоритма

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

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

Составной условный оператор if

Циклический оператор while

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

Не все алгоритмы можно представить в виде списка действий. Бывают случаи, когда на выполнение чего-либо влияют определённые факторы. Например, если погода будет хорошей, то Настя пойдёт гулять и есть мороженое, однако, если погода будет плохой – она будет сидеть дома и делать уроки. В данном случае, окончательное действие зависело от того, какой будет погода. Это и есть условие выполнения.

1 kakaya budet pogoda

Определение разветвляющегося алгоритма

Разветвляющиеся алгоритмы – это алгоритмы, имеющие несколько альтернативных путей, выбор которых зависит от выполнения некоторых условий. Ветвление — алгоритмическая конструкция, при выполнении которой, в зависимости от результата проверки условия («да» или «нет»), выполняется одна из двух последовательностей команд, называемых ветвями. Способ записи ветвления зависит от выбранного для выполнения определённой задачи оператора.

2 shema

В линейных разветвляющихся алгоритмах можно выделить два типа условий: простые и составные.

Простые условия содержат одно логическое (булево) выражение, то есть такое утверждение, которое является либо истинным, либо ложным.

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

  • > (больше);
  • < (меньше);
  • >= (больше или равно);
  • <= (меньше или равно);
  • <> (не равно);
  • = (равно).

Примеры простых логических выражений:

  • Value (идентификатор Value должен иметь логический тип данных);
  • a — b <> 5 (истинно, если a — b не равно 5);
  • c >= 10 + 11 (истинно, если c имеет значение 21 или больше);
  • 7 > 8 (это выражение всегда ложно);
  • ‘бабушка’ <> ‘дедушка’ (это выражение всегда истинно).

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

  • Если a = 5, b = 3, то второе выражение является истинным. Однако, если a = 5, b = 0, то результатом их разности будет число 5, которое делает это выражение ложным.
  • Если c = 9, то третье выражение будет ложным, при этом, если с имеет значение 21 и более, то выражение будет истинным.

Составные условия представляют выражения, составленные из нескольких логических выражений, соединённых при помощи служебных слов and («И», логическое умножение) или or («ИЛИ», логическое сложение), например:

  • p and q (истинно, если истинны обе логические переменные — p И q);
  • a > b or x < 7 (истинно, если a > b, ИЛИ если x < 7);
  • c < 3 or d > 5 and x <> 2 (истинно, если c < 3, ИЛИ если d > 5 И x <> 2).

В третьем примере сначала определяется истинность выражения d > 5 and x <> 2, а затем выполняется операция or, поскольку логическое умножение, как и арифметическое, имеет приоритет над сложением.

Вложенные ветвления представляют собой условие внутри условия. Когда «условие 1» будет принимать истинное значение, программа перейдёт на проверку «условия 2», иначе – выполнится «ветвь 1». Если «условие 2» окажется истинным, то выполнится «ветвь 3», иначе – «ветвь 2». Таким образом, «условие 2» является вложенным в «условие 1».

tablica primer algoritma

Какие условные операторы языка Паскаль позволяют описывать подобные разветвленные алгоритмы?  На этом уроке мы продолжим разбор условного оператора if и рассмотрим различные его формы.

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

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

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

Неполный условный оператор if включает в себя служебное слово if («если»), за которым следует условие – простое либо составное логическое выражение, после которого пишется слово then («то»). Далее указывается оператор, выполняемый тогда, когда заданное условие является истинным. В конце оператора ставится точка с запятой:

if <условие> then <оператор 1>;

Полный условный оператор if, в дополнение к «оператору 1», выполняющемуся при истинности условия, добавляет «оператор 2», который выполняется если условие ложно. При этом после «оператора 1» пишется служебное слово else («иначе»), за которым следует «оператор 2», а разделитель точка с запятой переносится в конец оператора:

if <условие> then <оператор 1> else <оператор 2>;

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

if <условие> then

    <оператор 1>

else

    <оператор 2>;

Составной условный оператор

Составной оператор в Паскале применяется тогда, когда в одной из ветвей нужно выполнить более одного оператора. Составной оператор начинается со служебного слова begin и завершается служебным словом end. В промежутке между этими двумя словами находятся операторы, выполнение которых происходит в том порядке, в котором они записаны. Составные операторы могут применяться везде, где применяются простые операторы, и также как простые операторы, они должны отделяться точкой с запятой по тем же правилам. Пример использования составного оператора в конструкции if..then..else:

if <условие> then

    begin

        <оператор 1>;

        <оператор 2>;

    end

else

    begin

        <оператор 3>;

        <оператор 4>;

    end;

В данном примере, в случае истинности условия будут выполняться операторы 1 и 2, в случае ложности – операторы 3 и 4.

Вложенный условный оператор

Так как «оператор 1» в примерах выше может быть любым допустимым оператором языка Паскаль, никто не запрещает использовать вместо него еще один оператор if, создавая таким образом вложенные условные операторы:

if <условие 1> then

    if <условие 2> then

        <оператор 1>

     else

    <оператор 2>

else

    <оператор 3>;

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

Однако, на этом многообразие операторов ветвления не заканчивается. Так, для разветвляющихся циклических алгоритмов применяется оператор while.

Циклический оператор while

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

While <условие> do

    <оператор 1>;

Выполнение действий, заключённых в операторе 1, продолжается до тех пор, пока логическое выражение в условии принимает истинное значение. Когда условие станет ложным, программа выйдет из цикла и перейдёт к выполнению последующих команд.

Задачи

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

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

Решение.

3 reshenie algoritmov

Шаг 1. Необходимо ввести наименование программы. В данном случае это будет решение первой задачи.

Шаг 2. Учитывая, что числа, которые получит программа и запишет в переменные a и b, будут относиться к численному типу данных, необходимо указать тип integer.

Шаг 3. После записи слова begin, обозначающего начало командного блока, нужно записать текст, который программа будет выводить изначально. Так как на вход должны подаваться два числа, так и записывается: «Введите два числа: ».

Шаг 4. Необходимо записать оператора, благодаря которому будет происходить принятие входных данных и закрепление их за определёнными переменными.

Шаг 5. Появление условного оператора if. В данной задаче необходимо вывести наибольшее число, поэтому условием будет сравнение чисел.

Шаг 6. Проверка написанного кода программы и правильности выводящихся данных. Если значение a больше значения b, то программа выводит значение, закреплённое за переменной a. В противном случае, программа выведет число b. Если числа одинаковы, то программа автоматически перейдёт к выполнению оператора, записанного после слова else, так как числа одинаковы, нет разницы в том, какое из них выводить.

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

Решение.

3 reshenie k zadace 2 poisk algoritma

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

Шаг 2. Построение кода программы. Для начала необходимо дать ей название.

Шаг 3. Указывается тип данных. Поскольку данные, которые получает программа, относятся к численному типу данных, то после названий переменных нужно написать integer.

Шаг 4. После этого пишется запрос программы, в случае со второй задачей текст будет выглядеть так: «Введите длины трёх отрезков в порядке возрастания: ».

Шаг 5. Запись оператора, который поможет программе получить данные.

Шаг 6. Запись и представление примерной работы всех необходимых условий. Изначально нужно понять, образуют ли отрезки какой-либо треугольник, для этого записывается условие, дословно переводящееся как «если c< a+b тогда». Если его значение будет истинным, то программа перейдёт к дальнейшим условиям, таким как «если квадрат c равен сумме квадратов a и b» и так далее.

Шаг 7. Проверка написанного кода программы и правильности выводящихся данных. В зависимости от того, какое из условий окажется верным, программа выведет создают ли эти отрезки треугольник и если да, то его тип. В случае, когда все условия будут ложными, программа выдаст, что «Заданные отрезки не образуют треугольник.».

Задача 3. Нужно найти минимальное целое число a, при котором равенство 3a > n является истинным. На вход подаётся число n, большее чем единица.

Решение.

5 postroenie koda

Шаг 1. Для начала необходимо дать программе название.

Шаг 2. Учитывая, что на вход подаётся целое число, указать тип данных, в данном случае – integer.

Шаг 3. Запись командного блока. Нужно написать слово, обозначающее начало, begin.

Шаг 4. Первоначальный вывод программы. Необходимо написать то, что программа будет выдавать в первую очередь. В данном случае, она будет запрашивать число, запрос так и пишется: «Введите число: » .

Шаг 5. Запись необходимых операторов. Используя оператор readln программа считывает данные и переводит курсор на новую строку. Далее она производит операции над поступившими данными.

Шаг 6. Запись цикла. «Пока 3*а меньше или равно n» она будет прибавлять к a по единице. После того, как цикл закончится, программа выведет итоговое значение a, которое и будет ответом к задаче.

Шаг 7. Проверка правильности записи алгоритма. В конце программного блока, после слова end нельзя забывать точку, её обязательно нужно поставить.

Задача 4. На вход подаётся натуральное число, из которого необходимо удалить заданную пользователем цифру.

Решение.

6 kod algoritmy informatika

Шаг 1. Для решения данной задачи понадобится вспомнить операции mod и div в Паскале. Div возвращает целую часть при делении какого-то числа на какое-то число. К примеру, если 5 поделить на 3, то в остатке будет 2. При записи 5 div 3 программа выдаст значение 1, тк 5 делится на 3 ровно 1 раз. Mod возвращает остаток от деления. При записи 5 mod 3 программа выдаст значение 2, поскольку остаток от деления 5 на 3 равен 2. Как же решать эту задачу?

Шаг 2. Записать название программы. В данном случае будет «Задача 4».

Шаг 3. Указание типа вводимых данных. Longint представляет тип данных с длинными целыми числами, к нему можно отнести подающееся на вход число (а) и цифру, которую нужно удалить (b). Следующим типом будет byte, он представляет целый беззнаковый тип.

Шаг 4. После этого следует командный блок. Вписываются 2 оператора readln, позволяющие программе считать необходимые данные.

Шаг 5. Запись цикла. В данной программе лучше всего использовать цикл «Пока a больше 0». Здесь идёт пример составного оператора. После присвоения переменной m нового значения программа переходит к условию «Если m не равно n, тогда», при истинности которого присваивает переменной b новое значение. Из выполненного условия программа переходит к присвоению переменной a нового значения, равному целой части от деления числа, заключённого в a, на 10. После выполнения всех действий и условий в первом цикле, программа переходит ко второму циклу «Пока b больше 0». В нём она присваивает переменным a и b новые значения.

Шаг 6. Проверка кода программы. После окончания всех циклов она должна вывести итоговое число и завершить свою работу.

Условные алгоритмы

Урок «Условные алгоритмы»

Условный (разветвляющийся) алгоритм – выполнение действия (или группы действий) в зависимости от истинности или ложности условия.

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

ЗАДАЧА 1. Составить блок-схему и программу

ПРОГРАММА на БЕЙСИКЕ

PRINT “Вычисление у“

INPUT “Ввести число х “, х

IF х <= 5 THEN у = х + 5 ELSE у = 2*х

PRINT “у = “, у

ЗАДАЧА 2. Составить блок-схему и программу возводящие в квадрат меньшее из чисел и извлекающие квадратный корень из большего.

ПРОГРАММА на БЕЙСИКЕ

PRINT “Сравнение чисел“

INPUT “Ввести 2 разных числа “, a, b

IF a > b THEN а=SQR(a) : b=b*b ELSE b=SQR(b) : a=a*a

PRINT “a = “, a, “b = “, b

Домашнее задание — составить блок-схемы и программы для следующих задач:

Задача 1. Если введенное с клавиатуры число (не равное 0) положительно вычислить его квадрат, а если отрицательно — умножить его на 2.

Задача 2. Определить можно ли купить 3 товара на некую сумму денег. (входные данные: цены товаров — С1, С2, С3 и сумма денег — S, выходные данные: сообщение).

Понравилась статья? Поделить с друзьями:
  • Какая инструкция выполняет эквидистантную коррекцию справа по направлению подачи
  • Какая инструкция выполняет линейную интерполяцию при ускоренном перемещении
  • Какая инструкция была до 28 и
  • Какая из функций фреймворка mapreduce выполняется без задания инструкций пользователем
  • Какая из перечисленных инструкций выполнится быстрее всего если n 10 6