Файл: Обзор языков программирования высокого уровня (Операторы присваивания).pdf
Добавлен: 04.04.2023
Просмотров: 198
Скачиваний: 2
- словесное описание;
- построчная запись;
- блок-схема;
- запись на языке программирования.
Рисунок 2 – Формы представления алгоритмов
Словесное описание алгоритма характеризуется минимальным количеством ограничений и представляет собой наименее формализованный вид. Однако, алгоритм, записанный в словесной форме, получается менее строгим и допускает некоторые неопределенности. Кроме того, данная форма записи может оказаться очень объемной и трудной для человеческого восприятия. В качестве примера рассмотрим нахождение наибольшего общего делителя (НОД) двух чисел. Если числа равны, то НОД равняется любому из этих чисел. В противном случае из большего числа требуется вычесть меньшее, запомнить получившуюся разность, подставить ее вместо большего числа и повторить алгоритм.
Построчная запись алгоритма представляет собой запись на естественном языке с соблюдением следующих правил:
- шаги алгоритма должны быть пронумерованы;
- реализация шагов происходит согласно их порядковым номерам, начиная с первого;
- в качестве типичных шагов алгоритма выступает чтение данных, их запись, обработка, проверка какого-либо условия, переход к шагу с определенным номером, завершение вычислений.
Приведем пример записи алгоритма вычисления НОД двух чисел в построчной записи:
- ВводA, B
- ЕслиA = B, переход к шагу 8
- Если A>B, переход к шагу 6
- B = B – A
- Переход к шагу 2
- A = A – B
- Переход к шагу 2
- НОД = А
- Вывод НОД
- Конец
Построчная запись алгоритма сокращает количество неопределенностей. Кроме того, такая запись обеспечивает отработку навыков логически строгого изложения хода решения задачи и облегчает последующее изучение алгоритмических языков программирования. Основным недостатком такой записи является сложность ее восприятия для человека.
Наиболее популярным и наглядным способом представления алгоритмов является их графическое представление в виде блок-схем. Схемы представляют собой последовательность определенных блоков, которые предписывают выполнение некоторых функций. Блоки внутри себя содержат поясняющую информацию, которая и характеризует действия алгоритма.
Схема представляет собой некоторую абстракцию процесса решения задачи, отражая при этом наиболее значимые моменты. Схемы широко применяются с древних времен до настоящего времени - чертежи египетских пирамид, карты завоеванных земель, принципиальные электрические схемы и т.п.
На территории нашей страны действует единая система программной документации (ЕСПД), сформировавшаяся в 1981 г. Данная система описывает условные графические изображения, которые применяются в алгоритмах (ГОСТ 19.003-80 «Схемы алгоритмов и программ. Обозначения условные графические»), а также набор правил, которые следуют соблюдать при записи блок-схем (ГОСТ 19.002-80 «Схемы алгоритмов и программ. Правила выполнения»).
На сегодняшний день существует целое множество программных продуктов, облегчающих построение блок-схем. К ним относятся такие программы, как MicrosoftVisio, Dia, OpenOffice.orgDrawи т.п.
Основные блоки алгоритмов, используемые в блок-схемах, приведены на рисунках 3-8. Именно о данных конструкциях пойдет речь в следующей главе.
Рисунок 3 – Блок ввода/вывода
Рисунок 4 – Вычислительный блок (блок обработки данных)
Рисунок 5 – Блок принятия решения (проверки условия)
Рисунок 6 – Блок начала/конца программы
Рисунок 7 – Блок начала цикла
Рисунок – конца
В данной описана развития программирования, их а рассмотрено алгоритма.
ГЛАВА 2. ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКОВ
2.1 Присваивания
Дальнейшее операторов программирования уровня вести примере Паскаль. выбор простотой и синтаксисом.
В Паскаль присваивания двумя «:=», которыми ставится В части оператора стоять а правой – значение будет переменной.
Очень в можно конструкцию p:=p+1. запись содержит Внутри данный выполняется образом: берется значение к прибавляется После действий вычислений в p. образом языке реализуется переменной.
Очень следить, все которые в части присваивания, определены моменту исполнения. качестве частей вычисления переменных присваивания арифметические состоящие переменных, знаков скобок вызовов В случае построения аналогичны записи. операции, к данным в 1
Для реализации присваивания задачу гипотенузы по известным Согласно Пифагора, будет по
(1)
Таблица – арифметические над integer
|
Операция |
Обозначение |
Пример |
|
Сложение |
+ |
p 2 |
|
Вычитание |
- |
p– |
|
Умножение |
* |
p 2 |
|
Деление |
div |
p 2 |
|
Остаток деления |
mod |
p 2 |
Исходный программы:
Program
var
a,b,c:real;
begin
a:=3;
b:=4;
c:=sqrt(a*a+b*b);
end.
В программе только присваивания. этом двух переменным присваивается значение это треугольника. в случае вычисление определяющего из квадратов
В выполнения кода вычислит гипотенузы со b, занесет значение переменную
2.2 Ввода-вывода
Ввод вывод для программы внешним – образом получать данные пользователя выводить результаты экран. программа вывода имеет смысла. предыдущем было вычисление прямоугольного однако, использования вывода узнать полученный исполнении
В Паскаль ввода-вывода называть Они для данными программой внешними Так, можно данные клавиатуры, файла, данные экран в
Для с в Паскаль два Readи Для на – Writeln. «ln» от слова - линия. заканчивающиеся «ln» результате действий курсор новую Так, при оператора курсор на позиции последнего символа. в оператора очередные будут из же где курсор.
Традиционная данных содержит однако, может не В случае Writeln реализовывать переход новую а Readlnбудет ввода клавиши.
Кроме вывода в Паскаль и вывод, существует того, сделать на более Форматированный содержит позиций, при необходимо под переменной
В примера операторов модифицируем определения прямоугольного следующим
Program
uses
var
a,b,c:real;
begin
write('Катет =
readln(a);
write('Катет =
readln(b);
c:=sqrt(a*a+b*b);
writeln('Гипотенуза ',c:3:2);
writeln('Для нажмите клавишу...');
readln();
end.
В программе операторы исходных – прямоугольного Для результата экран форматированный Результаты программы на 9.
Рисунок – работы операторами
Кроме в используется Readln параметров, подтверждает программы. после любой программа сообщение том, ее завершена рисунок
Рисунок – работы ввода параметров
2.3 перехода
В Паскаль два операторов – и
Оператор перехода передачу оператору, предшествует метка. отметить, данный не к [16].
Рассмотрим программы использованием безусловного
ProgramOp_goto;
usescrt;
labelm1;
var
a:
begin
a:=5;
goto
a:=a*10;
m1: = a);
end.
Рассмотрим действий программы. первую переменной присваивается 5. в встречается безусловного который компьютеру о что оператор, исполнению, меткой Следовательно, действия – результата экран, не значения на Важно что a:=a*10 данной не никогда.
Результат данного приведен рисунке
Рисунок – работы оператором перехода
Другой оператора – переход. оператор для одной двух ветвей в от некоторого [20].
Условия таких представляют некоторые выражения, могут истинны, ложны. при могут простыми сложными. выражение в два и сравнения. представляют последовательность условий, объединены с знаками операций меньше, и В Паскаль четыре операции:
- логическое –
- логическое –
- отрицание not;
- исключающее -
В Паскаль условные с и ветвями. в операторе две такой называется (см. 12), противном – (см. 13)
Рисунок – ветвление
Рисунок – ветвление
В примера использующей ветвления, следующий
Program
uses
var
a,b,c:
begin
write('Введите треугольника:
read(a,b,c);
if or or
then ('Такого не
else
begin
if and then ('Минимальнаясторонаа ',a)
else (b<a) (b<c) writeln b ',b)
else ('Минимальная с ',c);
if then 50');
end;
end.
В программе запрос данных треугольника. происходит введенных – ли с сторонами. том если не пользователь соответствующее (см. 15), – определяет сторону выводит на
Для использования ветвления проверка треугольника. если больше программа соответствующее в случае завершит работу рисунок
Рисунок – работы полного
Рисунок – работы неполного
2.4 выбора
В случае, в операторе использовать чем ветви, пойти путями:
- использовать условия;
- использовать выбора.
Очевидно, вложенных является самым способом подобных поэтому языке был оператор Case, которого следующим
Case<ключ>of
C_1:
C_2:
…
C_N:
else<операторы
end;
В записи называется порядкового в от которого принимается Значениями C_2, C_N константы возможные значения которые рассмотреть вычислениях. значениям блоки которые если ключа со C. же ключа совпало с из констант, блок Важно что блок отсутствовать
В примера оператора рассмотрим определения года введенному
Program
uses
var
m:
begin
write('Введите месяца:
readln(m);
case of
1,2,12: года зима');
3,4,5: года весна');
6,7,8: года лето');
9,10,11: года осень');
elsewriteln('Такого не
end;
end.
В программе оператор который качестве использует несколько операторы которых Данный является удобным позволяет число программы 13 5. выполнения кода на 17.
Рисунок – работы оператором
2.5 цикла
Циклическим такой в задана последовательность для исполнения. последовательность называется цикла. что цикла в один но оно многократно. Однократное тела называется В программирования уровня, правило, три циклов:
- цикл предусловием while. из цикла его (см. 18). условие будет значение тело будет
Рисунок – цикла предусловием
Как из если цикла самого имеет «Ложь», тело ни не исполнено. в исполнения условие принимает «Истина», цикл исполняться – зацикливание. означает, в допущена Пример цикла предусловием:
Program
uses
var
N, integer;
begin
write('Введитецелоечисло =
readln(N);
writeln('Степени 2, превосходящие N);
p:=
while <= do
begin
write(p,'
p:= *
end;
writeln();
end.
Данная запрашивает пользователя число, затем все двойки, не заданное Результат программы на 19
Рисунок – работы с
- цикл постусловием repeat-until. данном сначала тело после проверяется записанное блоке (см. 20).
Рисунок – цикла постусловием
В случае, условие выполнено, тело не и переходит следующему Важно что данного выполняется минимум раз. использования цикла:
ProgramOp_post;
usescrt;
varm, sum:
begin
write('N ');
read(N);
m:=0;
sum:=0;
repeat
m:=m+1;
sum:=sum+m;
until
writeln первых чисел ',
end.
В программе сумма N чисел. задается с [12];
Рисунок - работы с
- цикл параметром for. цикл заданное раз. две записи цикла зависимости от каким должна переменная Если должна используется
for<переменная_цикла>:=
Если переменная должна используется запись:
for<переменная_цикла>:= [14].
Чаще данный используется обработке Рассмотрим подобной
Program
uses
var n, a:
begin
write('N ');
readln(n);
write('Введите элементов ');