Пример. Написать программу для вычисления гипотенузы прямоугольного треугольника при условии, что известны катеты этого треугольника.
Обозначим длины катетов как в математике: a и b, гипотенузу — как c.
Порядок действий будет такой:
1. задаём с клавиатуры входные данные — значения a и b;
2. вычисляем значение гипотенузы по формуле
;
3. печатаем полученное значение c.
После загрузки среды Microsoft Visual Studio создайте новый проект консольного приложения. После этого можно приступить к набору текста программы. Весь основной код будет содержать внутри функции Main, которая является точкой входа в приложение.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double a, b, c;
Console.Write("Введите значение a=");
a = double.Parse(Console.ReadLine());
Console.Write("Введите значение b=");
b = double.Parse(Console.ReadLine());
c = Math.Sqrt(a*a + b*b);
Console.WriteLine("В результате расчета c={0}", c);
Console.Write("Нажмите любую клавишу для продолжения... ");
Console.ReadKey(true);
}
}
}
Для сохранения программы выберите команду Сохранить все (Save All) из меню Файл(File).
Для компиляции программы запуска ее в режиме отладки нажать F5.
При наличии ошибки см. п. 1.8.
Пояснения работы описанной вышепрограммы
1)В начале текста программы мы видим
using System;
Данная строка указывает на то, что в программе будет использована область имён System. Эта область имён является обязательной для любой программы на языке C#.
Кроме области имён System при необходимости могут быть использованы и другие области имён.
2)Строка
namespace ConsoleApplication1
является заголовком Вашей собственной области имён (namespace — ключевое слово, означающее область имён, ConsoleApplication1 — название этой области). Название области имён создаётся системой Visual studio и совпадает с названием проекта. Сама область имён представляет собой блок и начинается с открывающей фигурной скобки «{«(это первая фигурная скобка, записанная сразу же за заголовком нашей области имён), а заканчивается соответствующей закрывающей скобкой «}» (находится в последней строке программы).
3)Внутри области имён ConsoleApplication1 находится определение класса Program (class — ключевое слово, с помощью которого определяется класс, Program — название класса):
class Program
Тело класса также представляет собой блок. В нашей области имён определён всего один класс. При необходимости в области имён могут быть определены и другие классы. В тексте программы на языке C# в области имён обязательно должен быть определён хотя бы один класс. Имя данному классу также назначено системой. Его можно при желании заменить на другое.
Классы — основные строительные блоки программ на языке C#. Их изучением мы займёмся позже, а пока используем заготовку класса Program как есть.
4) Внутри класса Program определён единственный метод Main(). Вот его заголовок:
static void Main(string[] args)
Тело метода также представляет из себя блок. Метод Main() — это главный метод в любой программе на языке C#. Он является обязательным для каждой программы на C#. Именно с метода Main() начинается выполнение программы.
Метод — это часть текста программы, оформленная особым образом. В методах реализуются все необходимые действия программы. Определение методов всегда даётся внутри классов. Количество методов в классах может быть произвольными. Более подробно изучать разработку и использование методов будем позже. Пока будем использовать заготовку метода Main() как есть.
Для решения поставленной задачи нам требуется 3 переменные. В строке
double a, b, c;
выделена память для этих переменных. Тип переменных — double (вещественный с удвоенной точностью), начальное значение переменным не задаём, так как намерены задать входные данные a и b с клавиатуры.
2)Строка
Console.Write("Введите значение a=");
предназначена для вывода текста-подсказки. Пользователь программы должен понимать, что от него требуется. В данном случае будет напечатано
Введите значение a=
(мы собираемся задать значение переменной a).
3)В строке
a = double.Parse(Console.ReadLine());
выполняется присваивание переменной a значения, введённого с клавиатуры. Как это работает? Мы вводим с клавиатуры число, например: число 3, как в данном примере, но воспринимается это число как символьная строка. Поэтому вначале и вызывается метод ReadLine() класса Console. Именно этот метод возвращает символьною строку, то есть символьное представление нужного нам числа. Затем символьная строка поступает в метод Parse() структуры double и выполняется преобразование строки в вещественное число типа double. Последний шаг — присваивание полученного результата переменной a.
Обратите внимание на следующее: тип данных double является не просто стандартным типом данных в языке C#, он является структурой, то есть имеет совсем не такую уж простую организацию. Это же относится и ко всем другим стандартным типам данного языка. А вот в старых языках программирования (C, Pascal, Basic) стандартные типы данных были действительно простыми типами.
Подведём промежуточный итог. Две строки
Console.Write("Введите значение a=");
a = double.Parse(Console.ReadLine());
обеспечивают ввод значения переменной a с клавиатуры, при этом печатается и подсказка, поясняющая, что требуется от пользователя программы. После выполнения этих действий на экране будет выведено:
a=3
4)В последующих двух строках строках
Console.Write("Введите значение b=");
b = double.Parse(Console.ReadLine());
выполняется ввод с подсказкой значения другой переменной — переменной b. Делается всё точно также, как и для переменной a.
5)В строке
c = Math.Sqrt(a*a + b*b);
выполняется вычисление гипотенузы c. Справа от знака присваивания «=» записан вызов метода Sqrt(), определённый в классе Math. Метод Sqrt() предназначен для вычисления квадратного корня из вещественного числа.
6)В строке
Console.WriteLine("В результате расчета c={0}", c);
осуществляется вывод результата работы — печатается текст
c=5
В символьной строке, являющейся первым параметром метода WriteLine(), имеется не только текст, но и формат, определяющий правила вывода переменной c.
Здесь используется простейший вариант формата {0}, который определяет порядковый номер выводимых параметров. Нумерация параметров всегда начинается с 0. Именно этот номер и соответствует переменной c.
Ошибки компиляции
Какие ошибки компиляции вероятнее всего вы получите? Наиболее возможными ошибками для начинающего программиста на языке C# будут:
C# требует, чтобы вы объявили все переменные, типы данных, константы и подпрограммы (все идентификаторы) перед их использованием. Если вы обратитесь к необъявленному идентификатору или пропустите его, то при компиляции будет обнаружена ошибка. несоответствие количества и типа параметров в вызовах процедур и функций и в их объявлении т.д.
Когда вы начинаете компиляцию, внизу экрана появляется окно, содержащее информацию о данной компиляции Рисунок 1.5.
Рисунок 1.5
Если во время компиляции обнаружена ошибка, компилятор останавливается, и выводит список ошибок (Рисунок 1.6).
Рисунок 1.6
Двойной щелчок по описанию ошибки переведет курсор ввода текстового редактора кода на место, где была обнаружена ошибка. Сделайте исправления, сохраните обновленный файл и компилируйте снова.
Варианты заданий
1. Вычислить площадь треугольника.
2. Вычислить площадь круга.
3. Вычислить площадь трапеции.
4. Вычислить площадь квадрата.
5. Вычислить объем куба.
6. Вычислить среднее арифметическое трех чисел.
7. Вычислить квадрат числа.
8. Вычислить периметр треугольника.
9. Вычислить периметр прямоугольника.
10. Вычислить квадрат разности двух чисел.
11. Вычислить квадрат суммы двух чисел.
12. Вычислить объем шара.
13. Вычислить длину средней линии трапеции.
14. Вычислить процент от заданного числа.
15. Вычислить куб разности двух чисел.
16. Вычислить объем цилиндра.
17. Вычислить объем конуса.
18. Вычислить объем треугольной пирамиды.
19. Вычислить разность квадратов двух чисел.
20. Вычислить длину радиуса окружности заданной площади.
Примечание: исходные данные вводятся в диалоговом режиме.
Содержание отчета
· Титульный лист;
· Название и цель лабораторной работы;
· Задание;
· Схема программы;
· Текст программы;
· Примеры работы программы (введенные данные, результаты работы).
· Ответы на контрольные вопросы.
Контрольные вопросы
1. Каков порядок создания проекта приложения в интегрированной среде Microsoft Visual Studio?
2. Какие основные функции выполняет система Microsoft Visual Studio?
3. Какие операции позволяет выполнять текстовый редактор Microsoft Visual Studio при подготовке программы? Примеры операций редактирования?
4. Как выполнить компиляцию программы и запустить ее на выполнение из среды разработки?
5. Как сохранить программу под другим именем?
7. Какими способами можно выйти из среды?
8. Как создать исполняемый модуль?
9. Как вызвать контекстную помощь?
10. Какова структура консольного приложения на языке С#?
11. Какие операторы используются для ввода (вывода) значений переменных?