Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Герои Войны - микс стратегии и РПГ. Собери лучшую армию и победи всех врагов. В игре 7 различных режимов - как для любителей PvE, так и PvP.

Герои Войны

Стратегии, Мидкорные, Экшены

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Учебные курсы

С этим тегом используют

Онлайн-курсы Курсы Обучение Образование Урок Аналитика Бесплатное обучение Все
346 постов сначала свежее
4
biba.pro
biba.pro
2 месяца назад
Лига образования
Серия Уроки DataLens

Параметры в DataLens. Делаем переключатель валюты. Практический урок для начинающих аналитиков⁠⁠

[моё] Урок Обучение Образование Бесплатное обучение Аналитика Курсы Учебные курсы Онлайн-курсы Видео RUTUBE Длиннопост
4
8
biba.pro
biba.pro
2 месяца назад
Лига образования
Серия Уроки Эксель

Водяной знак или подложка в Excel. Как сделать? Урок для начинающих. Лайфхак бесплатно⁠⁠

[моё] Урок Обучение Образование Бесплатное обучение Аналитика Курсы Онлайн-курсы Microsoft Excel Учебные курсы Видео RUTUBE Длиннопост
0
4
biba.pro
biba.pro
2 месяца назад
Лига образования
Серия Уроки DataLens

Как в DataLens сменить цвет темы с темной на светлую и наоборот. Урок для начинающих⁠⁠

[моё] Урок Обучение Образование Бесплатное обучение Аналитика Курсы Онлайн-курсы Учебные курсы Видео RUTUBE Длиннопост
0
5
user10429306
user10429306
2 месяца назад
Серия Введение в основы программирования.

Методы⁠⁠

Продолжаем улучшать читабельность и информативность программного кода.

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

Во избежание переписывания одного того же кода, принято выделять такой код в отдельный блок, с доступом по имени. По аналогии с переменной, в которой доступ по имени осуществляется к единственному значению, имя блока предоставляет доступ к программному коду внутри этого блока.

Выделение программного кода в отдельные блоки позволяет так же решить следующие задачи.

  • Распределить написание кода между командой программистов, где каждый пишет свой модуль, блок программного кода. Затем эти модули соединяются в единую конструкцию.

  • Упрощается отладка и поиск ошибок в программе, потому как найти неверно работающий модуль легче, чем найти ошибку среди тысяч строк программного кода в методе Main.

  • При внесении изменений или расширения функциональных возможностей нет необходимости затрагивать весь программный код, достаточно внести изменения в конкретные блоки кода.

Наименьшим выделенным блоком программного кода в языке C# является — метод. К примеру, точка входа в программу метод— Main, или методы вывода на экран — Write и WriteLine.

Методы делятся на две группы. Методы, возвращающие значение и методы невозвращение значение. Аналогами методов в других языках программирования, являются функции и процедуры

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

static void Metod()

{

Тело цикла. Здесь пишется блок исполняемого кода.

}

Где,

  • static — этот параметр примите как необходимость. Его обсуждение не входит в тему этой лекции

  • void — ключевое слово, указывающее, что метод не возвращает значение, которое может изменить ход выполнения программы

  • Metod — имя метода. По правилам пишется с большой буквы и имеет описательное содержание, которое описывает выполняемую функцию.

  • () — круглые скобки. Формат записи, указывающий на метод. Круглые скобки могут быть пустыми или содержать параметр.

  • {} — между фигурных скобок пишется исполняемый код.

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

Выделим сообщение об ошибке в отдельный блок — метод, и вызовем этот метод в методе Main. Все операции производятся в class Program

class Program

{

static void Main(string[] args)

{

MessageError();

}


static void MessageError()

{

Console.WriteLine("Ошибка");

}

}

На первый взгляд, здесь происходит нарушение основного принципа программирования — следование. Метод MessageError() находится ниже метода Main. На самом деле это не так. Найдя строку MessageError();,  компилятор находит в программе этот метод, выполняет его, и затем передает управление назад в метод Main. Поэтому нет разницы, где будет находится метод, ниже выше или в другом классе, или в другом файле, метод будет выполнен, в противном случае программа закончится ошибкой. При расположении метода за пределами базового класса Program, обязательно указывается путь к этому методу. Об этом поговорим чуть позже.

