URSS.ru Магазин научной книги
Обложка Златопольский Д.М. Программирование для начинающих: Особенности основных операторов языков программирования. Методы решения типовых задач. Типовые алгоритмы. Полезные советы. Возможность использования при изучении любых языков Обложка Златопольский Д.М. Программирование для начинающих: Особенности основных операторов языков программирования. Методы решения типовых задач. Типовые алгоритмы. Полезные советы. Возможность использования при изучении любых языков
Id: 311683
599 р.

ПРОГРАММИРОВАНИЕ ДЛЯ НАЧИНАЮЩИХ:
Особенности основных операторов языков программирования. Методы решения типовых задач. Типовые алгоритмы. Полезные советы. Возможность использования при изучении любых языков. № 274. Изд. стереотип.

Программирование для начинающих: Особенности основных операторов языков программирования. Методы решения типовых задач. Типовые алгоритмы. Полезные советы. Возможность использования при изучении любых языков 2024. 312 с.
Типографская бумага

Аннотация

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

Книга состоит из 12 глав и содержит 3 приложения. В ней описываются... (Подробнее)


Содержание
top
Оглавление3
Введение9
Глава 1. Понятия «алгоритм» и «программа»11
Глава 2. Основные операторы языков программирования17
2.1. Переменные величины. Ввод данных в программу. Оператор присваивания17
2.2. Варианты действий в программах. Условные операторы33
2.2.1. Два варианта действий33
2.2.2. Один, но не обязательный вариант действий40
2.3. Повторение действий в программе. Операторы цикла42
2.3.1. Оператор цикла с параметром42
2.3.2. Оператор цикла с предусловием51
2.3.3. Оператор цикла с постусловием59
Глава 3. Готовимся решать задачи64
3.1. Обмен значениями переменных64
3.2. Случайные числа в программах65
3.3. О сложных условиях и «флагах»67
3.4. Три и более вариантов действий в программе72
3.5. Счетчики и сумматоры82
3.6. Преобразование одного вида оператора цикла в другой86
3.7. Что может быть в теле цикла92
Глава 4. Типовые задачи обработки набора чисел. Часть 1106
4.1. Суммирование всех чисел набора106
4.2. Суммирование чисел набора, которые обладают некоторыми свойствами (удовлетворяют некоторому условию)108
4.3. Подсчет количества чисел набора, которые обладают некоторыми свойствами109
4.4. Определение среднего арифметического тех чисел набора, которые обладают некоторыми свойствами110
4.5. Определение порядкового номера некоторого значения набора112
4.6. Определение максимального значения в наборе чисел115
4.7. Определение порядкового номера максимального значения в наборе чисел118
Глава 5. Программируем простейшие игры121
5.1. Игра «Кубик»121
5.2. Игра «Чет или нечет?»123
5.3. Игра «Отгадай число»126
5.4. Проверка знания таблицы умножения127
5.5. Игра «Карты»128
Глава 6. Типовые задачи обработки набора чисел. Часть 2131
6.1. Определение порядкового номера некоторого числа в наборе131
6.2. Имеется или нет?134
6.2.1. Проверка факта наличия в заданном наборе некоторого значения134
6.2.2. Проверка факта наличия в заданном наборе чисел с заданными свойствами137
6.3. Определение максимального значения тех чисел набора, которые обладают некоторыми свойствами137
6.4. Определение количества максимальных значений набора141
6.5. Нахождение второго по величине максимального числа набора143
6.5.1. Поиск числа, которое стояло бы на предпоследнем месте, если бы числа набора были отсортированы по неубыванию143
6.5.2. Нахождение числа набора, больше которого только максимальный146
Глава 7. О массивах148
7.1. Чем хороши массивы148
7.2. Как заполнить массив149
7.3. Семь простых задач на обработку массива152
7.3.1. Суммирование всех элементов массива153
7.3.2. Суммирование элементов массива, которые обладают некоторыми свойствами (удовлетворяютнекоторому условию)153
7.3.3. Подсчет количества элементов массива, которые обладают некоторыми свойствами154
7.3.4. Определение среднего арифметического тех элементов массива, которые обладают некоторыми свойствами155
7.3.5. Вывод на экран элементов массива с заданными свойствами155
7.3.6. Вывод на экран индексов элементов массива с заданными свойствами156
7.3.7. Отбор элементов массива с заданными свойствами и запись их в другой массив156
7.4. Задачи на обработку пар элементов массива157
7.4.1. Обработка пар соседних элементов157
7.4.2. Обработка непересекающихся пар соседних элементов158
7.4.3. Обработка всех пар элементов массива159
Глава 8. Типовые задачи обработки массивов165
8.1. Поиск первого элемента массива, который обладает некоторыми свойствами (удовлетворяет некоторому условию)165
8.2. Проверка наличия в массиве элемента, который обладает некоторыми свойствами169
8.3. Нахождение максимального элемента массива172
8.4. Определение индекса максимального элемента массива173
8.5. Определение количества максимальных элементов массива175
8.6. Определение максимального значения среди тех элементов массива, которые обладают некоторыми свойствами176
8.7. Определение индекса максимального элемента среди элементов массива, которые обладают некоторыми свойствами179
8.8. Нахождение второго по величине максимального элемента массива179
8.8.1. Поиск элемента массива, который стоял бы на предпоследнем месте, если бы массив был отсортирован по неубыванию180
8.8.2. Нахождения элемента массива, больше которого только максимальный182
8.9. Нахождение второго минимума183
8.10. Изменение массивов183
8.10.1. Изменение элементов массива с заданными свойствами183
8.10.2. Обмен местами двух элемента массива с заданными номерами183
8.10.3. Перестановка всех элементов массива в обратном порядке184
8.10.4. Удаление из массива первого элемента со сдвигом всех расположенных справа от него элементов на одну позицию влево186
8.10.5. Циклический сдвиг элементов массива влево187
8.10.6. Сдвиг всех значений элементов на одну позицию вправо и запись нового значения в первый элемент нового массива188
8.10.7. Циклический сдвиг элементов массива вправо189
Глава 9. Использование двумерных массивов193
Глава 10. Работа со строками. Общие вопросы201
Глава 11. Типовые задачи обработки строк211
11.1. Обработка отдельных символов строк211
11.1.1. Определить, сколько раз в заданной строке встречается некоторый символ симв211
11.1.2. Определить позицию (номер) первого вхождения некоторого символа в заданную строку212
11.1.3. Определить, есть ли в заданной строке некоторый символ симв213
11.1.4. Определить, является ли символстроки с заданным номером цифрой215
11.2. Обработка подстрок216
11.2.1. Определить, сколько раз в заданной строке встречается некоторая подстрока216
11.2.2. Определить позицию (номер) первого вхождения некоторой подстроки в заданную строку217
11.2.3. Определить, есть ли в заданной строке некоторая подстрока218
11.2.4. Удалить из заданной строки все вхождения некоторой подстроки218
11.2.5. Заменить в заданной строке все вхождения некоторой подстроки на другую подстроку222
11.3. Выделение слов предложения223
11.3.1. Выделение первого слова223
11.3.2. Выделение второго слова224
11.3.3. Выделение всех слов226
Глава 12. Об использовании функций и процедур230
Приложение 1. Другие вопросы, связанные с программированием244
П1.1. Рекуррентные соотношения244
П1.2. Проверка свойств значений250
П1.3. Нахождение единственного корня уравнения на заданном отрезке257
П1.4. Другие примеры использования остатка и целочисленного частного260
П1.5. Сортировка массива266
П1.6. Метод бинарного поиска270
П1.7. Рекурсия. Рекурсивные функции и процедуры274
П1.8. Обработка подпоследовательностей282
П1.8.1. Длина (количество элементов) подмассива283
П1.8.2. Нахождение максимальной длины подмассива285
П1.8.3. Нахождение максимальной суммы подряд идущих элементов массива, обладающих заданными свойствами291
П1.8.4. Определение количества подмассивов295
Приложение 2. Шифруем текст, разработав программу297
П2.1. Шифр «атбаш»297
П2.2. Шифр Цезаря299
П2.3. Шифр Виженера301
Приложение 3. Игра Баше305
Список литературы308

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

Сначала в главе 1 рассказывается о важных понятиях программирования — «алгоритм», «программа», «транслятор» и др., после чего в главе 2 описываются особенности основных операторов языков программирования (в том числе наиболее популярных среди школьников языков Паскаль и Python).

В главе 3 рассмотрены вопросы, которые понадобятся при решении типовых задач программирования, а главе 4 описываются методы решения ряда простых таких задач.

Ознакомившись с содержанием глав 3 и 4, читатель сможет разработать ряд простейших игр. Методика их разработки описана в главе 5.

После этого в главах 6–11 рассматриваются другие типовые задачи программирования (в том числе связанные с обработкой массивов и строк), а в главе 12 — рассказывается о методах совершенствования программ на основе использования функций и процедур.

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

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


Как пользоваться книгой
top

Методика решения типовых задач программирования описывается с использованием так называемого «школьного алгоритмического языка» (система программирования КуМир [4]). Русский синтаксис этого языка и большое число комментариев делает методику и приводимые программы максимально понятными, и вы легко сможете разработать аналогичные программы на языке программирования, который изучаете. Автор рекомендует это делать после знакомства с тем или иным разделом книги.

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

Заметим также, что многие рассмотренные в книге задачи предусмотрены Кодификатором элементов содержания и требований к уровню подготовки выпускников общеобразовательных учреждений для проведения единого государственного экзамена по информатике и ИКТ и которые используются в демонстрационных и пробных вариантах ЕГЭ по информатике последних лет, а также представлены в пробных вариантах ЕГЭ в компьютерной форме.

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


Об авторе
top
photoЗлатопольский Дмитрий Михайлович
Кандидат технических наук, доцент кафедры информатики и прикладной математики Московского городского педагогического университета. Окончил Московский автомобильно-дорожный институт и аспирантуру в Центральном научно-исследовательском и проектно-экспериментальном институте организации, механизации и технической помощи строительству (ЦНИИОМТП). Область научных интересов: развитие алгоритмического стиля мышления школьников. Организатор и директор единственного в России специализированного Музея истории вычислительной техники. Автор книг «Задачи по программированию. 7–11 классы: Книга для учителя», «1700 заданий по Microsoft Excel», «Интеллектуальные игры в информатике», «Программирование: типовые задачи, алгоритмы, методы», «Занимательная информатика», «Сборник задач по программированию», «ЕГЭ по информатике. Решения задач по программированию», а также 7 брошюр и более 250 статей в профильных изданиях по информатике.