3571

Введення в C#. Створення консольних додатків

Лекция

Физика

Введення в C#. Створення консольних додатків Мова C# (вимовляється Си-Шарп) - це мова програмування від компанії Microsoft. Він входить у версію Visual Studio - Visual Studio.NET. Крім C# в Visual Studio.NET входять Visual Basic.NET й Visual C++. Од...

Украинкский

2012-11-05

1.45 MB

68 чел.

Введення в C#. Створення консольних додатків

Мова C# (вимовляється Си-Шарп) - це мова програмування від компанії Microsoft. Він входить у версію Visual Studio - Visual Studio.NET. Крім C# в Visual Studio.NET входять Visual Basic.NET й Visual C++.

Одна із причин розробки нової мови компанією Microsoft - це створення компонентно-орієнтованого язика для нової платформи .NET. Інші язики були створені до появи платформи .NET, язик же C# створювався спеціально під цю платформу й не несе із собою вантажу сумісності з попередніми версіями язиків. Хоча це не означає, що для нової платформи це єдина мова.

Ще одна із причин розробки компанією Microsoft нової мови програмування - це створення альтернативи язику Java.

Язик C# є найбільш відомою новинкою в області створення мов програмування. На відміну від 60-х років XX століття - періоду бурхливого мовотворення - у нинішній час язики створюються вкрай рідко.

Творцем язика є співробітник Microsoft Андреас Хейлсберг. Він став відомим у світі програмістів задовго до того, як прийшов в Microsoft. Хейлсберг входив до числа провідних розроблювачів однієї із самих популярних середовищ розробки - Delphi. В Microsoft він брав участь у створенні версії Java - J. C# створювався, як язик компонентного програмування, і в цьому одне з головних достоїнств язика, спрямоване на можливість повторного використання створених компонентів.

Перша програма на C#

Запускаємо Visual Studio.NET. Для створення нового порожнього проекту C# проекту в Visual Studio необхідно скористатися кнопкою Create Project на стартовій сторінці Visual Studio 2008 (Рис.8.1).

Рис.8.1. Стартова сторінка Visual Studio 2008

У вікні, що з'явилося, New Project ліворуч вибираємо, Visual C#, а праворуч тип додатка - Console Application (мал.8.2):

Рис.8.2. Вікно створення нового проекту

Як ім'я проекту (Name) наберіть Consol1, або щось у цьому роді. Натисніть на кнопку ОК для закриття даного діалогового вікна. Як місце (Location), де буде зберігатися папка проекту з файлами, укажіть мережний диск Z. За замовчуванням, передбачено, що ім'я папки робочої області й ім'я проекту збігаються, що не обов'язково.

В результаті чого, на диску будуть створена папка робочої області Consol1, а в цій папці ще одна папка проекту Consol1, у якій будуть зберігатися файли проекту, і створений файл коду програми Program.cs. Крім цього, у папці робочої області створюються ще файл із ім'ям робочої області й розширенням sln, що містить інформацію, про настроювання робочої області, файлах, папках і за допомогою якого відбувається завантаження робочого простору в середовище VisualStudio. У папці з назвою проекту, створюються папки bin, obj, Properties. У папці bin перебуває вкладена папка Debug, де згодом буде перебувати виконує файл, що, проекту Consol1.exe. Папка obj використається для зберігання інформації про об'єктні модулі, папка Properties – інформації про властивості проекту (Рис.8.3).

Рис.8.3. Вікно робочої області проекту

Додамо в код програми рядок, що виведе деяке повідомлення в консольне вікно.

Console.WriteLine("Привіт з C#");

Тому що в програмі автоматично створений рядок using System, то замість довгих можна використати короткі імена методів, зокрема, замість System.Console можна писати просто Console, як записано в попередньому рядку.

Далі в програмі оголошений клас Programm. Що таке класи докладно буде розглянуто пізніше, зараз же досить знати, що в C# необхідно створити клас й у ньому функцію Main (функція Main обов'язково повинна бути в кожній програмі на C#, і саме із цієї функції й починається виконання програми). Звернете також увагу, що ця функція пишеться із прописної (великої) букви. C# розрізняє рядкові й прописні букви. У функції Main виводимо на екран деякий рядок методом WriteLine (Рис.8.4).

