Чтение онлайн

ЖАНРЫ

Шрифт:

В листинге 2 приведено объявление класса Program приложения расчета среднего веса предмета (в дальнейшем, для краткости, вместо слов “объявление класса Program”, будем говорить “программа”).

Листинг 2. Средний вес

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

double w = 0.0; // вес помидоров

int k = 0; //

количество помидоров

double m = 0.0; // средний вес одного помидора

string st = "";

Console.Write("Общий вес (кг.) >");

st = Console.ReadLine;

w = System.Convert.ToDouble(st);

Console.Write("Количество (шт.) >");

st = Console.ReadLine;

k = System.Convert.ToInt32(st);

Console.WriteLine;

m = w / k;

String res = "Общий вес: " + w.ToString + " кг. \n" +

"Количество: " + k.ToString + " шт.\n" +

"–\n" +

"Средний вес: " + m.ToString + " кг.\n\n";

Console.WriteLine(res);

Console.Write("Press any key to continue…");

int ch = Console.Read;

}

}

}

На примере программы Средний вес кратко рассмотрим некоторые инструкции языка C#.

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

double w = 0.0;

это объявление переменной w. Слово double, стоящее перед именем переменной, показывает, что переменная w вещественная. После имени переменной стоит символ “присвоить” (в математике он называется “равно”) за которым следует вещественная константа 0.0 – ноль (черточка внутри овала позволяет различать букву О и цифру ноль). Это показывает, что переменной w присваивается начальное значение. Символ “точка с запятой” отмечает конец инструкции объявления переменной. Далее, одна за другой, следуют две наклонные черты, которые отмечают начало однострочного комментария, поясняющего, в рассматриваемом случае, назначение переменной w.

В следующей строке аналогичным образом объявляется целая переменная k (int – сокращение от integer, целое). Переменной k также присваивается начальное значение, которое задается целой константой.

Далее следуют объявления вещественной переменной m и строковой переменной st. Начальным значением переменной st является “пустая” (не содержащая ни одного символа), строка, т.к. после символа “присвоить” указана строковая константа, в которой между первой и второй двойными кавычками нет ни одного символа.

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

Первой выполняемой инструкцией программы является инструкция

Console.Write("Общий вес (кг.) >");

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

Далее следует инструкция

st = Console.ReadLine;

В результате ее выполнения в переменную st записывается значение метода ReadLine –

строка символов, которую пользователь набрал на клавиатуре. Надо понимать, что метод ReadLine возвращает именно строку символов, причем, даже в том случае, если строка будет содержать только цифры, все равно это строка, а не число.

Следующая инструкция

w = System.Convert.ToDouble(st);

присваивает значение переменной w, в качестве которого используется значение метода ToDouble, который преобразует значение строковой переменной st (в ней находится строка, введенная пользователем) в соответствующее вещественное число типа double. Обратите внимание, метод ToDouble вернет значение только в том случае, если строка, указанная в качестве его параметра, содержит правильное изображение вещественного числа. Правильной строкой для метода ToDouble является непустая строка, состоящая только из цифр (перед первой цифрой может находиться минус) и содержащая правильный десятичный разделитель – запятую (при стандартной для России настройке Windows).

Следующие три инструкции

Console.Write("Количество (шт.) >");

st = Console.ReadLine;

k = System.Convert.ToInt32(st);

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

Инструкция присваивания

m = w / k;

вычисляет средний вес. Выполняется она так: значение переменной w делится на значение переменной k и полученный результат записывается в переменную m.

Следующая инструкция

String res = "Общий вес: " + w.ToString + " кг. \n" +

"Количество: " + k.ToString + " шт.\n" +

"–\n" +

"Средний вес: " + m.ToString + " кг.\n\n";

формирует строку res, записывает в нее исходные данные и результат расчета. Строка res формируется путем конкатенации (объединения) строковых констант и преобразованных в строки значений численных переменных. Преобразование числа (значения числовой переменной) в строку выполняет метод ToString.

Следует обратить внимание на последовательности \n внутри строковых констант. Символ \ внутри строковой константы отмечает начало специальной последовательности символов. Последовательность \n трактуется как символ “новая строка”. Сами символы \n на экране не отображаются, но в результате их отправки в консоль курсор перемещается в начало следующей строки экрана.

Команда

Console.WriteLine(res);

выводит в окно консоли значение переменной res – исходные данные и результат расчета.

Далее следуют инструкции

Console.Write("Press any key to continue…");

int ch = Console.Read;

Они добавлены в конец для того, чтобы пользователь смог увидеть результат работы программы. Метод Read обеспечивает чтение символа с консоли, он ожидает нажатия клавиши и, после того как клавиша будет нажата, возвращает ее код. Таким образом обеспечивается приостановка выполнения программы до момента нажатия клавиши. Если рассматриваемых инструкций в конце программы не будет, то окно консоли закроется сразу после выполнения инструкции вывода результата и пользователь не сможет увидеть результат.

Поделиться с друзьями: