Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управляющие конструкции.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
406.41 Кб
Скачать

6. Инструкция по работе со средой программирования

Среду разработки Visual Studio 2008 Express можно загрузить с адреса: http://www.microsoft.com/visualstudio/en-us/products/2008-editions/express.

Загрузив необходимый файл и запустив его, следуя пошаговым инструкциям, будет получено все необходимое для разработки программ на С#. Установив среду разработки на компьютер для опробования приведенных далее фрагментов надо выполнить такие действия. Вызвать для выполнения среду разработки, например, так (Рис. 6.1).

Рис. 6.1. Запуск среды Visual Studio из меню «Пуск».

Рис. 6.2. Создание проекта в среде Visual Studio.

надо активировать позицию «Создать: Проект . . .». Далее надо выбрать шаблон «Консольное приложение» (Рис. 6.3.) и задать имя проекта.

Рис. 6.3. Выбор шаблона «Консольное приложение» в среде Visual Studio.

После выполнения этой команды получим окно среды разработки Visual Studio (рис.6.4).

Рис. 6.4. Экран после выбора шаблона «Консольное приложение» в среде Visual Studio.

Теперь можно приступать к написанию программ на языке C#.

Начнем описывать, как использовать Visual Studio для разработки программ на языке C#. Операторы первой программы записываются между фигурными скобками после строки static void Main(string [] args). Эта программа просит пользователя ввести имя и в ответном сообщении желает удачной работы. Приведем текст программы.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine(" Введите имя");

Console.ReadLine(Name);

Console.WriteLine(" Удачной работы", Name);

}

}

}

Но такой текст после трансляции вызовет такое сообщение об ошибке (Рис. 6.5).

Рис. 6.5. Первое сообщение об ошибке.

Эта ошибка вызвана тем, что используемая для хранения переменная с именем Name не определена, нарушен принцип строгой типизации. Изменим текст, определив тип этой переменной оператором string Name.

static void Main(string[] args)

{

string Name;

Console.WriteLine(" Введите имя");

Console.ReadLine(Name);

Console.WriteLine(" Удачной работы", Name);

}

Но и после этого останется ошибка трансляции (рис.6.6), вызванная неправильным использование конструкции Console.ReadLine.

Рис. 6.6. Второе сообщение об ошибке.

Для исправления этой ошибки надо изменить оператор таким образом.

Name = Console.ReadLine();

Теперь ошибок трансляции нет. И начнется диалог программы и пользователя (рис.6.7).

Рис. 6.7. Первый экран диалога с программой.

Сначала появится приглашение ввода имени. После ввода имени и нажатия клавиши <Enter> увидим следующее (Рис.6.8).

Рис. 6.8. Второй экран диалога с программой.

В выводе нет значения переменной Name. Добавим его.

Console.WriteLine("Удачной работы ", Name);

Но этого мало, надо задать формат вывода {0:s}.

Console.WriteLine("Удачной работы {0:s}", Name);

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

Во 2-й строке программы объявляется новое пространство имен ConsoleApplication, в котором описывается один класс Program. Полным именем данного класса является ConsoleApplication.Program. Весь код программы C# должен содержаться только внутри классов.

