Как будет вычислено выражение a b

от admin

Как будет вычислено выражение a b

3a + 4a + 5a = (3 + 4 + 5)×a = 12a

3a + 4a + 5a = 12a

2a + 1a = (2 + 1) × a = 3a

три переменные a

одна единственная переменная a

три а плюс б плюс семь а плюс два б

3a + 3b + 7a + 2b = (3+7)×a + (3 + 2)×b = 10a + 5b

3a + 3b + 7a + 2b = 10a + 5b

пять а плюс минус шесть а плюс минус семь б плюс б

4a + 3a − 5 + 2b + 7 = 4a + 3a + (−5) + 2b + 7

4a + 3a + (−5) + 2b + 7 = (4 + 3)×a + 2b + (−5) + 7 = 7a + 2b + 2

4a + 3a − 5 + 2b + 7 = 7a + 2b + 2

5t + 5t + 2x + 3x + x

5t + 5t + 2x + 3x + x = (5+5)×t + (2+3+1)×x = 10t + 6x

5t + 2x + 3x + 5t + x = 10t + 6x

три т плюс минус четыре т плюс минус три т плюс два т

три т плюс минус четыре т плюс минус три т плюс два т короткое рещение

сокращение дроби две четвертых на дваЧто ещё можно сделать? Можно вычислить полученную дробь одна вторая. Тогда мы получим десятичную дробь 0,5

сокращение дроби две четвертых на два второй этап

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

Но мы упростили выражение и получили новое упрощённое выражение одна вторая. Значение нового упрощённого выражения по-прежнему равно 0,5

Но выражение одна втораямы тоже попытались упростить, вычислив его. В итоге получили окончательный ответ 0,5.

Пример 3. Упростить выражение две третьих а умножить на минус одну целую одну вторую б ц

две третьих а умножить на минус одну целую одну вторую б ц в подробном виде

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

Таким образом, выражение две третьих а умножить на минус одну целую одну вторую б цупростилось до −abc. Данное решение можно записать покороче:

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

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

Двенадцать умножить на девять умножить на шесть разделить на три умножить на два умножить на четыре сократили на три 12 и 4

Двенадцать умножить на девять умножить на шесть разделить на три умножить на два умножить на четыре сократили на три 9 и 3

Двенадцать умножить на девять умножить на шесть разделить на три умножить на два умножить на четыре сократили на три 6 и 2

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

Пример 4. Упростить выражение минус три целых одна третья а умножить на минус ноль целых девять б на пять двенадцатых

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

Таким образом, выражение минус три целых одна третья а умножить на минус ноль целых девять б на пять двенадцатыхупростилось до пять четвертых ab

Пример 5. Упростить выражение минус три четвертых м умножить на минус две третьих умножить на два м

минус три четвертых м умножить на минус две третьих умножить на два м равно мн

Таким образом, выражение минус три четвертых м умножить на минус две третьих умножить на два мупростилось до mn .

Пример 6. Упростить выражение минус шесть целых четыре умножить на минус три четвертых x

минус шесть целых четыре умножить на минус три четвертых x расписано

Теперь отдельно перемножим числа и отдельно буквы. Для удобства вычислений десятичную дробь −6,4 и смешанное число Минус одна целая и одна третьяможно перевести в обыкновенные дроби:

минус шесть целых четыре умножить на минус три четвертых x равно минус тридцать пятых stx

Таким образом, выражение минус шесть целых четыре умножить на минус три четвертых xупростилось до минус шесть целых четыре десятых stx

минус шесть целых четыре умножить на минус три четвертых x короткое решение

Пример 7. Упростить выражение шестнадцать вторых ab умножить на одну десятую c умножить на шесть десятых d

Перемножим отдельно числа и отдельно буквы. Для удобства вычисления смешанное число шестнадцать целых две третьихи десятичные дроби 0,1 и 0,6 можно перевести в обыкновенные дроби:

шестнадцать вторых ab умножить на одну десятую c умножить на шесть десятых d равно abcd

Таким образом, выражение шестнадцать вторых ab умножить на одну десятую c умножить на шесть десятых dупростилось до abcd. Если пропустить подробности, то данное решение можно записать значительно короче:

8. Выражения

Выражения состоят из операндов, операций и скобок и используются для вычисления некоторого значения определенного типа. Каждый операнд является, в свою очередь, выражением или одним из его частных случаев – константой или переменной.

(а + 0.12)/6
х && у || !z
(t * sin(x)-1.05e4)/((2 * k + 2) * (2 * k + 3))

Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки. Если в одном выражении записано несколько операций одинакового приоритета, унарные операции, условная операция и операции присваивания выполняются справа налево, остальные – слева направо. Например, в выражении а = b = с сначала b = c, а затем a = b, выражение a + b + c выполняется как (а + b) + с. Порядок вычисления подвыражений внутри выражений не определен: например, нельзя считать, что в выражении (sin(x + 2) + cos(y + 1)) обращение к синусу будет выполнено раньше, чем к косинусу, и что х + 2 будет вычислено раньше, чем y + 1.
Результат вычисления выражения характеризуется значением и типом. Например, если а и b – переменные целого типа и описаны так:
int а = 2, b = 5;
то выражение а + b имеет значение 7 и тип int, а выражение а = b имеет значение, равное помещенному в переменную а (в данному случае 5) и тип, совпадающий с типом этой переменной. Таким образом, в C++ допустимы выражения вида а = b = с: сначала вычисляется выражение b = с, а затем его результат становится правым операндом для операции присваивания переменной а.

Преобразование типов в выражении.

В выражение могут входить операнды различных типов. Если операнды имеют одинаковый тип, то результат операции будет иметь тот же тип. Если операнды разного типа, перед вычислениями выполняются преобразования типов по умолчанию или явно. Преобразования бывают двух видов:
— изменяющие внутреннее представление величин (с потерей точности или без потери точности);
— изменяющие только интерпретацию внутреннего представления.
К первому виду относится, например, преобразование целого числа в вещественное (без потери точности) и наоборот (возможно, с потерей точности), ко второму – преобразование знакового целого в беззнаковое.
По умолчанию преобразование осуществляется по определенным правилам, обеспечивающим преобразование более коротких типов в более длинные для сохранения значимости и точности. На каждом шаге оценки выражения выполняется одна операция, и имеются два операнда. Если их тип различен, операнд меньшего «ранга экстенсивности” приводится к типу более «экстенсивного”. Под экстенсивностью понимается диапазон значений, который поддерживается данным типом. По возрастанию экстенсивности типы следуют в очевидном порядке:

char
short
int, long
float
double
long double

Ниже приведена последовательность преобразований.
Любые операнды типа char, unsigned char или short преобразуются к типу int по правилам:
— char расширяется нулем или знаком в зависимости от умолчания для char;
— unsigned char расширяется нулем;
— signed char расширяется знаком;
— short, unsigned short при преобразовании не изменяются.
Затем два операнда становятся либо int, либо float, double или long double. Причем, если один из операндов имеет тип float, то другой преобразуется к типу float; если один из операндов имеет тип double, то другой преобразуется к типу double; если один из операндов имеет тип long double, то другой преобразуется к типу long double.
Таким образом операнды преобразуются к типу наиболее длинного из них, и он используется как тип результата (не путать с оператором присваивания).
Кроме того, если в операции участвуют знаковый и беззнаковый целочисленные типы, то знаковый операнд приводится к беззнаковому типу. Результат тоже будет беззнаковым. Во избежание ошибок нужно точно представлять себе, что при этом происходит, и при необходимости применять операцию приведения, явно преобразующую тот или иной операнд.
Некоторые считают, что в выражении все операнды заранее приводятся к наиболее экстенсивному типу, а уж потом производится оценка. Это не так. Приведение типов выполняется последовательно для каждой текущей пары операндов.
Явное преобразование типа выполняется посредством операции приведения (тип) и может применяться к любому операнду в выражении, например:

р = р0 + (int)(pReal + 0.5); // Округление pReal

Следует иметь в виду, что операция приведения типа может работать двояким образом. Во-первых, она может производить действительное преобразование данных, как это происходит при приведении целого типа к вещественному и наоборот. Получаются совершенно новые данные, физически отличные от исходных. Во-вторых, операция может никак не воздействовать на имеющиеся данные, а только изменять их интерпретацию. Например, если переменную типа short со значением -1 привести к типу unsigned short, то данные останутся теми же самыми, но будут интерпретироваться по-другому (как целое без знака), в результате чего будет получено значение 65535.

Нахождение значения выражения: правила, примеры, решения

В данной статье рассмотрено, как находить значения математических выражений. Начнем с простых числовых выражений и далее будем рассматривать случаи по мере возрастания их сложности. В конце приведем выражение, содержащее буквенные обозначения, скобки, корни, специальные математические знаки, степени, функции и т.д. Всю теорию, по традиции, снабдим обильными и подробными примерами.

Как найти значение числового выражения?

Числовые выражения, помимо прочего, помогают описывать условие задачи математическим языком. Вообще математические выражения могут быть как очень простыми, состоящими из пары чисел и арифметических знаков, так и очень сложными, содержащими функции, степени, корни, скобки и т.д. В рамках задачи часто необходимо найти значение того или иного выражения. О том, как это делать, и пойдет речь ниже.

Простейшие случаи

Это случаи, когда выражение не содержит ничего, кроме чисел и арифметических действий. Для успешного нахождения значений таких выражений понадобятся знания порядка выполнения арифметических действий без скобок, а также умение выполнять действия с различными числами.

Если в выражении есть только числа и арифметические знаки » + » , » · » , » — » , » ÷ » , то действия выполняются слева направо в следующем порядке: сначала умножение и деление, затем сложение и вычитание. Приведем примеры.

Пример 1. Значение числового выражения

Пусть нужно найти значения выражения 14 — 2 · 15 ÷ 6 — 3 .

Выполним сначала умножение и деление. Получаем:

14 — 2 · 15 ÷ 6 — 3 = 14 — 30 ÷ 6 — 3 = 14 — 5 — 3 .

Теперь проводим вычитание и получаем окончательный результат:

14 — 5 — 3 = 9 — 3 = 6 .

Вычислим: 0 , 5 — 2 · — 7 + 2 3 ÷ 2 3 4 · 11 12 .

Сначала выполняем преобразование дробей, деление и умножение:

0 , 5 — 2 · — 7 + 2 3 ÷ 2 3 4 · 11 12 = 1 2 — ( — 14 ) + 2 3 ÷ 11 4 · 11 12

1 2 — ( — 14 ) + 2 3 ÷ 11 4 · 11 12 = 1 2 — ( — 14 ) + 2 3 · 4 11 · 11 12 = 1 2 — ( — 14 ) + 2 9 .

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

1 2 — ( — 14 ) + 2 9 = 1 2 + 14 + 2 9 = 14 + 13 18 = 14 13 18 .

Искомое значение найдено.

Выражения со скобками

Если выражение содержит скобки, то они определяют порядок действий в этом выражении. Сначала выполняются действия в скобках, а потом уже все остальные. Покажем это на примере.

Пример 3. Значение числового выражения

Найдем значение выражения 0 , 5 · ( 0 , 76 — 0 , 06 ) .

В выражении присутствуют скобки, поэтому сначала выполняем операцию вычитания в скобках, а уже потом — умножение.

0 , 5 · ( 0 , 76 — 0 , 06 ) = 0 , 5 · 0 , 7 = 0 , 35 .

Значение выражений, содержащих скобки в скобках, находится по такому же принципу.

Пример 4. Значение числового выражения

Вычислим значение 1 + 2 · 1 + 2 · 1 + 2 · 1 — 1 4 .

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

1 + 2 · 1 + 2 · 1 + 2 · 1 — 1 4 = 1 + 2 · 1 + 2 · 1 + 2 · 3 4

1 + 2 · 1 + 2 · 1 + 2 · 3 4 = 1 + 2 · 1 + 2 · 2 , 5 = 1 + 2 · 6 = 13 .

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

Выражения с корнями

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

Пример 5. Значение числового выражения

Вычислим значение выражения с корнями — 2 · 3 — 1 + 60 ÷ 4 3 + 3 · 2 , 2 + 0 , 1 · 0 , 5 .

Сначала вычисляем подкоренные выражения.

— 2 · 3 — 1 + 60 ÷ 4 3 = — 6 — 1 + 15 3 = 8 3 = 2

2 , 2 + 0 , 1 · 0 , 5 = 2 , 2 + 0 , 05 = 2 , 25 = 1 , 5 .

Теперь можно вычислить значение всего выражения.

— 2 · 3 — 1 + 60 ÷ 4 3 + 3 · 2 , 2 + 0 , 1 · 0 , 5 = 2 + 3 · 1 , 5 = 6 , 5

Часто найти значение выражения с корнями часто нужно сначала провести преобразование исходного выражения. Поясним это на еще одном примере.

Пример 6. Значение числового выражения

Сколько будет 3 + 1 3 — 1 — 1

Как видим, у нас нет возможности заменить корень точным значением, что усложняет процесс счета. Однако, в данном случае можно применить формулу сокращенного умножения.

3 + 1 3 — 1 = 3 — 1 .

3 + 1 3 — 1 — 1 = 3 — 1 — 1 = 1 .

Выражения со степенями

Если в выражении имеются степени, их значения нужно вычислить прежде, чем приступать ко всем остальным действиям. Бывает так, что сам показатель или основание степени являются выражениями. В таком случае, сначала вычисляют значение этих выражений, а затем уже значение степени.

Пример 7. Значение числового выражения

Найдем значение выражения 2 3 · 4 — 10 + 16 1 — 1 2 3 , 5 — 2 · 1 4 .

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

2 3 · 4 — 10 = 2 12 — 10 = 2 2 = 4

16 · 1 — 1 2 3 , 5 — 2 · 1 4 = 16 * 0 , 5 3 = 16 · 1 8 = 2 .

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

2 3 · 4 — 10 + 16 1 — 1 2 3 , 5 — 2 · 1 4 = 4 + 2 = 6 .

Также часто целесообразно бывает провести упрощение выражения с использованием свойств степени.

Пример 8. Значение числового выражения

Вычислим значение следующего выражения: 2 — 2 5 · 4 5 — 1 + 3 1 3 6 .

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

2 — 2 5 · 4 5 — 1 + 3 1 3 6 = 2 — 2 5 · 2 2 5 — 1 + 3 1 3 · 6

2 — 2 5 · 2 2 5 — 1 + 3 1 3 · 6 = 2 — 2 5 · 2 2 · 5 — 2 + 3 2 = 2 2 · 5 — 2 — 2 5 + 3 2

2 2 · 5 — 2 — 2 5 + 3 2 = 2 — 2 + 3 = 1 4 + 3 = 3 1 4

Выражения с дробями

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

Если в числителе и знаменателе дроби присутствуют выражения, то сначала вычисляются значения этих выражений, и записывается финальное значение самой дроби. Арифметические действия выполняются в стандартном порядке. Рассмотрим решение примера.

Пример 9. Значение числового выражения

Найдем значение выражения, содержащего дроби: 3 , 2 2 — 3 · 7 — 2 · 3 6 ÷ 1 + 2 + 3 9 — 6 ÷ 2 .

Как видим, в исходном выражении есть три дроби. Вычислим сначала их значения.

3 , 2 2 = 3 , 2 ÷ 2 = 1 , 6

7 — 2 · 3 6 = 7 — 6 6 = 1 6

1 + 2 + 3 9 — 6 ÷ 2 = 1 + 2 + 3 9 — 3 = 6 6 = 1 .

Перепишем наше выражение и вычислим его значение:

1 , 6 — 3 · 1 6 ÷ 1 = 1 , 6 — 0 , 5 ÷ 1 = 1 , 1

Часто при нахождении значений выражений удобно бывает проводить сокращение дробей. Существует негласное правило: любое выражение перед нахождением его значения лучше всего упростить по максимуму, сводя все вычисления к простейшим случаям.

Пример 10. Значение числового выражения

Вычислим выражение 2 5 — 1 — 2 5 — 7 4 — 3 .

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

2 5 — 1 = 2 5 + 1 5 — 1 5 + 1 = 2 5 + 1 5 — 1 = 2 5 + 2 4

Исходное выражение принимает вид:

2 5 — 1 — 2 5 — 7 4 — 3 = 2 5 + 2 4 — 2 5 — 7 4 — 3 .

Вычислим значение этого выражения:

2 5 + 2 4 — 2 5 — 7 4 — 3 = 2 5 + 2 — 2 5 + 7 4 — 3 = 9 4 — 3 = — 3 4 .

Выражения с логарифмами

Когда в выражении присутствуют логарифмы, их значение, если это возможно, вычисляется с самого начала. К примеру, в выражении log 2 4 + 2 · 4 можно сразу вместо log 2 4 записать значение этого логарифма, а потом выполнить все действия. Получим: log 2 4 + 2 · 4 = 2 + 2 · 4 = 2 + 8 = 10 .

Читать:
Dr web cloud что это

Под самим знаком логарифма и в его основании также могут находится числовые выражения. В таком случае, первым делом находятся их значения. Возьмем выражение log 5 — 6 ÷ 3 5 2 + 2 + 7 . Имеем:

log 5 — 6 ÷ 3 5 2 + 2 + 7 = log 3 27 + 7 = 3 + 7 = 10 .

Если же вычислить точное значение логарифма невозможно, упрощение выражения помогает найти его значение.

Пример 11. Значение числового выражения

Найдем значение выражения log 2 log 2 256 + log 6 2 + log 6 3 + log 5 729 log 0 , 2 27 .

log 2 log 2 256 = log 2 8 = 3 .

По свойству логарифмов:

log 6 2 + log 6 3 = log 6 ( 2 · 3 ) = log 6 6 = 1 .

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

log 5 729 log 0 , 2 27 = log 5 729 log 1 5 27 = log 5 729 — log 5 27 = — log 27 729 = — log 27 27 2 = — 2 .

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

log 2 log 2 256 + log 6 2 + log 6 3 + log 5 729 log 0 , 2 27 = 3 + 1 + — 2 = 2 .

Выражения с тригонометрическими функциями

Бывает, что в выражении есть тригонометрические функции синуса, косинуса, тангенса и котангенса, а также функции, обратные им. Из значения вычисляются перед выполнением всех остальных арифметических действий. В противном случае, выражение упрощается.

Пример 12. Значение числового выражения

Найдите значение выражения: t g 2 4 π 3 — sin — 5 π 2 + cosπ .

Сначала вычисляем значения тригонометрических функций, входящих в выражение.

Подставляем значения в выражение и вычисляем его значение:

t g 2 4 π 3 — sin — 5 π 2 + cosπ = 3 2 — ( — 1 ) + ( — 1 ) = 3 + 1 — 1 = 3 .

Значение выражения найдено.

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

Пример 13. Значение числового выражения

Нужно найти значение выражения cos 2 π 8 — sin 2 π 8 cos 5 π 36 cos π 9 — sin 5 π 36 sin π 9 — 1 .

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

cos 2 π 8 — sin 2 π 8 cos 5 π 36 cos π 9 — sin 5 π 36 sin π 9 — 1 = cos 2 π 8 cos 5 π 36 + π 9 — 1 = cos π 4 cos π 4 — 1 = 1 — 1 = 0 .

Общий случай числового выражения

В общем случае тригонометрическое выражение может содержать все вышеописанные элементы: скобки, степени, корни, логарифмы, функции. Сформулируем общее правило нахождения значений таких выражений.

Как найти значение выражения

  1. Корни, степени, логарифмы и т.д. заменяются их значениями.
  2. Выполняются действия в скобках.
  3. Оставшиеся действия выполняются по порядку слева направо. Сначала — умножение и деление, затем — сложение и вычитание.

Пример 14. Значение числового выражения

Вычислим, чему равно значение выражения — 2 · sin π 6 + 2 · 2 π 5 + 3 π 5 + 3 ln e 2 + 1 + 3 9 .

Выражение довольно сложное и громоздкое. Мы не случайно выбрали именно такой пример, постаравшись уместить в него все описанные выше случаи. Как найти значение такого выражения?

Известно, что при вычислении значения сложного дробного вида, сначала отдельно находятся значения числителя и знаменателя дроби соответственно. Будем последовательно преобразовывать и упрощать данное выражение.

Первым делом вычислим значение подкоренного выражения 2 · sin π 6 + 2 · 2 π 5 + 3 π 5 + 3 . Чтобы сделать это, нужно найти значение синуса, и выражения, которое является аргументом тригонометрической функции.

π 6 + 2 · 2 π 5 + 3 π 5 = π 6 + 2 · 2 π + 3 π 5 = π 6 + 2 · 5 π 5 = π 6 + 2 π

Теперь можно узнать значение синуса:

sin π 6 + 2 · 2 π 5 + 3 π 5 = sin π 6 + 2 π = sin π 6 = 1 2 .

Вычисляем значение подкоренного выражения:

2 · sin π 6 + 2 · 2 π 5 + 3 π 5 + 3 = 2 · 1 2 + 3 = 4

2 · sin π 6 + 2 · 2 π 5 + 3 π 5 + 3 = 4 = 2 .

Со знаменателем дроби все проще:

Теперь мы можем записать значение всей дроби:

2 · sin π 6 + 2 · 2 π 5 + 3 π 5 + 3 ln e 2 = 2 2 = 1 .

С учетом этого, запишем все выражение:

— 1 + 1 + 3 9 = — 1 + 1 + 3 3 = — 1 + 1 + 27 = 27 .

— 2 · sin π 6 + 2 · 2 π 5 + 3 π 5 + 3 ln e 2 + 1 + 3 9 = 27 .

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

Вычисление значений выражений рациональными способами

Вычислять значения числовых нужно последовательно и аккуратно. Данный процесс можно рационализировать и ускорить, используя различные свойства действий с числами. К примеру, известно, что произведение равно нулю, если нулю равен хотя бы один из множителей. С учетом этого свойства, можно сразу сказать, что выражение 2 · 386 + 5 + 589 4 1 — sin 3 π 4 · 0 равно нулю. При этом, вовсе не обязательно выполнять действия по порядку, описанному в статье выше.

Также удобно использовать свойство вычитания равных чисел. Не выполняя никаких действий, можно заказать, что значение выражения 56 + 8 — 3 , 789 ln e 2 — 56 + 8 — 3 , 789 ln e 2 также равно нулю.

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

Например, возьмем выражение 2 3 — 1 5 + 3 · 289 · 3 4 3 · 2 3 — 1 5 + 3 · 289 · 3 4 . Не выполняя действий в скобках, а сокращая дробь, можно сказать, что значение выражения равно 1 3 .

Нахождение значений выражений с переменными

Значение буквенного выражения и выражения с переменными находится для конкретных заданных значений букв и переменных.

Нахождение значений выражений с переменными

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

Вычислить значение выражения 0 , 5 x — y при заданных x = 2 , 4 и y = 5 .

Подставляем значения переменных в выражение и вычисляем:

0 , 5 x — y = 0 , 5 · 2 , 4 — 5 = 1 , 2 — 5 = — 3 , 8 .

Иногда можно так преобразовать выражение, чтобы получить его значение независимо от значений входящих в него букв и переменных. Для этого от букв и переменных в выражении нужно по возможности избавиться, используя тождественные преобразования, свойства арифметических действий и все возможные другие способы.

Например, выражение х + 3 — х , очевидно, имеет значение 3 , и для вычисления этого значения совсем необязательно знать значение переменной икс. Значение данного выражения равно трем для всех значений переменной икс из ее области допустимых значений.

Еще один пример. Значение выражения x x равно единице для всех положительных иксов.

Арифметические выражения

С помощью арифметических выражений выполняются все основные вычисления в программах. В состав арифметического выражения могут входить константы, переменные, функции, знаки арифметических операций и круглые скобки. Правила составления выражений, при некоторых ограничениях, специфических для программирования (отсутствие альтернативных форм записи операции умножения и деления, запрещение опускать знак операции умножения, ограничения на перечень выполняемых операций и т. д.), позволяют максимально приблизить их к обычным алгебраическим формулам, используемым в математике. В выражениях используются также некоторые специфические знаки операций. Выражения вычисляются слева направо с учетом приоритета операций. Для изменения приоритета операций используются круглые скобки. Выражения могут составляться из констант, переменных разных типов и функций.

Основные арифметические операции обозначаются с помощью следующих знаков:

% вычисление остатка при делении целых чисел. + сложение — вычитание

(операции возведения в степень в языке C++ нет).

Из этих операций более высоким приоритетом обладают операции умножения, деления и вычисление остатка, а сложение и вычитание

имеют меньший приоритет. Между собой операции умножения и деления так же, как и операции сложения и вычитания, имеют одинаковый приоритет. Примеры оформления выражений:

2 * x + 0.2 a / (x + y)

(a + 2) * (b — 0.5) sin(x — РI / 2) * cos(y)

Если в выражении записана функция, то ее приоритет наивысший.

Операция % позволяет вычислить остаток от деления двух целых чисел. Например, в результате выполнения операции 17 % 5 будет получено число 2 .

Операция % имеет такой же приоритет, как и операции умножения и деления; эта операция не выполняется для чисел с плавающей точкой (хотя в принципе она имеет смысл, так как остаток можно вычислять не только в целых числах, но и в десятых, сотых долях и т.д.). Но этот же результат можно получить при предварительном умножении исходных чисел с плавающей точкой на соответствующую степень десятки с последующим преобразованием чисел в целые. Полученный затем остаток при выполнении операции % будет представлять остаток в десятых, сотых и т. д. в зависимости от выбранной степени десятки.

Особенностью выполнения операции деления для целых чисел является отбрасывание дробной части. Например, если 1 разделить на 2 , то результат будет 0 . Для получения правильного результата требуется один из операндов преобразовать к типу числа с плавающей точкой. Если 1.0 (это число с плавающей точкой) разделить на 2 (или 1 разделить на 2.0 ), то в результате будет 0.5 . Другие способы описаны в параграфе «Преобразование типов».

Операция присваивания

Формально операция присваивания имеет вид математического равенства a = b , где » a » — имя переменной, а » b» — арифметическое выражение. Фактически операция присваивания засылает численное

значение результата, полученное при вычислении арифметического выражения, в ячейку памяти, выделенную для хранения переменной, имя которой записано слева от знака равенства. По этой причине действительными являются операции вида k = k + 2 . Действительно, на арифметическое выражение не налагается ограничение, чтобы оно не содержало переменной, записанной слева от знака равенства. Это происходит потому, что сначала вычисляется выражение, а затем выполняется засылка результата в ячейку памяти, обозначенную именем переменной. Допустим, что k в предыдущем примере имеет значение 5 , тогда сначала вычисляется 5 + 2 = 7 , а затем этот результат засылается в ячейку, обозначенную именем k , т.е. k получит значение 7 . В математике такие равенства не имеют смысла, поскольку они и обозначают действительные равенства, тогда как в программировании они обозначают последовательность выполнения сначала вычислений, а затем пересылки информации. Когда имя, записанное слева от знака равенства, не совпадает с именами, имеющимися в выражении справа от знака равенства, тогда оператор присваивания совпадает и по смыслу с математическим равенством.

Этот факт можно выразить и другими словами: знак равенства обозначает пересылку справа налево (но не наоборот) с одновременным выполнением необходимых для этого действий. Но за одну операцию может пересылаться только одно данное. Поэтому, если справа от знака равенства записано выражение, то оно вычисляется, чтобы преобразовать его в одно число. По этой же причине слева от знака равенства не может быть записано число или выражение, хотя такая форма записи в математике применяется.

Если тип данных для вычисленного арифметического выражения не совпадает с типом переменной, записанной слева от знака равенства, то автоматически выполняется преобразование к типу этой переменной.

В языке С++ знак равенства обозначает операцию присваивания, а не оператор присваивания, как это имеет место в других языках

программирования. Операция от оператора отличается тем, что операция может применяться в арифметических выражениях, а оператор нет. Благодаря этому в языке C++ возможны такие записи:

(присвоение нескольким переменным одного и того же значения). x = 2 * (a = 3 + b);

(выполнение присваивания в арифметическом выражении). Другими словами, знак равенства может означать как операцию присваивания (в последнем примере a = 3 + b ), так и оператор присваивания значения вычисленного выражения

В языке C++ используются некоторые специфические формы записи операции присваивания. К таким операциям относятся ++ увеличение на единицу (инкремент) и — уменьшение на единицу (декремент). Фактически они обозначают соответственно прибавление к переменной 1 или вычитание из переменной 1 с соответствующим изменением переменной.

можно записать как x = x + 1;

Операции ++ и — записываются либо перед именем переменной, либо после него. В первом случае сначала выполняется приращение, а затем полученное значение используется в выражении. Во втором случае приращение выполняется после использования значения переменной. Это правило применяется, когда операции записаны в арифметическом выражении. В любом случае, когда выпол-

нение программы достигает точки с запятой в операторе, содержащем операцию приращения (или уменьшения), эта операция оказывается выполненной, независимо от места записи знаков ++ или —. Таким образом, записи x++; и ++x; являются равноценными и приводят к одному и тому же результату. Пусть теперь имеется оператор:

Если перед выполнением этого оператора x имеет значение 4 , а y равен 5 , то после выполнения вычислений z получит значение 20 , т.е. выражение было вычислено при начальном значении y , но после выполнения оператора y будет иметь значение 6 . Но при выполнении оператора:

сначала будет увеличено значение y , и только затем вычислено значение z, т.е. z получит значение 24 .

Операции ++ и — можно рассматривать как редуцированные формы записи операторов присваивания, но выражение

можно записать только с помощью двух операторов присваивания:

y = x * y; y = y + 1;

Для широко распространенных в программировании операторов вида:

n = n + b; n = n * b;

и т. д., где n является именем переменной, а b — выражением. В языке C++ может использоваться сокращенная запись оператора присваивания:

Похожие статьи