Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / lect6.doc
Скачиваний:
7
Добавлен:
20.05.2014
Размер:
64.51 Кб
Скачать

** vcp1 ** 1.03.2004

Лекция 6 Цикл при вычислении суммы.

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

6.1 Вычисление суммы

Пусть нужно вычислить сумму

S=sin(n/2) или в общем случаеS=f(n) ,( 6.1)

n n

где n= 1,2 . . 20 .

Для вычисления сумм обычно используют цикл. Рассмотрим алгоритм

для общего случая.

1. Обнуление суммы S ( S=0. ).

2. Начало цикла по n.

3. Вычисление текущего слагаемого f(n), где f(n)- это формула для слагаемого.

4. S = S + f(n).

5. Конец цикла по n.

Приводим фрагмент программы, реализующей этот алгоритм.

. . . .

int n ; double t, S = 0. ;

for ( n = 1; n < 21 ; n++ ) ( 6.2)

{ t = sin (n / 2.) ; S + = t ; }

. . . .

Пункты 3 и 4 алгоритма можно объединить в один, т.е. не использовать

переменную t, а записать формулу для слагаемого f(n) в пункт 4:

S = S + sin ( n/2. ) ; или S + = sin ( n/2. ) ;

Следует обратить внимание на операцию деления в программе. Если

записать n/2 вместо n/2. , то будет ошибка в вычислениях всех слагаемых

с нечетными номерами n из-за отбрасывания дробной части при

делении целых чисел. Напомним, что в операциях с целыми числами

целое на целое дает целое.

Вместо n/2. лучше записать 0.5*n

Произведение вычисляется аналогичным образом, но в пункте 1 алгоритма

вместо обнуления суммы нужно начальному значению произведения присвоить

значение 1. вместо нуля. При этом имеем в (6.2) S = 1.; S * = t; .

6.2 Операции отношения и логические операции.

Для определения различных условий обычно используются шесть операций

отношения ( иначе сравнения):

< меньше,

<= меньше или равно,

= = равно,

>= больше или равно,

> больше,

!= не равно.

Как и в MathCAD, результатом является 1, т.е. "истина",

или "ложь", соответствующая нулевому значению. При этом единица и ноль

являются целыми. Операции отношения используются в условных операторах.

Кроме операций отношения, есть еще логические операции, и

рассмотрим только три из них:

&& "и" - логическое умножение,

| | "или" - логическое сложение,

! отрицание (здесь восклицательный знак ! ).

Пример: ( a>=2 && a<=5) .

Это соответствует условию 2  a  5 . Логические операции позволяют

составлять сложные логические выражения. Логическое выражение

принимает логическое значение "истина" или "ложь", т.е. 1 или 0. Операций

отношения и логических операций в выражениях может быть много.

Любое ненулевое число в логических операциях соответствует истине,

а ложному результату соответствует ноль. Например, !(-5) = 0, !0 = 1.

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

В теории программирования доказано, что программу для решения задачи

можно составить из трех конструкций, называемых следованием, циклом и

ветвлением. Следование и цикл в С++ рассмотрены выше, а теперь

переходим к ветвлению. Ветвление позволяет выбрать оператор для

дальнейшего выполнения в зависимости от значения какого-либо условия.

Ветвление в программе можно представить следующим образом.

?

Условие нет

да

Рис. 6.1

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

Если условие выполняется, то работает левая группа, а если условие не

выполняется, то работает правая ветвь. Обе ветви алгоритма должны

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

реализуется с помощью условного оператора if , который имеет

следующую форму :

Соседние файлы в папке Лекции