Читайте также:
|
|
Перелік ЛР
ЛР 1. Складні типи даних C#: масиви даних
ЛР 2. Складні типи даних C#: структури
ЛР 3. Функції C#
ЛР 1. Складні типи даних C#: масиви даних
Завдання на ЛР
1. Написати програму виконання операцій з масивами:
Формування масива
Выдображення масива
Викоростання методів класа Array
2. Передбачити:
відображення меню програми;
вибір пунктів меню;
введення даних із клавіатури;
відображення необхідних даних та повідомлень.
Інтерфейс програми
Відомості з теорії
Прості типи даних:
Цілі числа
Цілочисельні типи і їх діапазони
Тип | Діапазон | Розмір |
sbyte | От -128 до 127 | 8-розрядне ціле число із знаком |
byte | От 0 до 255 | 8-розрядне ціле число без знаку |
short | От -32 768 до 32 767 | 16-розрядне ціле число із знаком |
ushort | От 0 до 65 535 | 16-розрядне ціле число без знаку |
int | От -2 147 483 648 до 2 147 483 647 | 32-розрядне ціле число із знаком |
uint | От 0 до 4 294 967 295 | 32-розрядне ціле число без знаку |
long | От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 | 64-розрядне ціле число із знаком |
ulong | От 0 до 18 446 744 073 709 551 615 | 64-розрядне ціле число без знаку |
Уявлення цілих чисел у програмі:
12 -1254 36957 -645397
Довільні(речові, дійсні) числа
Типи з плаваючою крапкою дозволяють представляти числа з дробовою
частиною.
Типи для представлення чисел з плаваючою крапкою і їх діапазони
Тип | Приблизний діапазон | Точність | Розрядність |
float | От ±1,5e−45 до ±3,4e38 | 7 знаків | 32 бита |
double | От ±5,0e−324 до ±1,7e308 | 15-16 знаків | 64 бита |
Тип decimal призначений для застосування у фінансових розрахунках.
Цей тип має розрядність 128 битий для представлення числових значень
в межах від 1Е-28 до 7,9Е+28. Для звичайних арифметичних обчислень
з плаваючою крапкою характерні помилки округлення десяткових значень.
Ці помилки виключаються при використанні типу decimal, який дозволяє
представити числа з точністю до 28 (а іноді і 29) десяткових розрядів.
Завдяки тому, що цей тип даних здатний представляти десяткові значення
без помилок округлення, він особливо зручний для розрахунків,
пов'язаних з фінансами.
Уявлення дійсних чисел у програмі:
Десяткова (нормальна) форма:
12.365 -1.324 83 -1269
Експоненціальна (показова) форма:
1.236Е2 6.98Е-3 -12.54Е7 -2Е6 4Е-5
Символи
У С# символи представлені 16-розрядним кодом, який називається юнікодом (Unicode).
У юнікоді набір символів представлений настільки широко, що він охоплює символи
практично зі всіх природних мов на світі. Якщо для багатьох природних мов, зокрема
англійського, французького і німецького, характерні відносно невеликі алфавіти, то у
ряді інших мов, наприклад китайському, уживаються досить обширні набори символів,
які не можна представити 8-розрядним кодом. Для подолання цього обмеження в С#
визначений тип char, що представляє 16-розрядні значення без знаку в межах від 0 до 65 535.
При цьому стандартний набір символів в 8-розрядному коді ASCII є підмножиною юнікоду в
межах від 0 до 127. Отже, символи в коді ASCII як і раніше залишаються дійсними в С#.
Уявлення символьных даних у програмі:
'r' 'm' 'Y' '6' '+' '@'
Читання символів із клавіатури
ConsoleKeyInfo cki = new ConsoleKeyInfo(); // структура для збереження кодів клавиш
cki = Console.ReadKey(); // читання кода клавиши
char ch = cki.KeyChar; // збереження кода символа
// використання кодів клавиш
if (ch == '1') ………..
if (cki.KeyChar == (char) 27) break;
Логічний тип даних
Тип bool представляє два логічні значення: " істина" і " брехня".
Ці логічні значення позначаються в С# зарезервованими словами true і false відповідно.
Отже, змінна або вираз типу bool прийматиме одне з цих логічних значень.
У C# тип даних є класом і має ряд методів і властивостей:
MaxValue – повертає максимальне значення для даного типу
MinValue – повертає мінімальне значення для даного типу
Equals(v1,v2) – порівняння значень двох екземплярів даного типу
Parse(str) – перетворення рядка в число
ToString() – перетворення числа в рядок
Довільні типи мають додаткові властивості:
Epsilon – машинний нуль
IsInfinity – перевірка на нескінченність
IsNaN – перевірка на приналежність до чисел
NegativeInfinity – негативна нескінченність
PositiveInfinity – позитивна нескінченність
Масиви
Оголошення одновимірного масиву цілих чисел
int[] arr = new int[100];
Оголошення двовимірного масиву довільних чисел
double [,] matric = new double [8, 8];
Формування масиву випадкових чисел
Random rnd = new Random(); //
for(int i=0; i<30; i++) arr[i] = rnd.Next(1,120); // масив із 30 цілих чисел
// значення від 1 до 120
У C# можна використовувати представлення масиву у вигляді классу Array
і при виконанні операцій з масивами використовувати методи цього класа:
int[] mas = new int[5] { 3, 1, 5, 2, 4 };
mas.SetValue(6,3); // завдання значення елементу(6-значення,3-індекс)
int v = mas.GetValue(2); // читання елементу(2 - індекс)
int l = mas.Length;//визначення розміру масиву
int max = mas.Max(); //визначення максимального значення елементів масиву
int min = mas.Min();//визначення мінімального значення елементів масиву
int midle = mas.Average();//визначення середнього значення елементів масиву
int sum = mas.Sum();//визначення суми елементів масиву
Array.Resize(ref mas, n); // зміна розміру масива (n- розмір масива)
Array.Sort(mas, 0, n); // сортування масиву (0, n – початковий і кінцевий індексі)
Array.Reverse(mas, 0, n); // реверс масиву (0, n – індексі)
int ind = Array.BinarySearch(mas, v, 0, n); // пошук значення v у відсортованому масиві
// 0, n – початковий і кінцевий індексі межі пошуку
Рядки
Рядковий тип String (string) визначає і підтримує символьні рядки.
Оголошення рядків: string s;
Клас типу string містить ряд методів для операцій з рядками. Деякі
з цих методів перераховані в таблиці:
Метод | Опис |
static int Compare(string strA, string strB, StringComparison comparisonType) | Повертає негативне значення, якщо рядок strAменше рядка strB; позитивне значення, якщо рядок strAбільше рядка strB; і нуль, якщо порівнювані рядки рівні. Спосіб порівняння визначається аргументом comparisonType |
bool Equals(string value, StringComparison comparisonType) | Повертає логічне значення true, якщо зухвалий рядок має таке ж значення, як і у аргументу value. Спосіб порівняння визначається аргументом comparisonType |
int IndexOf(char value) | Здійснює пошук в зухвалому рядку першого входження символу, визначуваного аргументом value. Застосовується порядковий спосіб пошуку. Повертає індекс першого збігу з шуканим символом або -1, якщо він не виявлений |
int IndexOf(string value, StringComparison comparisonType) | Здійснює пошук в зухвалому рядку першого входження підрядка, визначуваного аргументом value. Повертає індекс першого збігу з шуканим підрядком або -1, якщо вона не виявлена. Спосіб пошуку визначається аргументом comparisonType |
Додаткові операції з рядками здійснюються з
використанням спеціальних методів:
S.Trim()- видаляє початкові і кінцеві пропуски
з рядка S
int p = S.IndexOf(Ps) - визначає позицію підрядка Ps у рядку S
S = S.Remove(num, n)- видаляє з рядка n символів,
починаючи з номера num
S = S.Insert(S1, num)- вставляє у рядок S рядок S1,
начиная з номера num
string s = S.Substring(num, n)- копіює n символів рядка,
починаючи з номера num
int len = S.Length- повертає довжину рядка
Дата добавления: 2015-10-31; просмотров: 78 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Поляризация құбылысын зерттеуге арналған қондырғы. | | | Введення/вивід даних |