Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
71
Добавлен:
09.05.2015
Размер:
1.57 Mб
Скачать

Компьютер сделает всё, что вы ему скажете, но это может сильно

отличаться от того, что вы имели в виду.

1. Основы программирования на C# в среде Visual Studio 2010.

Урок 1: Знакомство с Visual Studio 2010.

Основная цель урока.

1.Познакомиться с основными окнами и командами основных меню Visual Studio.

2.Научиться создавать и компилировать консольные приложения.

3.Познакомиться с базовыми функциями ввода\вывода в консольных приложениях.

Краткая справка.

Microsoft Visual Studio 2010 – интегрированная среда разработки (IDE, Integrated development environment), поддерживающая все этапы разработки программного обеспечения от написания исходного текста программы до ее компиляции и отладки.

Современные среды разработки включают в себя редактор исходных кодов и ресурсов, компилятор, компоновщик, отладчик, средства управления проектом и некоторые стандартные заготовки упрощающие разработку типовых задач. Кроме

Visual Studio существуют и другие IDE, например Eclipse, C++ Builder, Delphi,

NetBeans, Visual Basic и другие.

Среда разработки может поддерживать один или несколько языков программирования. Visual Studio 2010 поддерживает работу со следующими языками программирования:

Visual Basic .NET

C++

C#

F#

Здесь и далее рассматривается программирование на языке C# (читается « си шарп»).

Компиляторы.

Компьютер (процессор) может выполнять только простейшие инструкции -

машинные команды. Например - переместить значение из ячейки памяти X в ячейку

Y. Даже простое сложение двух чисел является комбинацией нескольких машинных

команд. Можно представить себе сложность написания программы представляющей собой набор инструкций процессора!

Процесс разработки такой программы чрезвычайно трудоемок и непроизводителен, поэтому для упрощения процесса программирования был придуман язык ассемблера, переводящий символические имена в машинные коды.

Ведь гораздо легче запомнить какое-то ключевое слово, чем соответствующий ему двоичный код.

Команды языка ассемблера практически один к одному соответствуют командам процессора, фактически, они представляют собой более удобную для человека символьную форму записи.

Например, для процессора Zilog Z80 машинная команда 00000101 предписывает процессору уменьшить на единицу свой регистр B. На языке ассемблера это же будет записано как DEC B. Но даже работа с ассемблером достаточно сложна и требует специальной подготовки.

C# - это язык высокого уровня. Процессор не может выполнять такие сложные команды, поэтому для того чтобы процессор мог выполнить программу её необходимо перевести с языка высокого уровня в машинные коды. Для этого существуют специальные программы - компиляторы.

Компилятор - программа, переводящая текст программы на языке высокого уровня в эквивалентную программу на машинном языке.

Учебное задание 1.1.

Создать простое консольное приложение, выводящее на экран строку

“Hello World!”.

Технология выполнения учебного задания 1.1.

При первом запуске Visual Studio 2010 (см. рис 1) загружается стартовая страница, которая содержит некоторый приветственный текст, а так же кнопки быстрого создания\открытия проекта. Любая программа, написанная в Visual Studio

представляет собой проект(Project). Несколько проектов могут объединяться в решения(Solution).

Рис 1. Стартовое окно Visual Studio 2010

Шаг 1. Создадим новый проект. Для этого надо выбрать из основного меню

Файл -> Создать -> Проект или нажать на кнопку « Создать проект…» на стартовой

странице.

Шаг 2. После этого отобразится дополнительное модальное диалоговое окно

(рис 2), где можно выбрать тип создаваемого проекта. Выберем « Консольное

приложение». Консольные приложения - это такой вид приложений, где

взаимодействие между компьютером и человеком осуществляется путём ввода текстовых команд. Вывод информации осуществляется так же в текстовом виде.

В нижней части окна в текстовом поле можно указать имя проекта (по умолчанию ConsoleApplication1). Даже если корректное имя проекта не будет указано сразу, его можно будет переименовать через окно « Обозреватель решений». Укажем имя проекта Lab1 и нажмём ОК.

Рис 2. Создание проекта

После создания проекта вы увидите открытое окно редактора кода, по умолчанию будет открыт файл Program.cs (рис 3). В редакторе кода содержится заготовка для пустого консольного приложения.

Рис 3. Рабочая область проекта

В правой части отображается окно « Обозреватель решений», в котором показывается структура проекта (рис 3). Проект состоит из решения (Solution) Lab1,

которое содержит один проект с таким же названием. Название проекта можно поменять, кликнув на проект правым кликом и выбрав из контекстного меню пункт

« Переименовать».

Program.cs – это файл с исходным кодом программы. Большие программы обычно содержат множество различных модулей (файлов с исходным кодом),

которые взаимодействуют между собой.

Шаг 3. Сохранение. Сохраним созданный проект, для этого выберем из меню

Файл -> Cохранить всё (File -> Save All) или нажмём на панели инструментов на

иконку . После этого откроется новое модальное окно сохранения проекта (рис

4).

Рис 4.

В поле « Расположение» указываем путь до папки с проектами на сетевом диске.

Если сетевой диск не отображается, напечатайте вручную в текстовом поле

« Расположение»: [Буква_сетевого_диска]:\ и затем нажмите « Обзор…».

Шаг 4. Редактирование кода. Откройте файл Program.cs в окне редактирования кода(CodeView), для этого дважды кликните по строчке Program.cs в

окне « Обозреватель решений» (Solution Explorer).

Напечатайте код из листинга 1 в процедуре Main (между фигурными скобками).

Код, выделенный серым цветом, не надо печатать, он уже должен присутствовать в вашей программе.

static void Main(string[] args)

{

//Программа Hello World на C#

Console.WriteLine("Hello World!");//вывод строки в консоль Console.Write("Нажмите любую клавишу для выхода из программы..."); Console.ReadKey();//ожидание нажатия любой клавиши

}

Листинг 1.

Шаг 5. Запуск. Для запуска программы нажмите на иконку на панели

инструментов или клавишу F5. Появляется окно командной строки, содержащее

строку Hello World! .

Если программа не запускается, и вы видите сообщение об ошибке,

показанное на рис 5., значит, вы допустили опечатку. Нажмите кнопку « Нет». Важно

НЕ НАДО ставить галочку « Больше не выводить это окно». Далее щелкните по сообщению об ошибке в окне « Список ошибок» и вы увидите строчку кода с ошибкой.

Рис 5.

Окно « Список ошибок» по умолчанию располагается в нижней части экрана.

Если его там нет, его можно вызвать из меню Вид -> Другие окна -> Список ошибок. Список распространённых ошибок представлен в табл 1.

 

 

Таблица 1

 

Распространённые ошибки программирования

Ошибка №1

 

Не поставлена точка с запятой в конце строки

 

 

 

Пример ошибки

 

Console.WriteLine("Hello World!")

 

 

 

Пример исправления

 

Console.WriteLine("Hello World!");

 

 

 

Ошибка №2

 

Неверный регистр символов. C# чувствителен к

 

 

регистру символов.

 

 

 

Пример ошибки

 

console.writeLine("Hello World!");

 

 

 

Пример исправления

 

Console.WriteLine("Hello World!");

 

 

 

Ошибка №3

 

Строка не заключена в кавычки.

 

 

 

Пример ошибки

 

Console.WriteLine(Hello World!);

 

 

 

Пример исправления

 

Console.WriteLine("Hello World!");

 

 

 

Ошибка №4

 

Не поставлены скобки, при вызове метода без

 

 

параметров.

 

 

 

Пример ошибки

 

Console.ReadKey;

 

 

 

Пример исправления

 

Console.ReadKey();

 

 

 

Пояснения по программе.

Любое консольное приложение на C# начинается с метода Main, который может содержать вызовы других методов, создание переменных и.т.д. Первая строчка метода Main начинается с комментария

//Программа Hello World на C#

