Комп'ютерну програму можна розглядати як послідовність команд. Ми пишемо програму на мові програмування C#. Почнемо вивчати команди і конструкції цієї мови.
Для цього напишемо програму, яка розв'язує рівняння виду
ax = b
де a і b - деякі задані числа, а x - число, яке необхідно знайти.
Як відомо (із шкільної математики), розв'язок такого рівняння знаходиться за формулою
x = b/a
Напишемо програму, яка рахує x за цією формулою.
Запускаємо Студію і відкриваємо наше "app" рішення. (Меню File -> Open -> Project/Solution... в відкрившомуся діалозі вибираємо наш файл app.sln і нажимаємо Open.)
Якщо необхідно створити нове рішення, то вибираємо меню File->New->Project. Відкриється вікно New project. В цьому вікні зліва вибираємо Installed->Visual C#->Windows Classic Desktop, далі вибираємо із списку Console App (.NET Framework). Далі задаємо ім'я проекту (App), робочу папку (в цій папці будуть створені файли рішення і проекту) і ім'я рішення (solution).
Якщо необхідно створити нове рішення, то вибираємо меню File->New->Project. Відкриється вікно New project. В цьому вікні зліва вибираємо Installed->Visual C#->Windows Classic Desktop, далі вибираємо із списку Console App (.NET Framework). Далі задаємо ім'я проекту (App), робочу папку (в цій папці будуть створені файли рішення і проекту) і ім'я рішення (solution).
Якщо не відкрилося вікно Solution Explorer, вибираємо меню View -> Solution Explorer, вікно Solution Explorer стане видимим. В цьому вікні в проекті app вибираємо файл Program.cs - цей файл відкриється в редакторі.
Файл, який автоматично створила для нас Студія, виглядає так:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace App
{
class Program
{
static void Main(string[] args)
{
}
}
}
Наша програма починає виконуватись з першої стрічки, яка йде за
В програмі може бути багато різних змінних, їх треба якось розрізняти. В C# змінна має ім'я, використовуючи це ім'я ми будемо вказувати компілятору, яке саме місце в пам'яті нам зараз потрібне.
Програма може працювати з різними даними, вони можуть по-різному зберігатись в пам'яті. Наприклад, це може бути текст, ціле число, дріб і багато іншого. Тому в C# використовують таке поняття, як тип змінної. Знаючи тип змінної, компілятор зможе правильно зарезервувати необхідне місце в пам'яті і зможе правильно будувати послідовність команд процесора для роботи з цими даними.
Змінна в C# декларується наступним чином: пишемо тип змінної а потім ім'я змінної. В кінці ставимо ";".
Файл, який автоматично створила для нас Студія, виглядає так:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace App
{
class Program
{
static void Main(string[] args)
{
}
}
}
Наша програма починає виконуватись з першої стрічки, яка йде за
static void Main(string[] args)З цього місця почнемо писати наш код (послідовність команд).
{
Перша конструкція, яка нам необхідна - це змінна.
Декларуючи змінну, ми даємо компілятору наступну інструкцію: необхідно зарезервувати місце в пам'яті комп'ютера, де ми зможемо зберігати деякі данні.В програмі може бути багато різних змінних, їх треба якось розрізняти. В C# змінна має ім'я, використовуючи це ім'я ми будемо вказувати компілятору, яке саме місце в пам'яті нам зараз потрібне.
Програма може працювати з різними даними, вони можуть по-різному зберігатись в пам'яті. Наприклад, це може бути текст, ціле число, дріб і багато іншого. Тому в C# використовують таке поняття, як тип змінної. Знаючи тип змінної, компілятор зможе правильно зарезервувати необхідне місце в пам'яті і зможе правильно будувати послідовність команд процесора для роботи з цими даними.
Змінна в C#:
- Використовується для резервування певного місця в пам'яті для зберігання даних.
- Має ім'я. Ми звертаємося до того чи іншого місця в пам'яті вказуючи ім'я змінної.
- Має тип. Тип вказує компілятору, які саме дані ми будемо зберігати в цій змінній.
Змінна в C# декларується наступним чином: пишемо тип змінної а потім ім'я змінної. В кінці ставимо ";".
Наприклад, запис
double a;
декларує змінну "a" типу "double"
"double" зберігає числа з плаваючою точкою. Зараз ми можемо вважати такі числа звичайними числами виду 5.23, 123.456 і так далі.
"double" зберігає числа з плаваючою точкою. Зараз ми можемо вважати такі числа звичайними числами виду 5.23, 123.456 і так далі.
Наступна конструкція, яку ми будемо використовувати для розв'язку рівняння - це оператор присвоювання.
Оператор присвоювання наказує компілятору побудувати код, який запише в певну змінну певні дані.
Виглядає це так:
a = 123.45;
Ця команда записує в змінну a число 123.45. Таким чином, після виконання цієї команди в пам'яті, яка відповідає змінній a, будуть зберігатися данні, які представляють число 123.45
Зверніть увагу, що оператор присвоювання в C# має зовсім інший зміст, ніж знак "=" в математиці.
В математиці "=" означає твердження, що дві сутності (наприклад, два числа) рівні.
На мові C# оператор (команда) "=" - це команда записати певні дані в певне місце в пам'яті комп'ютера.
Далі нам потрібно буде виконати обчислення.
Для обчислень ми будемо використовувати арифметичні оператори.
Як видно з формули для знаходження кореня рівняння ax = b,
Також існують операції множення ("*"), додавання ("+"), віднімання ("-") та інші. Символи, які використовуються для арифметичних операцій, підібрані так, щоб, з одного боку, вони були схожі на відповідні математичні символи, а з іншого боку, ці символи присутні на клавіатурі і вираз можна записати в один рядок Пізніше я більш детально розповім про вирази в C#.
Зараз нам потрібно виконати операцію ділення.
Виглядає це так:
double a;
В C# любий текст після "//" і до кінця рядка є коментарем. Коментар може містити любий текст і не впливає на роботу програми.
Наприклад:
double a; // тут можна писать все, що нам треба.
// це теж коментар, який не впливає на роботу програми
double b;
Тепер у нас є все необхідне, щоб написати нашу програму.
Наш код буде виглядати так:
В математиці "=" означає твердження, що дві сутності (наприклад, два числа) рівні.
На мові C# оператор (команда) "=" - це команда записати певні дані в певне місце в пам'яті комп'ютера.
Далі нам потрібно буде виконати обчислення.
Для обчислень ми будемо використовувати арифметичні оператори.
Як видно з формули для знаходження кореня рівняння ax = b,
x = b/a
нам треба виконати операцію ділення. В C# для операції ділення використовується символ "/".Також існують операції множення ("*"), додавання ("+"), віднімання ("-") та інші. Символи, які використовуються для арифметичних операцій, підібрані так, щоб, з одного боку, вони були схожі на відповідні математичні символи, а з іншого боку, ці символи присутні на клавіатурі і вираз можна записати в один рядок Пізніше я більш детально розповім про вирази в C#.
Зараз нам потрібно виконати операцію ділення.
Виглядає це так:
double a;
double b;
double с;
a = 10;
b = 2;
c = a/b;
Для останнього рядка компілятор побудує код, який прочитає число із
змінної "a" (точніше, прочитає число із того місця в пам'яті, яке відповідає змінній "a"), прочитає число із змінної "b", відніме від першого числа друге і запише результат в змінну "c".double с;
a = 10;
b = 2;
c = a/b;
Коментарі.
Часто буває зручно прямо в тексті програми написать коментар, який буде пояснювати код.В C# любий текст після "//" і до кінця рядка є коментарем. Коментар може містити любий текст і не впливає на роботу програми.
Наприклад:
double a; // тут можна писать все, що нам треба.
// це теж коментар, який не впливає на роботу програми
double b;
Тепер у нас є все необхідне, щоб написати нашу програму.
Наш код буде виглядати так:
static void Main(string[] args)
{
{
double a; // резервуємо місце в пам'яті
a = 2; // записуємо в це місце число "2"
a = 2; // записуємо в це місце число "2"
double b;
b = 10; // Записуємо в змінну "b" число "10"
double x;
x = b / a;
Console.WriteLine(x); // виводимо результат
Console.ReadLine(); // чекаємо на "Enter"
}
Запускаємо програму (меню Debug -> Start Debugging)b = 10; // Записуємо в змінну "b" число "10"
double x;
x = b / a;
Console.WriteLine(x); // виводимо результат
Console.ReadLine(); // чекаємо на "Enter"
}
Відкриється консоль, в якій ми побачимо результат, число 5.
А так виглядає наша програма в Студії:
Звичайно, ця програма дуже далека від програм, які використовуються на практиці.
В цій програмі безліч недоліків. Вона розв'язує цілком конкретне рівняння. Для того, щоб розв'язати інше рівняння (інші значення "a" і "b"), необхідно змінити програму. Наш код виглядає громіздким. Якщо b буде рівним нулю, то наша програма аварійно завершиться.
По мірі вивчення можливостей C# наші програми ставатимуть кращими.