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

Условный и составной операторы.

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

if В then P1 else P2;

где В – условие, Р1 и Р2 – операторы. Если условие В удовлетворяется, то выполняется Р1, иначе выполняется Р2. В качестве условий используются отношения: =, >, <, >=(), <=(), <>().

Например: определить максимум из двух чисел (x1,x2):

if x1>x2 then max:=x1 else max:=x2;

Задача3: написать программу вычисления значения y по значению х:

Допускается сокращенная форма условного оператора:

if B then P;

где В – условие, Р – оператор, выполняющийся в случае, если условие истинно. Если же условие ложно, то будет выполнен оператор, следующий за условным оператором.

В условном операторе после then и else можно помещать по одному оператору. Однако часто необходимо в зависимости от результата проверки выполнить ту или иную группу операторов. В ТР такая группа операторов составляет составной оператор. Структура составного оператора:

begin P1; P2;…;Pn; end;

где Р1,…,Рn – любые операторы.

Задача4: написать программу, вычисляющую корни квадратного уравнения ax2+bx+c=0, заданного коэффициентами a, b и с. Если дискриминант отрицательный, то вывести ноль.

В данной задаче можно выдать сообщение в виде «корней нет» или «корень кратный», для этого нужно в самой программе ввести строки с оператором вывода: write(‘корней нет’). Вообще, в операторе вывода могут указываться не только переменные, но произвольные выражения (будет вычислено их значение и выведено на экран) и тексты (ограниченные с обоих сторон штрихом). Например, корнb можно вывести как:

write(‘x1=’,x1,’ ,x2=’,x2);

Возможность использования выражений в операторе вывода часто позволяет исключать из программы некоторые переменные.

В ТР дополнительно включены операторы ввода и вывода: readln и writeln с той разницей от предыдущих, что после выполнения происходит переход на другую строку. Если у этих операторов отсутствуют аргументы, то readln – пропускает строку и курсор ожидания переводится на другую строку, writeln – производит переход на новую строку.

Пропуски строк и выводы групп пробелов широко используются при оформлении выводимой информации в виде таблиц и графиков.

Циклы

Многократно повторяемые действия могут быть заданы оператором цикла.

  1. Цикл с условием или цикл «пока»:

while B do P, где В – условие, Р – оператор, называемый телом цикла. Выполняется оператор цикла следующим образом: проверяется условие В, и если оно удовлетворено, то выполняется Р, а затем вновь проверяется условие В и т.д. Как только на очередном шаге окажется, что условие В не удовлетворяется, то выполнение оператора цикла прекратится. Цикл while – это цикл с предусловием.

Задача 5. написать программу, вычисляющую сумму 1 + х/1! + х2/2! + …. При суммировании учитываются только слагаемые, большие по абсолютной величине данного положительного числа .

  1. Цикл с параметром или цикл «для»:

for i:=A to B do S, здесь i – некоторая переменная типа integer, которая называется параметром цикла, А и В – выражения со значением типа integer, S – оператор цикла. Предполагается, что в выражения А и В не входит переменная i и что выполнение оператора S не приводит к изменению значений параметра цикла i и тех переменных, которые входят в А и В. Такой оператор цикла заставляет переменную i последовательно принимать значения А, А+1, А+2, … ,В. Для каждого из этих значений выполняется оператор S. Если значение А больше значения В, то оператор S не будет выполнен ни разу.

Еще один вариант цикла с параметром: for i:=A downto B do S, здесь i принимает последовательно значения А, А–1, А–2, … ,В и для каждого из них выполняется оператор S, если же значение А меньше значения В, то оператор S не выполняется ни разу.

Следует иметь в виду, что по окончании выполнения оператора цикла с параметром значение i считается неопределенным.

Задача 6. Вводятся последовательно 10 чисел и из них выбирается наименьшее.

Замечание: значение наименьшего элемента вычисляется за 10 шагов, первый из которых состоит в присваивании с помощью оператора ввода переменной y значения первого элемента; остальные 9 шагов выполняются с помощью оператора цикла. После выполнения i-ого шага значение переменной y равно наименьшему из первых i чисел.

В программе строку for i:=2 to 10 do можно заменить строкой

for i:=1 to 9 do или

for i:=10 downto 2 do.

– от этого ничего не изменится, так как сами значения параметра цикла при выполнении программы не используются, и существенным является только число шагов цикла.

При написании программ оператор цикла с условием необходимо применять в тех случаях, когда число шагов не устанавливается заранее непосредственным рассмотрением значений переменных. Но в тех случаях, когда число шагов легко определяется по исходным данным, удобно использовать оператор цикла с параметром.

Задача 7. Обозначим: fi=… Написать программу вычисления произведения f0*f1*…*fn.

  1. Цикл повтора или цикл «до»:

repeat P until S, где Р – тело цикла, S – условие, проверяемое каждый раз после выполнения оператора Р. оператор Р выполняется до тех пор, пока условие, стоящее после слова until, ложно. Для завершения цикла в операторе Р обязательно должны быть инструкции, выполнение которых влияет на условие завершение цикла. Цикл repeat – это цикл с постусловием, т.е. оператор цикла будет выполнен хотя бы один раз.

Задача 8. составить программу вычисления и печати множества значений функции y=x2+b для х, изменяющегося от a до c с шагом d. Пусть b=5.

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