Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Теоретическая часть. Для организации итерационных циклов, когда заранее не известно число повторений, применяют операторыWHILEDO и REPEATUNTIL.Запись оператора
Для организации итерационных циклов, когда заранее не известно число повторений, применяют операторы WHILE...DO и REPEAT...UNTIL. Запись оператора WHILE...DO начинается c ключевого слова WHILE, за которым следует условие выхода из цикла, ключевое слово DO и тело цикла: WHILE логическое условие DO {операторы тела цикла}; В формате: логическое условие - оператор отношения (логическое выражение), определяющий условие завершения цикла; операторы тела цикла — любой исполнимый оператор или блок операторов, заключенных в операторные скобки. Операторы, входящие в тело цикла, выполняются до тех пор, пока при проверке условия выхода из цикла получаем результат TRUE («истина»). Как только оно принимает значение FALSE («ложь»), управление передается оператору, следующему в программе за конструкцией WHILE... DO. Если условие имеет значение FALSE с самого начала выполнения оператора, то операторы тела цикла не выполняются ни разу. Оператор WHILE... DO реализует алгоритм циклической структуры с предусловием, так как условие выхода из цикла вычисляется и анализируется перед каждым выполнением тела цикла. Пример 8.1. Разработать схему и программу табулирования функции, заданной на отрезке [a, b], h шаг приращения аргумента x
a=1, b=6, h=0, 5. Значение d задать c клавиатуры.
Схема алгоритма и программа решения задачи.
Program tab; uses crt; {указание библиотечных модулей} var a, b, h, d, x, y: real; begin {начало раздела операторов} clrscr; writeln('введите границы интервала [a, b], шаг h-'); readln(a, b, h); {после ввода каждого значения нажать ENTER} write('введите значение d='); readln(d); {вывод заголовка таблицы значений функции на экран} writeln('таблица значений функции'); writeln(' x ', ' y'); x: =a; {начальное значение x} while x < = b do begin {вычисление y в зависимости от условия} if x< 2 then y: =12*d+x+cos(x*sqr(x)) else if x< =4 then y: =ln(abs(10 – sqr(x))) else y: = 4 + sin(sqr(x))/cos(sqr(x)); {вывод значений аргумента и функции на экран} writeln (x: 5: 2, ' ': 5, y: 5: 2); x: =x+h; {приращение аргумента h=0, 5 } end; readln; end.
Варианты заданий Составить блок-схему и программу вычисления значений функции Y(x), где a< = x < =b, h - шаг изменения x. Значения с, d задать самостоятельно как константы.
Контрольные вопросы 1. Для чего предназначен оператор цикла? 2. Какие виды циклов есть в Паскале? 3. Какой формат записи имеет оператор WHILEL? Как он работает? B каких случаях применяется? 4. Чем отличается оператор WHILE от оператора REPEAT 5. Что является телом цикла? 6. Как в теле цикла выполнить несколько операторов? 7. Почему перед выполнением цикла некоторым переменным нужно задавать начальные значения? 8. Что такое зацикливание? Как его избегать
|