Комментарии игнорируются компилятором и служат для пояснения исходного кода программы. Комментарием считается любая последовательность символов стоящая после двойного слеша (//), а так же между /* и */. Пример.

/*Это пример

многострочного комментария

*/

Console.ReadKey();//ожидаем нажатия клавиши...

Если требуется закомментировать (раскомментировать) большой кусок кода, это можно сделать, выделив нужный кусок кода и нажав на панели инструментов кнопку

- для комментирования и на для раскомментирования кода.

Следующая строчка

Console.WriteLine("Hello World!");

Вызывает метод WriteLine, который печатает на экране консоли сообщение и переводит курсор на следующую строку (т.е. эквивалент нажатия Enter).

Далее вызывается метод Write, которой так же печатает на экране заданное сообщения не переводя курсор на следующую строку. Попробуйте в программе заменить метод WriteLine на метод Write и вы наглядно увидите в чём разница.

Следующий вызов метода ReadKey играет роль искусственной задержки, он приостанавливает выполнение программы до тех пор пока пользователь не нажмёт любую клавишу. Если закомментировать строчку Console.ReadKey(); , то программа отобразит весь текст и завершится так быстро, что вы не успеете его прочитать.

Обратите внимание, что в конце каждой строчки ставится ; (точка с запятой), так как компилятор не рассматривает код в виде строк, как это делаем мы. Не будет никакой разницы, если написать код в одну строчку, например, так

Console.WriteLine("Hello World!"); Console.ReadKey();

Другое дело, что написание кода в одну строчку затрудняет его понимание для человека, поэтому рекомендуется писать каждое выражение на отдельной строчке.

Другой пример – нам необходимо написать длинное выражение, которое не умещается в один экран (по горизонтали). В этом случае можно сделать следующий перенос:

Console.WriteLine("Hello " +

"World!");

Здесь мы делаем перенос, поэтому после первой строчки не ставится точка с запятой. Необходимо учитывать, что перенос не может быть сделан посреди имени

метода или имени переменной.

Советы по написанию кода.

В Visual Studio существует система автодополнения кода, которая помогает сократить время написания программного кода, а так же избавиться от простых механических ошибок. Как это работает ?

Как только вы начинаете вводить какое либо слово, справа от курсора возникает окошко с возможными вариантами того, что можно написать. Для того чтобы завершить автодополнение нужно нажать клавишу Tab. Например, вы можете написать только 2 первых буквы слова Console, нажать Tab и будет напечатано всё слово (вводить надо опять же учитывая регистр, т.е. с большой буквы, иначе автодополнение выдаст слово const).

Если окно автодополнения не появляется (например, оно было закрыто нажатием клавиши Esc), его можно вызвать принудительно, нажав сочетание клавиш Ctrl+Пробел.

При написании кода важно соблюдать определённое форматирование – код внутри каждого нового блока ( т.е. между { и } ) код должен писаться с отступом в одну табуляцию (т.е. одно нажатие клавиши Tab). Это существенно облегчает чтение кода.

В случае когда надо сдвинуть код на 1 табуляцию назад следует использовать сочетание клавиш Shift+Tab. Таким образом можно сдвигать не только одну строчку,

но и целые блоки выделенного кода.

Контрольные вопросы.

1.В каком файле содержится исходный код программы?

2.Для чего используется компилятор?

3.Какой метод осуществляет вывод текста в консоль?

4.Какой метод используется для создания искусственной задержки?

5.Каким образом можно запустить программу?

6.Что такое комментарий? Каким образом можно поставить комментарий?

7.Каким образом можно сдвинуть блок кода на одну табуляцию вправо(влево) ?

8.Каким сочетанием клавиш можно принудительно вызвать окно автодополнения?

Урок 2: Строковые и целочисленные переменные.

Основная цель урока.

1.Познакомиться со строковыми и целочисленными типами данных.

2.Научиться объявлять переменные, присваивать им значения.

3.Научиться преобразовывать строковые переменные в числовые.

4.Познакомиться с базовыми функциями ввода\вывода в консольных приложениях

Краткая справка.

Переменная – это именованная область памяти, имя которой может использоваться для изменения данных, хранящихся в ней. Данные, находящиеся в переменной, называются значением этой переменной.

Общий вид объявления (создания) переменных выглядит следующим образом: [Имя типа] [Имя переменной];

[Имя типа] – один из существующих типов переменных, это может быть целочисленний тип (обозначается int), вещественный (float), строковый (string) и.т.д.

[Имя переменной] – имя переменной может быть любым, однако существует ряд ограничений. В частности имя должно начинаться с буквы, не должно совпадать с зарезервированными словами и не должно повторяться (нельзя в рамках одного блока создать 2 переменные с одинаковым именем).

Примеры объявления переменных:

//объявление строковой переменной(string) с именем name string name;

//присваивание переменной с именем name значения "John" name = "John";

//объявление целочисленной перменной age типа int //и присваивание ей значения 19

int age = 19;

//Имя перменной hobby, тип переменной string, значение перменной "football" string hobby = "football";

Строковые переменные (string).

Строковые переменные (или просто строки) занимают в памяти цепочку последовательных байтов и могут содержать любые символы.

Строка — это пустая строка либо упорядоченная последовательность символов.

Пустая строка не содержит ни одного символа. Для обозначения строки

используются кавычки:

"" — обозначение пустой строки;

string.Empty — так же обозначение пустой строки;

"Иван"— пример непустой строки.

" " — строка, содержащая один пробел;

Между кавычками в обозначении пустой строки пробела ставить нельзя,

так как пробел — это тоже символ.

Давайте создадим простую строковую переменную с именем strName. Префикс

str обычно говорит о том, что переменная имеет строковый тип.

string strName; //Создание строковой переменной с именем strName

strName = “Джон”;//Присваивание переменной strName значения “Джон”

Следует отметить, что программы выполняются последовательно, поэтому обязательно нужно сначала создать переменную, а потом присваивать ей значение.

Создание и инициализацию переменной можно объединить и записать одной строчкой.

string strName = “Джон”;

В процессе выполнения программы переменные могут изменяться.

string strName = “Джон”;

Console.WriteLine(strName); //Будет выведено: Джон

strName = “Билл”;

Console.WriteLine(strName); //Будет выведено: Билл

Для строковых переменных определена операция конкатенации. Конкатенация двух строк это попросту их склеивание. Пример: "12345678" — это конкатенация строк "12345" и "678". Для конкатенации строк в C# используется знак +.

Пример:

string strName = “Джон”;

//Будет выведено: Привет, Джон

Console.WriteLine(“Привет, ” + strName);

//Будет выведено: 1234567890

Console.WriteLine(“123 ” + “456” + “789” + “0”);

Целочисленные переменные.

К целочисленным переменных относят переменные типов byte,sbyte, short, int, long. Наиболее распространённым типом является int. Все эти типы отличаются размером и диапазоном принимаемых значений. Например, переменная типа sbyte

занимает 1 байт памяти и может принимать целые значения в диапазоне от -128 до

127. Переменная типа int занимает 4 байта и может принимать значения от - 2147483648 до -2147483647.

У каждого числового типа данных есть свойства MinValue и MaxValue, с

помощью которых можно определить диапазон принимаемых значений. Пример:

Console.WriteLine("диапазон byte от {0} до {1}",byte.MinValue,byte.MaxValue);

Соседние файлы в папке Методичка (1 сем)