Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Алгоритмизация и программирование: подготовка к ЕГЭ по информатике

Покупка
Основная коллекция
Артикул: 689795.01.01
Доступ онлайн
от 480 ₽
В корзину
В учебном пособии рассмотрены основы алгоритмизации и программирования на языках Pascal, C++ и Python применительно к заданиям Единого государственного экзамена (ЕГЭ) по дисциплине «Информатика и ИКТ». Рассматриваются уровни, непосредственно относящиеся к проверке испытуемого на владение навыками алгоритмического мышления, на знание основных конструкций языка программирования высокого уровня, на сформированность навыков разработки программ в среде программирования. Описано действие линейных, разветвляющихся и циклических структур; уделено внимание программированию на основе функций и процедур, обработке строк и символов. Соответствует требованиям федеральных государственных образовательных стандартов среднего образования последнего поколения. Для школьников и лиц, которые готовятся к ЕГЭ по дисциплине «Информатика и ИКТ», абитуриентов, которые собираются сдавать внутренние вступительные экзамены в вузы.
220
285
Гуриков, С. Р. Алгоритмизация и программирование: подготовка к ЕГЭ по информатике : учебное пособие / С.Р. Гуриков. — Москва : ИНФРА-М, 2024. — 399 с. — (ЕГЭ). — DOI 10.12737/1102077. - ISBN 978-5-16-016347-5. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1102077 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
АЛГОРИТМИЗАЦИЯ 
И ПРОГРАММИРОВАНИЕ 
ПОДГОТОВКА К ЕГЭ 
ПО ИНФОРМАТИКЕ

С.Р. ГУРИКОВ

Москва
ИНФРА-М
2024

УЧЕБНОЕ ПОСОБИЕ

УДК 004.4
ББК 16.2
 
Г95

Р е ц е н з е н т ы:

А.И. Волков, кандидат технических наук, доцент, заведующий ка
федрой «Информатика» ордена Трудового Красного Знамени федерального государственного бюджетного образовательного учреждения высшего образования «Московский технический университет 
связи и информатики»;

В.В. Аляпкин, кандидат технических наук, начальник отдела спец
проектов ООО «Разработка информационных систем»

ISBN 978-5-16-016347-5 (print)
ISBN 978-5-16-108641-4 (online)
© Гуриков С.Р., 2023

Гуриков С.Р.

Г95 
 
Алгоритмизация и программирование: подготовка к ЕГЭ по ин
форматике : учебное пособие / С.Р. Гуриков. — Москва : ИНФРА-М, 
2024. — 399 с. — (ЕГЭ). — DOI 10.12737/1102077.

ISBN 978-5-16-016347-5 (print)
ISBN 978-5-16-108641-4 (online)
В учебном пособии рассмотрены основы алгоритмизации и программи
рования на языках Pascal, C++ и Python применительно к заданиям Единого государственного экзамена (ЕГЭ) по дисциплине «Информатика и 
ИКТ». Рассматриваются уровни, непосредственно относящиеся к проверке испытуемого на владение навыками алгоритмического мышления, на 
знание основных конструкций языка программирования высокого уровня, 
на сформированность навыков разработки программ в среде программирования. Описано действие линейных, разветвляющихся и циклических 
структур; уделено внимание программированию на основе функций и процедур, обработке строк и символов.

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

Для школьников и лиц, которые готовятся к ЕГЭ по дисциплине «Ин
форматика и ИКТ», абитуриентов, которые собираются сдавать внутренние вступительные экзамены в вузы.

УДК 004.4

ББК 16.2

Данная книга доступна в цветном  исполнении 
в электронно-библиотечной системе Znanium

Предисловие

В настоящее время востребованность специальностей, связанных с информационными технологиями, не вызывает сомнений. 
Впрочем, по данным Министерства науки и высшего образования 
Российской Федерации, количество абитуриентов, поступающих 
на инженерно-технические специальности, все-таки меньше, чем 
на направления, связанные с медициной, экономикой, сферой международных отношений, журналистикой. Тем не менее отметим, 
что отделения высших учебных заведений, связанные с информационными технологиями и программированием, очень популярны. 
Кроме того, следует учесть, что опубликованные обобщенные 
данные чаще всего отражают ситуацию по всей стране, в регионах 
показатели несколько иные и говорят о растущей популярности 
технических направлений. Также следует отметить, что в последнее 
время количество бюджетных мест на технические специальности 
увеличивается, а на гуманитарные — сокращается.
При выборе профессии, в частности гуманитарных направлений, 
абитуриенты часто руководствуются соображениями своей текущей успеваемости, набором экзаменов, которые следует сдавать 
на итоговой аттестации. В частности, к Единому государственному 
экзамену (ЕГЭ) по дисциплине «Обществознание» подготовиться 
в короткие сроки гораздо проще, нежели к экзаменам по физике 
или информатике, ведь базовые знания по таким предметам могут 
быть недостаточно сформированы еще с седьмого или восьмого 
классов.
Тем не менее по данным, опубликованным Федеральным институтом педагогических измерений (ФИПИ), в 2022 г. в основном периоде ЕГЭ по информатике и информационно-коммуникационным 
технологиям (ИКТ) приняли участие более 101 тыс. человек, что 
отражает наметившуюся в последние годы тенденцию роста числа 
участников ЕГЭ по информатике (в 2018 г. — более 70 тыс. человек, 
в 2019 и 2020 г. — более 80 тыс. человек, в 2021 г. — более 94 тыс. 
человек).
С учетом постоянно растущего среднего балла абитуриентов, зачисленных на первый курс высших учебных заведений по итогам 
ЕГЭ, есть основания полагать, что если будущий абитуриент остановил свой выбор на подготовке к ЕГЭ по дисциплине «Информатика и ИКТ», то данный процесс должен быть осуществлен заблаговременно и качественно.

Между тем на основе анализа Федерального института педагогических измерений (ФИПИ) показано, что средний процент выполнения заданий по разделу курса «Алгоритмизация и программирование» равен 45,7 (данные 2020 г.). Это значительно меньше, 
чем результаты, показанные школьниками по другим разделам: 
«Кодирование информации и измерение ее количества» (50,7), 
«Информационное моделирование» (71,3), «Системы счисления» 
(62,7), «Основы информационно-коммуникационных технологий» 
(68,1), «Основы алгебры логики» (49,8).
Начиная с 2021 г. коренным образом изменилась модель проведения экзамена. В отличие от прошлых лет, когда выпускники 
записывали ответы к заданиям на бумажный бланк, экзамен стал 
проводиться в компьютерной форме.
Были переработаны уровни, связанные с программированием, 
акцент сделан именно на практической реализации подобных заданий с помощью симуляторов программного обеспечения, разрешено использовать электронные таблицы и информационный 
поиск.
Отметим, что уровень подготовки участников ЕГЭ по информатике и ИКТ должен соответствовать требованиям государственных 
образовательных стандартов среднего (полного) общего образования. В частности, для базового уровня изучения необходимо:
знать
 
• стандартные приемы написания на алгоритмическом языке 
программы для решения стандартной задачи с использованием 
основных конструкций программирования и отладки таких 
программ;
 
• основные конструкции программирования;
уметь
 
• понимать программы, написанные на выбранном для изучения 
универсальном алгоритмическом языке высокого уровня;
 
• анализировать алгоритмы с использованием таблиц;
владеть
 
• навыками алгоритмического мышления и понимания необходимости формального описания алгоритмов.
Для профильного уровня:
знать
 
• основные алгоритмы обработки числовой и текстовой информации, алгоритмы поиска и сортировки;
 
• универсальный язык программирования высокого уровня 
(по выбору);

уметь
 
• разрабатывать программы в выбранной среде программирования, включая тестирование и отладку программ;
 
• использовать основные управляющие конструкции;
владеть
 
• понятием сложности алгоритма;
 
• представлениями о базовых типах данных и структурах данных;
 
• элементарными навыками формализации прикладной задачи 
и документирования программ.
По результатам сказанного выше можно сделать вывод о том, 
что потребность в получении фундаментальных знаний по разделу 
«Алгоритмизация и программирование» для успешной сдачи ЕГЭ 
по дисциплине «Информатика и ИКТ» актуальна. В результате 
проведенного анализа контрольных измерительных материалов 
(КИМ) были определены уровни (6, 12, 16, 17, 22, 24, 25, 26, 27), 
решение которых можно получить, зная основы алгоритмизации 
и программирования хотя бы на одном из языков (Паскаль, С++, 
Python).
Следует отметить, что контрольно-измерительные материалы 
(КИМ) ежегодно претерпевают изменения. Отдельные задания 
могут иметь другую формулировку, степень сложности, однако 
основы алгоритмизации и программирования остаются на неизменном уровне. Таким образом, задачей автора при написании 
настоящего издания была попытка не «угнаться» за всеми ежегодными нюансами изменения КИМ, а в простой и понятной форме 
изложить основы программирования применительно к сдаче экзамена.
Цель настоящего издания — не рассмотреть как можно большее 
количество вариантов экзаменационных задач (для этих целей 
существуют уже изданные сборники экзаменационных заданий, 
тренировочные варианты, многочисленные стримы, например 
на видео хостинге YouTube, или сайты с соответствующим содержанием), а обеспечить прочное и сознательное освоение основ 
алгоритмизации и программирования, формирование алгоритмического мышления, которого так часто не хватает будущему 
участнику ЕГЭ по информатике. В то же время в учебном пособии 
приводится разбор примеров решения всех уровней задач государственного экзамена, связанных с программированием, и даны рекомендации по их решению.
Учебное пособие имеет практикоориентированный характер. 
Изучив теоретическую составляющую, поработав в средах программирования по набору и отладке программ, представленных 

в книге, а также следуя рекомендациям по решению задач, можно 
овладеть основами алгоритмизации сразу на трех языках программирования: Pascal, C++ и Python.
В главе 1 учебного пособия приводятся теоретические основы 
алгоритмизации, характерные для изучения начальной стадии любого языка программирования: рассматривается алфавит языков, 
даны представление о типах данных каждого из них и сведения 
о роли оператора присваивания.
В главе 2 описан процесс инсталляции программного обеспечения, необходимого для создания программ, описанных в учебном 
пособии, для совершенствования практических навыков, что 
должно в дальнейшем привести к успешному решению задач, 
приведенных в КИМ. Следует отметить, что в настоящее время 
существует несколько свободных реализаций языка Pascal, в частности PascalABC.NET, Free Pascal и др., редакторы и компиляторы 
языков С++, Python, по это му продвинутый пользователь может использовать для подготовки к экзамену привычное ему программное 
окружение, начинающий — среды программирования, описанные 
в книге.
В главах 3–5 подробно рассматриваются операторы, относящиеся к трем китам программирования — линейному, разветвляющемуся и циклическому алгоритмам. Понимание работы каждого 
из операторов, реализующих подобные конструкции, является непременным условием решения алгоритмических задач различных 
уровней.
В главе 6 изложен процесс работы с циклами с неизвестным 
количеством повторений, в частности с оператором while. Круг 
задач, в которых может использоваться данный оператор, довольно 
широк, но в первую очередь это 6-й, 12-й и 22-й уровни ЕГЭ.
Материал главы 7 даст представление о работе подпрограмм 
в рассматриваемых языках программирования. На различных примерах показан механизм работы подпрограмм, возвращающих одно 
или несколько значений. Полученные знания участник ЕГЭ может 
использовать, например, при решении задач 16-го уровня.
Глава 8 посвящена обработке символов и строк, работе с файлами. Описаны базовые алгоритмы обработки символов и строк 
в языках программирования Free Pascal, C++ и Python. Они 
могут быть востребованы при создании программ для обработки 
символьной информации (24-й уровень ЕГЭ). Принципы работы с файлами являются очень актуальными для новой модели 
компьютерного ЕГЭ, по это му те примеры и тот круг задач, которые 

описаны в главе, обязательно будут востребованы для подготовки 
к решению задач 26-го и 27-го уровней.
Глава 9 содержит информацию о работе с одномерными массивами в языках программирования C++ и Free Pascal, списками 
в Python. Объясняются приемы их инициализации, на большом 
количестве задач рассмотрены базовые алгоритмы обработки 
массивов, приемы разработки простых программ с их использованием. Приводятся рекомендации к решению задач 25-го, 26-го 
и 27-го уровней.
В книге приведено более 170 листингов программ, снабженных 
комментариями. Их практическое воплощение в средах программирования — гарантия успешности на экзамене. Для удобства 
их чтения полужирным шрифтом выделены основные про граммные 
конструкции, служебные слова.
Каждая глава, посвященная непосредственно программированию, содержит упражнения, примеры решения задач, рекомендации к решению различных уровней.
Материал предлагаемого учебного пособия был подготовлен автором на основе многолетнего опыта преподавания курсов для подготовки к ЕГЭ по дисциплине «Информатика», организованных 
при Московском техническом университете связи и информатики, 
преподавания курса алгоритмизации и программирования абитуриентам, студентам, получающим среднее и высшее профессиональное образование, подготовки книг по программированию в различных средах.

Глава 1. 

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ АЛГОРИТМИЗАЦИИ 
И ПРОГРАММИРОВАНИЯ

1.1. АЛГОРИТМ. СВОЙСТВА АЛГОРИТМА. 
СПОСОБЫ ОПИСАНИЯ АЛГОРИТМА

Если мы хотим написать программу на каком-нибудь языке 
программирования, то сначала мы должны составить алгоритм решения задачи.
Алгоритм — это точное и простое описание последовательности 
действий для решения данной задачи. Алгоритм содержит несколько шагов, которые должны выполняться в определенной последовательности. Каждый шаг алгоритма может состоять из одной 
или нескольких простых операций.
Каждый из нас ежедневно использует различные алгоритмы: инструкции, правила, рецепты и т.д. Обычно мы это делаем не задумываясь. Например, открывая дверь ключом, никто не размышляет 
над тем, в какой последовательности выполнять действия. Однако, 
чтобы кого-нибудь научить открывать дверь, придется четко указать и сами действия, и порядок их выполнения. Например:
1) достать ключ;
2) вставить ключ в замочную скважину;
3) повернуть ключ два раза против часовой стрелки;
4) вынуть ключ.
Представим, что мы поменяли местами второе и третье действия. 
Мы сможем выполнить и этот алгоритм, но дверь не откроется, т.е. 
алгоритм станет невыполнимым.
Для алгоритма важен не только набор действий, но и то, в каком 
порядке они выполняются. Понятие алгоритма в информатике является фундаментальным, таким же, какими являются понятия 
точки, прямой и плоскости в геометрии, вещества в химии, пространства и времени в физике и т.д.
Свойства алгоритма:
 
• дискретность (прерывность, раздельность) — алгоритм должен 
представлять процесс решения задачи как последовательное выполнение простых шагов (этапов);
 
• определенность — каждый шаг алгоритма должен быть четким 
и однозначным. Выполнение алгоритма носит механический ха
рактер и не требует никаких дополнительных сведений о решаемой задаче;
 
• результативность — алгоритм должен приводить к решению 
задачи за конечное число шагов;
 
• массовость — алгоритм решения разрабатывается в общем, 
виде, т.е. он должен быть применим для решения некоторого 
класса задач, различающихся лишь исходными данными.
Способы описания алгоритмов:
 
• словесный;
 
• графический;
 
• табличный;
 
• формульный.
Словесный способ каждый из нас использует ежедневно, пересказывая собеседнику, например, различные инструкции, правила, 
кулинарные рецепты, т.е. какую-то последовательность, приводящую к конечному результату.
Графический способ представления алгоритмов является более 
компактным и наглядным по сравнению со словесным. Нередко 
для лучшего понимания той или иной ситуации нам проще начертить какую-то схему, план, согласно которому мы будем действовать. В программировании данный способ предпочтительнее 
других, поскольку позволяет с помощью последовательности 
функцио нальных блоков, каждый из которых соответствует выполнению одного или нескольких действий, представить ход решения 
той или иной задачи. Такое представление алгоритма называется 
структурной схемой алгоритма, или блок-схемой.
Табличный способ используется, например, в бухгалтерии 
при составлении ежегодных отчетов, сводок и т.д.
Формульный способ находит свое применение при решении 
задач из области математики, физики и т.д. Например, при решении 
квадратного уравнения мы приступаем к нахождению дискриминанта уравнения, а затем, в зависимости от полученного результата, 
находим корни уравнения по известным всем формулам.

1.2. НАЗНАЧЕНИЕ ФУНКЦИОНАЛЬНЫХ БЛОКОВ

На условные обозначения в схемах алгоритмов распространяется ГОСТ 19.701—90 «Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные 
обозначения и правила выполнения». При рисовании блок-схем 
мы в основном будем использовать символы (блоки), представленные в табл. 1.1. Назначение других символов можно узнать не
посредственно из ГОСТа, скачав его в интернете. С учетом того, 
что данный стандарт был введен в действие в далеком 1992 г., некоторые термины могут показаться устаревшими, однако он до сих 
пор распространяется на условные обозначения в схемах алгоритмов и программ. Схемы отображают путь данных при решении 
задач и определяют этапы обработки и последовательность операций в программе.

Таблица 1.1

Условные обозначения в схемах алгоритмов

Терминатор
Процесс

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

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

Данные
Символ отображает данные, носитель данных не определен

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

Доступ онлайн
от 480 ₽
В корзину