Раздел 1. Основы программирования

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

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

Аннотация

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

Предложенные задания могут быть выполнены практически на любом языке программирования, таком как C, C++, Pascal, Basic, C#, Java и др.

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

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

Оглавление

Введение 4

Раздел 1. Основы программирования 6

Лабораторная работа 1.1. Введение в программирование 6

Лабораторная работа 1.2. Операции и выражения 10

Лабораторная работа 1.3. Условный оператор if-else 15

Лабораторная работа 1.4. Основы работы со строками 21

Лабораторная работа 1.5. Условный оператор switch-case 27

Раздел 2. Циклы и массивы 32

Лабораторная работа 2.1. Цикл на базе if и goto 32

Лабораторная работа 2.2. Циклы while и do-while 37

Лабораторная работа 2.3. Цикл for 42

Лабораторная работа 2.4. Массивы 48

Лабораторная работа 2.5. Строки 56

Раздел 3. Процедуры и функции 64

Лабораторная работа 3.1. Процедуры 64

Лабораторная работа 3.2. Функции 70

Лабораторная работа 3.3. Рекурсивные функции 76

Лабораторная работа 3.4. Логические функции 86

Лабораторная работа 3.5. Вложенные циклы и понятие API 95

Раздел 4. Структуры данных 104

Лабораторная работа 4.1. Матрицы 104

Лабораторная работа 4.2. Строковые массивы 113

Лабораторная работа 4.3. Файлы 118

Лабораторная работа 4.4. Структуры 124

Лабораторная работа 4.5. Динамические структуры данных 132

ЛИТЕРАТУРА 139

Введение

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

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

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

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

В рамках каждой лабораторной работы студенту предлагается решить несколько задач посредством написания программ на каком-либо языке программирования. В описании каждой лабораторной работы приведены решения типовых задач с использованием языка C++, которые легко переносятся на любой другой язык. При выполнении лабораторных работ студентам рекомендуется пользоваться справочным материалом и Интернет-ресурсами (список приведен в конце практикума). По каждой из тем представлено по 30 задач, охватывающие различные аспекты соответствующей темы. Контроль усвоения материала можно проводить посредством решения случайно выбранных задач из выполненных ранее лабораторных работ.

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

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

Раздел 1. Основы программирования


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: