# Numerical Expressions

In programming, we can calculate numerical expressions, for example:

var expr = (3 + 5) * (4 – 2);


The standard rule for priorities of arithmetic operations is applied: multiplying and dividing are always done before adding and subtracting. In case of an expression in brackets, it is calculated first, but we already know all of that from school math.

## Video: Numerical Expressions

Watch a video lesson about numerical expressions: https://youtu.be/6MPxlOCsPdw.

## Example: Calculating Trapezoid Area

Let's write a program that inputs the lengths of the two bases of a trapezoid and its height (one floating point number per line) and calculates the area of the trapezoid by the standard math formula:

var b1 = double.Parse(Console.ReadLine());
var area = (b1 + b2) * h / 2.0;
Console.WriteLine("Trapezoid area = " + area);


If we start the program and enter values for the sides: 3, 4 and 5, we will obtain the following result:

3
4
5
Trapezoid area = 17.5


## Example: Circle Area and Perimeter

Let's write a program that calculates a circle area and perimeter by reading its radius r.

Formulas:

• Area = π * r * r
• Perimeter = 2 * π * r
• π ≈ 3.14159265358979323846…
Console.Write("Enter circle radius. r = ");
Console.WriteLine("Area = " + Math.PI * r * r);
// Math.PI – built-in constant for π in C#
Console.WriteLine("Perimeter = " + 2 * Math.PI * r);


Let's test the program with radius r = 10:

## Example: 2D Rectangle Area

A rectangle is given with the coordinates of two of its opposite angles. Calculate its area and perimeter:

In this task, we have to consider that if we subtract the smaller x from the bigger x, we will obtain the length of the rectangle. Identically, if we subtract the smaller y from the bigger y, we will obtain the height of the rectangle. What is left is to multiply both sides. Here is an example of an implementation of the described logic:

var x1 = double.Parse(Console.ReadLine());

// Calculating the sides of the rectangle:
var width = Math.Max(x1, x2) - Math.Min(x1, x2);
var height = Math.Max(y1, y2) - Math.Min(y1, y2);

Console.WriteLine("Area = " + width * height);
Console.WriteLine("Perimeter = " + 2 * (width + height));


We use Math.Max(a, b), to find the higher value from a and b and identically Math.Min(a, b) to find the lower of both values.

When the program is executed with the values from the coordinate system given in the condition, we obtain the following result:

## Other Expressions

Expressions in C# can be not only numerical, but also can be text expressions, date expressions or expressions of other type:

var price = 20;
var priceUSD = "$" + price; // text expression var priceGBP = price + " GBP"; Console.WriteLine(priceUSD); //$ 20
Console.WriteLine(priceGBP); // 20 GBP
var date = new DateTime(2017, 6, 14);
var dateAfter5days = date.AddDays(5); // 14-Jun-17 (date expression)
Console.WriteLine(dateAfter5days); // 19-Jun-17 00:00:00