Основная структура программы
Для консольного приложения автоматически создается структура:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Namespace ConsoleApplication1
{
Class Program
{
static void Main(string[] args)
{
//здесь писать текст программы
}
}
}
Имя программы выбирается программистом самостоятельно в соответствии с правилами построения идентификаторов и совпадает с именем файла на диске.
Все объекты, не являющиеся зарезервированными в языке программирования, наличие которых обусловлено инициативой программиста, перед первым использованием в программе должны быть описаны. Это производится для того, чтобы компьютер перед выполнением программы зарезервировал память под соответствующие объекты и поставил в соответствие этим участкам памяти идентификаторы.
Оператор присваивания
Самым простым действием над переменной является занесение в нее величины соответствующего типа. Иногда говорят об этом, как о присвоении переменной конкретного значения. Такая команда (оператор) в общем виде выглядит следующим образом:
<Имя переменной> = <Выражение>;
Тип переменной и тип выражения должны быть совместимы. Выражение, указанное справа от знака "=", должно приводить к значению того же типа, какого и сама переменная, или типа, совместимого с переменной относительно команды присваивания. Например, переменной типа double можно присвоить значение типа Int или byte (впрочем, наоборот делать нельзя). Выражение будет сначала вычислено, затем, его результат будет положен в ячейки памяти, отведенные для переменной.
Выражение - это конструкция, возвращающая значение. Например
A = X; // переменная
B =15; // целая константа
D = Math.Sin(X); // вызов функции
E = X * Y; // произведение X на Y
F = Z / (1 - Z); // отношение Z к (1 - Z)
G =(X == 1.5); // логическое выражение
H = ! J; // отрицание логической переменной
Также можно делать множественное присваивание (во все переменные заносится самое правое значение):
a = b = c = d = 18;
Операторы ввода-вывода
Как мы уже говорили, любой алгоритм должен быть результативным. В общем случае это означает, что он должен сообщать результат своей работы потребителю: пользователю-человеку или другой программе (например, программе управления принтером). Мы не будем описывать здесь внутренние автоматические процессы, использующие сигналы непрерывно функционирующих программ, а сосредоточим внимание на взаимодействии программы и человека, то есть на процессах ввода информации с клавиатуры и вывода ее на экран.
В программировании существует специальное понятие консоль, которое обозначает клавиатуру при вводе и монитор при выводе.
Операторы ввода
Для того чтобы получить данные, вводимые пользователем вручную (то есть с консоли), применяются команды
<строковая переменная>=Console.ReadLine()Для того чтобы преобразовать к нужному типу данных используем объект Convert
<переменная целого типа> = Convert.ToInt32(<строковая переменная>);<переменная действ типа> = Convert.ToDouble(<строковая переменная>); <переменная логического типа> = Convert.ToBoolean(<строковая переменная>);<переменная целого типа> = Convert.ToByte(<строковая переменная>); <переменная символьного типа> = Convert.ToChar(<строковая переменная>);<переменная целого типа> = Convert.ToInt64(<строковая переменная>);ПримерInt32 x; Double y; string s;
s = Console.ReadLine();
x = Convert.ToInt32(s);
//без промежуточной строковой переменной
y = Convert.ToDouble(Console.ReadLine());
Типы вводимых значений должны совпадать с типами указанных переменных, иначе возникает ошибка. Поэтому нужно внимательно следить за правильностью вводимых данных.
Для того, чтобы обеспечить ожидание ввода любой клавиши в конце программы используют:
Console.ReadKey();
Операторы вывода
Сделаем одно важное замечание: ожидая от человека ввода с клавиатуры, не нужно полагать, что он окажется ясновидящим и просто по мерцанию курсора на черном экране догадается, какого типа переменная нужна ожидающей программе. Старайтесь всегда придерживаться правила: "лысый" ввод недопустим! Перед тем как считывать что-либо с консоли, необходимо сообщить пользователю, что именно он должен ввести: смысл вводимой информации, тип данных, максимальное и минимальное допустимые значения и т.п.
Примером неплохого приглашения служит, скажем, такая строчка: Введите два вещественных числа (0.1<1000000) - длины катетов.
Впрочем, и ее можно улучшить, сообщив пользователю не только допустимый диапазон ввода, но и ожидаемую точность (количество знаков после запятой).
Средства, позволяющие организовать выдачу информации на экран, мы здесь и рассмотрим.
Для того чтобы вывести на экран какое-либо сообщение, воспользуйтесь процедурой Console.Write или Console.WriteLine
Первая из них, напечатав на экране все, о чем ее просили, оставит курсор в конце выведенной строки, а вторая переведет его в начало следующей строчки.