Лабораторная работа №1
Освоение инструментальных средств создания программ в интегрированной среде Microsoft Visual Studio c использованием языка программирования C#. Разработка линейных программ
Цель работы
Приобретение навыков по работе с системой Microsoft Visual Studio. Приобретение навыков определения типов переменных в зависимости от характеристик данных и разработки линейной программы на языке C# с вводом и выводом данных.
Задание на лабораторную работу
1. Освоить функции интегрированной среды Microsoft Visual Studio для подготовки текста программы, компиляции и запуска на выполнение (п. 1.5.1 - 1.5.2).
2. Составить программу по заданному варианту.
Требования к программе
Программа должна выводить:
– сообщения о разработчике программы;
– сообщения-подсказки перед вводом данных;
– сообщение о выводе результатов;
– результаты должны выводиться в следующем виде: <Имя_переменной> = <Значение_переменной>, значение переменной должно быть в отформатированном виде.
Порядок выполнения работы
1. Получить вариант задания (п. 1.9).
2. Изучить функции системы Microsoft Visual Studio для подготовки текста программы, компиляции и запуска на выполнение. Освоить функции редактора для подготовки текста программы (п. 1.5.1 - 1.5.2).
3. Изучить структуру консольного приложения на языке C#, операторы определения переменных стандартных типов и операторы ввода-вывода значений переменных указанных типов (п. 1.6 - 1.7).
4. Подготовить файл с исходным текстом программы и отладить программу с использованием среды Microsoft Visual Studio (п. 1.5, 1.8).
5. Ответить на контрольные вопросы (п. 1.11).
6. Оформить отчет (п. 1.10).
Технология создания программы в интегрированной среде
1.5.1. Порядок создания программы на языке C# в среде Microsoft Visual Studio
При выполнении лабораторных работ используется интегрированная система (среда разработки) «Microsoft Visual Studio», которая позволяет выполнять все функции, необходимые для создания программы:
– подготовку текста программы;
– компиляцию (перевод исходного текста программы в машинный код);
– отладку;
– выполнение;
– формирование исполняемого (загрузочного) модуля.
Далее даны справочные сведения о том, как выполнять указанные действия.
Для запуска среды Microsoft Visual Studio необходимо в группе установленных программ найти каталог с именем «Microsoft Visual Studio» и выбрать соответствующий исполняемый файл (Рисунок 1.1)
Рисунок 1.1
При входе в интегрированную среду Microsoft Visual Studio на экране появляется окно, в верхней части которого находится главное меню функций (рисунок 1.1), в нижней – строка подсказок (помощи).
Рисунок 1.2 – Главное окно Microsoft Visual Studio
Назначение функций:
– File (Файл)– выполнение операций с файлами программы и проекта в целом (открыть, сохранить и др.);
– Edit (Правка) – команды редактирования текста (копировать блок или фрагмент текста, переместить блок текста и др.);
– View (Вид) – команды управления окнами - выбор расположения окон среды, скрытие/показ различных блоков и т.д.;
– Debug (Отладка) – отладка и выполнение программы;
– Build (Построение) – компиляция программы и создание исполняемого файла;
– Help (Справка) – использование справки программиста.
После выбора пункта главного меню на экран выводится подчиненное вертикальное меню, позволяющее выбрать нужную операцию;
Подготовка нового проекта программы: Файл-> Создать -> Проект…; откроется новое окно, в котором можно выбрать тип проекта и язык программирования (Рисунок 1.3)
Рисунок 1.3 – Создание проекта
Для создания нового проекта консольного приложения необходимо выбрать язык программирования Visual C# слева и в появившемся списке выбрать Консольное приложение (Console Application) далее необходимо задать имя проекта в поле «Имя (Name)», указать расположение, где необходимо сохранить проект (поле «Расположение»), задать имя решения в соответствующем поле и нажать кнопку «ОК».
Примечание: Среда Microsoft Visual studio автоматически заполняет поля при создании проекта, которые можно оставить, но для удобства лучше задать осмысленные имена.
Набор или редактирование исходного текста программ происходит в окне редактирования (Рисунок 1.4), которое появляется сразу после создания проекта.
Рисунок 1.4
Среда Microsoft Visual studio автоматически создает каркас приложения, поэтому изначально в документе программы присутствуют базовые строки программы:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
}
}
}
При этом используются приемы, принятые во многих других редакторах (Works, Lexicon, Word и др.). Интегрированная среда поддерживает функции работы с блоками, строками, со словами и с отдельными символами. Подробнее об этом можно узнать в разделе помощи. Примеры использования клавиш редактирования текста:
– Ins – включение/выключение режима вставки/замены символа в позиции курсора;
– клавиши со стрелками – сдвиг курсора в соответствующем направлении;
– End – перемещение курсора в конец строки;
– Home – перемещение курсора в начало строки;
– PgUp – сдвиг текста программы на страницу назад;
– PgDn – сдвиг текста программы на страницу вперед;
– Ctrl+W – сдвиг строк текста программы вниз;
– Ctrl+Z – сдвиг строк текста программы вверх;
– Ctrl+стрелка вправо – перемещение курсора на слово вправо;
– Ctrl+стрелка влево – перемещение курсора на слово влево;
– (BackSpace) – удаление символа слева от курсора;
– Del – удаление символа над курсором;
– Ctrl+Y – удаление строки;
– Ctrl+Q,Y – удалить символы от курсора до конца строки;
– Ctrl+N – вставка строки.
Имеются и другие возможности для редактирования текста (см. Help).
После подготовки текста или перед окончанием работы следует текст программы сохранить:
– Ctrl+S или Файл-Сохранить все (\File\Save All)
Загрузка проекта программы с диска:
– Ctrl+O или Файл-Открыть проект(\ File\ Open project);
Компиляция программы в исполняемый модуль и вызов ее на выполнение:
– F5, в нижней части экрана в разделе «Вывод» появятся строки, информирующие о ходе компиляции.
Выход из среды Microsoft Visual Studio выполняется с помощью соответствующего значка оконного интерфейса или выбора пункта меню Файл-выход(\File\Quit). Если программа не была ранее сохранена, то появится окно, аналогичное окну загрузки, с приглашением ввести имя программы. После ввода имени нажмите ввод. Программа сохранится в файле с заданным именем.
1.6. Справки по структуре и операторам C#-программы
При выполнении данной работы рекомендуется использовать программу со стандартной структурой:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Блок основной программы
}
}
}
Алфавит языка — это тот набор символов (знаков), который допустим в данном языке. В алфавит языка C# входят:
· прописные и строчные буквы (латинские и национальных шрифтов) и символ подчеркивания (_);
· цифры;
· специальные знаки: ' ", { } | [ ] () + - / \ %?!.;:
· < = > & * ~ ^
· неотображаемые символы («обобщенные пробельные символы»), они используются для отделения лексем друг от друга (это пробелы, табуляция, переход на новую строку).
Ключевые слова — это служебные слова, которые зарезервированы в языке, их можно использовать только по прямому назначению (например, for — это заголовок оператора цикла и ничего более), т. е. зарезервированные слова нельзя использовать в качестве имен переменных пользователя. Ключевые слова, определенные в стандарте языка C# версии 2.0, приведены в таблице ниже:
Таблица 1. Ключевые слова C#
Целые типы
Целые типы данных предназначены для хранения целых чисел. Все целые типы можно подразделить на знаковые и беззнаковые.
В таблице ниже приведены все знаковые целые типы и их основные характеристики:
А в этой таблице приведены все беззнаковые типы данных:
Вещественные типы
Для работы с действительными числами в языке C# имеется два вещественных типа: float (одинарная точность) и double (удвоенная точность). Приведем краткую характеристику этих типов:
Символьный тип
Для хранения отдельных символов используется тип char. Так как в языке C# для кодирования символов используется Unicode, то под каждый символ отводится 2 байта.
Логический (булевый) тип
Для работы с логическими величинами используется тип bool. Допустимы два значения: true (истина) и false (ложь). Пример объявления переменной логического типа:
Для данных логического типа допустимы операции проверки на равенство и неравенство.
Следует иметь ввиду, что для булевого типа в C# запрещены какие-либо преобразования в целые типы.
Прежде чем использовать в программе какую-то переменную, надо обязательно дать её описание, то есть сказать, какое имя имеет переменная и каков её тип. Вначале указывается тип переменной, а затем её имя. Например:
int i;
bool h;
double a, b, c;
Для вывода поясняющего текста (подсказок оператору ЭВМ) можно использовать операторы типа:
Console.Write("Введите значение переменной a:");
Console.WriteLine("Результат программы равен:");
Для ввода данных можно использовать операторы типа:
Console.ReadLine();
При вводе числа разделяются пробелом, символы вводятся без разделителя.
Для вывода результатов можно использовать операторы типа:
Console.Write("Результат программы равен значению переменной c=");
Console.WriteLine(c);
Console.WriteLine("Результат программы равен значению переменной c={0}", c);
Арифметические операции на языке C#:
Приоритет операций сложения и вычитания ниже, чем умножения, деления и вычисления остатка. Для изменения порядка вычисления используют круглые скобки, например для умножения на 2 суммы двух чисел A и B можно написать:
2*(A+B)
Далее. Как видно из полученных результатов, в C# один знак / означает две разные операции. Если один или оба операнда — вещественные, то выполняется обычное деление, если оба операнда — целые, то выполняется деление нацело и результат будет целого типа. Использование этой операции требует повышенной внимательности, например, если запрограммировать вычисление математического выражения
буквально, т.е. так:
1 / 3 * Math.Sin(2 * X);
то результат вне зависимости от значения X всегда будет равен нулю, так как выражение 1/3 означает деление нацело. Для решения проблемы достаточно один из операндов
сделать вещественным
1.0 / 3 * Math.Sin(2 * X);
Смена знака. Унарная операция «-» означает смену знака. Она имеет очень высокий приоритет — выше, чем, к примеру, у операции умножение. Поэтому в выражении
-A*B
вначале выполняется смена знака для A, а затем умножение -A на B.
Для парности имеется и операция унарный плюс, т.е. можно написать
+A
Более интересны, и главное, очень употребительны операции автоувеличения и автоуменьшения.
Операция автоувеличения (инкремент)
Записывается как два знака плюс (без пробелов между ними!), применяется для увеличения на единицу значения переменной, например:
A++
Исходное значение переменной A увеличивается на 1, и полученный результат сохраняется в переменной A. По полученному результату эта операция соответствует следующему выражению:
A=A+1
Важный момент: автоувеличение применимо именно для переменной, но не для константы или выражения.
Для операции инкремент допустимы две формы записи:
префиксная — например, ++A
постфиксная — например, A++.
При префиксной форме записи делается увеличение переменной на 1 и затем используется новое значение этой переменной.
В постфиксной форме записи также переменная увеличивается на 1, но в текущем выражении используется старое значение переменной.
Порядок выполнения действий определяется рангом (старшинством) операций или скобками по правилам алгебры.
Оператор присваивания выполняется следующим образом:
а) вычисляется значение выражения, записанного в правой части оператора;
б) полученное значение присваивается переменной, имя которой записано в левой части оператора;
<переменная> = <арифметическое_выражение> или <константа>;
например, Result = (A + B) / X;
B1 = true;