Основы программирования и информатика

- -
- 100%
- +

ОСНОВЫ ПРОГРАММИРОВАНИЯ И ИНФОРМАТИКА
Тормозов В. С.
Учебное пособие
Публикуется в авторской редакции
ЛитРес : Самиздат
2026
УДК 004.42(075.8)
ББК 32.973-018.1я73
Т 60
Рецензенты:
Dr. Arvind Kumar Menon, PhD
Dr. Alok Kumar Sharma, PhD
Тормозов, В. С.
Основы программирования и информатика / В. С. Тормозов. – ЛитРес : Самиздат, 2026. – 85 с.
В учебнике рассмотрены базовые понятия информатики, основы алгоритмизации и программирования, принципы построения программ на языках высокого уровня. Приведены сведения о представлении данных, архитектуре вычислительных систем, этапах разработки программного обеспечения, типовых алгоритмических конструкциях и структурах данных.
Учебник содержит теоретический материал, практические примеры, вопросы для самоконтроля и тестовые задания по каждому разделу.
Предназначено для студентов, изучающих основы программирования и информатику, а также для всех, кто начинает знакомство с разработкой программного обеспечения.
УДК 004.42(075.8)
ББК 32.973-018.1я73
© Тормозов В. С., 2026
© Оформление. ЛитРес : Самиздат, 2026
Посвящается моим учителям,
открывшим для меня мир алгоритмов и кода.
Предисловие
Программирование как сфера деятельности находится в периоде бурного развития, расширяет свою предметную область и из технической дисциплины о методах и средствах написания кода при помощи средств вычислительной техники превращается в фундаментальную инженерную дисциплину о создании алгоритмов и программных систем в природе и обществе.
Программирование — это фундаментальная инженерная дисциплина, изучающая процессы создания и реализации алгоритмов обработки данных.
Академик Б. Н. Наумов определял программирование «как инженерную дисциплину, изучающую общие свойства алгоритмов, процессы, методы и средства их реализации (проектирование, написание кода, отладка, тестирование, сопровождение)».
Программирование следует относить к техническим дисциплинам в соответствии с представлением о единстве законов обработки информации в искусственных, биологических и общественных системах. Отнесение программирования к фундаментальным прикладным наукам отражает общенаучный характер понятия алгоритма и процессов его реализации. В предмет программирования включается изучение отношений между постановщиком задачи и вычислительной машиной.
Но программирование имеет черты естественных и общественных наук, поэтому оно является комплексной, междисциплинарной отраслью научного знания.
Для решения прикладных задач существует множество готовых библиотек и фреймворков, но для того, чтобы грамотно спроектировать архитектуру приложения, привести задачу к виду, который подвластен компьютеру, надо знать основы алгоритмизации и программирования.
Функционирование систем управления техническими устройствами связано с процессами выполнения программного кода. Системы управления встроены практически во всю современную бытовую технику, станки с числовым программным управлением, транспортные средства и т.д.
В некоторых случаях главную роль в процессе управления выполняет человек, в других управление осуществляет программа, зашитая во встроенный в техническое устройство микропроцессор или подключенный компьютер.
В современном информационном обществе главным ресурсом является программное обеспечение, использование которого базируется на информационных и коммуникационных технологиях. Технологии программирования являются совокупностью методов, языковых средств и производственных процессов, используемых обществом для проектирования, написания, отладки и распространения программного обеспечения.
Процесс познания окружающего мира приводит к накоплению информации в форме данных (фактов, научных теорий и т.д.). Написание новой программы приводит к формализации знания или, как иногда говорят, к уменьшению неопределенности поведения системы. Если некоторая программа приводит к уменьшению неопределенности нашего знания о предметной области, то можно говорить, что такая программа решает поставленную задачу.
Глава 1. Теоретические аспекты программирования
1.1.
Сообщение, сигнал, данные, информация
Сообщение – это предназначенное для передачи высказывание, текст, изображение, физический предмет или поступок. Сообщение выступает в качестве материальной оболочки для представления информации при передаче. Сообщение служит переносчиком информации, а информация является содержанием сообщения. Сообщение представляет собой последовательность сигналов. От источника к приемнику информация передается в виде сообщений.
Сигнал – это физический процесс, некоторая характеристика которого несёт информационный смысл. Например, световой сигнал (поток света) характеризуется яркостью, цветом, поляризационными свойствами, направлением распространения и др. Информацию может нести как одна из этих характеристик, так и одновременное сочетание нескольких характеристик. Сигнал возникает в природе при взаимодействии материальных объектов и несёт в себе информацию об этом взаимодействии. Сигнал способен перемещаться, распространяться в некоторой материальной среде, тем самым обеспечивая пространственный перенос информации от объекта (источника события) к субъекту (наблюдателю). Материальная среда, в которой распространяется сигнал, называется носителем сигнала.
Сигналы различаются, прежде всего, по своей физической природе. Примеры: световой сигнал, звуковой, электрический, радиосигнал и др.
В зависимости от порождающего их источника сигналы бывают естественные или искусственные.
Естественные сигналы возникают в силу того, что где-то в живой или неживой природе взаимодействуют материальные объекты. Это естественный процесс, никак не связанный с деятельностью человека. Примеры: свечение Солнца, пение птиц, распространение запаха цветов и т.д.
Искусственные сигналы инициируются человеком или возникают в технических системах, созданных человеком. Примеры: электрические сигналы телефонной линии; радиосигналы; сигнальная ракета или костёр; сигнал светофора; сирена пожарной машины и т.д. По форме сигналы бывают аналоговые, дискретные и цифровые.
Аналоговый (или непрерывный) сигнал представляет собой физический процесс, информационная характеристика которого изменяется плавно. Например, плавно изменяющийся электрический сигнал. Другие примеры: звуковой сигнал, естественный световой сигнал. Практически все естественные сигналы аналоговые. Особенностью аналогового сигнала является размытость границы между двумя соседними его значениями. Общее число значений, которыми можно характеризовать аналоговый сигнал, бесконечно велико.
Дискретный сигнал представляет собой физический процесс, информационная характеристика которого изменяется скачкообразно и может принимать только некоторый ограниченный набор значений. Особенность дискретного сигнала – это чёткое разграничение между двумя разными значениями сигнала. Общее число возможных значений, которые может принимать дискретный сигнал, всегда ограничено.
Например, лампа, включенная в электрическую цепь. Лампа может либо гореть, либо не гореть. Если лампа горит, это служит сигналом о том, что в цепи есть ток. Если не горит – тока нет. Промежуточные значения (с какой яркостью горит лампа) здесь не учитываются – значений только два: либо горит, либо не горит. Другой пример: по телеграфу передаётся некоторое сообщение. Сообщение передаётся с помощью азбуки Морзе, использующей три разных значения: точка, тире и пробел (пауза). Сигнал, который несёт это сообщение, тоже будет иметь только три разных значения: короткий сигнал, длинный сигнал и отсутствие сигнала. Поскольку количество возможных значений сигнала ограничено – это дискретный сигнал. Дискретные сигналы, как правило, искусственные (создаются человеком или технической системой).
В современных устройствах, относящихся к вычислительной технике, для передачи информации используется цифровой сигнал.
Цифровой сигнал – это частный случай дискретного сигнала, когда информационная характеристика принимает только два возможных значения: либо есть сигнал, либо нет сигнала. Устройства, использующие для передачи информации цифровые сигналы, называются цифровыми устройствами. Внутри таких устройств передача производится чаще всего с помощью электрического сигнала. Его два возможных значения: либо нет напряжения (когда передаётся 0), либо есть напряжение определенной величины (когда передаётся 1).
Цифровой сигнал чаще всего передаётся не по одной линии, а по нескольким параллельным линиям. Совокупность параллельных проводящих линий, используемых совместно для передачи одного общего цифрового сигнала, называется цифровой шиной. Цифровая шина характеризуется разрядностью. Разрядность цифровой шины – это количество бит, передаваемых с её помощью за один раз. Если проводящая линия всего одна, то она позволяет передавать за раз один бит. Если проводящих линий восемь, тогда за раз можно передавать восемь бит – это восьмиразрядная шина. В современных компьютерах используются 8-разрядные, 16-разрядные, 32-разрядные и 64-разрядные шины.
Ввиду того, что вычислительные устройства работают с цифровыми сигналами, а все реальные естественные сигналы, как правило, аналоговые, для возможности взаимодействия цифровых устройств с внешним миром необходимы преобразования аналоговых сигналов в цифровые и, наоборот, – цифровых сигналов в аналоговые. Эти преобразования выполняются с помощью специальных микросхем, называемых АЦП (аналого-цифровой преобразователь) и ЦАП (цифро-аналоговый преобразователь). Например, микросхемы АЦП и ЦАП встраиваются в звуковую карту – специальное внутреннее устройство персонального компьютера, обеспечивающее возможность ввода и вывода звуковой информации.
Процесс изменения свойств некоторого материального объекта под воздействием сигнала называется регистрацией сигнала (например, тепловой сигнал заставляет объект нагреваться, радиосигнал вызывает движение электронов в проводнике и т. д.).
Данные – сведения, полученные путем измерения, наблюдения, логических или арифметических операций и представленные в форме, пригодной для постоянного хранения, передачи и обработки. Иначе говоря, данные – это информация, представленная в формализованном виде и предназначенная для обработки ее техническими средствами, например, ПК.
В процессах сбора, обработки и использования данные расчленяются на отдельные элементарные составляющие – элементы данных (или элементарные данные).
Данные необязательно возникают путём регистрации непосредственно исходного сигнала. Чаще всего исходный сигнал сначала преобразуется в сигнал, другой по природе, но такой же по информационным характеристикам. Например, звуковой сигнал, чтобы его можно было записать на магнитофонную ленту, сначала преобразуется в электрический сигнал, а затем в магнитный.
Примеры данных:
- фотоснимок – результат регистрации светового сигнала, излучаемого или отражённого от изучаемых объектов;
- запись на бумаге – результат регистрации мыслей человека (мысли можно рассматривать как множество электрических сигналов, возникающих в нервной системе человека); при этом электрические сигналы нервной системы с помощью мышц руки преобразуются в механическое перемещение карандаша или ручки;
- записанная на магнитной ленте речь человека – результат регистрации звукового сигнала; при этом в качестве средства регистрации сигнала используется магнитофон;
- данные, записанные на дискету, жёсткий диск, лазерный диск или магнитооптический диск, на флэш-память или в оперативную память.
Информация – свойство материи и передается физическим сигналом, распространяющимся с помощью физического носителя, а ее количество может быть определено множеством подходов, в зависимости от конкретной задачи.
Сегодня существует три направления развития исследований, связанных со свойственно-количественным подходом к понятию информации:
- математический, количественный: разработка математического аппарата, отражающего основные свойства информации (так и пишут в литературе: «свойства информации», которая сама изначально определена как свойство) или исследования в области сигнального понимания информации в полном соответствии с областью, приписываемой теории информации;
- понятийный, количественно-качественный: исследование основных свойств информации - измерение ее ценности, полезности и т.п. или исследования в области понимания информации на уровне создания разнообразных подходов к ее количественно-качественному измерению;
- информатизационный: использование информационных методов в других науках (в социологии, лингвистике, биологии и др.) или рассмотрение информации в ее разъяснительном смысле, определенном как процесс информирования, или информатизации, происходящий стихийно или осуществляемый с какой-либо осознанной целью.
Классическая количественная теория информации состоит из двух частей:
теории преобразования сообщений и сигналов, основную долю, в которой составляют вопросы кодирования и декодирования;
теории передачи сообщений и сигналов без шумов и с шумами (с помехами) в канале связи.
Теория информации определяет, что если сообщение не снимает неопределенности, то оно не содержит информации, и наоборот если сообщение позволяет более определенно задать предмет, то в сообщении содержится информация. Например, сообщение о том, что «Лев Николаевич Толстой написал роман «Война и мир», в котором описал события Отечественной войны 1812 года» для человека, знающего литературу, не содержит информацию, так как не несет ничего нового, но для школьников может обладать элементом новизны и тогда является информативным.
Степень неопределенности измеряют величиной, получившей название энтропия, которая является функцией вероятности. Если вероятность равна 1, то энтропия равна нулю, а если вероятность равна 0, то энтропия равна бесконечности. Количество информации, полученное как разность между начальной энтропией (до получения сообщения) и конечной энтропией (после получения сообщения), называется негэнтропией (отрицательной энтропией). Поэтому информацию иногда называют отрицательной энтропией. Соответственно у информации и у энтропии одна единица измерения – бит.
Можно привести немало разнообразных свойств информации. Каждая научная дисциплина рассматривает те свойства, которые ей наиболее важны. С точки зрения программирования наиболее важными представляются следующие свойства: объективность, полнота, достоверность, адекватность, доступность и актуальность информации.
Под информационной системой понимают систему, организующую, хранящую и преобразующую информацию, т.е. саму систему, основным предметом и продуктом труда в которой является информация.
Информационные системы предназначены для реализации технологий сбора, хранения, обработки, передачи и выдачи (отображения) информации.
Основная задача данных систем заключается в том, чтобы соответствующий субъект мог в нужный момент получить из определённых источников систематизированную и должным образом обработанную информацию по интересующему его вопросу.
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
Что представляет собой сообщение?
Что такое сигнал и какие характеристики могут нести информацию?
На какие виды делятся сигналы по источнику возникновения? Приведите примеры естественных и искусственных сигналов.
Чем отличаются аналоговый, дискретный и цифровой сигналы?
Что такое цифровая шина и что понимается под её разрядностью?
Для чего используются АЦП и ЦАП?
Что такое данные? Приведите примеры данных.
Что понимается под информацией? Назовите три направления исследований, связанных с понятием информации.
Как связаны энтропия и количество информации? Что такое негэнтропия?
Какие свойства информации наиболее важны с точки зрения программирования?
Что такое информационная система и какова её основная задача?
ТЕСТОВЫЕ ЗАДАНИЯ ДЛЯ ПРОВЕРКИ ЗНАНИЙ
Сообщение – это:
a. физический процесс, несущий информацию;
b. предназначенное для передачи высказывание, текст, изображение, физический предмет или поступок;
c. сведения, полученные путем измерения и представленные в формализованном виде;
d. свойство материи.
Сигнал – это:
a. материальная оболочка для представления информации;
b. физический процесс, некоторая характеристика которого несёт информационный смысл;
c. последовательность сообщений;
d. зарегистрированная информация.
Естественные сигналы возникают:
a. в результате деятельности человека;
b. в технических системах;
c. в силу взаимодействия материальных объектов в живой или неживой природе;
d. только в живых организмах.
Аналоговый сигнал характеризуется:
a. скачкообразным изменением информационной характеристики;
b. наличием только двух возможных значений;
c. плавным изменением информационной характеристики;
d. ограниченным числом значений.
Дискретный сигнал отличается от аналогового тем, что:
a. его информационная характеристика изменяется плавно;
b. число возможных значений ограничено;
c. он всегда является цифровым;
d. он может принимать бесконечное число значений.
Цифровой сигнал – это:
a. любой дискретный сигнал;
b. аналоговый сигнал, преобразованный в электрический;
c. частный случай дискретного сигнала, принимающий только два возможных значения;
d. сигнал, передаваемый только по оптоволокну.
Разрядность цифровой шины – это:
a. количество проводящих линий в шине;
b. количество бит, передаваемых с её помощью за один раз;
c. скорость передачи данных;
d. максимальное напряжение сигнала.
Для преобразования аналогового сигнала в цифровой используется:
a. ЦАП;
b. АЦП;
c. звуковая карта;
d. микропроцессор.
Данные – это:
a. информация, представленная в формализованном виде и предназначенная для обработки техническими средствами;
b. физический процесс, несущий информацию;
c. результат регистрации только светового сигнала;
d. любое сообщение.
Что является примером данных?
a. световой сигнал;
b. запись речи на магнитной ленте;
c. естественный запах цветов;
d. сигнал светофора.
Информация определяется как:
a. сведения, полученные путем измерения;
b. свойство материи, передаваемое физическим сигналом;
c. последовательность сигналов;
d. зарегистрированный сигнал.
Сколько направлений развития исследований связано со свойственно-количественным подходом к понятию информации?
a. одно;
b. два;
c. три;
d. четыре.
Количество информации, полученное как разность между начальной и конечной энтропией, называется:
a. энтропией;
b. битом;
c. негэнтропией;
d. вероятностью.
Какое из перечисленных свойств НЕ относится к наиболее важным свойствам информации с точки зрения программирования?
a. объективность;
b. полнота;
c. актуальность;
d. громкость.
Информационная система – это:
a. система, организующая, хранящая и преобразующая информацию;
b. аппаратное обеспечение компьютера;
c. совокупность программ для обработки данных;
d. база данных.
Процесс изменения свойств некоторого материального объекта под воздействием сигнала называется:
a. преобразованием;
b. регистрацией сигнала;
c. модуляцией;
d. кодированием.
Ответы на тестовые задания
b.
b.
c.
c.
b.
c.
b.
b.
a.
b.
b.
c.
c.
d.
a.
b.
1.2. Понятие и концепции программирования
Термин “программирование” возник во Франции в 60-х годах XX столетия в результате объединения двух слов information (информация) и automatique (автоматика), что выражает её суть как науки об автоматической обработке информации с помощью ЭВМ. В странах Западной Европы и США используется дру-гой термин — “computer science” (компьютерные науки).
Слово «программирование» многозначно: необходимо различать программирование — науку, программирование — отрасль промышленности и программирование — информационную технологию.
Информационная технология — система процедур преобразования информации с целью формирования, организации, обработки, распространения и использования информации.
Программирование — это техническая наука, систематизирующая приёмы создания, хранения, воспроизведения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования этих средств и методы управления ими.
Предмет программирования составляют следующие понятия:
• аппаратное обеспечение средств вычислительной техники; • программное обеспечение средств вычислительной техники;
• средства взаимодействия аппаратного и программного обеспечения;
• средства взаимодействия человека с аппаратными и программными средствами.
Как видно из этого списка, в информатике особое внимание уделяется вопросам взаимодействия. Для этого даже есть специальное понятие — интерфейс. Методы и средства взаимодействия человека с аппаратными и программными средствами называют пользовательским интерфейсом. Соответственно существуют аппаратные интерфейсы, программные интерфейсы и аппаратно-программные интерфейсы.
Программирование тесно связана с кибернетикой (наука об управлении), но не заменяет её, а имеет свою область исследования.
Основы кибернетики были заложены трудами по математической логике американского математика Норберта Винера, опубликованными в 1948 году, а само название происходит от греческого слова (kybemeticos — искусный в управлении).
Впервые термин кибернетика ввёл французский физик Андре Мари Ампер в первой половине XIX веке. Он занимался разработкой единой системы классификации наук и обозначил этим термином науку об управлении, в то время ещё не существующую, но которая, по его мнению, должна была существовать.
Сегодня предметом кибернетики являются принципы построения и фунционирования систем автоматического управления, а основными задачами — методы моделирования процесса принятия решений техническими средствами, связь между психологией человека и математической логикой, связь между информационным процессом отдельного индивидуума и информационными процессами в обществе, разработка принципов и методов искусственного интеллекта. На практике кибернетика во многих случаях опирается на те же программные и аппаратные средства вычислительной техники, что и программирование, а программирование, в свою очередь, заимствует у кибернетики математическую и логическую базу для развития этих средств.
Кибернетика изучает общие закономерности процессов управления в системах любой природы, абстрагируясь от конкретного вида и их специфики. Программирование же изучает общие свойства только информационных систем и процессов с предварительной их дифференциализацией (управленческие, медицинские, обучающие, информационно-поисковые и т.д.).
Оставляя в стороне прикладные информационные технологии, опишем составные части «ядра» современной программирования. Каждая из этих частей может рассматриваться как относительно самостоятельная научная дисциплина; взаимоотношения между ними примерно такие же, как между алгеброй, геометрией и математическим анализом в классической математике - все они хоть и самостоятельные дисциплины, но, несомненно, части одной науки.
Теоретическая программирование – часть программирования, включающая ряд математических разделов. Она опирается на математическую логику и включает такие разделы как теория алгоритмов и автоматов, теория информации и теория кодирования, теория формальных языков и грамматик, исследование операций и другие. Этот раздел программирования использует математические методы для общего изучения процессов обработки информации.



