
- •Введение
- •Переменные и константы
- •Типы данных
- •Числовые функции
- •Класс Random
- •Линейные алгоритмы
- •Условные операторы
- •Оператор if...Else
- •Оператор выбора switch
- •Оператор цикла с параметром
- •Сумма конечного ряда
- •Обработка данных во время ввода
- •Циклы с постусловием и предусловием
- •Дополнительные задачи
- •Массивы
- •Одномерные массивы Пример
- •Инициализация массива
- •Обработка элементов массива
- •Задания на определение суммы и количества элементов одномерного массива, соответствующих определенному условию
- •Задания на нахождение максимального и минимального элемента в одномерном числовом массиве
- •Работа с двумя массивами
- •Условный оператор после обработки массива
- •Самостоятельные задания по теме «Одномерные массивы»
- •Двумерные массивы Простейшие задачи
- •Сравнение (анализ) элементов
- •Расчётные задачи
- •Простейшие задачи
- •Поиск в текстовом файле
- •Работа с несколькими файлами
- •Текстовые файлы
- •Функции и процедуры
- •Библиографический список
Типы данных
Язык С# предоставляет программисту широкий спектр встроенных типов, которые соответствуют CLS (Common Language Specification) и отображаются на основные типы платформы .NET. Это гарантирует, что объекты, созданные на С#, могут успешно использоваться наряду с объектами, созданными на любом другом языке программирования, поддерживающем .NET CLS (например, VB.NET).
Каждый тип имеет строго заданный для него размер, который не может изменяться. В отличие от языка C++, в С# тип int всегда занимает 4 байта, потому что отображается к Int32 в .NET CLS. В Таблице 2 приведен список всех встроенных типов, предлагаемых С#.
Таблица 2 – Встроенные типы C#
Тип |
Область значений |
Размер |
sbyte |
-128 до 127 |
Знаковое 8-бит целое |
byte |
0 до 255 |
Беззнаковое 8-бит целое |
char |
U+0000 до U+ffff |
16-битовый символ Unicode |
bool |
true или false |
1 байт |
short |
-32768 до 32767 |
Знаковое 16-бит целое |
ushort |
0 до 65535 |
Беззнаковое 16-бит целое |
int |
-2147483648 до 2147483647 |
Знаковое 32-бит целое |
uint |
0 до 4294967295 |
Беззнаковое 32-бит целое |
long |
-9223372036854775808 до 9223372036854775807 |
Знаковое 32-бит целое |
ulong |
0 до 18446744073709551615 |
Беззнаковое 32-бит целое |
float |
±1,5*10-45 до ±3,4*1033 |
4 байта, точность — 7 разрядов |
double |
±5*10-324 до ±1,7*10306 |
8 байт, точность —16 разрядов |
decimal |
|
12 байт, точность — 28 разрядов |
В дополнение к этим типам С# может иметь объекты типа enum и struct.
Числовые функции
Кроме переменных и констант, первичным материалом для построения выражений являются функции. Умение работать в среде Visual Studio.Net предполагает знание встроенных возможностей этой среды, знание возможностей каркаса Framework.Net, пространств имен, доступных при программировании на языке C#, а также соответствующих встроенных классов и функций этих классов. Класс Math содержит стандартные математические функции, без которых трудно обойтись при построении многих выражений. Этот класс включает два статических поля, задающих константы E и PI, а также 23 статических метода.
Таблица 3 – Методы класса Math
№ |
Имя |
Описание |
|
Abs(Decimal) |
Возвращает абсолютное значение числа Decimal. |
2 |
Abs(Double) |
Возвращает абсолютное значение числа двойной точности с плавающей запятой. |
3 |
Abs(Int16) |
Возвращает абсолютное значение 16-разрядного знакового целого числа. |
4 |
Abs(Int32) |
Возвращает абсолютное значение 32-разрядного знакового целого числа. |
5 |
Abs(Int64) |
Возвращает абсолютное значение 64-разрядного знакового целого числа. |
6 |
Abs(SByte) |
Возвращает абсолютное значение 8-битового целого числа со знаком. |
7 |
Abs(Single) |
Возвращает абсолютное значение числа одинарной точности с плавающей запятой. |
8 |
Acos |
Возвращает угол, косинус которого равен указанному числу. |
9 |
Asin |
Возвращает угол, синус которого равен указанному числу. |
10 |
Atan |
Возвращает угол, тангенс которого равен указанному числу. |
11 |
Atan2 |
Возвращает угол, тангенс которого равен отношению двух указанных чисел. |
12 |
BigMul |
Умножает два 32-битовых числа. |
13 |
Ceiling(Decimal) |
Возвращает наименьшее целое число, которое больше или равно заданному десятичному числу. |
14 |
Ceiling(Double) |
Возвращает наименьшее целое число, которое больше или равно заданному числу с плавающей запятой двойной точности. |
15 |
Cos |
Возвращает косинус указанного угла. |
16 |
Cosh |
Возвращает гиперболический косинус указанного угла. |
17 |
DivRem(Int32, Int32, Int32) |
Вычисляет частное двух 32-разрядных знаковых целых чисел и возвращает остаток в выходном параметре. |
18 |
DivRem(Int64, Int64, Int64) |
Вычисляет частное двух 64-разрядных знаковых целых чисел и возвращает остаток в выходном параметре. |
19 |
Exp |
Возвращает e, возведенное в указанную степень. |
20 |
Floor(Decimal) |
Возвращает наибольшее целое число, которое меньше или равно указанному десятичному числу. |
21 |
Floor(Double) |
Возвращает наибольшее целое число, которое меньше или равно заданному числу двойной точности с плавающей запятой. |
22 |
IEEERemainder |
Возвращает остаток от деления одного указанного числа на другое указанное число. |
23 |
Log(Double) |
Возвращает натуральный логарифм (с основанием e) указанного числа. |
24 |
Log(Double, Double) |
Возвращает логарифм указанного числа в системе счисления с указанным основанием. |
25 |
Log10 |
Возвращает логарифм с основанием 10 указанного числа. |
26 |
Max(Byte, Byte) |
Возвращает большее из двух 8-битовых целых чисел без знака. |
27 |
Max(Decimal, Decimal) |
Возвращает большее из двух десятичных чисел. |
28 |
Max(Double, Double) |
Возвращает большее из двух чисел двойной точности с плавающей запятой. |
29 |
Max(Int16, Int16) |
Возвращает большее из двух 16-битовых целых чисел со знаком. |
30 |
Max(Int32, Int32) |
Возвращает большее из двух 32-битовых целых чисел со знаком. |
31 |
Max(Int64, Int64) |
Возвращает большее из двух 64-битовых целых чисел со знаком. |
32 |
Max(SByte, SByte) |
Возвращает большее из двух 8-битовых целых чисел со знаком. |
33 |
Max(Single, Single) |
Возвращает большее из двух чисел одинарной точности с плавающей запятой. |
34 |
Max(UInt16, UInt16) |
Возвращает большее из двух 16-битовых целых чисел без знака. |
35 |
Max(UInt32, UInt32) |
Возвращает большее из двух 32-битовых целых чисел без знака. |
36 |
Max(UInt64, UInt64) |
Возвращает большее из двух 64-битовых целых чисел без знака. |
37 |
Min(Byte, Byte) |
Возвращает меньшее из двух 8-битовых целых чисел без знака. |
38 |
Min(Decimal, Decimal) |
Возвращает меньшее из двух десятичных чисел. |
39 |
Min(Double, Double) |
Возвращает меньшее из двух чисел двойной точности с плавающей запятой. |
40 |
Min(Int16, Int16) |
Возвращает меньшее из двух 16-битовых целых чисел со знаком. |
41 |
Min(Int32, Int32) |
Возвращает меньшее из двух 32-битовых целых чисел со знаком. |
42 |
Min(Int64, Int64) |
Возвращает меньшее из двух 64-битовых целых чисел со знаком. |
43 |
Min(SByte, SByte) |
Возвращает меньшее из двух 8-битовых целых чисел со знаком. |
44 |
Min(Single, Single) |
Возвращает меньшее из двух чисел одинарной точности с плавающей запятой. |
45 |
Min(UInt16, UInt16) |
Возвращает меньшее из двух 16-битовых целых чисел без знака. |
46 |
Min(UInt32, UInt32) |
Возвращает меньшее из двух 32-битовых целых чисел без знака. |
47 |
Min(UInt64, UInt64) |
Возвращает меньшее из двух 64-битовых целых чисел без знака. |
48 |
Pow |
Возвращает указанное число, возведенное в указанную степень. |
49 |
Round(Decimal) |
Округляет десятичное значение до ближайшего целого. |
50 |
Round(Double) |
Округляет заданное число с плавающей запятой двойной точности до ближайшего целого. |
51 |
Round(Decimal, Int32) |
Округляет десятичное значение до указанного числа дробных разрядов. |
52 |
Round(Decimal, MidpointRounding) |
Округляет десятичное значение до ближайшего целого.Параметр задает правило округления значения, если оно находится ровно посредине между двумя другими числами. |
53 |
Round(Double, Int32) |
Округляет значение двойной точности с плавающей запятой до заданного количества дробных разрядов. |
54 |
Round(Double, MidpointRounding) |
Округляет заданное значение число двойной точности с плавающей запятой до ближайшего целого.Параметр задает правило округления значения, если оно находится ровно посредине между двумя другими числами. |
55 |
Round(Decimal, Int32, MidpointRounding) |
Округляет десятичное значение до указанного числа дробных разрядов.Параметр задает правило округления значения, если оно находится ровно посредине между двумя другими числами. |
56 |
Round(Double, Int32, MidpointRounding) |
Округляет значение двойной точности с плавающей запятой до заданного количества дробных разрядов.Параметр задает правило округления значения, если оно находится ровно посредине между двумя другими числами. |
57 |
Sign(Decimal) |
Возвращает значение, определяющее знак десятичного числа. |
58 |
Sign(Double) |
Возвращает значение, определяющее знак числа двойной точности с плавающей запятой. |
59 |
Sign(Int16) |
Возвращает значение, определяющее знак 16-разрядного знакового целого числа. |
60 |
Sign(Int32) |
Возвращает значение, показывающее знак 32-разрядного знакового целого числа. |
61 |
Sign(Int64) |
Возвращает значение, показывающее знак 64-разрядного знакового целого числа. |
62 |
Sign(SByte) |
Возвращает значение, определяющее знак 8-битового целого числа со знаком. |
63 |
Sign(Single) |
Возвращает значение, определяющее знак числа одинарной точности с плавающей запятой. |
64 |
Sin |
Возвращает синус указанного угла. |
65 |
Sinh |
Возвращает гиперболический синус указанного угла. |
66 |
Sqrt |
Возвращает квадратный корень из указанного числа. |
67 |
Tan |
Возвращает тангенс указанного угла. |
68 |
Tanh |
Возвращает гиперболический тангенс указанного угла. |
69 |
Truncate(Decimal) |
Вычисляет целую часть заданного десятичного числа. |
70 |
Truncate(Double) |
Вычисляет целую часть заданного числа двойной точности с плавающей запятой. |
Также имеются следующие поля:
E – представляет основание натурального логарифма, определяемое константой e.
PI – представляет отношение длины окружности к ее диаметру, определяемое константой π.