Алгоритм - понятная и конечная последовательность точных действий (команд), формальное выполнение которых позволяет получить решение поставленной задачи.
Исполнитель алгоритма - человек, группа людей или техническое устройство, которые понимают команды алгоритма и умеют правильно их выполнять.
Система команд исполнителя - команды, которые понимает и может выполнить исполнитель.
Программа - запись алгоритма в виде последовательности команд, которую может выполнить компьютер.
Существуют следующие способы представления алгоритмов:
Существует три базовые алгоритмические конструкции: следование, ветвление, цикл. Рассмотрим эти алгоритмические конструкции.
Алгоритмическая конструкция следование - последовательность команд алгоритма, которые выполняются в том порядке, в котором они записаны.
Пример. Алгоритм перемещения фрагмента текста.
1. Выделить фрагмент текста.
2. Нажать кнопку «Вырезать».
3. Установить текстовый курсор в новое место.
4. Нажать кнопку «Вставить».
Исполнитель данного алгоритма (человек) выполняет команды алгоритма в том порядке, в котором они записаны (1, 2, 3, 4).
Блок-схема данного алгоритма будет выглядеть следующим образом:
Алгоритмическая конструкция ветвление обеспечивает выполнение одной или другой последовательности команд в зависимости от истинности или ложности некоторого условия.
Пример. Алгоритм «вечер выходного дня».
Если в кассе кинотеатра есть билеты,
то посмотреть кинофильм,
иначе - прогуляться по набережной.
В данном примере исполнитель (человек) после проверки условия (в кассе кинотеатра есть билеты) может выполнить только одну из команд: или посмотреть кинофильм, или прогуляться по набережной.
Блок-схема данного алгоритма будет выглядеть следующим образом:
Алгоритмическая конструкция цикл (повторение) определяет последовательность действий, выполняемых многократно. Эту последовательность действий называют телом цикла.
Пример. Алгоритм включения персональных компьютеров (ПК) в кабинете информатики.
Пока есть выключенные ПК выполнять команды:
Подойти к выключенному ПК.
Нажать кнопку включения питания.
В данном примере исполнитель (человек) выполняет алгоритм следующим образом: он проверяет условие (есть выключенные ПК), если условие выполняется, то он выполняет команды (тело цикла): подойти к ближайшему выключенному ПК, нажать кнопку включения питания; если условие не выполняется – выполнение цикла завершается.
Блок-схема данного алгоритма будет выглядеть следующим образом:
Любой исполняемый алгоритм может быть преобразован к структурированному виду, когда ход выполнения алгоритма определяется при помощи трех базовых алгоритмических конструкций: следование, ветвление, цикл.
Язык С++ является одним из наиболее широко распространенных языков программирования. Он применяется во многих прикладных сферах. Независимо от того, кто вы или что вы делаете – закаленный программист или тот, кто использует компьютер для определенных целей, – вы постоянно используете приложения и библиотеки C++. Это операционные системы, драйверы устройств, офисные приложения, веб-браузеры, веб-серверы, облачные приложения, поисковые механизмы, компьютерные игры и даже другие языки программирования.
Кроме того, существует точный и полный общедоступный международный стандарт языка С++, не защищенный правом собственности. Качественные и бесплатные реализации этого языка доступны для любых компьютеров. Большинство концепций программирования, которые вы изучите с помощью языка С++, можно непосредственно использовать и в других язык программирования. Наконец, C++ позволяет создавать эффективный и элегантный код.
Первоначально разработанный Бьёрном Страуструпом в 1979 году, язык C++ был задуман как преемник языка С. С – процедурный язык, где каждая функция предпринимает определенное действие. Язык C++, напротив, был задуман как объектно-ориентированный, но он реализует такие концепции, как наследование, абстракция, полиморфизм и инкапсуляция. Классы языка C++ используют свойства для содержания данных и методы для обработки этих данных. Методы являются аналогом функций в языке С. В результате, программист больше думает о данных и о том, что с ними следует сделать.
В книге «Дизайн и эволюция C++» Бьёрн Страуструп описывает принципы, которых он придерживался при проектировании C++. Эти принципы объясняют, почему C++ именно такой, какой он есть. Некоторые из них:
C++ считается языком программирования промежуточного уровня, т.е. он позволяет создавать как высокоуровневые приложения, так и низкоуровневые библиотеки, работающие с аппаратными средствами. Для многих программистов язык C++ представляет собой оптимальную комбинацию. Являясь языком высокого уровня, он позволяет создавать сложные приложения, сохраняя разработчику возможность обеспечить им максимальную производительность за счет подробного контроля над использованием ресурсов и их доступностью. В настоящее время С++ является языком, наиболее полно представляющим основные парадигмы современного программирования.Загрузка и установка среды разработки Code::Blocks для программирования на C++
Среда разработки Code::Blocks
Одной из лучших сред для программирования на C++ является свободная кроссплатформенная среда разработки Code::Blocks, которая написана на С++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки программирования С, С++, D, Fortran. По умолчанию Code::Blocks использует компилятор MinGW, который поставляется в комплекте. Эта среда разработки действительно быстрая и позволяет выполнять параллельные операции на многопроцессорных системах.
Основные возможности интерфейса Code::Blocks
Подсветка синтаксиса – выделение синтаксических конструкций текста с использованием различных цветов, шрифтов и начертаний. Обычно применяется для облегчения чтения исходного текста компьютерных программ, улучшения визуального восприятия (Рисунок 1.1).
Рисунок 1.1. Подсветка синтаксиса
Сворачивание блоков кода – одна из функций текстового редактора, позволяющая скрывать определённый фрагмент редактируемого кода или текста, оставляя лишь одну строку (Рисунок 1.2).
Рисунок 1.2. Сворачивание блоков кода
Автодополнение кода – функция в Code::Blocks, предусматривающая интерактивный ввод кода программы. Предлагаются варианты по дополнению кода по введённой его части (Рисунок 1.3).
Рисунок 1.3. Автодополнение кода
Некоторые преимущества Code::Blocks перед другими средами разработки программ на C++ (например, Microsoft Visual Studio):
Загрузка и установка Code::Blocks
Шаг 1. Загрузите Code::Blocks
· Посетите веб-сайт http://vwvw.codeblocks.org/downloads.
· Перейдите по ссылке Download the binary release (Скачать двоичный выпуск).
· Перейдите в раздел Windows XP / Vista / 7 / 8.x / 10:.
· Найдите файл, имя которого содержит mingw-setup (codeblocks-17.12mingw-setup.exe).
· Сохраните этой файл на компьютере.
Шаг 2. Установите Code::Blocks
· Дважды щелкните на установщике.
· Несколько раз нажмите Next (Далее). По умолчанию программа устанавливается в папку C:\Program Files\CodeBlocks, но можно выбрать и другую папку.
· Выполните полную установку: в раскрывающемся меню Select the type of install (Выберите тип установки) выберите пункт Full: All plugins, all tools, just everything (Все подключаемые модули, все инструменты и другие компоненты).
Запустите Code::Blocks.
1. Напишите алгоритм заварки чая (алгоритмическая конструкция следование). Изобразите алгоритм в виде блок-схемы.
2. Напишите алгоритм, определяющий является ли число четным либо нечетным (алгоритмическая конструкция ветвление). Изобразите алгоритм в виде блок-схемы.
3. Напишите алгоритм «полив цветов в кабинете информатики» (алгоритмическая конструкция цикл). Изобразите алгоритм в виде блок-схемы.
4. Загрузите и установите среду разработки Code::Blocks для программирования на C++.