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
70 чел.
Введення в 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 статичних методи. Методи задають:
В особливих поясненнях ці функції не мають потреби.
Приклад використання:
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.
Скласти програму, задавши вихідні дані самостійно.
Завдання 2.
За довільним значенням x обчислити значення функції:
, де
,
,
- номер варіанта. Вхідні дані вводяться із клавіатури.
Завдання 3.
Скласти програму для рішення поставленого завдання двома способами: використовуючи: 1) команди case 2) команди if. Дані сформувати таким чином, що б вибір був з 3-5 альтернатив.
Завдання 4.
Обчислити вираження згідно варіанта:
де
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,12cos(3x2)+6,15 |
6 |
sinxcosx2sin(x+1,4) +5,14 |
7 |
|sin(2x1,5) +3sinx2|+2,38 |
8 |
cosx2sin(2xl)+4,29 |
9 |
cos(x2+l)|sin2x5,76| |
10 |
sinxcosx3sin(x24,2) +4,27 |
11 |
|sin12xcos|2x|/3|+4,21 |
12 |
cosx3/2,1+cosx2/1,18.3sin(3x+1) |
13 |
sinx2cosx3sinx+5,2 |
14 |
2sinxsin(2x1,5) cos(2x+1,5)6 |
15 |
|cosx20,51|sin(3x4)4,44 |
16 |
cos2,1xsin|x|/0,155,8 |
17 |
|cos2x3+2sin(x/l,23,4)|+10,51cos|3x| |
18 |
|sin(x2/1,52)|+11,73cos(1,6x1) |
19 |
13,4cos|x|sin(x22,25) |
20 |
|соs(x23,8)|/4,59,7sin(x3,1) |
21 |
13,4sin(1,26) cos|x/7,5| |
22 |
2sin|2x|cos2x11,6sin(x/0,41) |
23 |
sin|x|/0,1+ 9,4sin(3x2,5) |
24 |
10,8cos(x2/1,13) |sin(x+1,4) |
25 |
11,2cos(2x1)+|sinl,5x|/1,7 |
А также другие работы, которые могут Вас заинтересовать | |||
44207. | Основные возможности Microsoft Office Outlook | 1.69 MB | |
Outlook представляет собой программу управления данными. Outlook может использоваться для документооборота формирования задач и заданий группы управления электронной почтой планирования дел и собраний ведения списка контактных лиц и дневника выполняемых действий. Некоторые возможности Outlook можно использовать с другими приложениями Office. | |||
44208. | Разработка мероприятий по развитию ООО «Клиника профилактики» | 1.2 MB | |
Инвестирование средств в прогрессивное оборудование новых специалистов и внедрение новых видов услуг. Планирование выручки от реализации услуг и затрат. Составление карты привлекательности услуг и разработка рекламной компании. Не следует путать экономику здоровья с экономикой здравоохранения которая ориентирована на производство лекарств и оказание медицинских услуг. | |||
44209. | Розробка програмного забезпечення: підбір зачіски та кольору волосся | 2.87 MB | |
ПРОГРАМАПОМІЧНИК ПІДБІР ЗАЧІСКИ КОЛЬОРУ СУБД БАЗА ДАНИХ. Також була створена база даних в середовищі MуSQL 5. Список скорочень БД база даних; СУКБД система управліннякерування базами даних; ПК персональний компютер; ПЗ програмне забезпечення; ПО предметна область.1 Огляд сучасних СУБД Бази даних це сукупність даних між якими існують зв'язки. | |||
44211. | Аудит и разработка системы управления качеством организации обособленного подразделения «Атомремонтсервис» | 1.38 MB | |
Политика организации в области качества Распределение ответственности за элементы системы управления качеством Документированная методика индивидуальное задание Постоянное улучшение системы управления качеством Экономическая часть Безопасность жизнедеятельности и гражданская оборона... | |||
44212. | Исследование возможностей аппаратной реализации IPS/IDS на основе ПЛИС | 364.5 KB | |
Информационные системы и технологии Информационные системы и технологии в компьютерных сетях Допущено к защите На данный момент почти все организации и предприятия используют корпоративные информационные системы. Становится актуальной проблема поддержания полноценной и безопасной работы системы в целом. А поскольку все системы связаны Internetтехнологиями особое внимание уделяется защите информации. | |||
44213. | Теоретические основы налогообложения субъектов малого бизнеса | 82 KB | |
Приступая к рассмотрению особенностей налогообложения определим необходимые и достаточные условия для того чтобы коммерческая организация имеющая статус юридического лица могла быть отнесена к субъектам малого бизнеса : 1 в её УК доля принадлежащая одному или нескольким юридическим лицам не являющимися субъектами малого бизнеса не превышает 25 ; 2 средняя численность работников за отчетный период не должна превышать предельных уровней установленных для малых предприятий. В Российской Федерации развитие налогообложения... | |||
44214. | Выявление взаимосвязи между терминальными ценностями и когнитивно-поведенческими установками | 2.63 MB | |
Взаимосвязь терминальных ценностей с когнитивно-поведенческими установками старших школьников Научный руководитель: Асеева Инна Николаевна Цель: выявление взаимосвязи между терминальными ценностями и когнитивно-поведенческими установками Объект: терминальные ценности личности Предмет: взаимосвязь терминальных ценностей с когнитивно-поведенческими установками старших школьников Гипотеза: существуют особенности в структуре взаимосвязи терминальных ценностей с когнитивно-поведенческими установками старших... | |||
44215. | Программное обеспечение вычислительной техники и автоматизированных систем | 176.5 KB | |
Особым образом описывается порядок подготовки дипломной работы к защите, комплектование работы, получение необходимых подписей, подготовка к рецензии. Предлагается примерный план-тезис устной защиты дипломной работы перед Государственной аттестационной комиссией | |||