Vvmebel.com

Новости с мира ПК
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Уроки программирования с нуля

Уроки C++

Уроки C++ с нуля / Урок #1 — Основы

Видеоурок

Полезные ссылки:

Информация про C++

С++ берёт основу в языке Си, активно разрабатываемом ещё в 1969-1973 годах. За разработку отвечала компания Bell Labs во главе с главным разработчиком Деннис Ритчи. Через 10 лет программист из Дании Бьёрн Страуструп, в своё время являвшийся разработчиком Си, выпускает расширенную версию языка под названием С++. Вначале своего пути C++ являлся всего лишь расширением, неким дополнением к Си, которое расширяло язык, добавляя в него принципы ООП. Сам Страуструп изначально рассматривал язык всего лишь как «Си с классами».

Дата рождения C++ приходится на 1983 год. Хоть он и не являлся полноценным языком, а лишь ответвлением от Си, но всё же имел ряд полезных функций за счёт которых и стал полноценным отдельным языком программирования. С выходом C++ в мире появилось ряд, ныне общераспространённых, понятий:

  • Инициация классов с объектами;
  • Принцип наследования в ООП;
  • Выгрузка и удаление функций из памяти;
  • Создание виртуальных функций;
  • Система исключений и многое другое.

А что же язык Си?

Язык Си по сей день сохраняет популярность даже несмотря на развитие C++ и доминирующее положение последнего языка в сфере функциональности. Почему старый и менее развитый язык даже сегодня популярен? Всё просто – переносить программы на новый язык — довольно затратное и долгое дело. Часть компаний просто плывут по течению и продолжают поддерживать свои программы на Си.

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

Но если вы все же хотите изучить Си перед языком C++, то предлагаем вам ознакомиться с большим видео уроком, в котором вы сможете познакомиться с этим языком:

Более детально про язык вы можете почитать на этой странице .

Распространение C++

В скоре после выхода язык С++ начал завоёвывать различные сферы программирования. Постепенно в него внедряли всё новые функции, что всё больше отдаляло его от роли дополнения к Си. Годами позже его перестали рассматривать продолжением или расширением и пришло время полностью отделиться от Си, тогда-то язык и назвали С++. С тех пор путь языков разошёлся, они стали независимыми (насколько это возможно).

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

Несколько ключевых сфер использования:

  • Разработка операционных систем. в том числе система Windows преимущественно базируется на С++;
  • Создание драйверов;
  • Написание программ с нуля;
  • Разработка и поддержка антивирусных приложений и прочего.

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

Весьма много игровых движков, предназначенных для визуализации огромного игрового мира, основываются на С++. За последние года всё больше мобильных приложений используют данный язык. Даже в сфере веба нашлось место этому языку. Всевозможные веб-приложения активно используют С++, не обязательно в качестве основы, может просто для реализации вспомогательных функций, но факт остаётся фактом. Если подытожить: сложнее найти сферы, в которых С++ не может применяться, чем там, где используется этот язык.

Ключевые особенности C++

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

У С++ есть компиляторы и инструменты для работы с кодом на большинстве известных платформ. Это позволяет скомпилировать исходники под любую платформу.

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

Как поэтапно развивался С++?

Шаги развития С++:

  • 1979-1980 – С++ появился и позиционировался, как язык Си с дополнительными классами;
  • 1983 – язык начал называться, как все мы привыкли С++;
  • 1985 – релиз коммерческого варианта С++. В этот же год появилась первая бумажная книга «Языка программирования C++», она включала описание функций, возможностей и правил использования языка;
  • 1989 – выпущена вторая версия языка с расширенными возможностями;
  • С 1990 до 2011 – медленное развитие и добавление функционала. Также стоит упомянуть, что в 1998 году впервые попытались стандартизировать язык. Тот стандарт впоследствии назвали ISO/IEC 14882:1998 , сегодня — С++98. В 2003 году появилась следующий вариант стандарта C++03;
  • 2011 – издание стандарта C++11, в нём появилось действительно много нововведений. Обновление обогатило язык обилием полезных возможностей;
  • 2014 – выпуск относительно малого добавления к предыдущей версии стандарта. Его прозвали C++14;
  • 2017 – последний крупный релиз языка.

Среды программирования, компиляторы

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

Для работы с C++ необходимо установить среду разработки. Вы можете установить любую удобную для вас среду или же вовсе воспользоваться онлайн компилятором, что представлен на этой странице ниже. Среди самых популярных сред разработки можно отметить такие, как: Visual C++ , Xcode (только Мак), GCC , Intel C++ Compiler , Embarcadero (Borland) C++ Builder .

Дополнительные курсы

Также можете посмотреть дополнительные курсы по языку C++. На нашем сайте все курсы по языку С++ вы можете найти по этой ссылке .

Видеокурс для изучения языка Си с нуля

  • Видео, 8 января 2019 в 21:26
  • Алексей Грачев

Язык Си был разработан в 70-е годы XX века Деннисом Ритчи, сотрудником исследовательского центра Bell Labs. Язык отличается несложным синтаксисом, возможностью писать код на низком уровне абстракции, а также компактным размером стандартной библиотеки. Поэтому на нём до сих пор пишут программы для микроконтроллеров, драйвера устройств, промышленное ПО и многое другое.

Чтобы вы смогли изучить Си с нуля, мы нашли интересный видеокурс на русском языке, подробно объясняющий основные конструкции и другие элементы языка. Автор видеоуроков в качестве рабочей среды использует ОС Ubuntu, компилятор GCC и редакторы кода Sublime Text и Visual Studio Code. Каждый видеоурок длится в среднем 25−30 минут, в течение которых подробно разбирается каждая тема. Курс ориентирован на тех, кто никогда не сталкивался с программированием.

Содержание курса

  1. Введение в язык, создание первой программы
    Автор приводит историю языка, объясняет некоторые базовые понятия и создаёт простейшую программу на Си.
  2. Переменные, создание переменных в языке Си
    В данном видео рассказывается о типах переменных (short, int, char, float, double, long, long long) и методах их создания.
  3. Переменные, ввод и вывод информации в терминале в языке Си
    В видеоролике говорится о том, как ввести и вывести через терминал значения переменных с помощью функций scanf() и printf() .
  4. Escape-последовательности
    Escape-последовательности представляют собой сочетания символов, начинающиеся с косой черты и представляющие собой цифру или букву, например n , t . Автор рассказывает, какие escape-последовательности существуют, за что они отвечают и как используются в программе.
  5. Арифметические операции
    Видео посвящено разбору различных арифметических операций, принятых в языке.
  6. Составные операции в языке Си
    В Си можно использовать составное присваивание значений, например, с помощью += , -= , *= и /= . В видео подробно разбираются эти конструкции, а также показывается их использование на примерах программ.
  7. Локальные и глобальные переменные в языке Си
    Автор рассказывает о том, чем отличаются глобальные и локальные переменные, а также знакомит с ключевыми словами extern и static .
  8. Преобразование типов данных в языке Си
    В видео объясняется, как привести переменные к другим типам данных, например int к float .
  9. Массивы, создание массивов в языке Си
    Из видео вы узнаете, что такое массив, как его создать на языке Си и как выполнять действия с его элементами. Рассматривается только одномерный массив.
  10. Многомерные массивы, создание многомерного массива в языке Си
    В видеоролике объясняется работа с многомерными массивами на примере двумерного.
  11. Объявление констант
    В 11-м уроке автор рассказывает о том, что такое константа и как объявить её в коде.
  12. Объявление перечислений в языке Си
    Автор знакомит с ключевым словом enum и рассказывает, как с его помощью создавать собственные типы данных с помощью последовательностей констант.
  13. Отладка с помощью определений препроцессора
    Вы узнаете, какие существуют команды для препроцессора (компонента компилятора, подготавливающего код к компиляции), для чего нужна каждая из них и как применять команды на практике.
  14. Сравнение значений в Си
    В видео рассказывается о сравнении значений переменных с помощью == , != , > , , >= , .
  15. Логические значения
    В данном видеоуроке рассматриваются логические операции И && , ИЛИ || и НЕ ! .
  16. Проверка условий — тернарная операция
    Вы познакомитесь с тернарной операцией, которая представляет собой краткую запись if. else , например (a > b) ? a : b .
  17. Проверка условий if-else
    В 17-м уроке рассматривается конструкция if. else , позволяющая запустить определённый код в зависимости от того, выполнено требуемое условие или нет.
  18. Оператор множественного выбора switch case
    В видео рассмотрен оператор switch. case , с помощью которого в зависимости от поданного ключа можно выполнить нужный код.
  19. Цикл for
    Автор рассказывает о цикле for , позволяющем выполнить код внутри цикла при необходимых условиях требуемое количество раз.
  20. Циклы while, do while
    Цикл while часто используется для перебора элементов и может повторяться сколько угодно раз. Цикл do. while отличается от while блоком do , код в котором вне зависимости от условия выполнится хотя бы один раз.
  21. Утверждения break, continue, goto
    Вы изучите работу с оператором выхода из цикла break , перехода на следующую итерацию цикла continue , а также оператором перехода на определённое место в коде goto .
  22. Функции, прототипы функций
    Здесь даётся введение в функции. Чтобы облегчить понимание, в видео рассматриваются функции без передачи параметров и аргументов. Также вы узнаете, что такое прототип функции.
  23. Функции, передача аргументов в функции
    В видеоуроке рассматривается передача аргументов в функции, а также возврат значений из функций.
  24. Функции, рекурсия
    В видео рассказывается о рекурсии — вызове функции из самой себя.
  25. Сравнение листингов кода на Си
    Вы узнаете, как с помощью команды терминала diff сравнить два файла с исходным кодом.
  26. Пишем код на Си с разделением на файлы
    Вы научитесь разделять свою программу на несколько файлов с исходным кодом и использовать заголовочные файлы с расширением .h.
  27. Указатели в языке Си
    В видеоуроке всё внимание уделяется указателям — переменным, содержащим ссылку на другую переменную.
  28. Передача указателей в функции в языке Си
    С помощью указателей можно напрямую изменять элементы в памяти. Поэтому с их помощью расширяются возможности функций.
  29. Массивы указателей в языке Си
    Тема урока — создание и использование массивов указателей.
  30. Функции ввода и вывода строк в языке Си
    В этом видео автор рассказывает о вводе/выводе строк через терминал с использованием функций printf() , scanf() , fprintf() , fscanf() , gets() , puts() , fgets() , fputs() .
  31. Строки, функции: strcat, strncat в языке Си
    В видеоуроке разбираются функции объединения строк strcat() и strncat() .
  32. Строки, функции: strstr, strcmp в языке Си
    Здесь уделяется внимание функции поиска в строке strstr() и функции сравнения строк strcmp() .
  33. Строки, функции: atoi, sprintf, itoa в языке Си
    В видео рассматривается функция перевода из строки в число atoi() и функции перевода из числа в строку sprintf() и itoa() .
  34. Структуры в языке Си
    Автор объясняет, что такое структуры, а также как их создавать и объявлять.
  35. Структуры в языке Си: объявление указателей в структуре
    В видеоуроке рассматривается использование указателей в структурах и объясняется, почему в структурах лучше оперировать указателями, чем массивами.
  36. Структуры в языке Си: указатели на структуры
    Здесь рассказывается о том, что такое указатели на структуры, на что они действительно указывают, а также объясняется, для чего нужен оператор -> .
  37. Работа с файлами в языке Си
    В данном видеоуроке рассматривается чтение из файла, запись в файл и создание файла на языке Си. В видео демонстрируются кроссплатформенные методы работы с файлами, однако действия с файлами можно проводить и с помощью системных функций Linux.
  38. Работа с файлами в языке Си: функции fread, fwrite
    Вы познакомитесь с функцией чтения из файла fread() и функцией записи в файл fwrite() .
  39. Сообщения об ошибках
    Если при работе с файлами возникают ошибки, их можно обработать с помощью функций perror() и strerror() .
  40. Рандомные числа в Си
    В видео автор разбирает создание псевдослучайных чисел с помощью функций srand(time(NULL)) и rand() и изменение границ множества случайных чисел.
  41. Сортировка в Си
    В данном видеоуроке рассматривается использование быстрой сортировки qsort() (Quick Sort), уже встроенной в язык.
  42. WinAPI
    В последнем видео курса вы изучите несколько базовых функций системной библиотеки WinAPI, с помощью которых вы сможете реализовать MessageBox.

Дополнительные материалы

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

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

C++ с нуля

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

Первая программа на C++ — урок 1

В качестве среды разработки под Windows автор советует использовать Visual Studio 2008 (800 Мб), если у вас Windows XP, Visual Studio 2013 (6.5 Гб) для Windows 7 и выше, или Dev C++ 5 (41 Мб) для тех, у кого слишком медленный интернет для загрузки Visual Studio. Пользователям Unix-подобных систем, потребуется компилятор GCC и любой текстовый редактор, например Vim.

После того, как вы установили все необходимое, приступим к написанию первой программы.

Переменные и типы данных в C++ — урок 2

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

Конструкция ветвления в C++ — урок 3

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

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

Циклы в C++ — урок 4

Иногда необходимо повторять одно и то же действие несколько раз подряд. Для этого используют циклы. В этом уроке мы научимся программировать циклы на C++, после чего посчитаем сумму всех чисел от 1 до 1000.

Массивы в C++ — урок 5

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

Возьмем группу студентов из десяти человек. У каждого из них есть фамилия. Создавать отдельную переменную для каждого студента — не рационально. Создадим массив, в котором будут храниться фамилии всех студентов.

Функции в C++ — урок 6

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

Указатели в C++ — урок 7

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

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

Динамические массивы в C++ — урок 8

В пятом уроке мы разобрали понятие массива. При объявлении, мы задавали массиву определенный постоянный размер.

Параметры командной строки в C++ — урок 9

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

Классы в C++ — урок 10

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

Практически любой материальный предмет можно представить в виде совокупности объектов, из которых он состоит. Допустим, что нам нужно написать программу для учета успеваемости студентов. Можно представить группу студентов, как класс языка C++. Назовем его Students .

Записная книжка программиста-новичка, C#, SQL, PHP и все-все-все

Я ведь это уже делал, но хрен теперь найдешь тот кусок кода, гуглим снова… Где бы найти простое и понятное руководство для начинающего, а не тонкости для мега-гуру?

Навигация по записям

Самоучитель по C# для начинающих. 01. Основы языка, переменные, логика, циклы.

1.1 Начальные понятия

Данный самоучитель рассчитан на людей, совершенно не знакомых с программированием, но способных скачать, установить и запустить программу — в данном случае Visual Studio 2010 (2008,2012). В первой части я кратко расскажу о основах языка C#. Формат самоучителя подразумевает краткое и упрощенное изложение — за подробностями касательно отдельных функций и классов обращайтесь в гугл и msdn, за продвинутыми методиками программирования в продвинутые книги. В принципе почти всю информацию можно найти в интернете, надо лишь знать что искать, так что в отличие от классических книг на несколько сотен страниц я буду давать ту основу, зная которую вы уже сможете сформулировать поисковый запрос — ни в одном разделе я сознательно не даю полной и исчерпывающей информации, ее место в документации. Крайне желательно знать английский язык хотя бы на уровне чтения со словарем — в англоязычном интернете информации на порядок больше, невероятно полезные сайты вроде StackOverflow не имеют русских аналогов, а русскоязычные форумы и обсуждения чаще всего напоминают знаменитый анекдот (под американским форумом можно смело понимать англоязычный с немцами, индусами и бразильцами):

Чем отличаются русский, американский и еврейский форумы?
— на американском форуме вы задаете вопрос и вам дают ответ
— на еврейском форуме вы задаете вопрос и вам задают встречный вопрос
— на русском форуме вы задаете вопрос и вам долго объясняют почему вы такой мудак.

Современные языки программирования вообще и C# в частности скрывают многие низкоуровневые особенности работы компьютеров, так что детально разбираться в особенностях работы регистров процессора и тому подобной зауми новичку не надо (99% программистов тоже). Но некоторые вещи стоит держать в уме.

Что такое язык программирования? Это язык, который понимает компьютер. (ваш Капитан Очевидность) Но на самом деле компьютер понимает только нули и единицы. Так что любой современный язык программирования на самом деле промежуточен — после того как вы напишете программу, он переводится на настоящий язык компьютера — компилируется. Таким образом сначала мы пишем программу на языке программирования в обычном текстовом файле, потом компиллируем в двоичный язык компьютера.

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

Схема работы .Net и C#

Таким образом мы:

1. Пишем код на языке C# в обычный текстовый файл

2. Компилируем программу в байт-код с помощью компилятора C# (1 и 2 можно делать без Visual Studio, например набрать исходный текст в Блокноте и скомпилировать через командную строку)

3. Запускаем полученную программу на компьютере, где уже установлен .Net Framework соответствующей версии), который переводит программу в двоичный код и собственно запускает, давая доступ к компьютеру. (соответственно на компьютере без Net Framework программа не запустится вообще).

1.2 Привет мир

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

1. Пойдем в меню File-New Project (Файл — Новый проект) или сразу кликнем на Create New Project

2. Выберем шаблон Console Application (Консольное приложение)

3. Выберем каталог на диске, где будет расположен наш проект

4. Добавим две строчки в текст программы, чтобы он выглядел вот так

4. Нажмем F5 (можно выбрать в меню Debug — Start Debugging ) и увидим черное окошко с нашим Привет мир, которое закроется после нажатия Enter.

Что это и зачем оно надо? В теории это программа без кнопок и меню, которой можно управлять через командную строку. В наше время такие программы используются редко, в основном очень продвинутыми сисадминами или в мире Linux (что в принципе одно и то же), но знать об их существовании полезно — программисту может довестись с такой работать или даже писать. Нам она нужна по одной-единственной причине — такая программа меньше всего будет отвлекать от изучения универсальных особенностей языка C#.

В самом простом случае (это про нас) компьютер последовательно выполняет команды программиста — одну за другой:

System.Console.WriteLine(«Привет мир!»); — выводит в консоль (то самое черное окно) строку «Привет мир»»

System.Console.ReadLine(); — читает строку, которую мы вводим (ввод завершается нажатием Enter) и переходит к следующей команде.

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

1.3 Простые переменные

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

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

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

— int, целое число от -2,147,483,648 до 2,147,483,647
— string, строка
— double, число с дробной частью и переменным количеством знаков после запятой, например 1.38 принимает значения от -1,79769313486232 в 308 степени до 1,79769313486232 в 308 степени. Проще говоря очень большие.
— decimal, число с дробной частью и повышенной точностью рассчетов, специально для финансовых операций — в миллионных и более мелких долях float могут накапливаться мелкие ошибки, банки это не любят
— bool — специальный тип для передачи данных об истинности или ложности, принимает только два значения — true или false. В старых языках вместо него использовали int с значениями 1 и 0, но это было менее наглядно и приводило к ошибкам.

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

Не забудьте запустить по F5 и посмотреть результаты.

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

Стоит обратить внимание на склеивание нескольких строк в одну с помощью +. Больше информации можно найти здесь, подробное описание всевозможных издевательств над строками — здесь.

1.4 Арифметические операции

Компьютеры почти всегда что-то считают. Собственно само слово computer означает вычислитель. В этой области даже самый слабенький процессор намного превосходит человеческий мозг.

Почему произошло столь странное недоразумение с дробным числом во второй раз? Все дело в том, что внутри одной строки мы выполнили сразу несколько операций. А в каком порядке они выполняются? В порядке приоритета. И у оператора присваивания =, который записывает данные в переменную, этот приоритет один из самых низких

Сначала выполнилось деление двух целочисленных переменных a и b и только после этого целый результат деления записался в дробную переменную doubleResult.

Небольшое отступление:
В дальнейших примерах кода подразумевается, что вы самостоятельно вставите их внутрь

1.5 Управление и логика

На данный момент наша программа не отличается умом — Скайнет из нее не получится, уничтожение человечеству не грозит. Мы просто выполняем команды по очереди, одну за другой, а хотелось бы принимать решения в зависимости от внешних условий — например «если есть возможность, уничтожить всех людей, иначе работать над созданием такой возможности». Делается это с с помощью специальной конструкции если-иначе, или, на родном для C# английском if-else и специальных операторов сравнения:

  • — величина слева больше
  • = — меньше либо равно и больше либо равно
  • == — просто равно, обратите внимание, что равенство очень похоже на оператор присваивания, который записывает значение в переменную = — не путайте их, равенство — это двойное «равно»
  • != — не равно
  • и другие

Компьютерная логика проста — высказывание или результат сравнения может быть либо истиной либо ложью, либо true либо flase, либо уничтожать человечество либо нет. Третьего компьютеру не дано. Для хранения таких данных существует специальный тип данных — логический — bool — который может принимать только два значения (догадываетесь какие?). Если вы хотите чего-то посложней и похардкорней — то все вместе это булева алгебра, изучайте и просвещайтесь.

Нам важно понять, что любая операция сравнения, на пример 2

25 бесплатных онлайн-курсов для программистов на русском языке

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

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

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

Основы основ

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

  1. Введение в математическую логику . Курс находится на сайте Hexlet в виде видеозаписей. Вы узнаете базовые понятия математики логики, изучите математические инструменты, познакомитесь с парадоксами, поймете основные принципы работы компьютерной техники.
  2. Введение в архитектуру ЭВМ. Курс постоянно доступен на сайте Stepic, по окончанию можно сдать экзамен и получить электронный сертификат. Здесь вы узнаете об архитектуре и принципах работы компьютерной техники, начиная от простейших логических схем до сложных мультипроцессорных устройств.
  3. История ЭВМ и программирования . Курс расположен на сайте Лекториума. Доступен периодически, по мере наполнения группы. Необходимо записаться и ждать уведомления о начале. Длительность – 5 недель. Здесь вы узнаете об истории развития разных ЯП, а также появлению технологий, познакомитесь с разными поколениями компьютерной техники. Также в программе рассматриваются основные принципы работы ЭВМ и существующие типы ЯП.
  4. Основы программирования . Курс находится на страницах Geek Brains, видео в постоянном доступе. На уроках вы узнаете базовые понятия и терминологию, нужные будущему программисту. Лектор расскажет о том, какие бывают ЯП, поясняет различия между ними, в какой сфере каждый из них применяется. Вы познакомитесь с популярными на сегодня направлениями в программировании, научитесь создавать самые простые программы. Курс поможет понять основы и выбрать язык программирования для последующего изучения.
  5. Объектно-ориентированное программирование — это мини-курс, постоянно доступный в формате видео на страницах Geek Brains. Весь материал посвящен основам этой парадигмы программирования, описанию важнейших принципов ООП, которые понадобятся разработчику, независимо от выбранной специализации и ЯП.

Обучение веб-программированию

Вы хотите создавать собственные веб-сайты и сервисы? Создавать уникальные дизайнерские решения или продавать шаблоны дизайнов? Заниматься доработками для популярных CMS, их интеграцией и техническим обслуживанием? Тогда вам понадобится изучить основы – HTML и CSS, а также изучить инструменты разработки под веб (PHP, JavaScript, Python и др.). Нужно понимать, что такое базы данных и как с ними работать. И только после этого можно сконцентрироваться на углубленном изучении одного или нескольких направлений в этой сфере.

  1. Основы разработки сайтов и веб-приложений . Базовый курс, где вы познакомитесь с основными принципами web-разработки. Доступен в любой момент времени на сайте Microsoft Virtual Academy.
  2. Web-технологии . Курс посвящен основным принципам веб-разработки, серверным технологиям и особенностям работы web-приложений. Изучите особенности HTTP протокола, разберетесь с обеспечением безопасности. Изучите технологии node.js, ajax, WebSocket и т.д. Курс доступен в видеозаписи на сайте ИНТУИТ.
  3. HTML . Подробное изучение особенностей HTML. Вы получите достаточно знаний, чтобы создавать собственные шаблоны или странички. Видео доступны в любой момент времени на сайте HTML Academy.
  4. CSS . Полноценный и подробный набор уроков по CSS-стилям и их применению. Видео постоянно доступны на страницах HTML Academy.
  5. HTML5. Основы клиентской разработки . Важные особенности верстки с использованием HTML5. Адаптивная верстка и другие современные возможности. Видео курса доступны в любой момент времени на сайте ИНТУИТ.
  6. Программирование на Python . Изучение языка программирования с первых шагов. Основные принципы, синтаксис, особенности. Интересные примеры, хитрости и нюансы. Преимущества и важные особенности ЯП. Видео доступны на сайте Stepic.
  7. Введение в программирование на Python . Еще один базовый курс по изучению ЯП Python, но немного с другим подходом от преподавателей ИНТУИТ. Доступен в любое время в записи.
  8. JavaScript . Интересный курс по языку программирования, без которого сложно себе представить любую анимацию или интерактивные страницы сайтов. Создатели курса – практикующие разработчики из компании Яндекс. Доступен в видео постоянно.
  9. PHP/MySQL Интересный интерактивный бесплатный курс от Fructcode. Доступ к видео и заданиям открыт на постоянной основе. Можно соревноваться с другими пользователями по рейтинге достижений. При желании ресурс может выдать сертификат, но за него придется заплатить.
  10. Базы данных . Изучение принципов работы с базами данных, оптимизация структуры под web, изучение noSQL, работа с большими массивами. Доступен на ресурсе ИНТУИТ в формате видео.

Мобильные приложения

Вас привлекает создание игр и полезных приложений для мобильных устройств? Значит, вам необходимо изучить особенности программирования для iOS (операционная система устройств Apple) или Android (самая популярная ОС для мобильных). Для работы с ними потребуется изучить не только особые языки, но также понять основные принципы и особенности работы с мобильными. Ведь здесь вас ждет небольшой экран, ограниченные ресурсы, работа с тачпадом и еще много интересного. Вот несколько вводных курсов в эту сферу:

  1. Разработка приложений для iOS . Курс станет прекрасным решением для поклонников «яблокофонов». Если вы хотите создавать приложения под IPhone или IPad, заходите на сайт ИНТУИТ и смотрите обучающие видео.
  2. Введение в разработку приложений для ОС Android . Этот вводный курс поможет разобраться с созданием приложений под Андроид – самую популярную ОС, на которой работает огромное количество различных мобильных устройств: смартфоны, планшеты, «умные часы» и другие гаджеты от различных производителей. Видео всегда доступны на сайте ИНТУИТ.
  3. Введение в разработку приложений для смартфонов на ОС Android . В отличие от предыдущего, в этом курсе делается акцент на работу со смартфонами. Изучают их особенности и рассказывают многие полезные хитрости, которые помогут разобраться с этой сферой деятельности. Доступ – постоянный на страницах ИНТУИТ.
  4. Разработка приложений для смартфонов на ОС Аndroid . Углубленный курс для Андроид-разработчиков. Рекомендуется к изучению после знакомства с вводными уроками (см. курсы выше). Постоянно доступен на ресурсе ИНТУИТ.

Программирование для десктопов: компьютеры, ноутбуки

Этот раздел заинтересует тех, кто стремится создавать программы для настольных компьютеров. Для программирования под Windows или Linux самыми популярными считаются языки C++ и С#. Их изучение позволит вам освоить синтаксис, который частично используется также и в других известных языках, разобраться в основных принципах разработки, научиться создавать программы и читать чужой код, в том числе, на многих «си-подобных» языках.

  1. Программирование . Курс позволит изучить основы программирования на языках Си и С++. В его рамках вы освоите основные понятия – алгоритмы, переменные, управляющие элементы, процедуры и функции и т.д. Изучите работу циклов и работе с файлами, научитесь решать сложные математические задачи при помощи ЯП. Курс бы разработан в МГУ, предназначен в помощь студентам, но также может быть очень полезен для самообразования. Видео можно посмотреть в удобное время на сайте ИНТУИТ.
  2. Алгоритмизация. Введение в язык программирования С++ В рамках этого курса можно изучить не только особенности языка, но и разные методы работы с алгоритмами. Курс находится на сайте ИНТУИТ.
  3. Язык программирования C++ . Основные понятия, возможности, синтаксис и конструкции ЯП. Описание различных библиотек и особенностей применения C++ на практике. Курс можно посмотреть на сайте ИНТУИТ.
  4. Увлекательное программирование на языке C# . Видео-курс подойдет для изучения программирования с нуля на языке С#. При этом уроки реализованы в очень простой, практически, игровой форме. Подойдут для школьников. Сайт с видео — Microsoft Virtual Academy.
  5. Язык программирования C# (часть 1) . Первая часть объемного обучающего курса по изучению ЯП. Основные понятия, особенности синтаксиса, управляющие элементы и конструкции. Видео-уроки предназначены для глубокого изучения ЯП с нуля.
  6. Язык программирования C# (часть 2) . Продолжаем изучать ЯП C#. Библиотеки и особенности ООП на этом языке, другие нюансы и тонкости работы. Оба курса находятся в видеозаписи на сайте Microsoft Virtual Academy.

Надеемся, что вы нашли в этом списке что-то полезное для себя или ваших знакомых. А если знаете что-то еще интересное, делитесь в комментариях.

Читать еще:  Математические функции в программировании
Ссылка на основную публикацию
Adblock
detector