Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
d
a
m
c
a
алг Деление дробей
=
;
Division
PROGRAM
=
:
b
n
c
b
d
цел a, b, c, d, m, n
;
VAR
:
a, b, c, d, m, n
INTEGER
нач
BEGIN
начало
ввод a, b, c, d
a, b, c, d
;
)
(
ввод a, b, c, d
READLN
m : = a d
m : = a d
a d
m
: =
;
n : = b c
: =
n
n : = b c
;
b c
вывод m
вывод m
(
)
m
WRITELN
;
вывод n
вывод n
)
WRITELN
(
n
кон
.
END
конец
Программа на языке Паскаль для вычисления результата деления одной простой дроби на другую является примером реализации линейного вычислительного алгоритма.
Программа начинается с заголовка (служебное слово PROGRAM ). За служебным словом следует произвольное имя, придуманное программистом. В конце заголовка ставится точка с запятой.
Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
a
c
a
d
m
алг Деление дробей
;
Division
PROGRAM
=
=
:
d
n
c
b
b
цел a, b, c, d, m, n
:
VAR
INTEGER
;
a, b, c, d, m, n
нач
BEGIN
начало
ввод a, b, c, d
a, b, c, d
ввод a, b, c, d
READLN
;
(
)
m : = a d
m : = a d
;
a d
: =
m
n : = b c
b c
;
n
: =
n : = b c
вывод m
n
m
c
b
вывод m
d
a
)
m
WRITELN
;
(
вывод n
вывод n
n
)
(
WRITELN
n
3
2
m
1
5
кон
.
END
конец
Раздел описания переменных, начинается со слова VAR , за которым следует список имен однотипных переменных через запятую. Идентификаторы переменных составляются из латинских букв и цифр (первый символ обязательно должен быть буквой. Тип указывается через двоеточие.
В нашем примере все переменные имеют целый тип ( INTEGER ). В конце описания каждого типа необходимо ставить разделитель – точку с запятой
2
Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
c
m
d
a
a
алг Деление дробей
:
Division
=
PROGRAM
;
=
c
b
d
n
b
цел a, b, c, d, m, n
;
a, b, c, d, m, n
:
VAR
INTEGER
нач
BEGIN
начало
ввод a, b, c, d
(
ввод a, b, c, d
;
READLN
a, b, c, d
)
m : = a d
m : = a d
;
: =
a d
m
n : = b c
n
n : = b c
b c
;
: =
вывод m
n
c
m
b
вывод m
d
a
)
WRITELN
;
m
(
вывод n
вывод n
)
n
WRITELN
(
3
2
m
n
1
5
кон
END
.
конец
Служебное слово BEGIN (начало) является операторной скобкой и с него начинается раздел операторов. Используется вместе с другой операторной скобкой - END (конец). Между этими служебными словами помещаются все операторы, из которых складывается программа.
3
Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
m
d
a
c
a
алг Деление дробей
Division
=
;
=
:
PROGRAM
d
c
b
n
b
цел a, b, c, d, m, n
VAR
a, b, c, d, m, n
;
:
INTEGER
нач
BEGIN
начало
ввод a, b, c, d
ввод a, b, c, d
;
a, b, c, d
)
(
READLN
m : = a d
m : = a d
a d
m
: =
;
n : = b c
;
n : = b c
: =
n
b c
вывод m
вывод m
n
m
c
b
d
a
;
WRITELN
m
)
(
вывод n
вывод n
(
)
WRITELN
n
n
3
2
m
1
5
кон
конец
END
.
По оператору READ ( READLN ) происходит ввод данных с клавиатуры. При выполнении команды ввода компьютер ожидает действий пользователя, который должен набрать на клавиатуре значения переменных в том порядке, в котором они указаны в списке, отделяя их друг от друга пробелами. Одновременно с набором данных на клавиатуре они появляются на экране (пример: 5, 9, 7, 13). В конце набора нажимается клавиша ВВОД (Enter).
1 3 2 5
4
Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
c
d
a
a
m
алг Деление дробей
;
=
PROGRAM
=
Division
:
d
b
n
b
c
цел a, b, c, d, m, n
VAR
:
;
INTEGER
a, b, c, d, m, n
нач
BEGIN
начало
ввод a, b, c, d
;
)
a, b, c, d
READLN
(
ввод a, b, c, d
m : = a d
m : = a d
a d
m
: =
;
n : = b c
: =
;
b c
n
n : = b c
вывод m
n
m
c
b
вывод m
d
a
m
)
WRITELN
;
(
вывод n
вывод n
n
)
(
WRITELN
3
2
5
n
1
5
кон
END
.
конец
1 3 2 5
В данном разделе программы с помощью операторов присваивания организован процесс вычисления значений переменных m и n по исходным данным a, b, c, d, значения которых были предварительно введены в компьютер с клавиатуры.
5
Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
c
a
a
m
d
алг Деление дробей
PROGRAM
Division
=
;
:
=
d
b
b
c
n
цел a, b, c, d, m, n
a, b, c, d, m, n
INTEGER
:
VAR
;
нач
BEGIN
начало
ввод a, b, c, d
ввод a, b, c, d
READLN
(
)
a, b, c, d
;
m : = a d
m : = a d
: =
;
m
a d
n : = b c
b c
n : = b c
;
n
: =
вывод m
n
m
вывод m
c
b
a
d
WRITELN
)
;
m
(
вывод n
вывод n
n
)
(
WRITELN
5
3
2
6
1
5
кон
конец
END
.
1 3 2 5
В данном разделе программы с помощью операторов присваивания организован процесс вычисления значений переменных m и n по исходным данным a, b, c, d, значения которых были предварительно введены в компьютер с клавиатуры.
6
Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
a
c
a
m
d
алг Деление дробей
PROGRAM
=
;
=
:
Division
d
n
b
b
c
цел a, b, c, d, m, n
;
INTEGER
:
a, b, c, d, m, n
VAR
нач
BEGIN
начало
ввод a, b, c, d
ввод a, b, c, d
;
a, b, c, d
)
(
READLN
m : = a d
m : = a d
;
: =
m
a d
n : = b c
n
b c
: =
;
n : = b c
вывод m
WRITELN
;
m
c
)
(
вывод m
m
n
b
a
d
вывод n
вывод n
n
)
(
WRITELN
6
5
2
3
5
1
кон
конец
END
.
1 3 2 5
5
Вывод результата на экран по оператору WRITE ( WRITELN ).
На этом шаге производится вывод значения переменной m ( 65 )
7
Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
a
a
m
c
d
алг Деление дробей
Division
=
;
PROGRAM
:
=
c
b
b
n
d
цел a, b, c, d, m, n
VAR
INTEGER
a, b, c, d, m, n
;
:
нач
BEGIN
начало
ввод a, b, c, d
(
)
a, b, c, d
;
READLN
ввод a, b, c, d
m : = a d
m : = a d
;
a d
m
: =
n : = b c
: =
;
b c
n : = b c
n
вывод m
c
b
вывод m
m
n
a
d
WRITELN
;
(
)
m
вывод n
(
n
вывод n
WRITELN
)
3
6
2
5
5
1
кон
.
END
конец
1 3 2 5
5
6
Вывод результата на экран по оператору WRITE ( WRITELN ).
На этом шаге производится вывод значения переменной n ( 63 )
8
Линейные алгоритмы на Паскале
Задача: разделить одну простую дробь на другую - получить результат
m
a
c
d
a
алг Деление дробей
:
=
=
PROGRAM
Division
;
b
n
d
c
b
цел a, b, c, d, m, n
VAR
:
INTEGER
a, b, c, d, m, n
;
нач
BEGIN
начало
ввод a, b, c, d
)
(
a, b, c, d
;
READLN
ввод a, b, c, d
m : = a d
m : = a d
;
a d
m
: =
n : = b c
n : = b c
: =
b c
;
n
вывод m
вывод m
(
)
m
WRITELN
;
вывод n
вывод n
WRITELN
n
(
)
кон
конец
END
.
1 3 2 5
5
6
Замыкающая операторная скобка END , означающая КОНЕЦ ПРОГРАММЫ. Используется вместе с другой операторной скобкой BEGIN (начало). Между этими служебными словами размещается программа на языке Паскаль. После слова END (в самом конце программы) ставится точка.
9