Алгоритмизация и программирование (С++)
Покупка
Тематика:
Программирование на C и C++
Издательство:
Издательский Дом НИТУ «МИСиС»
Автор:
Ремизова Ольга Игоревна
Год издания: 2021
Кол-во страниц: 76
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
Среднее общее образование
Артикул: 797716.01.99
В методических указаниях рассматриваются вопросы разработки программ для решения разнообразных задач с использованием языка программирования С++. Рассмотрены основные типы данных и алгоритмические конструкции, показано, как создавать простые программы из этих конструкций. Никаких предварительных знаний в программировании для усвоения материала не требуется. Предназначены для учащихся московских школ в рамках городского образовательного проекта «Инженерный класс в московской школе».
Тематика:
ББК:
УДК:
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Москва 2021 МИНИС ТЕРС ТВО НАУКИ И ВЫСШ ЕГО О Б РА З О ВА Н И Я РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС» ЦЕНТР ДОВУЗОВСКОЙ ПОДГОТОВКИ И ОРГАНИЗАЦИИ ПРИЕМА Проект «Инженерный класс в московской школе» № 4579 О.И. Ремизова АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ (С++) Методические указания Рекомендовано редакционно-издательским советом университета
УДК 004.4 Р38 Р е ц е н з е н т канд. техн. наук, доц. Д.В. Калитин Ремизова, Ольга Игоревна. Р38 Алгоритмизация и программирование (С++): метод. указания / О.И. Ремизова. – Москва : Издательский Дом НИТУ «МИСиС», 2021. – 76 с. В методических указаниях рассматриваются вопросы разработки программ для решения разнообразных задач с использованием языка программирования С++. Рассмотрены основные типы данных и алгоритмические конструкции, показано, как создавать простые программы из этих конструкций. Никаких предварительных знаний в программировании для усвоения материала не требуется. Предназначены для учащихся московских школ в рамках городского образовательного проекта «Инженерный класс в московской школе». УДК 004.4 О.И. Ремизова, 2021 НИТУ «МИСиС», 2021
Содержание Введение ....................................................................5 1 Переменные и типы данных .......................................8 1.1 Основные понятия языка ....................................... 8 1.2 Представление чисел в памяти компьютера ............ 10 1.3 Адресация данных в памяти компьютера ............... 13 2 Переменные и константы ......................................... 14 3 Типы данных языка С++ ......................................... 16 3.1 Целочисленные типы данных ............................... 16 3.2 Потоковый ввод и вывод языка С++ ...................... 17 4 Операции и выражения ........................................... 19 4.1 Операции присваивания ...................................... 19 4.2 Выражения и операции ....................................... 20 4.3 Арифметические операции .................................. 21 4.4 Инкремент и декремент ....................................... 23 4.5 Сокращенные формы операции присваивания ........ 23 4.6 Условная (тернарная операция) ............................ 23 5 Математические функции ........................................ 25 6 Преобразование типов данных .................................. 27 7 Операторы ветвления .............................................. 29 7.1 Логические выражения ....................................... 29 7.2 Операции сравнения ........................................... 29 7.3 Логические операции .......................................... 29 7.4 Условный оператор if .......................................... 31 7.5 Вложенные операторы if ...................................... 33 7.6 Оператор выбора switch ....................................... 37 7.7 Операторы цикла ................................................ 41 7.7.1 Цикл while ................................................... 42 7.7.2 Цикл с параметром for ................................... 44 7.7.3 Цикл с постусловием do-while ......................... 45 7.8 Операторы передачи управления из тела цикла ...... 47 7.9 Операторы goto и return ....................................... 49
8 Массивы ................................................................ 51 8.1 Одномерные массивы .......................................... 51 8.1.1 Объявление и инициализация одномерного массива ............................................................... 51 8.1.2 Ввод и вывод одномерного массива .................. 53 8.1.3 Сумма элементов массива ............................... 53 8.1.4 Подсчет количества элементов в массиве, удовлетворяющих некоторому условию ................... 54 8.1.5 Поиск максимального значения в массиве ........ 54 8.1.6 Генератор случайных чисел в языке C++ ......... 55 8.1.7 Линейный поиск в массиве ............................. 55 8.1.8 Бинарный поиск в массиве ............................. 57 8.2 Двумерные массивы ............................................ 58 8.2.1 Типовые алгоритмы работы с двумерными массивами ........................................................... 61 8.2.2 Методы сортировки ....................................... 62 9 Функции ............................................................... 66 9.1 Описание функции ............................................. 66 9.2 Вызов функции и передача параметров .................. 70 Приложения ............................................................ 72
Введение Зачем изучать программирование? Во-первых, это очень интересно. Во-вторых, владение программированием здорово облегчает жизнь специалистам многих профессий. Математик, физик, химик, биолог, социолог, экономист, лингвист и любой другой специалист может взять готовую библиотеку функций, написать на ее основе несложную программу и быстро решить свою задачу. И пока коллеги ведут подсчеты в Excel или на калькуляторе, специалист с навыками программирования уже будет отдыхать или думать над новой проблемой. Ну и в-третьих, изучив программирование, можно стать программистом. Работать программистом не только приятно и прибыльно, но и полезно для общества. Компьютерные программы используются, например, для создания лекарств, для фундаментальных исследований. Как изучать программирование? Самое сложное в нашей области – это первые шаги, и в программировании начинать лучше с практики. Именно ей и будет посвящен наш курс. Мы напишем сотни несложных программ, не углубляясь в теорию. С таким опытом вы сможете потом самостоятельно справиться и с более сложными задачами. Чему учит курс? Мы будем изучать практические основы языка C++. Научимся работать с числами, их последовательностями, таблицами, а также освоим несложные структуры данных и алгоритмы: сортировку, ассоциативные массивы, множества. Почему C++? Это один из самых популярных языков программирования. Он хорош своей быстротой и универсальностью. С языка C++ легко перейти на любой другой, так как все они в целом очень похожи. Можно заняться чистым C, чтобы писать операционные системы, драйверы и распределенные программы. Можно перейти на Java или C# и писать софт для организаций. Или
можно выучить немного другой вариант Java или Objective-C и писать приложения для Android и iPhone. В любом случае после C++ осваивать новые языки вам будет гораздо легче. Интегрированная среда разработки (IDE). Язык С++ является языком высокого уровня. Это означает, что программа пишется на языке, приближенном к естественному человеческому языку, а затем автоматически переводится на язык машинных кодов. Перевод с языка высокого уровня на машинный язык выполняет компилятор. В результате получается файл с расширением .obj, который можно сохранить на диске. В программе, как правило, используются различные компоненты из библиотек. Большие программы состоят из нескольких исходных файлов, и каждый такой файл компилируется в отдельный объектный модуль. Объединить все это в одну программу может компоновщик. Результат работы компоновщика – это исполняемая программа (например, файл с расширением .exe, который иначе называется загрузочным модулем). Такой файл уже может выполняться автономно, без участия исходной программы и компилятора. В принципе, можно использовать обычный текстовый редактор для ввода кода программы, а затем – отдельные программы компилятора и компоновщика, вызвав их из командной строки операционной системы. Но гораздо удобнее использовать специальное приложение, в котором объединены все инструменты для разработки и отладки программ. Интегрированная среда разработки (IDE – Integrated Development Environment) – это специальное приложение, которое позволяет упростить разработку программ на языке высокого уровня (рисунок). Интегрированная среда разработки
Она обычно включает: - текстовый редактор – чтобы набрать текст программы, сохранить его на диске, редактировать. Такой редактор обычно еще и выделяет элементы кода разными цветами, подсказывает возможные ошибки синтаксиса, а иногда и создает фрагменты кода автоматически; - компилятор и компоновщик – чтобы перевести программу в машинный код; - средства отладки и запуска программ – чтобы обеспечить удобство поиска ошибок; - стандартные библиотеки, содержащие многократно используемые элементы программ; - справочную систему и др. Для языка С++ существует достаточно много различных сред разработки. Мы будем использовать Microsoft Visual Studio. Эту систему можно установить на компьютеры с операционной системой (ОС) Windows. Для других ОС можно использовать, например, Code::Blocks или CLion. Они обладают похожим функционалом.
1 Переменные и типы данных 1.1 Основные понятия языка В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова, словосочетания и предложения. Подобные элементы содержит и язык программирования, только слова называют лексемами, словосочетания – выражениями, а предложения – операторами. Все тексты на языке пишутся с помощью его алфавита. Алфавит языка C++ включает: - прописные и строчные латинские буквы, а также символ подчеркивания, который употребляется наряду с буквами; - арабские цифры от 0 до 9; - специальные символы: , . ; : ? ! ‘ « | / \ ~ ^ ( ) { } [ ] < > # % & – = + * - пробельные символы: пробел, символы табуляции и перевода строки. Алфавит языка в стандарте называется базовым набором символов. Обратите внимание, что символы национальных алфавитов (в частности, русские) не входят в базовый набор символов по стандарту! Именно поэтому не рекомендуется использовать русские буквы при задании имен в программе (хотя Visual Studio это позволяет). Кроме того, существует понятие «набор символов реализации» – все множество символов, доступных на данном компьютере. Этот набор содержит базовый набор в качестве подмножества. Из символов базового набора составляются лексемы языка и директивы препроцессора. Символы из набора реализации используются для написания комментариев. Лексемы языка программирования аналогичны словам естественного языка. Это минимальные единицы языка, которые компилятор отличает и обрабатывает как единое целое. Например, лексемами являются константа 128 (но не ее часть 12), имя Vasia, но не часть этого имени. Существуют следующие виды лексем: - имена (идентификаторы); - ключевые слова; - знаки операций;