Основы программирования. Базовые понятия для новичков Иосиф Дзеранов
Об авторе
Всем привет!
Меня зовут Иосиф Дзеранов. Я программист, инженер-разработчик со стажем более 10 лет. Работал в крупных компаниях (Сбербанк, Mail.ru). Прошел путь от начинающего до старшего разработчика. Я знаю, как добиться такого же успеха.
Коротко про мои достижения:
• Преподаватель и сооснователь онлайн-школы BeeGeek.
• Сертифицированный преподаватель IT школы Samsung
• Четверть финалист чемпионата мира по олимпиадному программированию ACM ICPC
• Создатель центра олимпиадной подготовки СОГУ
• Победитель VK FELLOWSHIP 2020
• Победитель в конкурс “Умник” при фонде содействия инновациям
• Создатель более 25 онлайн курсов по программированию и информатике
• Семьянин. Есть двое прекрасный детей
Контакты для связи:
Почта: iodzeranov@mail.ru
Telegram: (t.me/JosefDzeranov).
Кому адресована эта книга
Эта книга отлично подойдет как новичкам, так и программистам с любым уровнем подготовки.
Первым этот курс поможет разобраться с основами программирования и определиться с дальнейшей деятельностью в IT-сфере; вторым – обогатить багаж знаний и отработать полученные навыки на практике.
Как читать эту книгу
Данная книга является печатной версией онлайн курса.
Обучающие модули расположены от простого к сложному, что предполагает последовательное и вдумчивое чтение.
Программирование требует практики, поэтому для чтения этой книги понадобится компьютер или ноутбук – так вы сможете сразу отрабатывать теоретические навыки на практических упражнениях.
Книга также может быть использована в качестве справочника для того, чтобы освежить знания в определенной теме.
Благодарности
Написание книги – это сложный и трудоемкий процесс, который отнял у меня, а значит и у моей семьи, большое количество времени и сил.
Я безмерно благодарен своим любимым девочкам – супруге Элизе и дочке Анне – и любимому сыну Лео. Благодаря им у меня есть желание заниматься любимым делом, развиваться и становиться лучше.
Спасибо моим родителям, которые всегда верили в меня и поддерживали во всех начинаниях.
Также хочется сказать спасибо всему моему окружению, ведь окружение во многом определяет, кем мы становимся и куда двигаемся.
И благодарю всех моих учеников, которые мотивировали и вдохновляли меня выпустить эту книгу.
Спасибо!
Сообщество разработчиков C#
Много времени размышлял о том, как сделать удобный формат общения с моими учениками. Создать так называемую "движуху", чтобы участники:
• получали максимальный быстрый ответ на свои вопросы
• делились знаниями между собой и создавали свою сеть знакомых с такими же интересами
• мотивировались, смотря друг на друга
• делали совместные проекты
•могли вместе готовиться к собеседованиям
Чтобы я
• смог доносить новую и полезную информацию до учеников
• максимально быстро и удобно
• смог делать анонс новых курсов и мероприятий максимально
•быстро и максимально эффективно.
Для этого я создал:
1. https://t.me/csharp_publics – личный канал для публикаций полезного контента
2. https://t.me/csharp_discussions – чат для обсуждения вопросов и полезного контента, который был опубликован в личном канале.
Если ты хочешь
• задать вопрос по теме программирования
•делиться знаниями с другими участниками
• сделать проект и хочешь найти коллегу
• быть в теме программирования, алгоритмов и структур данных, собеседований
– то смело ВСТУПАЙ В КАНАЛЫ.
Со своей стороны обещаю годный контент (если будет обратная связь) и никакого спама (всех спамеров и тех, кто будет писать не по теме буду удалять). Жду тебя. Ты сможешь задать любой вопрос.
Приглашайте всех друзей, знакомых, учеников, кто интересуется программированием!
До встречи!
1.
Общая информация
В этой книге я научу Вас программировать. Сделаем первый шаг: изучим все базовые конструкции, которые нужны каждому программисту на любом языке программирования (ЯП).
Книга состоит из 6 модулей:
1. Типы данных. Переменные;
2. Условный оператор;
3. Оператор цикла;
4. Строки и символы;
5. Массивы;
6. Функции.
Это то, что должен знать любой программист. Если представить, что дом – это старший программист, то эта книга – фундамент.
Модули расположены именно в том порядке, в котором нужно проходить: от простого к сложному. Не советую менять порядок изучения тем, так как информация наслаивается друг на друга.
Формула, которая помогает добиваться целей:
Постоянство усилий и регулярность занятий гарантируют результат.
Уровень вашей нынешней подготовки неважен, потому что вся необходимая теория есть в книге. Объем практики позволяет теорию проработать и запомнить. А самое главное – применить ее на практике.
Книга позволит с легкостью и удовольствием выучить синтаксис языка программирования C#, отработать какие-то непростые вещи до автоматизма, написать первые мини-проекты.
В то же время подчеркну, что книгу можно проходить на любом удобном вам ЯП, эта возможность в нем предусмотрена. Так что для решения задач ЯП вы можете выбрать сами.
Дорогу осилит идущий!
1.3
Введение
Зачем изучать программирование?
Во-первых, это интересно.
Во-вторых, программирование здорово облегчает жизнь во многих профессиях.
В-третьих, можно хорошо зарабатывать и заниматься в тёплых уютных офисах современными технологиями.
Как изучать программирование?
Самое сложное в нашей области – это первые шаги. Я научу вас базовым вещам в программировании. Мы напишем сотни несложных и интересных программ, а также будем строить свои собственные алгоритмы. С таким опытом в дальнейшем вы сможете самостоятельно справиться и с более сложными задачами.
Чему учит книга?
После этой книги вы сможете решать задачи по программированию, выиграть несложную олимпиаду по информатике, а также начать свой профессиональный путь в качестве программиста.
Язык программирования
Мы будем изучать язык программирования C#, так как, по моему мнению, язык очень прост и хорошо подходит для новичков. На сегодняшний момент C# один из самых мощных, быстро развивающихся и востребованных языков в ИТ-отрасли. На нем пишутся самые различные приложения: от небольших десктопных программ до крупных веб-порталов и веб-сервисов, обслуживающих ежедневно миллионы пользователей.
Свобода выбора
Однако данная книга не привязывается к одному языку программирования, так как в ней проходят базовые понятия и конструкции, которые включают в себя все современные языки. Мы не будем вас обязывать сдавать задачи на языке C#, вы будете сами выбирать, на каком языке сдавать задачи.
Как построена книга?
Она состоит из лекций, к каждой из которых есть набор задач – их вам предстоит решать в тестирующей системы. Задачи будут проверяться автоматически и сразу.
1.4
Основные понятия
Алгоритм – это последовательность действий для достижения поставленной цели. Это план наших действий.
Язык программирования – это язык, который понимает компьютер. Есть русский, английский и другие языки, которые понимаем мы, а есть другие языки – языки программирования, которые понимает компьютер.
Программа – алгоритм, записанный на некотором языке программирования.
Этапы решения задачи
Теперь давайте разберем этапы решения задачи:
1. Постановка задачи – описание самой задачи;
2. Формализация – перевод на математический язык;
3. Алгоритмизация – придумывание алгоритма, который решает задачу;
4. Программирование – написание кода программы;
5. Тестирование – проверка работоспособности программы и корректности выходных данных.
Начинающие программисты пытаются пропустить последний этап. Я не советую так делать. Стоит сначала проверить самому программу на корректность работы, а потом сдавать в тестирующую систему. Постарайтесь придумать такие тесты, которые учитывают все различные ситуации.
Настоятельно советую всегда решать задачи по этим этапам. Так вы сэкономите массу времени и напишете правильные программы без ошибок.
Среда разработки
Среда разработки (IDE) позволяет писать код, компилировать (собирать у компилятора в "голове") его и отлаживать (искать ошибки). Она удобна тем, что в ней есть множество встроенных функций, которые, например, за вас заполнят стандартные строки кода. IDE подчеркнет ошибки синтаксиса и покажет причину, по которой программа не работает. Среда разработки помогает найти эту ошибку с помощью отладки.
При использовании языка C# я рекомендую среду разработки Visual Studio.
Установка Visual Studio
Во время установки программы нужно выбирать версию Community Edition. Это бесплатный инструмент для некоммерческого использования.
Когда откроется окно выбора компонентов, то единственный флажок нужно поставить у компонента "Разработка классических приложений .Net".
Этого достаточно, если вы совсем новичок. Компоненты можно будет добавить по мере необходимости.
Создание проекта
Запустите Visual Studio и нажмите «Создание проекта»:
В появившемся меню выберите «Консольное приложение:
Затем назовите проект на английском языке в поле «Имя проекта» (показано красной стрелкой), укажите куда нужно сохранять проект в «Расположение» (указано зеленой стрелкой) и нажимайте "Далее":
Первая программа
Visual Studio сгенерировала следующий шаблон кода:
Замените содержимое файла на:
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
// Здесь будем писать код программы
}
}
}
И это уже готовая программа, только она не делает ничего.