Слайд 1Основные алгоритмические конструкции языка Pascal
Слайд 2Виды алгоритмов
линейные;
ветвящиеся;
циклические.
Слайд 3Линейные алгоритмы
В линейном алгоритме операции выполняются последовательно, в порядке их записи.
Каждая операция является самостоятельной, независимой от каких-либо условий.
На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
Слайд 4Линейные алгоритмы
Линейные алгоритмы имеют место, например, при вычислении арифметических выражений, когда
имеются конкретные числовые данные и над ними выполняются соответствующие условию задачи действия.
Слайд 5Пример линейного алгоритма
Составить блок – схему алгоритма вычисления арифметического выражения
у=(b2-ас):(а+с)
Слайд 7Алгоритм с ветвлением
Алгоритм называется ветвящимся, если для его реализации предусмотрено несколько
направлений (ветвей).
Каждое отдельное направление алгоритма обработки данных является отдельной ветвью вычислений.
Слайд 8Алгоритм с ветвлением
Ветвление в программе — это выбор одной из нескольких
последовательностей команд при выполнении программы.
Выбор направления зависит от заранее определенного признака, который может относиться к исходным данным, к промежуточным или конечным результатам.
Признак характеризует свойство данных и имеет два или более значений.
Слайд 9Алгоритм с ветвлением
Ветвящийся процесс, включающий в себя две ветви, называется простым,
более двух ветвей — сложным.
Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов.
Слайд 10Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа:
«да» — условие выполнено
«нет» — условие не выполнено.
Алгоритм с ветвлением
Слайд 12Пример алгоритма с ветвлением
Составить блок-схему алгоритма с ветвлением для вычисления следующего
выражения:
Y = (а+b), если Х <0;
с/b, если Х>0.
Слайд 13Кодирование ветвления в полной форме
if
then
условия>
else <команда, выполняемая при невыполнении условия>;
Слайд 14Кодирование ветвления в полной форме
Ключевые (служебные) слова Паскаля – if (если), then (то), else (иначе).
Слайд 15Кодирование ветвления в неполной форме
Пример.
if (х>y) { если текущее значение
х больше текущего значения y, }
then у := х { то текущее значение у полагаем равным текущему значению х, }
else x:= y; { иначе (при х <= y) текущее значение x заменяем на текущее значение y }.
Слайд 17Кодирование ветвления в неполной форме
if
then
условия>;
Слайд 18
Простой и составной операторы
Простой оператор не содержит в себе других операторов
(оператор присваивания, вызов процедуры,…).
Два последовательных оператора должны разделяться точкой с запятой (имеет смысл конца оператора):
a := 11; b := a * a; Write(a,b);
Слайд 19
Простой и составной операторы
Составной оператор – это последовательность операторов, рассматриваемых как
единый. Оформляется с помощью зарезервированных слов begin и end (операторные скобки).
Слайд 20
Простой и составной операторы
begin
a := 11;
b :=
a * a;
Write(a,b)
еnd;
Слайд 22Команда выбора
Алгоритмическая структура «выбор» применяется для реализации ветвлений со многими вариантами
серий команд.
В структуру выбора входят несколько условий, которые последовательно проверяются.
Слайд 23Команда выбора
При истинности одного из условий Условие 1, Условие 2 и т. д. выполняется
соответствующая последовательность команд Серия 1, Серия 2 и т. д.
Если ни одно из условий не истинно, то выполняется последовательность команд Серия.
Слайд 25
Команда выбора
case I of
1
: X := X +1;
2,3 : X := X +2;
4..9 : begin
Write(X);
X := X + 3
end
else
X := X * X;
Writeln(X)
end;
Слайд 27Циклические алгоритмы
Циклическими называются алгоритмы, содержащие циклы.
Цикл — это многократно повторяемый
участок алгоритма.
Слайд 28Виды циклов
Цикл называется детерминированным, если число повторений тела цикла заранее известно
или определено.
Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.
Слайд 29Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла "Пока"
(с предусловием)
Слайд 30Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла "Пока"
(с предусловием)
(тело цикла),
стоящий после служебного слова do, будет выполняться циклически до тех пор, пока выполняется логическое условие, т.е. пока значение <условного выражения> равно True.
Слайд 31Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла "Пока" (с предусловием)
Var F,N : LongInt; {вычисление
10!}
Begin
F := 1; N := 1;
while N <= 10 do
begin
F := F * N; Inc(N) {N := N + 1}
end;
Writeln(F)
End.
Слайд 33Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла "До" (с постусловием)
Операторы между словами
repeat и until образуют тело цикла.
Если <условное выражение> имеет значение True, то цикл завершается.
Слайд 34Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла "До" (с постусловием)
repeat
{ операторы begin ... end не требуются! }
until <логическое условие>;
Слайд 35Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла "До" (с постусловием)
Использование оператора repeat
... until оправдано тогда, когда нужны повторяющиеся действия, от выполнения которых зависит дальнейшее продолжение цикла.
Слайд 36Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла "До" (с постусловием)
Цикл "Пока" -
"пока условие истинно, выполнять операторы тела".
Цикл "До" - "выполнять тело цикла до тех пор, пока не станет истинным условие";
Слайд 37Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла c параметром (цикл по счетчику)
Используется
для организации "строгих" циклов, которые должны быть проделаны заданное число раз.
Слайд 38Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла c параметром (цикл по счетчику)
цикла> – переменная порядкового типа, к этому же типу должны относиться значения <выражения 1> и <выражения 2>.
Слайд 39Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла c параметром (цикл по счетчику)
Значение
<параметра цикла> меняется в возрастающем (при использовании зарезервированного слова to) или убывающем (downto) порядке от значения <выражения 1> до значения <выражения 2> с постоянным шагом, равным интервалу между двумя ближайшими значениями в типе, к которому относится <параметр цикла> (для целочисленных типов - это 1, для символьного - от одного символа к другому при увеличении кода на 1, и т.д.).
Слайд 40Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла c параметром (цикл по счетчику)
for
<счетчик1> := <значение1> to <конечное_значение> do <оператор1>;
Слайд 41Гл. 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ
Оператор цикла c параметром (цикл по счетчику)
for
<счетчик2> := <значение2> downto <конечное_значение> do <оператор1>;