
- •1.Этапы решения задач с использованием комп.
- •2.Способы описания алгоритмов
- •3.Понятие алгоритм,Типы алгоритмов
- •4. Блок схемы алгоритмов. Гост.
- •6.Алгоритм ветвления(пример)
- •7.Алгоритм цикла с предусловием (пример)
- •8.Алгоритм цикла с постусловием(пример)
- •9.Алгоритм цикла с параметром(пример)
- •10.Алгоритм итерационного цикла(пример)
- •11.Сложные(вложенный )циклы (пример)
- •12.Алгоритм ввода и вывода одномерного массива чисел(пример)
- •13.Алгоритм нахождения суммы и произведения чисел одномерного массива
- •14.Алгоритм нахождения max значения в одномерном массиве(пример)
- •15.Алгоритм нахождения min значения в одномерном массиве(пример)
- •16.Алгоритм нахождения количества отрицательных элементов в одномерном массиве(пример)
- •17.Алгоритм сортировки элементов одномерного массива(пример)
- •18.Алгоритм ввода и вывода элементов двумерного массива(пример)
- •19.Алгоритм нахождения сумм значений матриц по строкам и столбцам(пример)
- •20.Алгоритм нахождения max значения в двумерном массиве(пример)
- •21.Алгоритм нахождения суммы элементов матрицы на главной диагонали(пример)
- •22.Алгоритм нахождения суммы элементов матрицы на побочной диагонали(пример)
- •23.Язык Паскаль.Типы данных.Встроенные функции
- •24.Арифметические выражения в языке Паскаль.Приоритеты операций(пример записи ариф. Выражения)
- •25. Логические операции.Операции отношений.Приоритеты операций(пример записи логического выражения)
- •26.Оператор присваивания в языке Паскаль(пример)
- •27.Оператор ввода в языке Паскаль (read,readln)
- •28.Условный оператор if(полная и сокращенная форма записи)
- •29.Оператор выбора case (общая форма записи)
- •30.Оператор цикла с предусловием (while………)
- •31.Оператор цикла с постусловием (repeat……..)
- •32.Оператор цикла с параметром(for…….)
- •33.Операторы вывода информации (write,writeln….)
- •34.Составные операторы в языке Паскаль
- •35.Линейные программы (пример)
- •36.Разветвляющиеся программы с использованием оператора if(пример)
- •37.Разветвляющиеся программы с использованием оператора case(пример)
- •38.Циклические программы,содержащие циклы с предусловием (пример)
- •39.Циклические программы,содержащие циклы с постусловием(пример)
- •40.Циклические программы,содержашие циклы с параметром(пример)
- •41.Программа ввода и вывода значений одномерного массива(пример)
- •42. Программа ввода и вывода значений двумерного массива(пример)
- •1.Этапы решения задач с использованием комп.
- •2.Способы описания алгоритмов
- •3.Понятие алгоритм,Типы алгоритмов
39.Циклические программы,содержащие циклы с постусловием(пример)
Цикл с постусловием, в котором сначала выполняется оператор или группа операторов, а затем проверяется условие, реализуется на языке Pascal с помощью структурированного оператора repeat…until. Формат оператора:repeat <операторы цикла> until <условие>; где
· repeat, until – служебные слова (повторять до тех пор, пока не будет выполнено условие);
· <операторы цикла> – повторяющаяся в цикле последовательность операторов (тело цикла). Использовать в качестве тела цикла операторные скобки begin…end нецелесообразно, т. к. роль скобок в данном случае играют зарезервированные слова repeat и until;
· <условие> – выражение логического типа.
Принцип действия оператора repeat…until:
1 Выполняются операторы, расположенные между операторами repeat…until, составляющие тело цикла.
2 Вычисляется значение логического выражения (проверяется условие), стоящего после слова until. Если результатом вычисления значения логического выражения (проверки условия) является ответ false (ложь), то операторы, составляющие тело цикла, выполняются вновь.
3 Если результатом вычисления значения логического выражения (проверки условия) является ответ true (истина), то оператор repeat…until заканчивает свою работу, и управление передается на следующий за ним оператор.
Как следует из описанного алгоритма, повторение действий 1, 2 продолжается до тех пор, пока результатом вычисления логического выражения не станет ответ true (истина), т. е. пока не выполнится условие.
Примечания.
1 Тело цикла оператора repeat…until обязательно должно содержать оператор, действие которого влияет на значение логического выражения (изменяет значения входящих в него операндов). Иначе неизбежно «зацикливание».
2 Тело цикла repeat…until обязательно повторится хотя бы один раз при любом значении логического выражения.
Пример 2. Составить программу для вычисления и вывода на экран значений функции при х, изменяющемся в диапазоне от -3 до 6 с шагом 0,3, используя оператор с постусловием.
Решение.
Program prim_r;
var x, y: real;
begin
x:=-3;
repeat
y:=cos(exp(x*ln(5))/abs(x+2));
writeln('x=',x:4:2,' y=',y:7:3);
x:=x+0.3;
until x>6
end.
40.Циклические программы,содержашие циклы с параметром(пример)
Цикл с параметром for…to…do
Цикл с заранее известным числом повторений может быть реализован на Pascal с помощью оператора цикла с параметром for… to… do. Формат оператора:for <параметр цикла> :=<нач_знач> to <кон_знач> do <оператор>;где
· for, to, do – служебные слова (для, до, выполнить);
· <параметр цикла> – параметр цикла, в качестве которого выступает переменная типа integer (byte);
· <нач_знач> – начальное значение параметра цикла: константа, переменная или выражение типа integer (byte);
· <кон_знач> – конечное значение параметра цикла: константа, переменная или выражение типа integer (byte);
· <оператор> – простой, составной или структурированный оператор (тело цикла).
Принцип действия оператора for… to… do:
1 Параметру цикла присваивается начальное значение, и операторы цикла выполняются в первый раз.2 Параметр цикл увеличивается на единицу, т. е. <параметр_цикла> := <нач_знач> + 1. Тело цикла выполняется во второй раз.3 При каждом увеличении параметра цикла на единицу, тело цикла повторяется вновь. 4 В последний раз тело цикла выполняется при достижении параметром цикла конечного значения, т. е. <параметр_цикла> := <кон_знач>.
Таким образом, операторы тела цикла for… to… do выполнятся ровно <кон_знач> − <нач_знач> + 1 раз. Если конечное значение параметра цикла меньше начального, то можно использовать иной формат оператора:for <параметр цикла> :=<нач_знач> downto <кон_нач> do <оператор>;
В этом случае шаг изменения параметра цикла равен -1.
Примечание − В некоторых версиях среды Turbo или Free Pascal параметр цикла может быть использован в качестве операнда выражений и операторов, составляющих тело цикла, но не может быть изменен.
Пример 3. Составить программу для вычисления и вывода на экран значений функции при х, изменяющемся в диапазоне от -3 до 6 с шагом 0,3, используя оператор с известным числом повторений.Решение.
Program prim_f;
var x, y: real;
begin
x:=-3;
n:=round((6-(-3))/0.3)+1;
for i:=1 to n do
begin
y:=cos(exp(x*ln(5))/abs(x+2));
writeln('x=',x:4:2,' y=',y:7:3);
x:=x+0.3
end;
end.