Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен / шпора по турбо паскалю.docx
Скачиваний:
276
Добавлен:
10.02.2014
Размер:
385.64 Кб
Скачать

Var X: integer;

begin

x : = 1;

while x <= k do

begin

write(x,' ');

x: = x + 1;

end;

end.

Оператор цикла с постусловием в Паскале также используется в циклах с неизвестным числом повторений и с известным числом повторений. Вид оператора:

repeat s until b;

Здесь s – тело цикла, b - логическое выражение. При выполнении оператора сначала выполняется тело цикла, а затем проверяется логическое условие. Таким образом, обеспечивается, по меньшей мере, одно выполнение тела цикла. Цикл повторяется, пока логическое выражение ложно. Когда оно становится истинным, происходит выход из цикла.

Пример : Составить программу определения k, при котором x/k становится меньше или равн а, где k = 1, 2, 3… . Алгоритм решения представлен на рисунке.

Текст программы на Паскале:

Var X,a,p: real; k:integer;

begin

write (‘x=’);

readln (x); {ввод с клавиатуры значения х}

write (‘a=’);

readln (a); {ввод с клавиатуры значения a}

k : = 0; {начальное значение k перед циклом}

repeat {начало цикла}

k : =k+1; {увеличение k в цикле}

until x/k <= a; {проверка логического условия}

write(‘k=’,k); {вывод найденного значения k на экран}

end.

К циклам с неизвестным числом повторений относятся, в частности, итерационные циклы, в которых происходит последовательное приближение к результату с заданной точностью.

12. Программирование вложенных циклов. Массивы.

Циклы могут быть вложены один в другой. Пример: Составить программу для упорядочивания элементов массива (а1, а2, …а100), расположив их по возрастанию в том же массиве.

Алгоритм решения: каждый i–й элемент массива с первого по 99-й необходимо сравнивать со всеми j-ми элементами, имеющими более высокий порядковый номер. Например, первый элемент надо сравнивать со вторым, третьим, четвер-тым и т.д. Второй элемент надо сравнивать с третьим, четвертым, пятым и т. д. Если значение j-го элемента окажется меньше, чем i–го, эти элементы надо поменять местами в массиве. Для этого вводится промежуточная переменная amin. Сначала переменной amin присваивается значение j-го элемента, затем j-му эле-менту присваивается значение i–го элемента, и затем i–му элементу присваива-ется значение переменной amin. Во внутреннем цикле происходит сравнивание и обмен значений элементов, во внешнем цикле меняется номер i–го элемента. Алгоритм представлен также на рисунке.

Текст программы на Паскале:

Var amin:real; I, j : integer; a:array[1..100] of real;

begin

for i:=1 to 100 do {ввод данных}

readln a[i];

i:=0;

repeat {Внешний цикл}

i:=i+1;

j:=i;

repeat {Внутренний цикл}

j:=j+1;

if a[i]>=a[j] then {Сравнивание и обмен элементов массива}

begin

amin:=a[j]; a[j]:=a[i]; a[i]:=amin;

end;

until j>=100;

until i>=99;

for i:=1 to 100 do {вывод упорядоченного массива на экран}

writeln(a[i]);

end.

13. Процедуры и функции в Паскале

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

х: =sin(а);

Процедура может быть вызвана, например:

write(a);

Процедуры и функции в Паскале бывают стандартные и нестандартные, т.е. определённые пользователем. Стандартные функции и процедуры не требуют описания. В Паскале их существует более 200. Некоторые стандартные функции были перечислены выше. Примеры стандартных процедур: ClrScr – очистка экрана, курсор перемещается в верхний левый угол. Delay(t) – задержка программы на t миллисекунд. GotoXY(x,y) – перемещение курсора в точку с координатами (x,y). Exit – выход из текущего блока или из программы. Нестандартные процедуры и функции должны быть описаны. Их структура, в принципе, такая же, как и основной программы. Пример использования нестандартной процедуры: вычислить

Алгоритм решения: в программе используется процедура step, в которой описано вычисление выражения вида xy. Значение выражения присваивается переменной s. При вызове процедуры в блоке операторов основной программы, вместо x,y,s используют-ся другие параметры. Например, при первом вызове процедуры вычисляется выражение ab, значение которого присваивается переменной S1.

Текст программы на Паскале:

program zet;