Реферат: Паскаль. Отладка программ

Идеальная логика эквивалентности:

If Ready then Exam_ok := true else Exam_ok := false;

Управление вычислительным процессом, цикл for

В математических задачах часто встречается необходимость неоднократного повторения одинаковых действий. Рассмотрим, например, вычисление суммы N членов гармонического ряда

Естественный алгоритм для решения такой задачи:

(1) обозначим искомую сумму S и присвоим ей значение, равное нулю;

(2) последовательно N раз вычислим слагаемые ряда и прибавим их к переменной S.

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

for < счетчик цикла> := < первое значение> to < последнее значение> do

<тело цикла>;

for < счетчик цикла> := < первое значение>

downto < последнее значение> do<тело цикла>;

Счетчик цикла — это переменная одного из порядковых типов (из порядковых типов мы пока знаем только целые и логический тип, в главе 7 понятие порядкового типа будет расширено). Назначение этой переменной очевидное — она хранит число повторений операторов тела цикла, следующего за словом do. Значение счетчика цикла изменяется автоматически от первого до последнего значения и увеличивается на единицу для первой формы записи (с оператором to) или уменьшается на единицу для второй формы записи (с оператором downto). Дополнительные изменения значения счетчика цикла в части, обозначенной здесь как <тело цикла>, запрещены. В качестве первого и последнего значения могут использоваться конкретные числа, другие переменные целого типа, вычисленные ранее, и выражения, имеющие значения целого типа.

Операторы тела цикла выполняются только один раз, если верхнее и нижнее значения счетчика совпадают. Если в операторе for .. to последнее значение счетчика цикла меньше первого, то тело цикла не выполняется ни одного раза. В операторе for.. downto цикл не выполняется, если последнее значение счетчика больше первого.

Программа с циклом for, которая вычисляет сумму N членов гармонического ряда1 :

Program Sum; {сумма N членов гармонического ряда}

var x: byte; {счетчик цикла}

s : real; {сумма ряда}

N : byte; {число членов ряда}

begin

Write('N = '); ReadLn(N); {ввод числа членов ряда}

s := 0; {начальное значение суммы}

тогх:= 1 toNdos:=s+ 1/х; {подсчет суммы}

WriteLn( 'S = ', s); {вывод результата}

ReadLn {ожидание нажатия клавиши Enter}

end.

Оператор, следующий после слова do, может быть составным (представлять собой группу операторов).

Пример. Найти нечетные и кратные трем числа в диапазоне от 30 до 60 включительно. Распечатать их в порядке убывания.

Условие нечетности целого числа — Odd(J). Условие кратности трем — равенство нулю остатка от деления i mod 3=0. Нас интересуют числа, удовлетворяющие обоим условиям, то есть числа, для которых истинно Odd(i) and (i mod 3 = 0). Убывающий порядок следования чисел обеспечивает оператор for.. downto. Таким образом, программа будет иметь вид

К-во Просмотров: 438
Бесплатно скачать Реферат: Паскаль. Отладка программ