Ответ на пост «Сборка 386 машины. Начало, часть 1.1ая. Дополнение»
Хотел собрать ретро комп. Давно хотел. На днях достались эл мониторы. И... Короче вот. Попытка провалилась. Коты в восторге)
Ps: это не самовыгул. Территория огорожена.
Хотел собрать ретро комп. Давно хотел. На днях достались эл мониторы. И... Короче вот. Попытка провалилась. Коты в восторге)
Ps: это не самовыгул. Территория огорожена.
Настоящий кот в своей жизни должен сделать три вещи: поесть, поспать и тыгыдык. Но как тогда запомнить в какое время делать какую из вещей? Что ж, придется и это переложить на плечи компьютера.
Для начала попробуем повторить функционал золотой рыбки: будем запоминать только на время работы программы.
Для такого функционала в программе есть два механизма: переменные и поля.
Переменными мы будем называть такое место внутри метода, куда сохраняются те или иные значимые вещи: числа, строки, даты и вот это все. "Вот это все" будем называть данными.
Полями же назовем назовем тоже самое, но уже снаружи метода.
Переменные используются для совсем временного хранения данных. Так в прошлом посте (IT-кот 4. Смерть кащея в подрограмме "яйцо", а подпрограмма "яйцо" - в подпрограмме "заяц") в качестве переменной мы использовали переменную i, в которую система автоматически записывала номер текущего повторения (итерации).
Поля нужны для сохранения информации между методами. Если строго подходить к программированию, то в силу того, что один метод вызывается из другого, а дургой из третьего и т.д., то переменных для хранения информации нам обычно достаточно. Поля же обычно используются для описания более сложных данных, но об этом поговорим в следующих постах.
Пока же перед телом главного метода Main создадим поле "whatNow" (будем хранить в ней описание того что нужно делать сейчас) и "whatDone" (для хранения прошлого действия):
static string whatNow;
static string whatDone;
В теле главного метода зададим начальные значения (текст указываем в двойных кавычках):
whatDone = "поспать";
whatNow = "поесть";
Теперь создадим метод, который с учетом наших дел будет говорить нам что делать теперь.
static void WhatToDo()
{
whatDone = whatNow;
if (whatNow == "поспать")
{
whatNow = "поесть";
}
else if (whatNow == "поесть")
{
whatNow = "тыгыдык";
}
else
{
whatNow = "поспать";
}
}
В этом методе мы сначала говорим, что запланированное действие уже сделано. Затем проверяем что же именно сделано с помощью конструкции if .. else if .. else. В этой конструкции для первой проверки всегда пишется if, а в скобках указывается условие проверки (то, что сделано, это - "поспать"). Затем, если на первую проверку мы дали ответ - "нет", то проверяется следующая (раз мы не поспали, то, наверное, поели). В самом конце написаны действия без проверок, которые выполняются, если ни одна из проверок не выполнилась (в любой непонятной ситуации - пойдем спать). Первая проверка обязательна, писать ли остальные - решает программист.
Ну и в самом конце выведем на экран наш текущий план, для чего в методе Main после задания начальных значений спросим компьютер что нам делать и выведем результат на экран:
WhatToDo();
Console.WriteLine("Сделано:");
Console.WriteLine(whatDone);
Console.WriteLine("а сейчас:");
Console.WriteLine(whatNow);
Console.WriteLine("******");
Если вспомнить предыдущие посты про циклы, то используя их, расписание можно повторять любое количество раз. Ссылка на всю программу должна быть доступна здесь.
В следующий раз попробуем запомнить уже на долго, ну а пока - всем больше "поспать" и меньше "тыгыдык" ;)
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.