Как видно из вышеприведенного программного кода, использование методов очень похоже на применение переменных. По большому счету, операция Console.WriteLine("Ошибка"); как некое значение, была помещена в отдельный блок с именем, и теперь по имени можно вызвать эту операцию на выполнение.

Помимо разнообразных сообщений, методы, не возвращающие значение, могут выводить результаты вычислений. Для этого в круглых скобках метода объявляется переменная, называемая —параметром метода.

Напишем метод, умножающий значение переменной «х» на два.

static void Sum(int x)

{

Console.WriteLine(x * 2);

}

Здесь, в строке static void Sum(int x), параметр метода, метод Sum ожидает значение с типом данных int, которым будет инициализирована переменная int x.

Для того, чтобы воспользоваться методом достаточно вызвать метод по имени в методе Main, и в круглые скобки поместить значение. Значение в круглых скобках называется — аргумент. Аргумент должен иметь идентичный, с параметром тип данных.

class Program

{

static void Sum(int x)

{

Console.WriteLine(x * 2);

}


static void Main(string[] args)

{

Sum(30); //ПЕРЕДАЧА аргумента

// ОТВЕТ. Невидимая операция

}

}

Число «30» в строке Sum(30); является аргументом метода Sum. Саму же операцию передачи значения аргумента в параметр метода, можно представит как операцию инициализации переменной, в которой правым операндом является аргумент, а левым параметр.

В познавательном процессе о методах, встречаются ситуацию, когда обучающийся, написав свой метод не может к нему обратится. Это связано с тем, что ученик привык к мысли «одна операция — одно действие». Здесь же в строке Sum(30); происходит две операции — передача аргумента и получение ответа от метода в виде результата вычисления. Дабы избавится от визуальной зависимости «одна операция — одно действие», представьте, что ниже строки Sum(30); находится невидимая операция, принимающая ОТВЕТ.

Помимо литеральных значений, аргументом может выступать переменная.

class Program

{

static void Sum(int x)

{

Console.WriteLine(x * 2);

}

static void Main(string[] args)

{

int a = 30;

Sum(a); //ПЕРЕДАЧА аргумента

//ОТВЕТ. Невидимая операция

}

}

Здесь в качестве аргумента выступает значение переменной «а», которое инициализирует переменную «х», параметр метода Sum. После выполнения программного кода в теле метода Sum, результат вычисления возвращается методу Main.

Усложним задачу и напишем программу с несколькими параметрами, представленными различными типами данных.

class Program

{

static void Data(int x, string text)

{

Console.WriteLine($"Имя: {text}, возраст: {x}");

}


static void Main(string[] args)

{

int age = 30;

string name= "Bill";

Data(age, name); //ПЕРЕДАЧА аргумента

//ОТВЕТ. Невидимая операция

}

}

Здесь, аргументами выступают переменные age и name которые инициализируют переменные int x, string text метода Data.

В случаях, когда у метода два и более параметра необходимо соблюдать два правила.

  • 1.  Количество аргументов должно быть идентичным количеству параметров.

  • 2.  Типы данных параметров должны соответствовать по своему расположению типам данных аргументов. Т.е. первый параметр и аргумент должны иметь идентичные типы данных.

    Помимо переменных, в качестве параметров могут выступать структуры.

    Нижеприведен код программы, где метод ShowMany выводит на экран все элементы массива, а ShowOne — единственный.

    class Program

    {

    static void ShowMany(int[] arr)

    {

    for(int i=0; i<arr.Length; i++)

    {

    Console.Write( arr[i] + " ");

    }

    }

    static void ShowOne(int[] arr, int i)

    {

    Console.Write(arr[i]);

    }

    static void Main(string[] args)

    {

    int[] little = { 3, 6, 8, 9 };

    int[] big = { 1, 2, 3, 6, 5, 4, 9, 8, 25 };

    ShowMany(big); //ПЕРЕДАЧА аргумента

    //ОТВЕТ. Невидимая операция

    Console.WriteLine();

    ShowOne(little, 1); //ПЕРЕДАЧА аргумента

    //ОТВЕТ. Невидимая операция

    }

    }

    Здесь, параметром ShowMany является массив, поэтому аргументом для этого метода будет массив. Метод ShowOne, позволяет обратится к отдельному элементу массива, но операция по выводу отдельного элемента массива происходит внутри метода, поэтому прежде, чем обратится к конкретному элементу, необходимо в метод ShowOne передать все элементы массива. Таким образом метод ShowOne имеет два параметра — массив и переменную инициализируемую индексом

    Помимо методов с ключевым словом — void, т.е. не возвращающих никакого значения и не влияющих на дальнейшие вычисления, при написании программного кода, как ни банально звучит, используются методы, результат вычислений которых, возвращает значение, и эти значение используются в дальнейших вычислениях.

    Такие методы легко отличить от методов с «void». Так как метод возвращает значение, а значение имеет тип данных, то ключевое слово «void» заменяется на один из принятых типов данных. Само значение возвращается с помощью оператор — return.

    static string Name()

    {

    return "Bill";

    }

    Где, string — тип данных метода Text. Типом данных определены характеристики обрабатываемых значений.

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

    class Program

    {

    static string Text()

    {

    return "Bill";

    }


    static void Main(string[] args)

    {

    string name=Text();

    Console.WriteLine($"Имя {name}");

    }

    }

    Оператор return выполняет две функции, возвращает значение и прекращает работу метода.

    class Program

    {

    static string Text()

    {

    string name = "Bill";

    return name;

    string message = "Error";

    }


    static void Main(string[] args)

    {

    string name=Text();

    Console.WriteLine($"Имя {name}");

    }

    }

    Так как оператор «return» завершает работу метода, то операция с этим методом должна находится на последней строчке метода.

    Используя параметры и аргументы методы могут обмениваться значениями.

    class Program

    {

    static string Text(string name)

    {

    return name;

    }

    static int Number(int years)

    {

    return years;

    }

    static void Main(string[] args)

    {

    string name = Text("Bill");

    int age = Number(36);

    Console.WriteLine($"Имя {name}, возраст {age}");

    }

    }

    Здесь, аргументами "Bill" и 36, были инициализированы переменные в методах Text и Number соответственно.

В заключении.

Для снижения трудозатрат и ошибок при наборе программного кода. выделяйте часто повторяющийся код в отдельные блоки — называемые методы. При написании программного кода используйте не только свои методы, но и сторонних разработчиков.

Для передачи значений между методами, к примеру, между Main  и Sum, используется конструкция аргумент — параметр, где аргумент передает значение, а параметр принимает. Аргументом может быть как литеральное, так и переменное значение, параметром выступает переменная с типом данных идентичным аргументу.

На этом занятие закончено.

Вы можете самостоятельно найти задачи для закрепления теоретического материала или для получения задач с ответами отправьте письмо на basicprog@mail.ru

Удачи в выполнении практических заданий!

Показать полностью
[моё] Введение Основы Программирование Учебные курсы Текст Длиннопост
0
3
biba.pro
biba.pro
2 месяца назад
Лига образования
Серия Уроки DataLens

Как сделать поле с накопительным итогом в DataLens. Курс, практический урок⁠⁠

[моё] Урок Обучение Образование Бесплатное обучение Аналитика Курсы Онлайн-курсы Учебные курсы Видео RUTUBE Длиннопост
0
user10429306
user10429306
2 месяца назад
Серия Введение в основы программирования.

Имена переменных и комментарии. Синтаксис C#⁠⁠

Помимо написания программного кода, эффективно использующего аппаратные ресурсы вычислительной системы, в обязанности программиста входит написание информативного кода.  В период эксплуатации программного продукта, в программный код, вносятся правки, связанные как с изменением функционала, так и с выявленными ошибками. Но прежде, чем внести какие-то изменения в программный продукт, необходимо понять структуру программа, какие функции выполняют те или иные переменные или целые блоки кода.  Поэтому хорошим тоном считается оставлять подсказки для тех, кто в дальнейшем будет обслуживать программный продукт.

Напишем программу

static void Main(string[] args)

{

Console.WriteLine("Введите значение");

int a = int.Parse(Console.ReadLine());

Console.WriteLine(a*5/9+32);

}

Запустим код. Введем значение, получим результат. И….. Попытаемся угадать, результат каких вычислений был получен.

А теперь представьте себе, вы открываете код и видите применение такого стиля оформления у программы в 1000 строк. Даже если эту программу написали Вы, для понимания происходящего в этом коде придется потратить много времени.

Избежать этого позволило бы наличие комментариев

static void Main(string[] args)

{

/* Эта программа переводит значение температуры

* по Фаренгейту в значение температуры по Цельсию */

Console.WriteLine("Введите значение"); //Температура по Фаренгейту

int a = int.Parse(Console.ReadLine());

Console.WriteLine(a*5/9+32); //Температура по Цельсию

}

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

С помощью многострочного комментария некоторые программисты блокируют готовые блоки кода. Это делается в случаях, когда программист сомневается какой вариант программного кода оптимален для программы.

static void Main(string[] args)

{

/* Эта программа переводит значение температуры

* по Фаренгейту в значение температуры по Цельсию */

Console.WriteLine("Введите значение");

int a = int.Parse(Console.ReadLine());

Console.WriteLine(a * 5 / 9 + 32); //Первый вариант вычислений

/*

* int b = a * 5 / 9 + 32; //Второй вариант вычислений

Console.WriteLine(b);

*/

}

Написание комментариев подчинены определённым правилам.

Первое и главное правило комментария – комментарий должен предоставлять правдоподобную информация.

  • Комментарии могут предоставлять дополнительную информация или пояснять назначение кода.

  • Комментарии могут подсказать как улучшить код, если код, в силу каких-то причин, был написан не удачно.

  • Комментарии могут предупреждать об опасностях внесения изменений в код. Самый распространенный из таких комментариев – “НЕ ТРОГАТЬ!!!”. На эту тему, на просторах интернета, есть поучительная история про вентилятор, воздушный шар и комнату, набитую швабрами.

Еще одним элементом в написании информативного кода являются ИМЕНА.

Имена присваиваются не только переменным, но другим объектам, хранящимся в памяти, таким как массив или другая структура данных, метод, класс и т.д. Подменяя уникальный адрес в памяти компьютера, имя объекта должно быть само уникальным и идентифицировать объект среди других объектов. Не информативно названые объекты затрудняют понимание программного кода другими программистами, а значит увеличиваются затраты на поддержку и обслуживание программного продукта. В конечном итоге, затраты и сложность в обслуживание может лишить программный продукт конкурентных преимуществ, что приведет к отказу от его использования.

Для выбора имени переменной или другого объекта существуют определенные правила.

Нельзя использовать ключевые слова и определенные символы вне строковых значений. У каждого языка программирования свой набор таких слов и символов. К примеру, слово string зарезервировано как обозначение типа данных, а слово — goto приведет к ошибке выполнения программы.

Объектам, т.е. переменным, массивам, методам, классам и т.д. принято задавать удобочитаемые, описательные имена, которые объясняют, для чего создан объект.

Применение простых имен таких как a, b или z обычно используются внутри небольших блоков программы, где однозначно определено для чего нужна переменная

  • Если имя, для уникальности или смысловой нагрузки должно содержать два и более слова, эти слова пишутся слитно— thisFirstVariable. В языке C# к таким словам применяется стиль написания — Верблюжья нотация. Для этой нотации характерно следующее написание— Первое слово пишется со строчной буквы, последующие — с заглавной. Торчащие посреди заглавные буквы выглядят как горб у верблюда.

  • Имена переменных, массивов и других структур данных начинаются с маленькой буквы, а методы и классы с большой.

  • Длина имени не больше 15 символов. Имя объекта — thisFirstVariableofSquareClassRectangle, только усложнит чтение кода.

Для примера.

static void Main(string[] args)

{

int firstVariable = 10;

int secondVariable = 10;

int resultSum = firstVariable + secondVariable;

Console.WriteLine(resultSum);

}

Однако не всегда есть необходимость так полно информировать о принадлежности переменной, скорее это относится к глобальным переменным, о которых мы расскажем чуть позже. Имена переменным внутри небольших кусочков кода, таких как операции ветвления, повторения, лучше присваивать имена вида— a, b, c, y, x.

В заключении.

В задачи программиста входит написание не только эффективного программного кода. Для дальнейшего обслуживания написанный программный код должен быть понятным и удобочитаемым для других программистов. Для создания информативности используют комментарии, для удобочитаемости кода используют имена объектов

Комментарии поясняют предназначение как отдельных команд, так и целых блоков программного кода.

Имена объектов указывают, что хранит объект, его принадлежность и т.д.

На этом занятие закончено.

Вы можете самостоятельно найти задачи для закрепления теоретического материала или для получения задач с ответами отправьте письмо на basicprog@mail.ru

Удачи в выполнении практических заданий!

Показать полностью
[моё] Введение Основы Учебные курсы Текст Длиннопост
4
4
biba.pro
biba.pro
2 месяца назад
Лига образования
Серия Уроки Эксель

Рисуем алмазный меч Minecraft в Excel: увлекательное путешествие в мир таблиц для детей!⁠⁠

[моё] Урок Обучение Образование Бесплатное обучение Аналитика Microsoft Excel Курсы Онлайн-курсы Учебные курсы Дети Minecraft Игры Видео RUTUBE
1
Партнёрский материал Реклама
specials
specials

Как бросить курить и не сорваться: инструкция от тех, кто смог⁠⁠

Выходишь покурить на пять минут, а возвращаешься через 10 лет: с хрипом, тремя неудачными попытками бросить и пачкой мятных жвачек в кармане. Это как плохой сериал: тянется слишком долго, а финал все равно разочарует. Но выйти из этого сценария можно и даже не обязательно драматично. Мы собрали истории тех, кто боролся с зависимостью ради любимого человека, здоровья или лучшей жизни.

Как бросить курить и не сорваться: инструкция от тех, кто смог Курение, Борьба с курением, Зависимость, Telegram (ссылка), ВКонтакте (ссылка), Длиннопост

История 1 — отражение

@ holoroad

Маленькая дочка почти научилась ходить и всюду телепалась за мной. Я не курил при ней. Ходил на балкон, а она, прильнув к стеклу, смотрела на меня и ждала, когда я докурю и выйду к ней. И в какой-то момент она начала повторять за мной вот эти движения. Маленький человечек, ей было года полтора или два, прикладывала воображаемую сигарету к губам, а потом делала вид, что выпускает дым. И весело так на меня смотрела, сквозь стекло балконной двери. Ей нравилось все, что со мной связано, и она подражала всем моим действиям. Я курил уже двадцать лет и, конечно, делал множество попыток бросить до этого. Но в этот раз у меня в первый раз появилась по-настоящему важная причина бросить. Это важно для человека, который безгранично мне доверяет. С тех пор прошло почти десять лет, в течение которых я не сделал ни одной затяжки.

Решение бросить курить — одно из лучших, которое вы можете принять для своего здоровья, будущего и близких. Но справиться с зависимостью только потому, что «это вредно» будет тяжело. А вот если хотите не задыхаться, поднимаясь по лестнице, или волнуетесь за своего ребенка, которые вдыхает табачный дым, — уже другое дело.

Сформулируйте, что для вас значит отказ от никотина. Это может быть желание прожить дольше, избавиться от проблем со здоровьем, выглядеть моложе, сэкономить деньги или защитить близких от пассивного курения. Напоминание об этой причине повесьте на видное место.

История 2 — список

@ maxneb

Беременность жены, рождение ребенка, здоровье, деньги — ничего не было веским поводом бросить окончательно. Постоянно срывался. Помогло составить список, что теряю и что получаю от сигарет, и понимание, что хотя бы одна затяжка — и все насмарку: пару месяцев буду курить. Только список и его осознание. Для каждого он свой. И постоянное обращение к нему. После составления списка курил еще. Но он как заноза висел в голове с вопросом «зачем?»... Так, что-то щелкнуло и сейчас не тянет. Иногда тянет физически, но осознание бесполезности курения сразу глушит позывы. Полгода, полет нормальный...

Бросать на авось — идея, которая подойдет не всем. Нужно понимать, что делать в трудные моменты:

  • Определите дату отказа. Подготовьтесь морально, уберите сигареты, зажигалки, пепельницы.

  • Замените привычки. Сигарету в руках можно заменить орешками, палочками морковки, жвачкой или даже кубиком льда.

  • Займите время. Вспомните, чем вы любили заниматься: спорт, хобби, прогулки.

  • Планируйте, что делать при тяге. Она длится всего 3–5 минут. Дыхательные практики или звонок другу помогут пережить сильное желание закурить.

  • Откажитесь от «наградных сигарет». Одна затяжка и вы откатитесь назад.

Можно бросить резко, «с понедельника», или постепенно, снижая количество сигарет до нуля. Главное — определиться и не отступать.

История 3 — переключение

@ Spaka

45 лет, стаж 30. Пытался завязать много раз, потом понял, что после каждой попытки бросить, курить начинаешь больше. Как ребенок, которому не дают вкусняшку, а она случайно попала ему в руки. Из чего мозг сделал вывод: не уверен — не бросай. Потом стал замечать, что организм уже стал сам просить перестать курить. По утрам было очень неприятно во рту, удовольствие после сигареты стало короче, а негатив, приходящий следом, ощутимее: неприятные ощущения в горле, боли миндалин, страх схватить онкодиагноз. Хотя врачи говорили, что все ок, в голове-то гоняешь мысли. Я решил попробовать обмануть сам себя. Не делать из процесса отказа какого-то события. Бросить так, как будто это и должно было произойти, но ты не знаешь когда. Про себя помолился, как сумел, и попросил помощи, хитро прищурил глаз и в момент, когда забыл купить про запас (оставалась пара штук в пачке), просто перестал курить. Мне теперь даже странно, как я раньше это делал. Так и живу почти два года. Кстати, раньше в момент завязки курящих ненавидел, дым был очень противен, до тошноты. Теперь все равно. Присоединяйтесь ;)

Есть несколько стратегий отказа от курения:

  • Резкий. Эффективный и решительный подход.

  • Постепенный. Сначала — меньше сигарет, потом — меньше затяжек. И так до нуля.

  • Психологическая замена. Каждая сигарета — это ритуал. Найдите для каждого из них «здоровую замену».

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

Каждый, кто хочет оставить зависимость в прошлом, может обратиться в центры здоровья, которые работают при поддержке нацпроекта «Продолжительная и активная жизнь», и получить необходимую помощь специалистов. Адреса доступны на официальном портале Минздрава России о здоровье: takzdorovo.ru. Также можно позвонить на горячую линию по отказу от зависимостей 8 800 200-0-200.

История 4 — форма

Аноним

Курила электронки 2 года как замену обычным сигаретам. Думала, что это не так дорого, не так вредно да и для девушки вроде более привлекательно: не пахнут волосы и руки. А потом решила привести свое тело в форму. Стала ходить в зал и поняла, что задыхаюсь на первом же упражнении, хотя женщины гораздо старше меня бодрячком. Было очень тяжело слезть. Друзья советовали заменять сигаретами. А потом уехала в отпуск в страну, где нельзя покупать электронки, отвлеклась, и после возвращения уже не тянуло. Даже на тусовках, где все дымят.

За модными гаджетами и фруктовыми ароматами скрывается химическая бомба, разрушающая организм быстрее, чем обычные сигареты. Электронные сигареты активно продвигаются производителями как «безопасная» альтернатива сигаретам. Но курение вейпа может обернуться серьезными проблемами: от кашля и одышки до поражения сосудов и дыхательных путей.

«Особую тревогу вызывает рост потребления табачных изделий и электронных сигарет. Согласно исследованию, проведенному в нашем Центре, 36,8% курильщиков потребляют одновременно и табак, и электронные сигареты. Среди молодежи в возрасте 25-39 лет этот показатель превышает 45%. Электронные никотиносодержащие и безникотиновые устройства поражают сердце, сосуды, дыхательную систему и ДНК организма не менее пагубно, чем традиционные сигареты, а в ряде случаев способны вызывать острые состояния, включая сосудистые поражения и летальные исходы» – рассказывает руководитель Центра профилактики и контроля потребления табака НМИЦ терапии и профилактической медицины Минздрава России Маринэ Гамбарян.

История 5 — пари

@ kernima

Вроде не было никаких серьезных предпосылок, чтобы бросить. Да и чтобы начать: просто все вокруг курили, думал, это сейчас тренд. А потом как-то сидели в баре и решили поспорить с некурящим другом. Он затирал, что моя жизнь из-за электронки катится ко дну, я — доказывал, что это всего лишь маленькая шалость. В общем поспорили на пять тысяч. Чтобы было легче и можно было отвлечься, начал бегать по утрам. Друг проиграл, а я возвращаться к курению не стал. Вдруг снова у еды появился вкус, я начал высыпаться и больше не устаю на втором лестничном проеме. Короче, советую!))

Сульфат никотина, один из компонентов электронных сигарет, раньше использовали как пестицид, но запретили из-за высокой токсичности. Жидкость для «электронок» содержит и опасные химикаты вроде пропиленгликоля, ацетальдегида и акролеина — промышленных веществ, способных вызывать воспаления, поражения органов и мутации клеток. Ароматизаторы, создающие иллюзию безвредности, на деле могут привести к более тяжелой интоксикации, чем при курении сигарет. А еще вейпы содержат не природный, а синтетический никотин — солевой. Он быстрее всасывается, дольше выводится и вызывает зависимость стремительнее.

