460.50K
Категория: ПрограммированиеПрограммирование

Алгоритм упорядочивания значений двух переменных

1.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
кон
Этот
пример
иллюстрирует
следующее
правило
Паскаля: если на какой – то из ветвей оператора
ветвления
находится
несколько
последовательных
операторов, то
их
нужно
записывать
между
операторными
скобками
BEGIN
и
END. Такая
конструкция называется составным оператором.
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
:=
:=
:=
x
y
;
;
c
;
WRITELN ( x, y )
END .
X>Y
8 5
5 8
X<Y
3 7
3 7

2.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
Начало работы программы.
x
Переменные X, Y, C не определены
y
c
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
x
y
c
;
;

3.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
Ввод исходных данных в память компьютера
с клавиатуры. Данные вводятся через пробел, в
конце ввода необходимо нажать клавишу ВВОД
(ENTER).
На
экране
компьютера
появляются
соответствующие значения переменных X и Y.
Пример: X > Y
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
x
y
c
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
8
5
8 5
Ввод
x
y
c
;
;

4.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
Проверка истинности условия X > Y в конструкции
неполного ветвления.
В нашем примере условие выполнено ( 8 > 5 )
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
x
8
y
5
c
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
8 5
x
y
c
;
;

5.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
:=
:=
:=
x
y
c
;
WRITELN ( x, y )
кон
Выполнение первого шага в процедуре
значениями между переменными X и Y.
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
END .
обмена
Дополнительной
переменной
C
временно
присваивается значение переменной X. Переменная C
после этого действия получает значение, равное 8.
x
8
y
5
c
8
8 5
8 5
5 8
;
;

6.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
Выполнение второго шага в процедуре
значениями между переменными X и Y.
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
обмена
Переменной X присваивается значение переменной
Y. Переменная X после этого действия получает новое
значение, равное 5. Прежнее значение стирается.
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
x
5
y
5
c
8
8 5
x
y
c
;
;

7.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
Выполнение третьего шага в процедуре
значениями между переменными X и Y.
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
обмена
Переменной Y присваивается значение переменной
С. Переменная Y после
этого действия получает
новое значение, равное 8.
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
x
5
y
8
c
8
8 5
x
y
c
;
;

8.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
:=
:=
:=
;
WRITELN ( x, y )
кон
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
END .
Вывод результатов решения задачи.
x
На экране компьютера отображаются новые значения
переменных X и Y (X = 5, Y = 8)
y
5
8
c
8
8 5
5 8
x
y
c
;
;

9.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
:=
:=
:=
;
WRITELN ( x, y )
кон
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
END .
Конец работы программы.
x
5
Выполнены все команды (операторы) программы.
В этом варианте трассировки алгоритма произошел
обмен значениями между переменными X и Y.
Задача решена.
y
8
c
8
8 5
5 8
x
y
c
;
;

10.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
Начало работы программы.
x
Переменные X, Y, C не определены
y
c
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
x
y
c
;
;

11.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
Ввод п исходных данных в память компьютера
Этот
с клавиатуры. Данные вводятся через пробел, в
конце ввода необходимо нажать клавишу ВВОД
(ENTER).
На
экране
компьютера
появляются
соответствующие значения переменных X и Y.
Пример: X < Y
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
x
y
c
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
3
7
3 7
Ввод
x
y
c
;
;

12.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
y
кв
END
условие
;
END .
Проверка истинности условия X > Y в конструкции
неполного ветвления.
примере
:=
:=
:=
WRITELN ( x, y )
кон
конец
В
нашем
(3 < 7)
BEGIN
c
вывод X, Y
не
выполнено,
x
3
y
7
c
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
3 7
x
y
c
;
;

13.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
Вывод результатов решения задачи.
x
Так как условие ветвления на предыдущем шаге не
выполнено, обмен значениями между переменными X
и
Y
не
происходит. На
экране
компьютера
отображаются значения переменных X и Y (X = 3, Y = 7)
y
c
3
7
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
3 7
3 7
x
y
c
;
;

14.

Задача: составить алгоритм упорядочивания значений двух переменных
начало
ввод X, Y
X>Y
нет
алг СОРТИРОВКА
вещ X, Y, C
нач
ввод X, Y
READLN ( x, y )
IF
C := X
то C := X
THEN
X := Y
X := Y
Y := C
Y := C
конец
BEGIN
c
y
кв
END
вывод X, Y
:=
:=
:=
;
WRITELN ( x, y )
кон
END .
Конец работы программы.
x
3
Выполнены все команды (операторы) программы.
В этом
варианте
трассировки
игнорируется
процедура обмена значениями между переменными
X и Y. Задача решена.
y
7
c
;
x>y
x
вывод X, Y
;
BEGIN
если X > Y
да
;
PROGRAM SORTING
VAR x, y, c : REAL
3 7
3 7
x
y
c
;
;
English     Русский Правила