
- •2.1 Числа, переменные, функции
- •2.2 Текстовые и графические блоки
- •2.3 Организация циклов
- •2.5 Строковые переменные
- •3.1 Условный оператор
- •3.2 Программные блоки с условием if
- •3.3 Трехмерная графика
- •3.4. Работа с файлами данных
- •3.5. Вычисление сумм, произведений и интегралов
- •3.7. Достоинства и недостатки системы MathCad.
- •3.8. Сравнение с системой Mathematica
- •4.2 Числа и переменные
- •4.3 Операции и стандартные функции
- •4.4 Структура простой программы
- •5.1 Операторы присваивания
- •Int a, b ; float r ;
- •5.2 Вывод на экран и ввод с экрана
- •5.4 Операции инкремента, декремента и сокращенные
- •5.5 Оператор цикла
- •5.6 Алгоритм и программа для задачи с таблицей
- •Алгоритм
- •Void main( ) {
- •6.1 Вычисление суммы
- •6.2 Операции отношения и логические операции.
- •If (условие) { гр1 } еlse { гр2 } (6.3)
- •If (условие) { гр1 } (6.4)
- •6.4. Работа с файлами
- •Void main() {
- •7.1 Одномерный и двумерный массивы
- •3) Количество индексов,
- •4) Границы индексов,
- •5) Значения его элементов.
- •Int I, j ; float a[3][3], b[3][3], c[3][3]; / / (7.4)
- •7.2 Основные правила для массивов
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 . Логические
Условный оператор if
В теории программирования доказано, что программу для решения задачи
можно составить из трех конструкций, называемых следованием, циклом и
ветвлением. Следование и цикл в С++ рассмотрены выше, а теперь
переходим к ветвлению. Ветвление позволяет выбрать оператор для
дальнейшего выполнения в зависимости от значения какого-либо условия.
Ветвление в программе можно представить следующим образом.
? Условие
нет
да
Рис. 6.1
Здесь прямоугольники означают две разные группы операторов.
Если условие выполняется, то работает левая группа, а если условие не
выполняется, то работает правая ветвь. Обе ветви алгоритма должны
сливаться и обеспечивать продолжение программы. В программе ветвление
реализуется с помощью условного оператора if , который имеет
следующую форму :