Когда организм отвыкает от никотина, бывает нелегко: люди становятся раздражительным и нервозными, быстро устают, возникают сухость во рту, кашель, трудности с концентрацией. Важную роль в борьбе с этими симптомами играет питание. В рацион стоит включить овощи, фрукты, орехи, семечки. Клетчатка способствует очищению организма от токсинов. Важно питаться сбалансировано: с достаточным количеством белков, жиров, углеводов и витаминов. Лучше временно исключить продукты, усиливающие удовольствие от табака (например, мясо), а также отказаться от алкоголя, кофе и крепкого чая. Они могут спровоцировать желание закурить. А вот большое количество воды, травяных чаев и настоев облегчит очищение организма и поможет справиться с сухостью во рту.

История 6 — связь

Аноним

Устал курить, понял, что мне это мешает заниматься спортом и в целом комфортно себя чувствовать. Пошел через ассоциации: покурил во время головной боли, и потом через самовнушение дал себе установку, что голова болела от курения. Звучит странно, конечно, но это сработало. Никотиновую зависимость снижал постепенно через редкое курение кальяна (2-3 раза в неделю с последующим уменьшением).

Чтобы добиться успеха в отказе от курения, стоит подготовиться. Обязательно расскажите о своем решении друзьям и близким — поддержка со стороны очень важна. Если вы уже предпринимали попытки бросить, вспомните, что тогда пошло не так, и постарайтесь не повторять этих ошибок.

Разберитесь, что именно тянет вас к сигарете: скука, стресс, привычка? Когда вы это осознаете, будет легче подобрать альтернативные действия — прогулку, книгу, разговор с близким. Учитесь распознавать моменты, когда особенно хочется закурить, и переключаться на что-то другое. Можно подключиться к программам или группам поддержки — это поможет не сдаваться. И главное: уберите из дома все сигареты.

История 7 — вершина

Аноним

Поднимался с сыном по Пушкинской тропе на гору Железная. Мне лет сорок пять было, идем общаемся, сын бегает туда-сюда. Ну идем короче, а сзади нас догоняет семейная пара, мирно о чем-то щебеча между собой. Догнали и обходят. И так спокойно удаляются… Все бы ничего, но им лет по шестьдесят, если не больше. Я попробовал в их темпе, но задыхаться стал. Короче, поднялся я на гору, спустился, смял пачку и выкинул в мусорную урну. Вот уже 13 лет не курю. Стаж 27 лет.

Курение — это быстро развивающаяся зависимость, схожая по механизму с наркотической. Никотин воздействует на мозг, вызывая кратковременное улучшение настроения, за которым следует упадок сил и потребность в новой дозе. Со временем формируется толерантность, и прежние негативные реакции организма на табак ослабевают. Физическая зависимость сочетается с психологической: сигарета начинает ассоциироваться с отдыхом, решением задач, рутиной. Курение укрепляется поведенческими шаблонами: кофе, вождение, паузы на работе уже не мыслимы без сигареты.


Каждый, кто пытался избавиться от никотиновой зависимости, знает, как это тяжело. Ломка, раздражительность, навязчивые мысли. Даже при переходе на вейпы, иллюзия «меньшего вреда» быстро развеивается: химические коктейли из ароматических смесей также бьют по легким, сосудам и всему организму.

Хорошая новость в том, что вы не одни. В сообществе «Давай бросать» (ВКонтакте и мессенджере Telegram), который работает при поддержке нацпроекта «Продолжительная и активная жизнь» знают, каково бороться с триггерами, искать замену привычке и удерживать себя от срыва. Здесь делятся историями тех, кто смог, поддерживают тех, кто только начал, и помогают разобраться в главном: как пережить отказ без мучений.

Социальная реклама. АНО «Национальные приоритеты», ИНН: 9704007633

Показать полностью
Курение Борьба с курением Зависимость Telegram (ссылка) ВКонтакте (ссылка) Длиннопост
4
user10429306
user10429306
2 месяца назад
Серия Введение в основы программирования.

Двумерные массивы и вложенные циклы. Синтаксис C#⁠⁠

Двумерные массивы представляют собой таблицу. Поэтому доступ к значению, хранимому в двумерном массиве, осуществляется с указанием двух индексов, индекса строки и индекса столбца. Нумерация индексов начинается с нуля.

