Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки программирования (пособие).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
964.61 Кб
Скачать

Министерство образования и науки Российской Федерации

Новосибирский государственный университет

экономики и управления «НИНХ»

А. И. Пестунов

Языки программирования

Учебное пособие

Новосибирск

2014

Издается в соответствии с планом УМР НГУЭУ

Рецензенты:

М. А. Монарев – канд. физ.-мат. наук;

С. Н. Терещенко – канд. техн. наук;

Пестунов, А. И.

Языки программирования : учеб. пособие / А.И. Пестунов ; Новосиб. гос. ун-т экономики и управления. – Новосибирск, 2014. – 167 с.

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

Настоящее учебное пособие предназначено для студентов направления подготовки 090900 «Информационная безопасность», изучающих дисциплину «Языки программирования».

Знания, полученные при работе с пособием, могут быть использованы далее при изучении дисциплин «Технологии и методы программирования», «Разработка проблемно-ориентированных программных приложений», «Математические модели и методы в задачах информационной безопасности», «Криптографические методы защиты информации».

Введение 4

1 Основы программирования 6

Тема 1.1. Введение в программирование 6

Тема 1.2. Математические вычисления 14

Тема 1.3. Условный оператор if-else 21

Тема 1.4. Условный оператор switch-case 27

Тема 1.5. Символы и строки 32

2 Циклы и массивы 36

Тема 2.1. Цикл на базе if и goto 36

Тема 2.2. Циклы while и do-while 43

Тема 2.3. Цикл for 54

Тема 2.4. Массивы 60

Тема 2.5. Обработка строк 70

3 Процедуры и функции 75

Тема 3.1. Процедуры 75

Тема 3.2. Функции 85

Тема 3.3. Рекурсивные функции 91

Тема 3.4. Логические функции 98

Тема 3.5. Прикладной программный интерфейс (API) 103

4 Простые структуры данных 113

Тема 4.1. Матрицы 113

Тема 4.2. Массивы строк 127

Тема 4.3. Файлы 136

Тема 4.4. Структуры 140

Тема 4.5. Реализация динамических структур данных на основе массива 151

Глоссарий 163

Литература 166

Введение

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

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

В задачи дисциплины «Языки программирования» входит ознакомление студентов с теоретическими основами программирования, изучение основ алгоритмизации, средств описания данных и действий языков программирования, овладение навыками составления и отладки программ для ЭВМ.

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

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

После изучения данного курса студенты будут готовы к освоению материала, связанного с объектно-ориентированным и системным программированием, к изучению фундаментальных алгоритмов и структур данных, к реализации криптографических и вычислительных алгоритмов, к разработке параллельных программ. Успешное освоение материала данного курса позволит в дальнейшем не только углубиться в изучение C++, но и приступить к изучению других современных языков программирования, таких как Java, C#, PHP, JavaScript и др.

1Основы программирования Тема 1.1. Введение в программирование

1.1.1Основные понятия программирования

Перед тем, как приступить непосредственно к программированию, кратко рассмотрим некоторые связанные с ним базовые понятия. Компиляция – это процесс преобразования файла с программным кодом в исполняемый файл; компиляцию осуществляет компилятор.

При компиляции производится проверка синтаксических ошибок – ошибок, заключающихся в нарушении правил языка программирования; при обнаружении синтаксической ошибки компилятор указывает на строку кода с ошибкой и описывает эту ошибку. В последних версиях популярных сред разработки диагностика синтаксических ошибок происходит «на лету»: как только программист допускает синтаксическую ошибку, редактор подчеркивает ее аналогично тому, как это делает текстовый редактор Microsoft Word.

Другим видом ошибок являются алгоритмические ошибки, заключающиеся в том, что программа запускается, но выполняется не так, как ожидалось; такие ошибки программисты часто называют багами (англ. bug – жук, вирус, микроб). Процесс исправления ошибок называется отладкой.