Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вопрос 20. 1)Простейшие задачи имеют линейный алгоритм решения (имееют структуру "следование")



1)Простейшие задачи имеют линейный алгоритм решения (имееют структуру "следование").

Алгоритм линейной структуры представляет собой последовательность действий и не содержит каких-либо условий

Таким образом, в таких алгоритмах все этапы решения задачи выполняются строго последовательно, т.е. линейные алгоритмы выполняются в естественном порядке его написания и не содержит разветвлений и повторений.

Пример

Пешеход шел по пересеченной местности. Его скорость движения по равнине v1 км/ч, в гору — v2 км/ч и под гору — v3 км/ч. Время движения соответственно t1, t2 и t3 ч. Какой путь прошел пешеход?

Решение:

1. Ввести v1, v2, v3, t1, t2, t3.

2. S1:= v1 * t1.

3. S2:= v2 * t2.

4. S3:= v3 * t3.

5. S:= S1 + S2 + S3.

6. Вывести значение S.

7. Конец.

2) Рассмотрим полный условный оператор Паскаля:

if B then S1 else S2

Здесь if (если), then (то) и else (иначе) являются служебными словами, В – логическое выражение, а S1 и S2 – операторы.

Выполнение такого условного оператора в Паскале сводится к выполнению одного из входящих в него операторов S1 или S2: если заданное в операторе условие выполняется (логическое выражение В принимает значение true), то выполняется оператор S1, в противном случае выполняется оператор S2.

Алгоритм решения упомянутой выше задачи вычисления z= max(x, y) можно задать в виде условного оператора Паскаля

if x>y then z:= x else z:= y

При формулировании алгоритмов весьма типичной является такая ситуация, когда на определенном этапе вычислительного процесса какие-либо действия надо выполнить только при выполнении некоторого условия, а если это условие не выполняется, то на данном этапе вообще не нужно выполнять никаких действий. Простейшим примером такой ситуации является замена текущего значения переменной х на абсолютную величину этого значения: если x<0, то необходимо выполнить оператор присваивания x:= - x; если же x>=0, то текущее значение х должно остаться без изменений, т.е. на данном этапе вообще не надо выполнять каких-либо действий.

В подобных ситуациях удобна сокращенная форма записи условного оператора в Паскале:

if B then S

Правило выполнения сокращенного условного оператора Паскаля достаточно очевидно: если значение логического выражения В есть true, то выполняется оператор S; в противном случае никаких иных действий не производится.

В языке программирования Паскаль в условном операторе между then и else, а также после else по синтаксису может стоять только один оператор. Если же при выполнении (или невыполнении) заданного условия надо выполнить некоторую последовательность действий, то их надо объединить в единый, составной оператор, т.е. заключить эту последовательность действий в операторные скобки begin... end (это важно!). Если, например, при x< y надо поменять местами значения этих переменных, то условный оператор будет записан следующим образом в Паскале:

if x<y then begin r:=x; x:=y; y:=r end

Наличие сокращенной формы условного оператора Паскаля требует большой осторожности при использовании. Например, условный оператор

if B1 then if B2 then S1 else S2

допускает, вообще говоря, две разные трактовки:

как полный условный оператор Паскаля вида

if B1 then begin

if B2 then S1 end

else S2

как сокращенный условный оператор Паскаля вида

if B1 then begin

if B2 then S1 else S2 end

По правилам Паскаля имеет место вторая трактовка, т.е. считается, что каждое слово else соответствует первому предшествующему ему слову then. Для избежания возможных ошибок и недоразумений можно порекомендовать во всех подобных случаях четко выделять желаемую форму условного оператора Паскаля путем взятия в операторные скобки.

21) Цикл – это многократное повторение одного и того же действия. Действия, которые повторяются, называются шагом цикла. Условие, в течение которого действие выполняется, называется условием выполнения цикла.

Существуют три вида циклов:

1) Цикл с предусловием – условие выполнения проверяется до шага цикла.

While <условие выполнения> Do <оператор>;

Пример:

Program test1;

Var z:Integer;

Begin

z:=10;

Whilez>0 Do

z:=x-3;

WriteLn(z);

End.

2) Цикл с постусловием – условие выполнения проверяется после шага цикла.

Repeat

<оператор>;

<оператор>;

<оператор>;

Until <условие завершения>;

Пример:

Program test2;

Var b:Real;

Begin

b:=100;

Repeat b:=b/2;

Until b<10;

Writeln(b:0:2);

End.

3) Цикл с параметром – выполняется определенное заранее известное количество раз.

For <имя переменной>:=<нач. значение> To <кон. значение> Do <оператор>;

Пример:

Program test3;

Var j:Integer;

Begin

For j:=1 to 5 Do

WriteLn(‘*’);

WriteLn;





Дата публикования: 2015-02-03; Прочитано: 239 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...