static void Main(string[] args)

{

string[,] arr = { { "A", "B" }, { "C", "D" } };

Console.WriteLine(arr[1,0]);

}

Здесь, инициализирован двумерный массив из двух строк, в каждой из которых два значения. Значения A и B принадлежать первой строке с индексом 0, значения С и D, находятся на второй строке, с индексом 1. С помощью arr[1,0] был получен доступ к значению «С» расположенному на второй строке в первом столбце.

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

Первым параметром указывается количество строк, вторым— столбцов. Количество строк и столбцов называется размерностью массива.

static void Main(string[] args)

{

int[,] arr = new int [ 2, 3 ];

arr[0, 0] = 1;

arr[0, 1] = 2;

arr[0, 2] = 3;

arr[1, 0] = 4;

arr[1, 1] = 5;

arr[1, 2] = 6;

Console.WriteLine(arr[1,0]);

}

Здесь, инициализирован массив из двух строк и трех столбцов. Присвоение значения происходит по двум индексам. Индексу строки и индексу столбца. Доступ получен к находящемуся во второй строке первому элементу.

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

Так же, как и в одномерном массиве, для перебора в цикле нужно знать размерность массива, но в отличии от одномерного, в двумерном, размерности две. Одна — количество строк, вторая количество — столбцов. Свойство Length для этих целей не подходит, так как предназначено для подсчета количества всех элементов массива вне зависимости от того, как они хранятся.

static void Main(string[] args)

{

int[,] arr = new int[2, 3];

arr[0, 0] = 1;

arr[0, 1] = 2;

arr[0, 2] = 3;

arr[1, 0] = 4;

arr[1, 1] = 5;

arr[1, 2] = 6;

Console.WriteLine(arr.Length);

}

Для нахождения размерностей строк и столбцов используется метод — GetLength(), в скобки которого помещают значения размерности, для строк это число 0, для столбцов 1.

static void Main(string[] args)

{

int[,] arr = new int[2, 3];

arr[0, 0] = 1;

arr[0, 1] = 2;

arr[0, 2] = 3;

arr[1, 0] = 4;

arr[1, 1] = 5;

arr[1, 2] = 6;

// Перебор строк:

for (int i = 0; i < arr.GetLength(0); i++)

{

// Перебор столбцов в строке:

for (int j = 0; j < arr.GetLength(1); j++)

{


Console.Write(arr[i, j] + " ");

}

// Переход к новой строке:

Console.WriteLine();

}

}

Общепринято для внешнего цикла использовать переменную «i», для внутреннего «j»

Используя генератор случайных чисел, можно избавиться ото трудоемкого ручного присвоения значений элементам массива.

static void Main(string[] args)

{

int[,] arr = new int[2, 3];

Random rnd = new Random();

int value = rnd.Next(0, 10);


for (int i = 0; i < arr.GetLength(0); i++)

{

// Перебор столбцов в строке:

for (int j = 0; j < arr.GetLength(1); j++)

{

arr[i,j] = rnd.Next(0, 10);

Console.Write(arr[i, j] + " ");

}

// Переход к новой строке:

Console.WriteLine();

}

}

Помимо обработки данных, содержащихся в двумерных массивах, вложенные циклы применяются для обработки различных таблиц

К примеру, таблица умножения

static void Main(string[] args)

{

for (int i = 1; i < 10; i++)

{

for (int j = 1; j < 10; j++)

{

Console.Write($"{i * j} \t");

}

Console.WriteLine();

}

}

Здесь, « \t » управляющий символ, литерал, аналог клавиши Tab, используемый для выравнивания текста.

В заключении.

Двумерный массив — массив таблица. Доступ к единичному значению в таком массиве осуществляется по двум индексам — индекс строки и индекс столбца.

Для обработки всех значений двумерного массива используется конструкция вложенного цикла, где внешний цикл производит итерации надстройками, а внутренний над столбцами Конечное значение счетчика размерности строки и столбца определяется методом GetLength().

На этом занятие закончено.

Вы можете самостоятельно найти задачи для закрепления теоретического материала или для получения задач с ответами отправьте письмо на basicprog@mail.ru

Удачи в выполнении практических заданий!

Показать полностью
[моё] Введение Основы Программирование Учебные курсы Текст Длиннопост
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии