- •2. Які особливості роботи з масивами в мові с#?
- •3.Розкажіть про методи для введення та виведення даних в мові c#
- •3.Поясніть програмування циклів та розгалужень в мові c#
- •5. Як програмується в мові Visual c# робота з полями введення, списками,комбінованими списками з перемикачами і селекторними кнопками?
С#
2. Які особливості роботи з масивами в мові с#?
Масиви в С # дещо відрізняються від інших С-подібних мов.
Почнемо відразу з прикладів. Приклад перший:
int [] k; / / k - масив
k = new int [3]; / / Визначаємо масив з 3 цілих
k [0] = -5; k [1] -4; k [2] = 55; / / Задаємо елементи масиву
/ / Виводимо третій елемент масиву
Console.WriteLine (k [2]. ToString ());
Сенс наведеного фрагмента ясний з коментарів. Зверніть увагу на деякі особливості.
По-перше, масив визначається саме як
int [] k;
По-друге, так як масив являє собою посилальний об'єкт, то для створення масиву необхідний рядок
k = new int [3];
Саме в ньому ми і визначаємо розмір масиву. Крім того, можливі конструкції виду
int [] k = new int [3];
Елементи масиву можна задавати відразу при оголошенні. Наприклад:
int [] к = {-5, 4, 55};
Зрозуміло, наведені конструкції застосовні не тільки до типу int і не тільки до масиву розміру 3.
У С #, як і в C / C + +, нумерація елементів масиву йде з нуля. Таким чином, у нашому прикладі початковий елемент масиву - це k [0], a останній - k [2]. Елемента k [3], природно, немає.
Тепер переходимо до багатовимірним масивів. Ось так задається двовимірний масив:
int [] k = new int [2, 3];(int [,] k = new int [2, 3])
Зверніть увагу, що пара квадратних дужок тільки одна. У нашому прикладі у масиву 6 (= 2 * 3) елементів (k[0,0] - перший, k [1,2] - останній).
Аналогічно ми можемо задавати багатовимірні масиви. Ось приклад тривимірного масиву:
int [] к = new int [10,10,10];(int [ ,, ] к = new int [10,10,10];)
А ось так можна відразу ініціалізувати багатовимірні масиви:
int [,] k = {{2, -2}, {3, -22}, {0, 4}};
Наведені вище приклади багатовимірних масивів називаються прямокутними. Якщо їх представити у вигляді таблиці (у двовимірному випадку), то масив буде представляти собою прямокутник.
Поряд з прямокутними масивами існують так звані ступінчасті. Ось приклад:
/ / Оголошуємо 2-мірний ступінчастий масив
int [] [] k = new int [2] [];
/ / Оголошуємо 0-й елемент нашого ступеневої масиву
/ / Це знову масив і в ньому 3 елементи
k [0] = new int [3];
/ / Оголошуємо 1-й елемент нашого ступеневої масиву
/ / Це знову масив і в ньому 8 елементів
k [1] = new int [8];
k [1] [7] = 100; / / записуємо 100 в останній елемент масиву
Зверніть увагу, що у східчастих масивах ми задаємо декілька пар квадратних дужок (по розмірності масиву). І точно так само ми що-небудь робимо з елементами масиву - записуємо, читаємо і т. п.
Найважливіша і цікава можливість східчастих масивів - це їх «непрямокутність». Так, у наведеному вище прикладі в першому «рядку» масиву три цілих числа, а в другій - вісім. Часто це виявляється дуже до речі.
3.Розкажіть про методи для введення та виведення даних в мові c#
Оператори введення
Для того щоб отримати дані, що вводяться користувачем вручну (тобто з консолі), застосовуються команди
<Стрічкова змінна> = Console.ReadLine ()
Для того щоб перетворити до потрібного типу даних використовуємо об'єкт Convert
<Змінна цілого типу> = Convert.ToInt32 (<строкою змінна>);
<Змінна дійств типу> = Convert.ToDouble (<строкою змінна>);
<Змінна логічного типу> = Convert.ToBoolean (<строкою змінна>);
<Змінна цілого типу> = Convert.ToByte (<строкою змінна>);
<Змінна символьного типу> = Convert.ToChar (<строкою змінна>);
<Змінна цілого типу> = Convert.ToInt64 (<строкою змінна>);
Приклад
Int32 x; Double y; string s;
s = Console.ReadLine ();
x = Convert.ToInt32 (s);
/ / Без проміжної рядковий змінної
y = Convert.ToDouble (Console.ReadLine ());
Типи вводяться значень повинні збігатися з типами зазначених змінних, інакше виникає помилка. Тому потрібно уважно стежити за правильністю вводяться.
Для того, щоб забезпечити очікування введення будь-якої клавіші в кінці програми використовують
Console.ReadKey ();
Оператори виведення
Для того щоб вивести на екран будь-яке повідомлення, скористайтеся процедурою Console.Write або Console.WriteLine
Перша з них, надрукувавши на екрані все, про що її просили, залишить курсор в кінці виведеної рядки, а друга переведе його в початок наступної строчки.
Console.WriteLine (s) ;/ / змінна
Console.WriteLine (55.3) ;/ / константа
Console.WriteLine (y * 3 +7) ;/ / вираз
Console.Write (z) ;/ / змінна
Console.Write (-5.3) ;/ / константа
Console.Write (i * 3 +7 / j) ;/ / вираз
Щоб при виведенні даних вони не склеювалися, потрібно подбати про прогалини між виведеними змінними, також можна виводити списком кілька змінних:
Console.WriteLine ("Це число А = {0} далі B = {1} і, нарешті їх сума {2}", a, b, a + b);
Для форматування числових результатів можна використовувати метод String.Format або метод Console.Write, що викликає метод String.Format. Формат задається за допомогою рядків формату. Специфікація формату наступна: {N, M: Axx}, де N вказує позицію елемента в списку виводяться змінних (нумерація починається з 0); M - задає ширину області, в яку буде поміщено форматований значення, якщо M відсутня або негативно, значення буде вирівняно вліво, в іншому випадку - вправо; Axx - є необов'язковою рядком форматує кодів, які використовуються для управеніея форматуванням чисел, дати і часу, грошових знаків і т.д.
У наступній таблиці наведено підтримувані рядки стандартних форматів. Рядок формату приймає наступну форму: Axx, де A - описувач формату, а xx - описувач точності. Описувач формату управляє типом форматування, застосовуваним до числовому значенню, а описувач точності управляє кількістю значущих цифр або десяткових знаків форматованого результату.
C або c Валюта
Console.Write ("{0: C}", 2.5); Console.Write ("{0: C}", -2.5); / / $ 2.50 ($ 2.50)
D або d Десятковий формат
Console.Write ("{0: D5}", 25); / / 00025
E або e Інженерний формат
Console.Write ("{0: E}", 250000); / / 2.500000E +005
F або f Формат з фіксованою комою
Console.Write ("{0: F2}", 25); Console.Write ("{0: F0}", 25); / / 25.00 25
G або g Загальний формат
Console.Write ("{0: G}", 2.5); / / 2.5
N або n Числовий формат
Console.Write ("{0: N}", 2500000); / / 2,500,000.00
X або x Шістнадцятковий формат
Console.Write ("{0: X}", 250); Console.Write ("{0: X}", 0xffff); / / FA FFFF
Приклад
Int32 x; Double y; string s;
Console.Write ("Введіть X =");
s = Console.ReadLine ();
x = Convert.ToInt32 (s);
Console.Write ("Введіть Y =");
s = Console.ReadLine ();
y = Convert.ToDouble (s);
Console.WriteLine ("Твір X * Y = {0,9: g}", x * y);
Console.ReadKey ();
Приклад найпростішої програми
string s1;
Console.Write ("Введіть ваше ім'я");
s1 = Console.ReadLine ();
Console.WriteLine ("Ми раді вас вітати, {0: g}, в нашій програмі", s1);
Console.ReadKey ();