Базові елементи мови c #

1. Виконайте фрагмент програми і поясніть отриманий результат: double a = 100, b = 33;

Console.WriteLine (a / b); double d = 100/33; Console.WriteLine (d);

2. З'ясуйте, чому буде дорівнює результат операції, і поясніть, як вийшов цей результат:

6. Додавання (+) і віднімання (-). Операції додавання і віднімання застосовні для цілочисельних і речових типів даних. Для інших типів ці операції застосовні, якщо для них можливо неявне перетворення до цілих або речових типів.

7. Операції відносини ( <, <=,>,> =, ==. =). Операції відносини порівнюють значення лівого і правого операндів. Результат операції логічного типу: true - якщо значення збігаються, false - в протилежному випадку. Розглянемо операції на прикладі:

static void Main ()

int i = 15, j = 15; Console.WriteLine (i

Console.WriteLine (i<=j); //меньше или равно Console.WriteLine(i>j); // більше Console.WriteLine (i> = j); // більше або дорівнює Console.WriteLine (i == j); // одно Console.WriteLine (i! = J); //не дорівнює

Результат роботи програми:

Завдання. З'ясуйте, чому дорівнює результат цього виразу: 1) 10<25<30 2) true

І поясніть, як вийшов цей результат.

8. Логічні операції: І (), АБО (||).

Логічні операції застосовуються до операндам логічного типу.

Результат логічної операції І має значення істина тоді і тільки тоді, коли обидва операнда приймають значення істина.

Результат логічної операції АБО має значення істина тоді і тільки тоді, коли хоча б один з операндів приймає значення істина.

Розглянемо операції на прикладі:

static void Main ()

Console.WriteLine ( "x y x і y x або y");

Console.WriteLine ( "", false, false, falsefalse, false || false); Console.WriteLine ( "", false, true, falsetrue, false || true);

Базові елементи мови c #

Console.WriteLine ( "", true, false, truefalse, true || false); Console.WriteLine ( "", true, true, truetrue, true || true);

Результат роботи програми:

Зауваження. Фактично була побудована таблиця істинності для логічних операцій І та АБО.

Завдання. Поясніть, яке значення прийме змінна t в даному фрагменті програми:

bool t = (a> = b a! = 2 * b || a<0);

9. Умовна операція.

Формат: (<операнд1>)? <операнд2>. <операнд3>;

Операнд1 - це логічний вираз, яке оцінюється з точки зору його еквівалентності констант true і false. Якщо результат обчислення операнда1 дорівнює true, то результатом умовної операції буде значення операнда2, інакше - операнда3. Фактично умовна операція є скороченою формою умовного оператора if, який буде розглянуто пізніше.

Приклад використання умовної операції:

static void Main ()

int max = (x> y). x. y; Console.WriteLine (max);

Завдання. Змініть програму так, щоб:

1) обчислювалося найменше значення з двох дійсних чисел x і y;

2) якщо число двозначне, то на екран виводилося «Так», і «Ні» в іншому випадку.

10. Операції присвоювання: =, + =, - = і т.д.

Формат операції простого присвоювання (=):

В результаті виконання цієї операції обчислюється значення операнда_1, і результат записується в операнд_2. Можна пов'язати воєдино відразу кілька операторів присвоювання, записуючи такі ланцюжки: a = b = c = 100. Вираз такого виду виконується справа наліво: результатом виконання c = 100 є число 100, яке потім присвоюється змінної b, результатом чого знову є 100, яке присвоюється змінної a.

Крім простої операції присвоювання існують складні операції присвоювання. наприклад, множення з привласненням (* =), розподіл з привласненням (/ =), залишок від ділення з привласненням (% =), додавання з привласненням (+ =), віднімання з привласненням (- =) і т.д.

Базові елементи мови c #

У складних операціях привласнення, наприклад, при додаванні з привласненням,

до операнду_2 додається операнд_1, і результат записується в операнд_2. Тобто, вираз з + = а є більш компактною записом виразу з = з + а.

Завдання. Поясніть, які значення візьмуть змінні t і b після виконання даного фрагмента програми:

int a = 10, b = 3; int t = (a ++) - b; int b + = t * a;

Вирази і перетворення типів

Вираз - це синтаксична одиниця мови, яка визначає спосіб обчислення деякого значення. Вирази складаються з операндів, операцій і дужок. Кожен операнд є в свою чергу виразом або одним з його окремих випадків - константою, змінною або функцій.

Зауваження. Список математичних функцій, реалізованих в С # наведено в додатку 2.

Результат обчислення виразу характеризується значенням і типом. Наприклад, якщо а і b - змінні цілого типу і описані так:

то вираз а + b має значення 7 і тип int.

У вираз можуть входити операнди різних типів. Якщо операнди мають однаковий тип, то результат операції буде мати той же тип. Якщо операнди різного типу, то перед обчисленнями виконуються перетворення більш коротких типів в більш довгі для збереження значущості і точності. Ієрархія типів даних приведена в наступною схемою:

Базові елементи мови c #

Перетворення типів у виразах відбувається неявно (без участі програмістів) наступним чином. Якщо одні з операндів має тип, зображений на більш низькому рівні, ніж інший, то він приводиться до типу другого операнда при наявності шляху між ними. Якщо шляху немає, то виникає помилка компіляції (щоб її уникнути, необхідно скористатися операцією явного перетворення). Якщо шляхів перетворення кілька, то вибирається найбільш короткий, що не містить пунктирних ліній.

Повернемося до розгляду операції явного перетворення з попереднього розділу:

static void Main ()

int i = -4; byte j = 4;

int a = (int) j; // 1 byte b = (byte) i; // 2

Console.WriteLine ( "", a, b);

У рядку 1 можна обійтися без явного перетворення типу, тобто можна записати a = j, тому що тип int в ієрархії типів знаходиться вище типу byte і існує шлях для неявного перетворення типу byte в тип int. Але шляхи для неявного перетворення від типу int до типу byte немає, тому в рядку 2 не можна записати b = i - компілятор видасть повідомлення про помилку.

Зауваження. Розглянемо один важливий приклад. В С ++ допустимо наступний фрагмент

В даному прикладі в рядку 3 відбувається неявне перетворення типу змінної х, тобто типу int, до логічного типу. При цьому, якщо х приймає значення 0 (або null для посилальних типів), то йому ставиться в відповідність логічна величина false, всім іншим значенням у відповідність ставиться логічне значення true. У нашому випадку змінна х приймає нульове значення, тому воно буде перетворено до значення true, і в змінну y запишеться значення 1.

У мові С # подібне неявне перетворення неможливо. Необхідно обов'язково виконувати операцію порівняння значення х з 0. Наприклад, в такий спосіб:

int y = (x! = 0)? 1: 2; // 3

Базові елементи мови c #

Приклади розв'язання практичних завдань

1. Написати програму, підраховують площу квадрата, периметр якого дорівнює p.

Вказівки щодо вирішення завдання. Перш ніж скласти програму, проведемо математичні міркування. Нехай дано квадрат зі стороною а, тоді:

Результат роботи програми:

Завдання. Змінити програму так, щоб вона підраховувала периметр квадрата, площа якого дорівнює s

2. Визначити, чи є сума цифр натурального двозначного числа парному.

Вказівка ​​за рішенням завдання. Нагадаємо, що число є парним, якщо залишок від ділення даного числа на 2 дорівнює нулю. А для того, щоб розкласти двозначним числом на цифри, потрібно розділити його без остачі на 10 - так ми знайдемо старшу цифру числа, а потім взяти залишок від ділення на 10 вихідного числа - так ми знайдемо його молодшу цифру.

using System; namespace Example

static void Main ()

byte a = byte.Parse (Console.ReadLine ());

string result = ((a / 10 + a% 10)% 2 == 0)? "Парне": "непарне"; Console.WriteLine (result);

Базові елементи мови c #

Завдання. Змінити програму так, щоб вона визначала, чи є сума цифр тризначного числа непарній.

Завдання для самостійної роботи

I. Написати програму, яка, реалізує діалог з користувачем:

1) запрошувати з клавіатури два цілих числа, і виводить на екран суму даних чисел:

2) запрошувати з клавіатури два цілих числа, і виводить на екран суму даних чисел в прямому і зворотному порядку:

3) запрошувати з клавіатури три цілих числа, і виводить на екран суму даних чисел:

4) запрошувати з клавіатури два дійсних числа, і виводить на екран твір даних чисел (речові числа виводяться з точністю до 1 знака після коми):

5) запрошувати з клавіатури два дійсних числа, і виводить на екран результат ділення першого числа на друге (речові числа виводяться з точністю до 3 знаків після коми):

Базові елементи мови c #

6) запрошує з клавіатури три дійсних числа, і виводить на екран наступне повідомлення (речові числа виводяться з точністю до 2 знаків після коми):

7) запрошувати з клавіатури номінал купюри і кількість купюр, і виводить екран наступне повідомлення:

8) запрошувати з клавіатури суму вкладу та відсоток за вкладом, і виводить на екран наступне повідомлення (вклад без капіталізації - все нарахування в кінці року):

9) запрошувати з клавіатури суму вкладу та відсоток за вкладом, і виводить на екран наступне повідомлення (вклад без капіталізації - все нарахування в кінці року):

II. Написати програму, яка підраховує:

1) площа рівностороннього трикутника, периметр якого дорівнює p;

2) відстань між точками з координатами x1, y1 і x2, y2;

3) гіпотенузу прямокутного трикутника за двома даними катетам a, b.

4) площа прямокутного трикутника за двома катетам a, b.

5) периметр прямокутного трикутника за двома катетам a, b.

6) ребро куба, площа повної поверхні якого дорівнює s;

7) ребро куба, об'єм якого дорівнює v;

8) периметр трикутника, заданого координатами вершин x1, y1, x2, y2, x3, y3;

9) площа трикутника, заданого координатами вершин x1, y1, x2, y2, x3, y3;

10) суму членів арифметичної прогресії, якщо відомий її перший член, різниця і число членів прогресії

III. Написати програму, яка визначає:

1) найбільшу цифру в натуральному двозначному числі;

2) найменшу цифру в натуральному двозначному числі;

3) чи однакові цифри даного двозначного числа;

4) закінчується сума цифр двозначного числа на 0;

5) кратна чи трьом сума цифр двозначного числа;

6) кратна чи числу А сума цифр двозначного числа;

7) яка з цифр тризначного числа більше: перша або остання;

8) яка з цифр тризначного числа більше: перша або друга;

9) яка з цифр тризначного числа більше: друга або остання;

10) чи всі цифри тризначного числа однакові.

Схожі статті