
- •Курс: «Алгоритмические языки и программирование»
- •СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ
- •Оператор ПРИСВАИВАНИЯ
- •Логические операции
- •Пр.1. Для задания явного порядка выполнения операций используются
- •ОСНОВЫ АЛГОРИТМИЗАЦИИ
- •Способы записи алгоритмов
- •Графические обозначения в СА (ГОСТ 19.701-90)
- •Граница цикла

Курс: «Алгоритмические языки и программирование»
Лекции, практические занятия: к.т.н., доцент Ольга Павловна Шафеева
Лабораторные работы: магистр Дмитрий Вячеславович Калекин,
ст.преподаватель Марина Спартаковна Дорошенко
1

СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ
program a1_4;
var a,b,c: real; {вещественный тип} begin
writeln('Введите a b'); {сообщение на экран} read(a,b); {ввод a и b}
c: = a/b;
writeln (‘c=‘, c:5:2); {с:общее_число_поз:после_дес_тчк}
end.
65.34 -2.01
2

Оператор ПРИСВАИВАНИЯ |
Лекция 2 |
|
|
<имя переменной>:=<выражение>; |
|
<Идентификатор>:=<выражение>; |
|
INTEGER, REAL, BOOLEAN, CHAR, SТRING |
|
1) арифметический оператор присваивания |
|
|
x:=0; |
|
(для VAR x:INTEGER;); |
|
|
|||
|
Y:=Y+1.1; |
|
(для VAR Y:REAL;) |
|
|
|||
|
2) |
логический оператор присваивания |
|
|
||||
|
f1:=false; f2:=true; |
|
(VAR f1, f2:BOOLEAN;); |
|
||||
|
B:=(X<0) OR (K>1); |
(VAR X,K:REAL; B:BOOLEAN;) |
|
|||||
|
3) |
символьный (литерный) |
S:='+'; A:=S; |
(VAR A, S:CHAR;). |
|
|||
|
4) |
Строковый |
Var ss:string; |
ss :='строка'; |
|
|||
VAR |
X,Y:INTEGER; |
A: real; |
|
|
|
|||
... |
A:= X*Y; {автоматическое преобразование к вещественному} |
|
||||||
|
|
... |
A:=4.6; |
|
|
|
|
|
|
X:= TRUNC(A); {отбрасывается дробная часть} { X=4 } |
|
||||||
|
Y:= ROUND(A); |
{округление} |
{ Y=5 } |
3 |

Логические операции
С одним операндом
Операнд |
not x |
|
х |
TRUE |
|
FALSE |
||
TRUE |
FALSE |
|
|
НЕ |
|
|
с двумя операндами |
|||||
|
|
|
|
|
|
|
|
X |
|
Y |
|
and |
or |
|
xor |
False O |
False O |
False O |
False O |
False O |
|||
|
|
|
|
|
|
|
|
False O |
True 1 |
|
False O |
True 1 |
|
True 1 |
|
True |
1 |
False 0 |
False 0 |
True |
1 |
True |
|
1 |
1 |
True 1 |
|
True 1 True 1 |
False 0 |
||
True |
|
||||||
|
|
И |
|
ИЛИ |
искл.ИЛИ |
Приоритет операций в выражении
Арифметические |
Логические |
Отношения |
Другие\ Приоритет |
|
|
NOT |
|
@-адресное |
1 |
|
|
|
||
*, /, DIV, MOD |
AND,SHL,SHR |
|
преобразование 2 |
|
+, - |
OR,XOR |
|
|
3 |
|
|
|
||
|
|
<=,>=,<>,<,>,= |
IN |
4 |
Пр. логического выражения: (x>0)AND (y>0)
4

|
|
|
Тип |
Операции |
Обозначение |
|
|
Операндов |
Результата |
Арифметические |
+,-,* |
R или I |
I, если оба операнда |
|
|
|
|
целые |
|
|
|
|
R при исходн.одномR |
|
|
|
|
|
|
Деление |
/ |
R или I |
R (вещественный) |
|
|
|
|
|
|
Деление с |
DIV |
|
|
|
отбрасыванием остатка |
|
I (целый) |
I |
|
Вычисление остатка |
|
|||
MOD |
|
|
||
при деление чисел |
|
|
||
|
|
|
|
|
Отрицание |
NOT |
|
Логический |
|
Логическое сложение |
OR |
логический |
|
|
Логическое |
AND |
|
||
|
|
|||
умножение |
|
|
|
|
Исключающее «или» |
XOR |
|
|
|
Сравнения на |
= |
любой тип |
Логический |
|
равенство |
|
|
||
и неравенство |
< > |
|
|
|
|
|
|
|
|
Сравнения |
>,<=,>=,< |
Любой тип |
Логический |
|
|
||||
|
|
|
|
|
Сдвиг влево содержи- |
i SHL j |
|
|
|
|
Целый |
|||
мого i на j разрядов |
Целый |
|||
двоичный |
||||
Сдвиг вправо содер- |
i SHR j |
двоичный |
|
|
жимого i на j разрядов |
|
|

|
|
Стандартные функции |
Тип |
|
|
|
Выполняемые функции |
|
|
||
|
аргумента |
функции |
|
||
|
|
|
|
||
|
|
|
|
|
|
ABS(X) |
IXI |
|
I или R |
I или R |
|
SQR(X) |
X 2 |
(квадрат) |
|
|
|
SIN(x) |
SIN X |
R |
R |
|
|
COS(x) |
COS X |
или |
(вешест- |
|
|
EXP(x) |
|
ex |
|
||
LN(x) |
Ln X |
_ |
I |
венный) |
|
SQRT(x) |
|
√х (корень квадратный) |
|
|
|
ARCTAN X |
|
|
|
||
ARCTAN(x) |
|
|
|
||
|
|
|
|
|
|
TRUNC(X) |
выделение целой части числа |
R |
I (целый) |
|
|
ROUND(X) |
округление Х до ближайшего целого |
|
|
|
|
|
|
|
|
|
|
PRED(X) |
нахождение предшествующего |
|
|
|
|
|
значения (в его типе) |
|
|
|
|
SUCC(X) |
нахождение последующего |
I, B или C |
I, B или C |
|
|
|
элемента (значение, следующее за |
|
|
|
|
|
Х в его типе) |
|
|
|
|
ORD(X) |
определяет порядковый номер Х |
Порядко-вый |
I |
|
|
|
в его типе |
тип (С) |
|
|
|
CHR(X) |
определяет значение символа |
I |
C |
|
|
|
по его порядковому номеру |
|
(символьный) |
|
|
ODD(X) |
логическая функция проверки |
I (целый) |
B |
|
|
|
нечетности(функция истинна, если |
|
(логический) |
|
|
|
целое число X нечетно) |
|
6 |
|
|
|
|
|
|
|

Пр.1. Для задания явного порядка выполнения операций используются
круглые скобки |
(A=B) AND (C<=0) |
Пр.2. 15 DIV 6/2 вычисляется как (15 div 6)/2 = 2/2 = 1;
15 MOD 6 вычисляется как 15 mod 6 = 3
Пр.3. Для |
VAR X,Y:real; |
|
D: boolean; |
запись D>Z or X>Y бессмысленна (надо (D>Z) or(X>Y) )
Пр.4 Var
B, C, D, L: boolean;
S:char; |
|
|
|
|
Begin |
{TRUE или FALSE} |
|
|
|
. . . |
B:=S< >'+'; |
|
|
|
|
L:=D OR B<= NOT C; {TRUE или FALSE} |
|
||
END. |
{ 2 3 |
1 } |
|
|
|
|
|
|
|
Математические правила для реализации в Паскале |
||||
tg x реализуется как sin(x)/cos(x) |
|
|
||
Loga b |
- |
ln(b)/ln(a) |
Pi - |
3,141592... |
Lg b |
- |
ln(b)/ln(10) |
|
|
ax |
- |
exp(x*LN(a)) |
|
7 |

ОСНОВЫ АЛГОРИТМИЗАЦИИ
Алгоритм
"алгоритм" (algorithm)
ал-Хорезми (из Хорезма) 1Х век
Алгоритм представляет собой последовательность
арифметических и логических действий над данными, приводящую к получению решения задачи (вычислению результата, если данные числовые) при изменениях исходных данных в достаточно широких пределах.
Алгоритм обладает следующими свойствами:
1.Дискретность
2.Определенность (детерминированность)
3.Связность
4.Конечность
5.Результативность
6.Массовость
7.Эффективность
8

Способы записи алгоритмов
1)Словесно-формульная запись на естественном языке;
2)Схемы алгоритмов (СА)
3)Специальные языки ( алгоритмические языки и
псевдокоды )
Пример. Найти наименьшее из трех чисел А, В и С. Словесная форма записи алгоритма
1.Ввести числа А, В, С.
2.Присвоить MIN=A (значение 1-го числа)
3.Сравнить MIN>B? Если "да", то выполнить присваивание
MIN=B
(иначе останется MIN=A)
4. Сравнить MIN>C? Если "Да", то присвоить MIN=C, иначе перейти к следующему шагу
5. Вывести на печать значение, полученное под именем MIN.
Конец. (Прекратить решение задачи)
ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, программ, данных и систем. М. 1991 (см. приложение 1 метод.указаний).
соотношения сторон в блоке 3:2 или 2:1
9

Графические обозначения в СА (ГОСТ 19.701-90)
Символ |
Наименование |
Назначение |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данные |
Символ отображает данные, |
||
|
|
|
|
|
носитель данных не определен |
|||
|
|
|
|
|
Процесс |
Отображает функцию обработки |
||
|
|
|
|
|
данных (выполнение отдельной |
|||
|
|
|
|
|
|
операции или группы операций). |
||
|
|
|
|
|
|
|||
|
|
|
|
|
Предопределен |
Отображает предопределённый |
||
|
|
|
|
|
||||
|
|
|
|
|
процесс, состоящий из одной или |
|||
|
|
|
|
|
-ный процесс |
нескольких операций программы, |
||
|
|
|
|
|
||||
|
|
|
|
|
|
которые определены в другом |
||
|
|
|
|
|
|
месте (подпрограмме, модуле) |
||
|
|
|
|
|
Подготовка |
Отражает инициализацию и моди- |
||
|
|
|
|
|
|
фикацию параметра для управ- |
||
|
|
|
|
|
|
ления циклом со счетчиком |
||
|
|
|
|
|
Решение |
Отображает функцию |
||
|
|
|
|
|
переключательного типа, имеющую |
|||
|
|
|
|
|
|
один вход и ряд альтернативных |
||
|
|
|
|
|
|
выходов, один из которых может |
||
|
|
|
|
|
|
быть активизирован после |
||
|
|
|
|
|
|
вычисления условия внутри символа |
|
|
|
|
|
|
|
|
10 |