В данной статье мы познакомимся с основными математическими операциями и их применением в C#.
Для этого мы будем использовать три основных типа данных:
int — целочисленный тип данных. Как понятно из названия, может включать себя только целые числа, например: 0, 10, 123, -5, и так далее, но только в пределах от -2 147 483 648 до 2 147 483 647. так как int является 32-битным типом.
float — тип данных с плавающей запятой. То есть, он принимает десятичные дроби. При этом округляет их максимум до шестого знака после запятой.
double — по сути такой же тип данных, как и float, c той разницей, что float является 32-битным типом, а double 64-битным. Проще говоря, float занимает меньше памяти, но менее точен. Double же потребляет гораздо больше памяти, но зато гораздо точнее: округляет максимум до 14 знаков после запятой.
Переменные будем объявлять не в начале программы, а по ходу её работы. Никакие лишние библиотеки нам не нужны. Пишем прямо в теле программы.
Программа для сложения двух чисел целочисленного типа int будет следующая:
Для начала мы выводим на консоль при помощи метода Console.WriteLine сообщение для пользователя. Пользователь вводит число и, мы записываем его в строку s (string — тип данных, инициализируемый строкой) при помощи метода Console.ReadLine.
C# всегда считывает с консоли строки, он не умеет делить введенные данные самостоятельно на int’ы, float’ы и double’ы. Поэтому мы самостоятельно переводим строку в нужный нам формат. Мы объявляем переменную a типа int и конвертируем в неё полученную от пользователя строку s.
1 2 3 |
Console.WriteLine("Введите первое число для сложения:"); string s = Console.ReadLine(); int a = Convert.ToInt32(s); |
Далее проделываем то же самое для второго числа, которое введет пользователь. Объявляем новую строковую переменную s2, так как переменная s уже занята первым числом. Для этого же объявляем и вторую целочисленную переменную b.
1 2 3 |
Console.WriteLine("Введите второе число для сложения:"); string s2 = Console.ReadLine(); int b = Convert.ToInt32(s2); |
Теперь объявляем целочисленную переменную с. В ней мы будем хранить сумму первых двух чисел. Складываем a и b, Затем вносим в консоль сообщение для пользователя и саму сумму чисел.
Метод Console.ReadLine() нам нужен для того, чтобы программа ожидала отклика от пользователя, а именно, когда он введёт Enter после того, как насмотрится на консоль. Без этой строчки программа просто сработает, но пользователь даже не сможет увидеть результата, так как консоль сразу же закроется.
1 2 3 4 |
int c = a + b; Console.WriteLine("Сумма данных чисел:"); Console.WriteLine(c); Console.ReadLine(); |
Вот такая консоль у нас получится:
Вот и всё, программа написана. Но она подходит только для целых чисел. Если пользователь введет десятичную дробь, компилятор покажет ошибку.
Поэтому сейчас немного «переделаем» нашу программу под возможность ввода чисел с дробью. В этом нам помогут типы float или double.
Программа с типом dоuble будет выглядеть вот так:
1 2 3 4 5 6 7 8 9 10 11 12 |
Console.WriteLine("Введите первое число для сложения:"); string s = Console.ReadLine(); double a = Convert.ToDouble(s); Console.WriteLine("Введите второе число для сложения:"); string s2 = Console.ReadLine(); double b = Convert.ToDouble(s2); double c = a + b; Сonsole.WriteLine("Сумма данных чисел:"); Console.WriteLine(c); Console.ReadLine(); |
Как видно, изменились лишь типы объявления переменных и конвертирование происходит не в ToInt32, а в ToDouble.
C float’ом капельку посложнее:
1 2 3 4 5 6 7 8 9 10 11 12 |
Console.WriteLine("Введите первое число для сложения:"); string s = Console.ReadLine(); float a = float.Parse(s); Console.WriteLine("Введите второе число для сложения:"); string s2 = Console.ReadLine(); float b = float.Parse(s2); float c = a + b; Console.WriteLine("Сумма данных чисел:"); Console.WriteLine(c); Console.ReadLine(); |
Опять изменились типы объявленных переменных, однако уже нету знакомого нам метода Convert. Он не распространяется на тип float. Аналог Convert’a для floata — float.Parse, который выполняет точно такую же функцию. Вот и вся разница.
Для вычитания, умножения или деления нам надо в нашей программе изменить всего лишь символ в строчке с сложением (ну, и помимо этого, надписи в кавычках для консоли в Console.WriteLine, чтобы пользователь не запутался).
Маленькие примерчики:
Итак, для вычитания чисел типа int строка будет такая:
1 |
int c = a - b; |
Для перемножения чисел типа float:
1 |
float c = a * b; |
Для деления чисел типа double:
1 |
double c = a / b; |
Примечание: если вы решите делить числа типа int, не забудьте, что он является целочисленным, и при делении целых чисел, в результате которых получится остаток (например, 8:3=2,66), результат округлится в меньшую сторону без остатка(то есть, в программе 8:3 будет равно только 2).
Исходник на C# :
Скачать исходник
Поделиться в соц. сетях: