IT-кот 5. Оперативная память, как у золотой рыбки
Настоящий кот в своей жизни должен сделать три вещи: поесть, поспать и тыгыдык. Но как тогда запомнить в какое время делать какую из вещей? Что ж, придется и это переложить на плечи компьютера.
Для начала попробуем повторить функционал золотой рыбки: будем запоминать только на время работы программы.
Для такого функционала в программе есть два механизма: переменные и поля.
Переменными мы будем называть такое место внутри метода, куда сохраняются те или иные значимые вещи: числа, строки, даты и вот это все. "Вот это все" будем называть данными.
Полями же назовем назовем тоже самое, но уже снаружи метода.
Переменные используются для совсем временного хранения данных. Так в прошлом посте (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("******");
Если вспомнить предыдущие посты про циклы, то используя их, расписание можно повторять любое количество раз. Ссылка на всю программу должна быть доступна здесь.
В следующий раз попробуем запомнить уже на долго, ну а пока - всем больше "поспать" и меньше "тыгыдык" ;)
Котомафия
108K постов34K подписчик
Правила сообщества
В сообществе категорически запрещено:
✔Оскорблять других пользователей. Запрещено использование нецензурных выражений и ругательств. Замена части букв значками "@", "#", "$" и т. д. при вычислимости исходного слова не избавляет от ответственности. Категорически не рекомендуется использование грубо-просторечной лексики, а также упоминания физиологических отклонений;
✔ Сообщения не по теме. Публикуемые сообщения должны соответствовать заявленной теме сообщества;
✔Размещение постов о помощи животным в сообществе без обязательных тегов: #вдобрыеруки #помощь #без рейтинга
Так же напоминаем, что на Пикабу существует специальное сообщество ."Айболит. Помощь животным"
Дорогие друзья, которым не нравятся посты с просьбами о помощи животным, очень просим Вас добавить теги: #помощь #вдобрыеруки и др. в черный список.
✔Плагиат! Не присваивай себе чужие идеи, записи и другой авторский контент.
✔Некорректные комментарии в комментариях, откровенный флуд, провокации, пропаганду жестокого и безответственного отношения к животным и пр. участники заносятся в черный список без дополнительных пояснений и предупреждений!
✔Нарушать правила Пикабу.
Заметили нарушение правил: напишите@zluchkin , @Darsinka
Не забывайте ставить тег "моё", "кот", "котомафия" если выкладываете своих любимцев.
Мы есть в VK:@kotomafia _fan, отмечайте нас на Ваших фото.