Рис.8.4. Вікно програми

Вибравши у верхньому меню робочій області Debug -> StartWithoutDebugging або Ctrl+F5 запускаємо програму. Результат представлений на Рис.8.5.

Рис.8.5. Результат роботи програми

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

Для зчитування рядка символів, уведеної із клавіатури в консольному вікні, використається метод Console.ReadLine(), простору імен System. Для перетворення рядка символів у число необхідно використати метод Parse().

Використаємо відповідні методи в програмі:

float m; //Опис змінної m типу float

Console.WriteLine("Привіт з C#");

Console.WriteLine("Уведіть ціле число: ");

//Вводимо рядок символів методом

//Console.ReadLine() і за допомогою методу

//Parse() перетворимо його до цілого типу int

//і привласнимо змінній k цілого типу.

int k = Int32.Parse(Console.ReadLine());

Console.WriteLine("Було введене число - " + k);

k = k + k;

Console.WriteLine("Сума k+k =" + k);

k = k * k;

Console.WriteLine("Добуток k*k =" + k);

//Змінна l описана як float

float l = (float)k / ((float)k + (float)k);

Console.WriteLine("Вираження k /(k+k) = " + l);

Console.WriteLine("Введіть дробове число ");

Console.WriteLine("(як розділовий знак");

Console.WriteLine(" використайте кому): ");

//Зчитування рядка символів і перетворення її до типу float

m = float.Parse(Console.ReadLine());

m = (m + m)/(m*m);

Console.WriteLine("Вираження(m + m)/(m*m)= " + m);

Зверніть увагу на рядок:

float l = (float)k / ((float)k + (float)k);

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

У рядку:

m = float.Parse(Console.ReadLine());

використовується метод Parse() для перетворення рядка символів в число типу float. Результат перетворення привласнюється змінній m. Тип змінної описаний у рядку:

float m; //Опис змінної m типу float

Результат роботи програми представлений на Рис.8.6.

Рис.8.6. Результат роботи програми

Приклад, що визначає, парне або непарне число ввів користувач:

class Program

{

static void Main(string[] args)

{

//Читаємо символ уведений із клавіатури ( метод ReadLine())

//за допомогою методу Parse перетворимо його

//у ціле число й привласнюємо значення змінної k

Console.WriteLine("Уведіть ціле число");

int k = Int32.Parse(Console.ReadLine());

int b = k / 2;

if (2*b == k)

{

Console.WriteLine("Парне число");

}

else

{

Console.WriteLine("Непарне число");

}

}

}

Фігурні дужки можна не писати у випадку одного оператора. Гілка else теж не є обов'язковою - все залежить від конкретного завдання.

Приклад використання оператора switch:

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Уведіть оцінку");

int k = Int32.Parse(Console.ReadLine());

Console.WriteLine("Уведена оцінка: " + k.ToString());

switch (k)

{

case 1:

case 2:

Console.WriteLine("Незадовільно");

break;

case 3:

Console.WriteLine("Задовільно");

break;

case 4:

Console.WriteLine("Добре");

break;

case 5:

Console.WriteLine("Відмінно");

break;

default:

Console.WriteLine("Помилка");

break;

}

}

}

У наведеному прикладі залежно від уведеного користувачем числа на екран виводиться та або інша оцінка. Якщо число k не лежить у проміжку від 1 до 5, то виконуються оператори в гілці default і виводиться напис "Помилка". Гілка default необов'язкова. Зверніть увагу на оператор break. Якщо його не написати, то будуть виконуватися оператори з наступної гілки case до рядка з break'ом . Якщо в деякій гілці case або default є оператори, то написання break обов'язково. Так, у наступних двох ділянках коду програми є помилки:

...

case 1:

Console.WriteLine("Зовсім незадовільно");

//Помилка! Отут пропущено break

case 2:

Console.WriteLine("Незадовільно");

break;

...

...

default:

Console.WriteLine("...");

//Помилка! Отут пропущено break

}

Застосовуючи оператор switch, необхідно закінчувати кожну case-галузь оператором break.

Приклад циклу for:

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Уведіть число");

int k = Int32.Parse(Console.ReadLine());

int sum = 0;

for (int i = 1; i <= k; i++)

{

sum += i; //Еквівалентно sum=sum+i

}

Console.WriteLine(sum);

}

}

Цей приклад підраховує суму чисел від 1 до уведеного користувачем числа k. Сума записується в змінну sum і виводиться на екран.

Приклад використання циклу While

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Уведіть пароль");

string password;

do

{

password = Console.ReadLine();

}

while (password != "C#");

//-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-і-

}

}

У прикладі цикл буде виконуватися доти, поки користувач не введе правильний пароль (C#).

Приклад використання операторів break й continue

public void Jumps()

{

int i = 1, j=1;

for(i = 1; i<100; i++)

{

for(j = 1; j<10;j++)

{

if (j>=3) break;

}

Console.WriteLine("Вихід із циклу j при j = {0}", j);

if (i>=3) break;

}

Console.WriteLine("Вихід із циклу i при i= {0}", i);

}

Оператор continue використається тільки в тілі циклу. На відміну від оператора break, що завершує внутрішній цикл, continue здійснює перехід до наступної ітерації цього циклу.

Стандартні математичні функції в С# зібрані в окремому класі Math й є методами класу.

Клас Math, що містить стандартні математичні функції, містить два статичні поля, що задає константи е й π, а також 23 статичних методи. Методи задають:

  •  тригонометричні функції - Sin, Cos, Tan;
  •  зворотні тригонометричні функції - ASin, ACos, ATan, ATan2 (sinx, cosx);
  •  гіперболічні функції - Tanh, Sinh, Cosh;
  •  експоненту й логарифмічні функції - Exp, Log, Log10;
  •  модуль, корінь, знак - Abs, Sqrt, Sign;
  •  функції округлення - Ceiling, Floor, Round;
  •  мінімум, максимум, ступінь, залишок - Min, Max, Pow, IEEERemainder.

В особливих поясненнях ці функції не мають потреби.

Приклад використання:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace temp11

{

class Program

{

static void Main(string[] args)

{

double a, b,t,t0,dt,y;

string NameFunction;

Console.WriteLine("Введіть ім'я F(t)досліджуваної функції a*F(b*t)" + " (sin, cos, tan, cotan)");

NameFunction = Console.ReadLine();

Console.WriteLine("Введіть параметр a (double)");

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

Console.WriteLine("Уведіть параметр b (double)");

b= double.Parse(Console.ReadLine());

Console.WriteLine("Уведіть початковий час t0(double)");

t0= double.Parse(Console.ReadLine());

const int points = 10;

dt = 0.2;

for(int i = 1; i<=points; i++)

{

t = t0 + (i-1)* dt;

switch (NameFunction)

{

case ("sin"):

y = a*Math.Sin(b*t);

break;

case ("cos"):

y = a*Math.Cos(b*t);

break;

case ("tan"):

y = a*Math.Tan(b*t);

break;

case ("cotan"):

y = a/Math.Tan(b*t);

break;

case ("ln"):

y = a*Math.Log(b*t);

break;

case ("tanh"):

y = a*Math.Tanh(b*t);

break;

default:

y=1;

break;

}

Console.WriteLine ("t = " + t + "; " + a +"*" +

NameFunction +"(" + b + "*t)= " + y + ";");

}

double u = 2.5, v = 1.5, p;

p= Math.Pow(u,v);

Console.WriteLine ("u = " + u + "; v= " + v + "; power(u,v)= " + p );

}

}

}

У даному прикладі користувач визначає, яку функцію він хоче обчислити й при яких значеннях її параметрів.

Рис.8.7. Результати роботи програми

Завдання.

Вивчити матеріал, наведений вище, і відповідно до заданого варіанту написати програми із Завдання1 - Завдання 4.

Варіанти індивідуальних завдань.

 

Завдання 1.

Скласти програму, задавши вихідні дані самостійно.

  1.  Квіткова клумба має форму кола. По заданому радіусі обчислити її периметр і площу.
  2.  Обчислити периметр і площу прямокутного трикутника по заданому катеті й гострому куті.
  3.  По заданому діаметрі обчислити довжину й площу окружності.
  4.  Ділянка лісу має форму рівнобічної трапеції. Обчислити по заданих сторонах її периметр і площу.
  5.  Ресторан купує щодня масло m1 кг по 8.50 грн. за кілограм, сметану т2 кг по 2.40 грн., вершки т3 кг по 4.10 грн. Визначити суми, необхідні для закупівлі окремих продуктів і загальну суму.
  6.  Скільки секунд мають доба, тиждень, рік ?
  7.  Обчислити кінетичну E=mv2/2 і потенційну P=mgh енергії тіла заданої маси т, що рухається на висоті h зі швидкістю v.
  8.  Ціни на два види товарів виросли на р відсотків. Вивести старі й нові ціни.
  9.  Обчислити площу поверхні S=4πr2 й обсяг V=4nr3/3 кулі по радіусі r.
  10.  Швидкість світла 299792 км/с. Яка відстань переборює світло за годину, добу?
  11.  Ввести врожайність трьох сортів пшениці (36, 40, 44 т/га) і розміри трьох відповідних полів (у га). Скільки зібрали пшениці з кожного поля й із всіх разом?
  12.  Радіус Місяця 1740 км. Обчислити площу поверхні S=4πr2 й обсяг планети V=(4/3)nr3.
  13.  Обчислити довжину гіпотенузи й площу прямокутного трикутника по двох катетах.
  14.  По відомому ребру обчислити обсяг і площу бічної поверхні куба.
  15.  По продуктивності трьох труб і часу їхньої роботи з наповнення басейну, визначити скільки води набрано в басейн.
  16.  Визначите площу й периметр квадрата, що описаний навколо кола заданої площі S.
  17.  Тіло падає із прискоренням g. Визначити шлях тіла h=gt2/2 після першої й другої секунд падіння.
  18.  По заданих катетах обчислити периметр і площу прямокутного трикутника.
  19.  Телефонні розмови із трьома населеними пунктами коштують із1, з2, з3 коп/хв. Розмови тривали t1 t2, t3 хв. Яку суму нарахує комп'ютер за кожен і всі розмови разом.
  20.  По заданій висоті h і радіусу підстави r обчислити площу бічної поверхні S=2πrh й обсяг V=nr2h бочки.
  21.  Квіткова клумба має форму квадрата. По заданій стороні обчислити площу й периметр.
  22.  По заданому катеті й гіпотенузі обчислити інший катет і площу прямокутного трикутника.
  23.  Обчислити сторону й площу квадрата S=d2/2, якщо задано його діагональ d.
  24.  По заданій висоті h, що утворить l і радіусу підстави r обчислити площу бічної поверхні S=πrl й обсяг конуса V=πr2h/3.
  25.  Поїзд їхав t1годину зі швидкістю v1 км/година, t2 година зі швидкістю v2 й t3 година зі швидкістю v3. Визначити пройдений шлях з різною швидкістю й повний шлях.

Завдання 2.

За довільним значенням x обчислити значення функції:

, де

,  , - номер варіанта. Вхідні дані вводяться із клавіатури.

Завдання 3.

Скласти програму для рішення поставленого завдання двома способами: використовуючи: 1) команди case 2) команди if. Дані сформувати таким чином, що б вибір був з 3-5 альтернатив.

  1.  По номеру студента в списку групи вивести його прізвище.
  2.  Є дані 4 моделей автомобіля. По номеру моделі одержати характеристики: рік випуску й ціну.
  3.  По номеру поїзда вивести назву пункту призначення.
  4.  За назвою першої букви країни вивести назву столиці.
  5.  По номеру для тижня надрукувати його назву.
  6.  По номеру тролейбуса вивести назву кінцевої зупинки.
  7.  По першій букві назви країни вивести назву континенту.
  8.  По номеру місяця вивести назву пори року.
  9.  По номеру студента в списку групи вивести його ім'я.
  10.  За назвою першої букви міста вивести довідку по кількості населення.
  11.  По номеру місяця вивести номер кварталу.
  12.  По номеру маршруту автобуса вивести кількість зупинок його маршруту.
  13.  По першій букві назви країни вивести кількість міст цієї країни.
  14.  По телефонному коду міста вивести назву міста.
  15.  По номеру дня тижня вивести кількість пар у цей день.
  16.  По цифровому коду шести груп товарів виводити його ціну.
  17.  По номеру місяця виводити кількість днів у цьому місяці.
  18.  По коду групи вивести кількість студентів у групі.
  19.  По числу з діапазону 0-5 надрукувати його написання англійською мовою.
  20.  По номеру поїзда вивести час його відправлення.
  21.  За назвою ріки вивести її довжину.
  22.  По першій букві назви ріки вивести назву країни, де вона протікає.
  23.  По номеру одного із чотирьох друзів вивести його ім'я.
  24.  По номеру квартири в будинку вивести кількість мешканців.
  25.  По цифрі з діапазону 5-9 вивести її значення словом.

Завдання 4.

Обчислити вираження згідно варіанта:

  1.  


  1.  z=a+b;
  2.  z=ab;
  3.  z=tg(b)-a;
  4.  z=(a+b)2;
  5.  z=5ab-4;
  6.  z=sin(a)+b;
  7.  z=b tga;
  8.  z=a2+3b;
  9.  z=(|ab|)1/4;
  10.  z=ab-?;
  11.  z=a-2b;
  12.  z=a tgb;
  13.  z=cos(ab);
  14.  z=|a-b|;
  15.  z=ctg(2a)-b;
  16.  z=e3ab;
  17.  z=4ba-b;
  18.  z=2a-b;
  19.  z=|12a-cos(b)|;
  20.  z=2a-b;
  21.  z=tg(a+b);
  22.  z=ln|a+4b|;
  23.  z=3ab-cos(b);
  24.  z=4a+eb;
  25.  z=5a-2b,


де

i – номер варіанта, x – ціле число. Значення функції вибираються з таблиці. Вивести отриманий результат і вихідні значення.

n

Функція f(x)

1

9,2cosx2–|sinx/1,1|

2

12,4sin|x/2,1|–8,3cos1,2x

3

|cosx/2,7|+9,1sin(1,2x+1)

4

|sinx/3,12+cosx2|–8,3sin3x

5

cos|2x|/1,12–cos(3x–2)+6,15

6

sinxcosx2sin(x+1,4) +5,14

7

|sin(2x–1,5) +3sinx2|+2,38

8

cosx2sin(2x–l)+4,29

9

cos(x2+l)–|sin2x–5,76|

10

sinx–cosx3sin(x2–4,2) +4,27

11

|sin12xcos|2x|/3|+4,21

12

cosx3/2,1+cosx2/1,1–8.3sin(3x+1)

13

sinx2cosx3–sinx+5,2

14

2sinxsin(2x–1,5) cos(2x+1,5)–6

15

|cosx2–0,51|sin(3x–4)–4,44

16

cos2,1xsin|x|/0,15–5,8

17

|cos2x3+2sin(x/l,2–3,4)|+10,51cos|3x|

18

|sin(x2/1,5–2)|+11,73cos(1,6x–1)

19

13,4cos|x|sin(x2–2,25)

20

|соs(x2–3,8)|/4,5–9,7sin(x–3,1)

21

13,4sin(–1,26) cos|x/7,5|

22

2sin|2x|cos2x–11,6sin(x/0,4–1)

23

sin|x|/0,1+ 9,4sin(3x–2,5)

24

10,8cos(x2/1,13) |sin(x+1,4)

25

11,2cos(2x–1)+|sinl,5x|/1,7


 

А также другие работы, которые могут Вас заинтересовать

34714. Валовой внутренний продукт. Методы исчисления ВВП 17.16 KB
  Методы исчисления ВВП. Чтобы ответить на вопрос как идут дела в экономике страны ежегодно вычисляется показатель валового внутреннего продукта ВВП. Прежде чем сформулировать понятие ВВП определим что такое конечный продукт. Валовой внутренний продукт ВВП это общая стоимость или сумма рыночных цен всех конечных товаров и услуг произведенных в данной стране в течение года.
34715. Валовой национальный продукт. Чистый национальный продукт и национальный доход 14.63 KB
  Однако существует еще один показатель валовой национальный продукт ВНП. Выясним что представляет собой ВНП и чем он отличается от ВВП. Когда мы будем исчислять ВНП России то наоборот включим в общую сумму доходы созданные за пределами России. долларов созданы иностранным капиталом на территории нашей страны а значит включаются в ВВП России а в ВНП нет.
34716. Государственный бюджет. Номинальный и реальный валовой внутренний продукт 17.59 KB
  Валовой внутренний продукт ВВП это общая стоимость или сумма рыночных цен всех конечных товаров и услуг произведенных в данной стране в течение года. Показатель номинального ВВП зависит и от количества производимых в стране товаров и услуг и от уровня цен на них. Следовательно если ВВП произведенный в разные годы выражать в ценах того года в который он производился то в одном году его объем будет выражен в одних ценах в другом году в других. Поэтому номинальный ВВП не может служить для оценки роста или сокращения реального...
34717. Теория Маслоу. Виды благ. Факторы производства. Безграничность потребностей и ограниченность ресурсов 32.36 KB
  Он выделял пять групп потребностей: физиологические потребности в пище воде одежде жилье отдыхе воспроизведении рода; потребности в безопасности защита от преступников и внешних врагов защита от нищеты и помощь при болезнях комфорт постоянство условий жизни; социальные потребности в любви дружбе общении с людьми; потребности в уважении со стороны других людей и самоуважении достижение успеха служебный рост; потребности в самореализации реализация своих целей способностей развитие собственной личности. По...
34718. История развития метрологии в России 23.6 KB
  Метрология в древнем мире и в средние векаПотребность в измерениях возникла в незапамятные времена.Многие меры имели антропометрическое происхождение или были связаны с конкретной трудовой деятельностью человека.Древнее происхождение имеют и естественные меры. Первыми из них получившими повсеместное распространение стали меры времени.
34719. Античная система мер и весов 20.09 KB
  Первоначально видимо возникли меры длины. Меры длины палец 185 см 1 12 целого 246 см ладонь 739 см ступня 2962 см локоть 463 см двойной шаг 148 м день пути 28 725 м Меры площади югер 25233 м 10 000 квадратных футов 876 м арура 50 квадратных футов 438 м Меры объёма Котила античная единица измерения ёмкости равная 0275 литра. Хус античная единица измерения ёмкости равная 324 литра Меры объёма сыпучих тел медимн четверик 525 л модий четверик 874 л Меры объёма жидких тел метрет...
34720. Основные особенности развития системы мер в средневековой Западной Европе 19.29 KB
  Характерной чертой ее было понятие целого s базовой единицы измерения. Такой принцип унифицировал способы измерения облегчал установление соответствий между линейными квадратными и кубическими мерами. Для измерения больших земельных массивов применялись такие меры как центурии 200 югеров 50377 га и сальтус 4 центурии или 2015 га. Меры измерения объема жидких и сыпучих тел исчислялись несколько поиному.
34721. Меры веса и объема Древнерусского государства 15.12 KB
  Меры веса были очень разнообразны т. Равнялся 10 пудам1638 кг Пуд был наиболее ходовой мерой и равнялся 1638 кг Гривна употреблялась и как мера веса и как денежная единицаслиток серебра весом 400г Гривна весоваяпримерно 40 г серебра Меры объёма: основная мера объёма жидкостей была ведро= 1 40 бочки=10 кружек. Бочка как мера жидкостей применялась в основном в процессе торговли с иностранцами которым запрещалось вести розничную торговлю вином на малые меры.
34722. Измерение длины, расстояния и площади Древнерусского государства 15.32 KB
  существовало 3 вида сажени: Простаярасстояние по прямой между большими пальцами вытянутых в стороны рук=152см Маховаярасстояние по прямой между средними пальцами вытянутых в стороны рук=176см Косаярасстояние от ступни до конца пальцев противоположной руки вытянутой по диагонали. Следующей мерой длины был локотьрасстояние по прямой от локтевого сгиба до конца вытянутого среднего пальца4751см или одна треть сажени.это расстояние между концами вытянутых пальцев по прямой 1 8 сажени. Пядь малая 1819смрасстояние между большим пальцем и...