3

C# Урок 1. Установка Visual Studio Code

Че так долго = P.S. Словом, разлил газировку на ноут, был в депрессии, ай пофиг, начали.


1. C чего начать

Для работы с текстом вам нужен текстовый редактор (World), для обработки фотографий вам нужен графический редактор (Photoshop), для программирования требуется IDE(интегрированная среда разработки).


IDE – это комплекс программных средств для разработки ПО, такие как

a. Текстовой редактор (Ну это просто, это там, где мы пишем код)

b. Компилятор/интерпретатор (переводит наш код в машинный код, способный к выполнению процессором)

c. Средства автоматизации сборки (Помогает собрать наш проект. К примеру, в исполняемый .exe файл)

d. Отладчик/Debugger (Можно ставить всякие точки остановки (breakpoint и watch) чтобы отслеживать, что выполняет код на данной строчке кода)


Под C# основной IDE является Visual Studio (Community является бесплатной, и в принципе там есть практически всё). Но(!) в наших уроках мы будем писать в Visual Studio Code (редактор кода).

C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост

Итак, определились. Скачиваем Visual Studio Code (https://code.visualstudio.com/)

C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост

Нажимаем на нужную кнопку “Windows” и скачиваем установщик. Там всё стандартно, ставим галочку «Добавить в Path».


А затем скачиваем .NET Core SDK (https://dotnet.microsoft.com/download). Просто ждем установки, после установки вроде потребуется перезагрузить ПК, я уже не помню.

C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост

Далее запускаем VSCode, переходим на вкладку Extension и устанавливаем расширение для VSCode ->C#. Для этого нужно в поиске расширений просто написать C#

C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост

Далее создаем какую-нибудь папку, где у нас будет проект, и открываем эту папку в VSCode File->Open Folder…


Далее нам нужно создать консольное приложение на языке C#. Переходим по этой ссылке, https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-ne..., и находим среди всех команд ту что нужно.

C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост

Далее в VSCode выбираем меню Terminal->New Terminal и пишем туда команду


dotnet new console


Ждем и затем пишем


dotnet restore


чтобы скачались нужные компоненты (требуется один раз). Далее пишем


dotnet run


и в терминале происходит запуск нашей программы. Выглядит не Айс, поэтому идет до конца.

Запускаем нашу программу Debug-Start Debugging. Выбираем (.NET Core), чем будем компилировать наш код и открывается окно настройки.

C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост

В данном окне настройки поменяем строку


"console": "internalConsole",


на


"console": "externalTerminal",

C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост

Затем добавляем в наш код следующий код Console.ReadLine(); и вновь запустим Debug-Start Debugging. Мы должны увидеть следующее

C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост
C# Урок 1. Установка Visual Studio Code Программирование, Урок, Dotnet, Длиннопост

Конечно, это не конечный вариант, конечный вариант будет в виде видеоурока на youtube (писать что и как устанавливать, это конечно же жесть) https://www.youtube.com/channel/UCxHlqdzYPZCKHTDWFZ895Qg?vie.... Спасибо за внимание.

Найдены дубликаты

+1

Подпишусь. Продолжай. А форму с кнопкой оно умеет делать как в делфи? Я в делфи пописывал иногда, потом мне сказали что делфи умер.

раскрыть ветку 18
-1

Эммм. да есть такое. Но словом, так уже никто не делает

раскрыть ветку 17
+4

Лол что? Как не делают? Визуальное проектирование форм запретили? Пойду поцонам расскажу. Эй микрософт, хватит вола ебать, не нужны тут эти ваши xamlы хуямлы.

раскрыть ветку 1
+1

А как делают? Есть аналог делфи? Охуенно же было, раз, два и прога работает.

раскрыть ветку 14
0

Где делают приятные интерфейсы, те же диаграммы?

Вот например пробовал в VB+ASPNet - используя стандартные контроллы, выходит не очень

0

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

раскрыть ветку 1
0

*ну верно, это не площадка для уроков. я тоже рассматриваю переход на другой ресурс

0
Я ахкшил в vscode, ща начал изучать python/django с изоляцией через докер. Сложно сцуко, но интересно. Хочу api для своих скриптов сделать.
Для vscode есть любые плагины, что офигенно.
раскрыть ветку 1
0

Держи нас в курсе.

0

"Для работы с текстом вам нужен текстовый редактор (World)"

Я конечно понимаю, что опечатка, но...

Мне нужен этот Чертов "world", причем весь :)

-6

@moderator Реклама программы "visual studio code"!

-7

"для программирования требуется IDE(интегрированная среда разработки)."

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

раскрыть ветку 13
+4

А для рисования Paint - знаем, знаем, таких умников

раскрыть ветку 5
+1

какой блокнот ещё? Кодить надо прямо в консоли на продакшене

раскрыть ветку 4
0
Тот, кто пишет в блокноте, потому что это "труь" вместо того, чтобы использовать IDE - тот мудак.
Тот, ккто утверждает, что для программирования нужна IDE - точно такой же мудак.
раскрыть ветку 6
0

Тот кто говорит, что все мудаки - сам тот еще мудак

раскрыть ветку 1
0

А может лучше не лясы точить а писать там где тебе нравится, не, не пробовал?

раскрыть ветку 3
ещё комментарии
Похожие посты
147

Считываем кнопки и датчики не смотря на длительные задержки в программе - Аппаратные прерывания - Arduino для начинающих

Продолжаем рубрику для начинающих ардуинщиков :)


На этот раз поговорим об аппаратных (внутренних) прерываниях в Arduino (ATmega328P).

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


Краткая выжимка из видео:

- Что такое аппаратные прерывания и как они работают (0:33)

- Смотрим информацию о прерываниях в datasheet на микроконтроллер ATmega328p (2:38)

- Пишем программу для внешнего прерывания по кнопке (6:24)

- Наблюдаем дребезг контактов на графике осциллографа (14:47)

- Пишем простую программу для борьбы с дребезгом контактов (16:00)

- Получаем домашнее задание (22:30)


Программа с настройкой прерываний по кнопке, позволяющая обойти дребезг контактов: Google Drive

Удачных компиляций! :)


P.S.: Если вы еще не состоите в сообществе "Arduino & Pi", милости просим сюда.

77

Мой пятый урок по XOD IDE. Экран LCD 1602 I2C и простая метеостанция

XOD IDE - это графический язык программирования для arduino разработанный российской компанией Амперка.

Сайт XOD - https://xod.io

GitHub - https://github.com/xodio/xod


В видео мы научимся работать с экраном LCD 1602 i2c в XOD и сделаем простенькую метеостанцию.

Мой пятый урок по XOD IDE. Экран LCD 1602 I2C и простая метеостанция Xod, Arduino, Программирование, Микроконтроллеры, Метеостанция, Видео, Урок, Языки программирования
7028

18 подробнейших уроков по программированию Arduino

Друзья, наконец-то я закончил съёмку этого курса уроков! Думаю многие про него уже знали, и ждали окончания. В общем, спасибо за поддержку и приятного просмотра!

Ну вот, теперь оставлю после себя что-то реально полезное =)

Показать полностью 15
2670

Находчивость на уроке информатики

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

195

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих

Привет начинающим ардуинщикам! :)


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


Предыдущие выпуски вы найдете здесь: 0,1,2,3,4,5


Видеоверсия поста:

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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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


Если взять за пример человека, то мы с вами каждый день выполняем огромное множество подобных условий на подсознательном уровне, не замечая этого. Допустим, вы решили попить чаю и пришли на кухню что бы поставить чайник. Перед тем, как его включить или зажечь газ, вы проверяете, есть ли в чайнике вода. Если воды достаточно, то можно включать чайник, если нет, то необходимо её долить. Как раз условием в данном случае и является проверка вашего чайника на достаточное количество воды. И при истинности либо ложности этого условия вы выполняете определенные действия. Тоже самое делает и микроконтроллер, если вы задаете ему какое-то условие. Например, в прошлом выпуске мы рассматривали условие нажатия кнопки и зажигали в зависимости от этого светодиод.


Такой условный оператор носит название if, что в переводе означает «если». И частично его конструкция вам уже должна быть знакома – это непосредственное указание оператора, затем необходимое условие в круглых скобках и какой-либо код, выполняющийся при истинности этого условия. Но, в случаях, когда важно учитывать не только истинность, но и ложность, то есть не выполнение заданного вами условия, после фигурных скобок пишется слово else, что в переводе означает «иначе», и ставятся такие же фигурные скобки, только уже код в них будет выполняться при ложности заданного условия.

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

Согласитесь, оператор if очень прост и удобен в использовании, но здесь стоит оговориться, ведь удобно с ним работать, только если нам необходимо проверить какое-либо одно условие. А что если их будет несколько? Представьте, что вам дали задание, например, разложить научные статьи по году их публикации, и вы, проверяя год каждой статьи, кладете их в соответствующую папку.


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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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


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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

Что бы стало понятно, вернемся к нашей задаче распределения статей. В качестве постоянно изменяющейся переменной мы можем указать оператору значение года публикации статьи, а в возможных вариантах существующие года публикации. И, таким образом, получив очередное значение года, оператор выберет необходимый год из вариантов и выполнит действия, указанные в пределах от оператора case до оператора break, а затем выйдет из оператора switch. Break в нашем случае переводится как выход, а case - это возможный случай или вариант. Если же необходимый год в списке не найдется, то в конце оператора возможно указание значения ключевого слова default, то есть по умолчанию, и в таком случае мы не просто выйдем из оператора, а сначала выполним код, указанный после default.

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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


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


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


Идем дальше. Теперь у нас на очереди операторы циклов. Любой цикл представляет собой повторяющееся несколько раз действие. Операторы циклов бывают трех видов: for, while и do while - давайте остановимся поподробнее на каждом из них.


Оператор цикла while.

Представим себе простую ситуацию: вы стоите на остановке и ждете автобус под номером 25. В данный момент вы задаетесь условием проверки каждого номера автобуса на совпадение с цифрой 25. Если номер не подходит, то вы продолжаете стоять и ждать нужный - именно так и действует цикл while, который проверяет условие, указанное в его круглых скобках.


Цикл while переводится как «пока» и до тех пор, пока его условие выполняется, он бесконечно долго выполняет код, указанный в его фигурных скобках. Например, на каком-либо этапе работы микроконтроллера, нам важно получить сигнал с какого-нибудь пина Arduino, и, пока сигнала нет, программа не должна ничего выполнять. Как раз в этом случае нам и поможет while, если в условии мы укажем считывание пина и его проверку на равенство нулю.

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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


Оператор цикла do while.

Оператор цикла do while называется оператором цикла с постусловием и работает практически по тому же принципу, но с одной лишь разницей: сперва происходит выполнение тела цикла, а уже затем проверка условия. Этот цикл используется, когда необходимо хотя-бы один раз выполнить код, указанный в фигурных скобках независимо от истинности или ложности условия, указанного ниже. В случае с обычным циклом while при изначально ложном условии микроконтроллер переходит сразу же к выполнению кода, написанного после фигурных скобок цикла и, таким образом, минует код, указанный в теле цикла.

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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


Оператор цикла for.

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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

Теперь опишем это с помощью программы.

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

Сперва укажем имя оператора – for. Затем, в открывающейся скобке, указываем действие в начале цикла - в нашем случае это инициализация переменной pin и присваивание ей значения 2, так как ко второму пину подключен первый светодиод. Кстати, если мы не укажем чему изначально равна переменная pin, то компилятор по умолчанию присвоит ей нулевое значение. Затем ставим точку с запятой и указываем условие, при котором цикл должен выполняться - в нашем случае это работа цикла пока переменная pin меньше или равна 11. После чего мы снова ставим точку с запятой и указываем шаг увеличения или уменьшения значения pin. Запись pin++ означает увеличение переменной pin на единицу, такая операция носит название инкремент и равносильна записи pin = pin+1. А запись pin--наоборот, уменьшит значение pin на один, эта операция называется декрементом.

После указания циклу, что ему делать перед каждым новым проходом, ставится закрывающая скобка – обратите внимание, точка с запятой здесь не нужна. Затем по традиции мы открываем фигурные скобки и пишем знакомые нам строки: digitalWrite(pin, HIGH); и delay(100);

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


На этом наш код готов. Как он работает? Опишем по пунктам:

1. Объявление переменной pin и присваивание ей значения 2

2. Проверка условия, что 2 меньше или равно 11

3. Выполнение тела цикла: зажигаем светодиод на 2-м пине и ждем 100 мс.

4. Инкремент переменной pin, теперь она будет содержать в себе цифру 3, то есть 3-й пин

5. Снова проверяем условие, что 3 меньше или равно 11

6. И выполняем подачу высокого потенциала на пин 3 с задержкой


Аналогично зажигаются остальные светодиоды. Когда значение pin будет равно 12, условие 12 меньше или равно 11 не выполнится, и будет осуществлен выход из цикла. Таким образом, мы зажжем последовательно все 10 светодиодов.


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

Выпуск 6. Условные операторы и циклы. Основы Arduino для начинающих Arduino, Начинающий, Цикл, Условия, Программирование, Урок, Видео, Длиннопост

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


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


Ну а на этом я прощаюсь с вами до следующего выпуска, в котором мы поговорим о логических операциях и их применении. Надеюсь, что сегодня вы узнали для себя что-то новое, спасибо, что дочитали до конца, успехов и добра вам! :)

Показать полностью 14
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: