Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
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.com/catalog/product/1102077 (дата обращения: 12.05.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 ₽
В корзину