В примере программы используются два модификатора: public и static. Модификатор (режим доступа) public означает, что данный метод может быть доступен из методов любых классов. Модификатор static указывает, что данный метод не связан с конкретным экземпляром класса и может вызываться без использования ссылки на экземпляр. Это является важным, для запуска программы на выполнения без создания экземпляра конкретного класса. В данном примере задан тип результата void (означает, что никакого результата нет) и для метода Main() не описаны передаваемые параметры. Допускаем, что значение модификатора на данный момент не очень понятно. Сейчас надо понимать структуру программы, ее обязательные элементы. А с модификаторами разберемся подробнее в соответствующем разделе, посвященном методам (так называются в С# подпрограммы). Пока мы не умеем разрабатывать собственные методы, используем по умолчанию стандартные форматы описания для обязательного метода Main().

Попробуйте создать собственный проект и скопировать в поле редактора следующий текст. Следите, чтобы не дублировались части шаблона и наша программа. Удалите из шаблона, созданного автоматически, все, начиная с namespace. Проверьте, чтобы количество правых и левых фигурных скобок совпадало и запустите программу на трансляцию клавишей F5 или через меню.

namespace ConsoleApplication_No_using

{

class Program

{

static void Main(string[] args)

{

System.Console.WriteLine("Hello");

System.Console.ReadKey();

}

}

}

Сохраняем проект через меню «Файл».

Интегрированная среда разработки MS Visual Studio.NET представляет собой программную компоненту, поддерживающую процесс разработки программ. С помощью средств MS Visual Studio.NET выполняется редактирование исходного кода, выполнение приложения в отладочном режиме, визуальное отображение логической структуры приложения, выдач справочной информации по самой среде, платформе и языкам программирования, что является традиционным для большинства интегрированных сред. Особенностью MS Visual Studio.NET является возможность автоматической генерации исходного кода по визуальному представлению диаграммы классов в нотации UML и наоборот, построение визуального представления диаграммы классов по исходному коду программы.

Приложение в процессе разработки называют проектом. Проект логически объединяет все необходимые для создания приложения файлы, папки и прочие ресурсы. Типовая структура консольного приложения с некоторыми упрощениями приведена на рисунке.

Описание структуры проекта хранится в специальном файле с расширением csproj.

Несколько проектов логически могут быть объединены в одно решение. Структура решения хранится в файле с расширением sln. С помощью инспектора решения Solution Explorer, входящего в состав интегрированной среды можно просматривать логическую структуру всех проектов, включенных в решение и выполнять операции по изменению логической структуры решения и проектов.

Открыть существующий проект:

File -> Open -> Рroject

В стандартном диалоговом окне выбора файлов выбрать файл конфигурации проекта (в данном случае Example.csproj) и открыть его. Окно редактирования будет активизировано и в него будет загружен исходный модуль проекта (в данном случае Example.cs).

Можно найти файл конфигурации проекта (в данном случае Example.csproj) и запустить его. Автоматически будет запущена интегрированная среда, в ней будет открыт проект Example, а в окно редактирования будет загружен исходный модуль проекта (в данном случае Example.cs).

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

На этапе тестирования решается задача выявления смысловых ошибок в программе. Если факт наличия таких ошибок установлен, выполняется отладка программы, целью которой является определение места, характера и причины.

Основными методами отладки являются:

- проверка при заданных исходных данных совпадения реальной последовательности выполнения операторов с эталонной последовательностью (трассировка программы);

- проверка совпадения реальных значений переменных в заданных точках программы с эталонными значениями (контроль значений).

На практике используется комбинация обеих методов.

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

Такой подход к отладке имеет два основных недостатка:

- Отлаживаемая и исходная программы не идентичны. Это может привести к изменению места проявления ошибки и даже ее характера;

- Сами отладочные операторы могут служить источником дополнительных смысловых ошибок.

Для устранения отмеченных недостатков в интегрированную среду разработки Microsoft Visual Studio.NET 2008 включены средства, позволяющие выполнять трассировку программы и контроль значений переменных без внесения изменений в текст программы.

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

Управление средствами отладки выполняется “горячими клавишами” или через главное меню среды разработки. Далее вариант управления через “горячие клавиши” будет указываться первым, а через главное меню – вторым.

Поддерживаются два режима пошагового выполнения программы:

- Выполнить текущую строку программы и остановится перед выполнением следующей строки:

F11 или Debug->Step Into

Выполнятся полная трассировка программы, включая трассировку подпрограмм.

- Выполнить текущую строку программы и остановится перед выполнением следующей строки:

F10 или Debug->Step Over

Выполнятся полная трассировка программы, исключая трассировку подпрограмм.

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

Контроль значений. Подвести курсор “мыши” к имени интересующей переменной и удерживать его некоторое время. Появится всплывающее окно, в котором указано имя переменной и ее текущее значение. Сдвиг курсора “мыши” приводит к исчезновению этого окна.

При назначенных точках останова запуск приложения в отладочном режиме выполняется через

F5 или Debug->Start

Программа выполняется в автоматическом режиме от начала до первой точки останова или от текущей до следующей точки останова. Выполнение программы останавливается перед выполнением строки с точкой останова. Достигнутая точка останова отмечается маркером в виде стрелки внутри маркера точки останова.

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

Средства контроля значений предназначены для постоянного наблюдения за значениями переменных. Имена интересующих переменных после запуска программы в отладочном режиме заносятся в специальное окно просмотра WATCH. Таких окон может быть назначено до четырех штук:

Debug->Windows->Watch->Watch1

Debug->Windows->Watch->Watch2

Debug->Windows->Watch->Watch3

Debug->Windows->Watch->Watch4

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

Если надобность в отслеживании значений отпадает, переменную можно удалить из окна просмотра, выделив ее курсором “мыши” и нажав клавишу DEL.

Переход от одного окна просмотра к другому выполняется щелчком “мыши” на закладке окна.

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

Shift+F5 или Debug->Stop Debugging

20