Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_учебник_3.doc
Скачиваний:
33
Добавлен:
11.04.2015
Размер:
937.47 Кб
Скачать

Основные различия между операторами циклов с постусловием и предусловием

1. В операторе цикла с предусловием задается условие работы цикла; в операторе цикла с постусловием - условие выхода из цикла .

2. В операторе цикла с предусловием условие проверяется в начале, а потом выполняется тело цикла (тело цикла может не выполниться ни разу); в операторе цикла с постусловием - условие проверяется в конце (тело цикла выполняется хотя бы один раз).

3. Между REPEAT и UNTIL можно поместить несколько операторов, в операторе цикла с предусловием тело цикла содержит только один оператор (иначе используются операторные скобки BEGIN ... END).

Пример 1

Написать программу для вычисления величины

для всех n, удовлетворяющих условию

1/(nx)2>a; (x≠0).

Решение

Так как n - в знаменателе, то при увеличении n дробь уменьшается.

Программа будет иметь следующий вид:

{Применение оператора цикла с предусловием}

Var

n:integer;

A,Z,x: real;

Begin

Read(x,a);

n:=1;

z:=0;

while 1/sqr(n*x)>a do {Если при n=1 условие истинно, то z будем увеличивать, иначе – сразу конец цикла и мы попадаем на вывод z}

begin

z:=z+1/sqr(n*x);

n:=n+1

end;

Write(z)

End.

Напишем структурную схему программы:

Задания

№1. Определить значение переменной S после выполнения следующих операторов:

а) s:=0;

i:=0;

While i<5 do i:=i+1; s:=s+1/i;

б) S:=0;

i:=1;

While i>1 do begin s:=s+1/i; i:=i-1 end;

№2. Вычисление f=10! описать каждым из трех вариантов оператора цикла.

№3. Найти сумму чисел, предшествующих первому отрицательному в последовательности данных чисел. (Должна многократно выполняться процедура ввода read(x).)

№4. Так же, как и в предыдущей задаче, рассмотрим все числа, предшествующие первому отрицательному в последовательности данных чисел. Написать программу, которая позволяет получить те из них, которые лежат в интервале от 1,5 до 2.

№5. Написать программу нахождения среди чисел 1, 1+1/2, 1+1/2+1/3,... первого, большего данного числа a.

№6. Комиссия отбирает студентов в колхоз и на СКЗ по следующему признаку: если студенту нет 18 лет, он едет в колхоз, а если есть - на СКЗ.

а) Сколько из первых 20 студентов, пришедших на комиссию, поедет на СКЗ?

б) Сколько студентов пройдет перед комиссией, прежде чем наберется первый отряд из 20 человек на СКЗ?

№7. Дана последовательность из 70 целых чисел, содержащая ноль. Определить местоположение первого неотрицательного числа в этой последовательности.

№8. Если среди чисел SinXn(n=1,2,...,30) (X?0) есть хотя бы одно отрицательное число, то логической переменнойtприсвоить значениеtrue, а иначе - значениеfalse.

№9. Дана непустая последовательность различных натуральных чисел, за которой следует 0. Определить порядковый номер наименьшего из них.

№10. Курсор находится на экране в точке с координатами (40,13). Организовать перемещение курсора по экрану, используя клавиши I(вверх),J(влево),K(вниз),L(вправо). (Вместо оператораREAD(C) использовать функциюREADKEYмодуляCRT. Учесть границы экрана.)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]