МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Программирование

рабочая программа дисциплины
Закреплена за кафедройКафедра вычислительной техники и электроники
Направление подготовки09.03.01. Информатика и вычислительная техника
ПрофильПрограммно-техническое обеспечение инфокоммуникационных технологий
Форма обученияОчная
Общая трудоемкость9 ЗЕТ
Учебный план09_03_01_Информатика и вычислительная техника_ПОИТ-2023
Часов по учебному плану 324
в том числе:
аудиторные занятия 128
самостоятельная работа 142
контроль 54
Виды контроля по семестрам
экзамены: 1, 2

Распределение часов по семестрам

Курс (семестр) 1 (1) 1 (2) Итого
Недель 16 20
Вид занятий УПРПДУПРПДУПРПД
Лекции 24 24 18 18 42 42
Лабораторные 32 32 54 54 86 86
Сам. работа 25 25 117 117 142 142
Часы на контроль 27 27 27 27 54 54
Итого 108 108 216 216 324 324

Программу составил(и):
к.т.н., доцент, Скурыдин Ю.Г.

Рецензент(ы):
к.т.н., доцент, Мансуров А.В.

Рабочая программа дисциплины
Программирование

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 09.03.01 Информатика и вычислительная техника (приказ Минобрнауки России от 19.09.2017 г. № 929)

составлена на основании учебного плана:
09.03.01 Информатика и вычислительная техника
утвержденного учёным советом вуза от 26.06.2023 протокол № 4.

Рабочая программа одобрена на заседании кафедры
Кафедра вычислительной техники и электроники

Протокол от 28.08.2023 г. № 110/22-23
Срок действия программы: 20232024 уч. г.

Заведующий кафедрой
к.ф-м.н., Пашнев Владимир Валентинович, доц., зав. кафедрой "Вычислительной техники и электроники"


Визирование РПД для исполнения в очередном учебном году

Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2023-2024 учебном году на заседании кафедры

Кафедра вычислительной техники и электроники

Протокол от 28.08.2023 г. № 110/22-23
Заведующий кафедрой к.ф-м.н., Пашнев Владимир Валентинович, доц., зав. кафедрой "Вычислительной техники и электроники"


1. Цели освоения дисциплины

1.1.Целью изучения дисциплины является формирование теоретических знаний и практических навыков по использованию современных персональных компьютеров и программных средств для решения широкого спектра задач в различных областях, а именно:
• ознакомить студентов с основами теории программирования;
• привить навыки работы с различными языками программирования для создания прикладных программ;
• изложить основные принципы организации современного программного обеспечения.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.О.05

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ОПК-2Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решении задач профессиональной деятельности;
ОПК-2.1 Знать: современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности
ОПК-2.2 Уметь: выбирать современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности
ОПК-2.3 Владеть: навыками применения современных информационных технологий и программных средств, в том числе отечественного производства, при решении задач профессиональной деятельности
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности
3.2.Уметь:
3.2.1.выбирать современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.применения современных информационных технологий и программных средств, в том числе отечественного производства, при решении задач профессиональной деятельности

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Введение
1.1. Цели и задачи дисциплины. Современные ЭВМ. Использование ЭВМ в инженерной, научной и других областях. Лекции 1 2 ОПК-2.1 Л2.1, Л2.3, Л2.2, Л2.4, Л1.2, Л1.1, Л2.5
1.2. Разработка алгоритмов программ. Программирование вычислительных процессов линейной и разветвляющейся структуры. Выполнение домашних заданий. Сам. работа 1 5 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.6, Л2.4, Л1.1
Раздел 2. Технические и программные средства современных ЭВМ. Основы алгоритмизации и программирования
2.1. Технические средства и их основные характеристики. Операционные системы. Назначение отдельных частей. Системы программирования. Среды программирования. Лекции 1 1 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
2.2. Основные этапы разработки программного обеспечения и их поддержка в среде программирования. Критерии качества и жизненный цикл программы. Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
2.3. Алгоритмы и программы. Принципы программирования. Языки программирования и их формальное описание. Структура программы и базовые конструкции языков высокого уровня Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
2.4. Базовые принципы программирования. Лабораторные 1 2 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4
2.5. Строки. Элементы редактирования текстовой информации. Управление экраном в текстовом режиме. Управление клавиатурой. Выполнение домашних заданий. Сам. работа 1 4 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
Раздел 3. Основные элементы языков программирования. Типизация, ввод-вывод, операции выбора
3.1. Понятие типа данных для языка программирования. Простые типы данных. Выражения и операции в языках программирования высокого уровня. Унарные и бинарные операции. Лекции 1 1 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
3.2. Ввод-вывод и операции выбора в языках программирования высокого уровня. Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4
3.3. Основы программирования. Типизация, простые типы данных, ввод-вывод и операции выбора. Лабораторные 1 2 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
3.4. Разработка алгоритмов программ. Программирование вычислительных процессов с использованием переменных различных типов. Программирование с использованием указателей. Выполнение домашних заданий. Сам. работа 1 4 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.6, Л2.4, Л1.1
Раздел 4. Основные элементы языков программирования. Массивы, циклы, множественный выбор
4.1. Организация множественного выбора и циклических операций в языках высокого уровня. Виды циклов Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
4.2. Основы программирования. Массивы, циклы, множественный выбор. Лабораторные 1 4 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
4.3. Архитектура памяти ЭВМ. Организация массивов в языках высокого уровня. Одномерные и двумерные массивы. Указатели. Работа с динамической памятью. Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
4.4. Обработка одномерных массивов. Методы сортировки. Различные варианты обхода элементов 2-мерных массивов. Выполнение домашних заданий. Сам. работа 1 4 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.6, Л2.4, Л1.1
Раздел 5. Основные элементы языков программирования. Работа с файлами
5.1. Понятие файла. Назначение файла. Файлы в операционных системах. Типы файлов. Файловые указатели. Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
5.2. Операции для работы с файлами для языков программирования. Системные средства для работы с файлами. Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
5.3. Основы программирования. Алгоритмы работы с массивами. Лабораторные 1 6 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
5.4. Основы программирования. Работа с файлами. Лабораторные 1 6 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
5.5. Работа с файлами. Обработка файлов различных типов. Выполнение домашних заданий. Сам. работа 1 4 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.6, Л2.4, Л1.1
Раздел 6. Основные элементы языков программирования. Программные модули. Процедуры и функции
6.1. Подпрограммы, их назначение и классификация. Формальные и фактические параметры. Передача параметров различных типов по ссылке и значению. Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
6.2. Области доступности глобальных и локальных переменных. Программирование с использованием процедур и функций. Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4
6.3. Модули. Интерфейс. Организация библиотек подпрограмм. Стандартные модули. Лекции 1 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
6.4. Основы программирования. Работа с процедурами и функциями. Лабораторные 1 12 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
6.5. Процедуры и функции. Передача параметров по значению и ссылке. Параметры-строки и параметры-массивы. Выполнение домашних заданий. Сам. работа 1 4 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.6, Л2.4, Л1.1
Раздел 7. Структурное программирование. Абстрактные типы данных
7.1. Типы данных пользователя. Понятие абстрактного типа данных. Структурные типы данных. Записи. Лекции 2 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
7.2. Списки, стеки, множества и объединения. Лекции 2 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.1
7.3. Операции со структурными типами. Реализация структурных типов в языках программирования высокого уровняю Лекции 2 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
7.4. Абстрактные типы данных и их реализация. Лабораторные 2 14 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
7.5. Разработка структурных типов (множества, объединения, коллекции и т. п.). Динамические переменные. Выполнение курсовой работы. Сам. работа 2 42 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.6, Л2.4, Л1.1
Раздел 8. Объектно-ориентированное программирование
8.1. Представление явлений объектами. Базовые понятия объектно-ориентированного программирования. Лекции 2 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
8.2. Атрибуты и методы объектов. Состояния объектов. Обмен сообщениями между объектами. Лекции 2 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
8.3. Объектно-ориентированные средства распространенных языков программирования. Перегрузка функций и операций. Лекции 2 2 ОПК-2.1 Л2.4, Л1.2, Л1.1
8.4. Инкапсуляция, наследование, полиморфизм. Инициализация объектов. Конструкторы и деструкторы. Лекции 2 2 ОПК-2.1 Л2.1, Л2.2, Л2.4, Л1.2, Л1.1
8.5. Основы объектно-ориентированного программирования. Лабораторные 2 20 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
8.6. Программирование с использованием объектов. Разработка иерархии объектов на примере системы с меню. Использование полиморфизма при создании движущихся изображений. Выполнение курсовой работы. Сам. работа 2 38 ОПК-2.2, ОПК-2.3 Л2.1, Л2.2, Л2.4, Л1.1
Раздел 9. Основы программирования с использованием средств операционной системы
9.1. Идеология событийного программирования. События и обмен сообщениями. Процедуры обратного вызова. Лекции 2 2 ОПК-2.1 Л2.4, Л1.2, Л1.1
9.2. Системные средства инструментальных сред. Системные вызовы. Лекции 2 2 ОПК-2.1 Л2.4, Л1.2, Л1.1
9.3. Визульное программирование под Windows. Лабораторные 2 20 ОПК-2.2, ОПК-2.3 Л2.1, Л2.4, Л1.1
9.4. Подсистемы GUI и GDI. Управление экраном в графическом режиме Сам. работа 2 37 ОПК-2.2, ОПК-2.3 Л1.1
Раздел 10. Аттестация
10.1. Зачет 2 9 ОПК-2.1, ОПК-2.2, ОПК-2.3 Л2.3, Л2.2, Л2.6, Л2.4, Л1.1, Л2.5
10.2. Экзамен 2 18 ОПК-2.1, ОПК-2.2, ОПК-2.3 Л2.3, Л2.2, Л2.6, Л2.4, Л1.1, Л2.5

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
Оценочные материалы для текущего контроля по разделам и темам дисциплины в полном объеме размещены в онлайн-курсе на образовательном портале «Цифровой университет АлтГУ» – https://portal.edu.asu.ru/course/view.php?id=1630#section-2

ОЦЕНКА СФОРМИРОВАННОСТИ КОМПЕТЕНЦИИ ОПК-2 "Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решения задач профессиональной деятельности"

ПРИМЕРЫ ЗАДАНИЙ ЗАКРЫТОГО ТИПА
Вопрос 1. Стандартные функции ...
а. всегда имеют одинаковый тип аргументов и результата
б. могут иметь неодинаковые типы аргументов и результата
в. всегда имеют неодинаковые типы аргументов и результата
Правильный ответ б
Вопрос 2. Оператор goto в составе линейных программ ...
а. не может быть использован
б. должен быть использован
в. может быть использован
Правильный ответ а
Вопрос 3. Форматный ввод в языке С++ может быть выполнен при использовании ...
а. функции scanf()
б. функции printf()
в. оператора (манипулятора) cout
Правильный ответ а
Вопрос 4. Признаком, определяющим начало каждой спецификации преобразования в языке С++, является наличие символа ...
а. амперсанда (&)
б. процента (%)
в. косой черты (\)
Правильный ответ б
Вопрос 5. В качестве выражения в составе условного оператора if может быть использовано ...
а. выражение, приводимое к целому числу
б. арифметическое выражение любого типа
в. выражение любого типа
Правильный ответ а
Вопрос 6. В языке С++ в конструкции оператора switch наличие парных операторных скобок, определяющих границы тела оператора, является ...
а. недопустимым
б. обязательным
в. рекомендательным
Правильный ответ б
Вопрос 7. Цикл с предусловием ...
а. может быть не выполнен ни разу
б. должен быть выполнен хотя бы один раз
в. должен быть выполнен несколько раз
Правильный ответ а
Вопрос 8. Цикл с постусловием ...
а. может быть выполнен хотя бы один раз
б. может быть не выполнен ни разу
в. должен быть выполнен хотя бы один раз
Правильный ответ в
Вопрос 9. В языке С++ в блоке модификации в цикле с параметром количество используемых символов "точка с запятой" равно ...
а. двум
б. трем
в. одному
Правильный ответ а
Вопрос 10. Для выхода из цикла в языке С++ может быть использован оператор ...
а. continue
б. break
в. getch
Правильный ответ б
Вопрос 11. Количество элементов в статическом массиве ...
а. всегда должно быть задано явно
б. может быть не задано явно
в. равно нулю
Правильный ответ а
Вопрос 12. Вариант инициализации массива float x[5] = {9, 8, 7, 6, 5, 4, 3, 2, 1}; является ...
а. ошибочным
б. возможным
в. единственно верным
Правильный ответ а
Вопрос 13. При использовании метода пузырьковой сортировки ...
а. обмен выполняется не только между соседними элементами массива
б. обмен выполняется только между соседними элементами массива
в. обмена между элементами не происходит
Правильный ответ б
Вопрос 14. В языке С++ строка int i_matrix [10] [20]; представляет собой ...
а. инициализацию массива
б. объявление массива с одновременной инициализацией
в. объявление массива
Правильный ответ в
Вопрос 15. Порядок матрицы - это ...
а. число столбцов и строк матрицы
б. не число строк и не число столбцов матрицы
в. только число строк матрицы
Правильный ответ а

КРИТЕРИИ ОЦЕНИВАНИЯ ВОПРОСОВ ЗАКРЫТОГО ТИПА
Каждое задание оценивается 1 баллом. Оценивание КИМ теоретического характера в целом:
"зачтено" - верно выполнено не менее 50% заданий; "не зачтено" - верно выполнено не более 50% заданий
"отлично" - верно выполнено 85..100% заданий; "хорошо" - верно выполнено 70..84% заданий; "удовлетворительно" - верно выполнены 50..69% заданий; "неудовлетворительно" - верно выполнены менее 50% заданий

ПРИМЕРЫ ЗАДАНИЙ ОТКРЫТОГО ТИПА
Задание 1. Пояснить, является ли правильным утверждение о том, что стандартные функции в языке С++ могут иметь неодинаковые типы аргументов и результата
Правильный ответ: утверждение о том, что стандартные функции в языке С++ могут иметь неодинаковые типы аргументов и результата, является правильным, так как в функциях могут использоваться аргументы и результат разных типов
Задание 2. Пояснить, является ли правильным утверждение о том, что стандартные функции в языке С++ должны иметь одинаковые типы аргументов и результата
Правильный ответ: утверждение о том, что стандартные функции в языке С++ должны иметь неодинаковые типы аргументов и результата, является ошибочным, так как у аргументов и результата вполне допустимы разные типы значений
Задание 3. Пояснить, имеет ли смысл использование оператора goto в составе линейных программ
Правильный ответ: использование оператора goto в составе линейных программ бессмысленно, так как его применение сразу делает программу нелинейной
Задание 4. Пояснить, какая функция в С++ может быть использована для организации форматного ввода
Правильный ответ: для организации форматного ввода в С++ может быть использована функция scanf(); функция предназначена для чтения потока stdin и сохранения информации в переменных, перечисленных в списке аргументов
Задание 5. Пояснить назначение функции printf() в языке С++
Правильный ответ: функция printf() в языке С++ предназначена для организации вывода данных; функция записывает в стандартный поток stdout значения аргументов из заданного списка аргументов
Задание 6. Пояснить назначение функции scanf() в языке С++
Правильный ответ: функция scanf() в языке С++ предназначена для ввода данных; функция читает поток stdin и сохраняет информацию в переменных, перечисленных в списке аргументов
Задание 7. Пояснить, какой тип выражений может быть использован в качестве выражения в составе условного оператора if
Правильный ответ: в качестве выражения в составе условного оператора if должно быть использовано выражение, приводимое к целому числу
Задание 8. Пояснить, является ли верным утверждение о том, что в качестве выражения в составе условного оператора if может быть использовано арифметическое выражение любого типа
Правильный ответ: высказанное утверждение является ошибочным, так как результат выражения зависит от типов аргументов и может быть неоднозначен для интерпретации при использовании условного оператора
Задание 9. Пояснить является ли обязательным наличие парных операторных скобок, определяющих границы тела оператора, в конструкции оператора switch в языке С++
Правильный ответ: да, наличие парных операторных скобок в конструкции оператора switch является обязательным, так как они определяют границы данного оператора
Задание 10. Пояснить, какой из циклов может быть не выполнен ни разу
Правильный ответ: ни разу может быть не выполнен цикл с предусловием, так как условие входа в тело цикла может быть не выполнено сразу - до самого входа
Задание 11. Пояснить, какой из вариантов цикла должен быть выполнен хотя бы один раз
Правильный ответ: хотя бы один раз должен быть выполнен цикл с постусловием, так как первоначальное вхождение в тело цикла выполняется без проверки какого-либо условия
Задание 12. Пояснить, какое количество символов "точка с запятой" содержит блок модификации в цикле с параметром в языке С++
Правильный ответ: блок модификации в цикле с параметром в языке С++ содержит два символа "точка с запятой", так как данные символы используются в качестве разделителей трех компонентов блока модификации - переменной цикла, установки ее начального значения, а также определения закона ее изменения
Задание 13. Пояснить, какой оператор используется для выхода из цикла (завершения работы цикла) в языке С++
Правильный ответ: для выхода из цикла (завершения работы цикла) в языке С++ используется оператор break, после применения которого управление передается первому оператору кода, стоящему после цикла
Задание 14. Пояснить, может ли в языке С++ для выхода из цикла использоваться функция (оператор) getch
Правильный ответ: для выхода из цикла функция (оператор) getch не может быть использована, так как данная функция предназначена для чтения символа, введенного с клавиатуры
Задание 15. Пояснить, к чему приведет попытка применения оператора break в теле цикла в языке С++
Правильный ответ: попытка применения оператора break в теле цикла в языке С++ приведет к выходу из цикла и передаче управления оператору, стоящему первым после данного цикла
Задание 16. Пояснить, является ли правильным утверждение о том, что количество элементов в статическом массиве всегда должно быть задано явно
Правильный ответ: утверждение о том, что количество элементов в статическом массиве всегда должно быть задано явно является верным, так как в ином случае вопрос о количестве элементов массива не будет однозначным, и это приведет к ошибке компиляции
Задание 17. Пояснить, к чему приведет попытка применения в программном коде на языке С++ конструкции float x[5] = {9, 8, 7, 6, 5, 4, 3, 2, 1};
Правильный ответ: попытка применения данной конструкции приведет к ошибке компиляции, так как в конструкции имеет место несоответствие заявленного количества элементов массива (5) и фактически определяемого количества элементов (9)
Задание 18. Пояснить, при реализации какого метода сортировки элементов массива последовательный обмен производится только между соседними элементами этого массива
Правильный ответ: последовательный обмен только между соседними элементами массива производится только при реализации метода пузырьковой сортировки
Задание 19. Пояснить, является ли правильным утверждение о том, что в языке С++ строка int i_matrix [10] [20]; представляет собой инициализацию массива
Правильный ответ: высказанное утверждение является ошибочным, так как под инициализацией массива подразумевается определение начальных значений его элементов, а в данном случае имеет место объявление массива
Задание 20. Пояснить, является ли правильным утверждение о том, что объявление массива и его инициализация - это одно и то же
Правильный ответ: высказанное утверждение является ошибочным, так как - это определение (точнее, указание системе) типа массива и количества элементов в нем, а инициализация - определение начальных значений всех или некоторых его элементов

КРИТЕРИИ ОЦЕНИВАНИЯ ВОПРОСОВ ОТКРЫТОГО ТИПА
"Отлично"/зачтено. Ответ полный, развернутый. Суть передана исчерпывающе и точно, принятая терминология полностью сохранена. Ошибок нет.
"Хорошо"/зачтено. Ответ полный, но краток. Суть передана точно, но имеются неточности в использовании терминологии. Ошибки незначительны.
"Удовлетворительно"/зачтено. Ответ неполный. Значительные неточности в применении терминологии. Студент владеет частью материала.
"Неудовлетворительно"/не зачтено. Ответа нет, либо он не раскрывает сути требуемого. Студент не владеет материалом.
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Не предусмотрены
5.3. Фонд оценочных средств для проведения промежуточной аттестации
Промежуточная аттестация заключается в проведении в конце первого семестра зачета (экзамена) по изученному в течение семестра материалу, а в конце второго семестра - по материалу, изученному в течение обоих семестров (по всему курсу). Зачет (экзамен) проводится в устной форме по билетам. В билет входит 2 вопроса теоретического характера и одно практическое задание.

ПРИМЕРЫ ТЕМАТИКИ ВОПРОСОВ К ЭКЗАМЕНУ/ЗАЧЕТУ ТЕОРЕТИЧЕСКОГО ХАРАКТЕРА (ПЕРЕЧЕНЬ РАЗДЕЛОВ)
1. Этапы решения задачи с использованием вычислительной техники
2. Виды программной и эксплуатационной документации
3. Понятие алгоритма. Алгоритмическая система. Алгоритмизация
4. Средства записи алгоритмов. Словесная запись. Блок-схемы и структурограммы
5. Технология разработки алгоритмов
6. Базовые алгоритмические структуры
7. Парадигмы программирования. Развитие языков программирования
8. Алфавит языков программирования Pascal и С++. Структура программы на языках Pascal и С++
9. Стандартные типы данных я языках программирования Pascal и С++. Понятие опе-рации. Преобразование типов
10. Линейные и разветвленные алгоритмы в языках программирования Pascal и С++. Операторы if и множественного выбора
11. Организация циклов я языках программирования Pascal и С++. Цикл с предуслови-ем, цикл с постусловием
12. Организация циклов в языках программирования Pascal и С++. Цикл с параметром. Операторы break, continue, goto, exit
13. Создание одномерных массивов в языках программирования Pascal и С++, особен-ности работы с ними
14. Методы сортировки одномерных массивов в языках программирования Pascal и С++
15. Создание многомерных массивов в языках программирования Pascal и С++, осо-бенности работы с ними
16. Особенности сортировки матриц в языках программирования Pascal и С++
17. Строка как массив символов. Ввод/вывод строк, функции работы со строками
18. Пользовательские типы данных в языке программирования С++. Структуры – осо-бенности создания и работы. Понятие псевдонима структуры. Вложенные структу-ры, массивы структур
19. Пользовательские типы данных в языке программирования С++. Объединения и перечисления – особенности создания и работы
20. Структура жесткого диска. Файловые системы DOS и NTFS
21. Организация ввода и вывода в языке программирования С++. Стандартные файлы ввода/вывода. Текстовые файлы. Методы обработки текстовых файлов
22. Организация ввода и вывода в языке программирования С++. Двоичные файлы. Последовательный доступ к элементам двоичных файлов
23. Организация ввода и вывода в языке программирования С++. Произвольный до-ступ к элементам двоичных файлов
24. Обобщенная архитектура процессора IBM PC. Понятие об адресном пространстве, понятие о моделях памяти
25. Функции в языке программирования С++. Объявление и определение функций, параметры функций
26. Функции в языке программирования С++. Локальные и глобальные переменные. Строки, массивы и структуры в качестве параметров функций
27. Функции в языке программирования С++. Рекурсия. Встраиваемые функции. Пе-регрузка функций, использование аргументов по умолчанию
28. Указатели в языке программирования С++. Объявление и разыменовывание указа-телей
29. Указатели в языке программирования С++. Нулевые указатели и указатели на тип Void
30. Ссылки в языке программирования С++. Резервирование памяти в куче

ПРИМЕРЫ ВОПРОСОВ К ЭКЗАМЕНУ/ЗАЧЕТУ ТЕОРЕТИЧЕСКОГО ХАРАКТЕРА
1. Перечислить этапы решения задачи с использованием средств вычислительной техники. Пояснить назначение и характерные особенности каждого из этапов
2. Перечислить виды программной и эксплуатационной документации. Пояснить назначение и характерные особенности каждого из этапов
3. Дать понятие алгоритма, алгоритмической системы, алгоритмизации. Перечислить свойства алгоритма
4. Перечислить средства записи алгоритмов. Пояснить назначение словесной записи, блок-схем и структурограмм. Привести примеры
5. Пояснить суть основных технологических приемов разработки алгоритмов
6. Привести перечень базовых алгоритмических структур. Пояснить их основные особенности
7. Перечислить основные парадигмы программирования. Пояснить динамику развития языков программирования
8. Пояснить основные особенности алфавита языков программирования Pascal и С++. Привести общую структуру программ на языках Pascal и С++
9. Привести стандартные типы данных в языках программирования Pascal и С++. Дать понятие операции, понятие преобразования типов
10. Пояснить особенности реализации линейных и разветвленных алгоритмов средствами языков программирования Pascal и С++. Пояснить назначение и особенности применения операторов if и множественного выбора
11. Дать понятие цикла с предусловием, цикла с постусловием, пояснить особенности их организации средствами языков программирования Pascal и С++
12. Дать понятие цикла с параметром, пояснить особенности его организации средствами языков программирования Pascal и С++. Пояснить назначение и особенности применения операторов break, continue, goto, exit
13. Пояснить особенности создания одномерных массивов средствами языков программирования Pascal и С++, привести основные приемы работы с ними
14. Показать методы сортировки одномерных массивов средствами языков программирования Pascal и С++
15. Пояснить особенности создания многомерных массивов средствами языков программирования Pascal и С++, привести особенности работы с ними
16. Пояснить особенности сортировки матриц средствами языков программирования Pascal и С++
17. Дать понятие строки как массива символов. Пояснить основные правила ввода/вывода строк, назначение и особенности применения функций работы со строками средствами языка программирования С++
18. Дать понятие структуры, пояснить особенности создания структур и работы с ними. Понятие псевдонима структуры. Вложенные структуры, массивы структур. Привести примеры
19. Пояснить понятие пользовательского типа данных в языке программирования С++. Дать понятие объединения и перечисления, привести особенности их создания и работы с ними
20. Пояснить структуру жесткого диска. Дать понятия файловой системы DOS и NTFS
21. Привести перечень стандартных файлов ввода/вывода. Дать понятие текстового файла и методов обработки текстовых файлов средствами языка программирования С++
22. Дать понятие двоичного файла. Пояснить особенности организации последовательного доступа к элементам двоичных файлов средствами языка С++
23. Пояснить особенности организации произвольного доступа к элементам двоичных файлов средствами языка программирования С++
24. Дать понятие обобщенной архитектуры процессора IBM PC. Пояснить понятие адресного пространстве, понятие о моделях памяти, инструментальных средствах языка программирования С++ для работы с памятью
25. Дать общее понятие функции в языке программирования С++. Пояснить особенности объявления и определения функций, параметров функций средствами языка С++
26. Дать общее понятие функции в языке программирования С++. Пояснить назначение локальных и глобальных переменных, особенности работы со строками, массивами и структурами в качестве параметров функций в языке С++
27. Дать общее понятие функции в языке программирования С++. Пояснить понятия рекурсии, встраиваемых функций, перегрузки функций, использование аргументов по умолчанию средствами языка С++

КРИТЕРИИ ОЦЕНИВАНИЯ ОТВЕТОВ НА ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ
ОСНОВНЫЕ ПОКАЗАТЕЛИ ОЦЕНКИ:
* Отлично/зачтено (повышенный уровень, 85..100 баллов) - самостоятельно даны полные, развернутые ответы на все поставленные вопросы
* Хорошо/зачтено (базовый уровень, 70..84 балла) - самостоятельно даны полные, развернутые ответы не на все поставленные вопросы; допущены неточности при ответах не более чем на три поставленных вопроса, потребовались наводящие вопросы преподавателя
* Удовлетворительно/зачтено (пороговый уровень, 50..69 баллов) - самостоятельно даны полные, развернутые ответы не менее чем на половину поставленных вопросов; допущены неточности при ответах на более чем три поставленных вопроса, потребовались наводящие вопросы преподавателя
* Неудовлетворительно/не зачтено (уровень не сформирован, 0..49 баллов) - самостоятельно даны полные, развернутые ответы менее чем на половину поставленных вопросов; допущены значительные неточности при ответах на более чем половину поставленных вопросов

ТЕМЫ ПРАКТИЧЕСКИХ ЗАДАНИЙ К ЭКЗАМЕНУ/ЗАЧЕТУ
1. Интегрированные среды разработки программного обеспечения
2. Решение задач с использованием ветвящихся алгоритмов. Операции отношения, логические операции
3. Операции отношения, логические операции
4. Программирование с использованием циклов
5. Решение задач численными методами с использованием циклов
6. Программирование с использованием одномерных массивов
7. Программирование с использованием двумерных (многомерных) массивов
8. Решение задач с использованием символьных строк
9. Структурный тип данных
10. Файловый ввод/вывод. Текстовые файлы. Организация ввода/вывода. Файловая система
11. Файловый ввод/вывод. Двоичные файлы
12. Программирование с использованием функций

ПРИМЕРЫ ПРАКТИЧЕКИХ ЗАДАНИЙ К ЭКЗАМЕНУ/ЗАЧЕТУ
1. Ввести с клавиатуры целое число, значение которого будет определять количество символов во водимой далее последовательности. Найти количество цифр в последовательности.
2. Ввести с клавиатуры два целых числа n и k, после чего выполнить ввод последовательности из k действительных чисел. Вывести на экран все числа последовательности, меньшие n, а также информацию об их количестве таких чисел.
3. Вывести на экран все четырехзначные числа, в записи которых нет одинаковых цифр.
4. Ввести с клавиатуры число, которое будет определять максимальное количество символов во вводимой последовательности. Организовать ввод такой последовательности. При вводе двух подряд одинаковых символов прекратить ввод и вывести информацию о количестве введенных символов, сопровождаемую сообщением «Введены не все символы». Иначе – вывести сообщение «Введены все символы».
5. Ввести с клавиатуры последовательность из целых чисел. Вывести на экран максимальное и минимальное значения введенной последовательности.
6. Ввести с клавиатуры последовательность из целых чисел. Определить, имеются ли во введенной последовательности упорядоченные по возрастанию подпоследовательности.
7. Дано 20 вещественных чисел. Вычислить разность между максимальным и минимальным числом.
8. Задана непустая последовательность различных натуральных чисел, за которой следует ноль. Определить порядковый номер наименьшего числа.
9. Дано целое n > 0 и последовательность вещественных чисел, среди которых имеется как минимум одно отрицательное число. Найти значение наибольшего среди отрицательных членов последовательности.
10. Дано 15 вещественных чисел. Определить, образуют ли эти числа возрастающую последовательность.
11. Выполнить циклический сдвиг всех элементов 15-элементного массива на две позиции вправо.
12. В массиве из 20 целых чисел найти сумму и количество чисел, превышающих введенное с клавиатуры число, а также меньших его.
13. Дан целочисленный массив, состоящий из 20 элементов. Сформировать новый массив, в начало которого поместить числа исходного массива, меньшие среднего арифметического его значений, а затем – большие среднего арифметического.
14. В массиве из 20 вещественных чисел найти и поменять местами элементы с максимальным и минимальным значением.
15. В массиве из 20 целочисленных элементов определить что больше – среднее арифметическое значение его положительных элементов, или модуль среднего арифметического значения его отрицательных элементов. (4 балла)
16. Дан массив int mas[15]. Перевернуть содержимое массива.
17. Даны два целочисленных массива. Определить, в каком из них больше сумма максимального и минимального элементов.
18. Определить, упорядочен ли массив из 20 вещественных чисел по убыванию.
19. Создать массив из 20 символьных переменных. Сформировать из элементов этого массива второй массив, расположив в нем первоначально цифры, затем буквы, а в конце – символы, не являющиеся ни буквами, ни цифрами.
20. Выполнить арифметический сдвиг элементов 10-элементного массива на три позиции влево.

КРИТЕРИИ ОЦЕНИВАНИЯ ВЫПОЛНЕНИЯ ПРАКТИЧЕКИХ ЗАДАНИЙ
ОСНОВНЫЕ ПОКАЗАТЕЛИ ОЦЕНКИ:
1. Полнота выполнения практического задания;
2. Своевременность выполнения задания;
3. Последовательность и рациональность выполнения задания;
4. Самостоятельность решения;

* Отлично/зачтено (повышенный уровень, 85..100 баллов) - студентом задание выполнено своевременно, полностью самостоятельно. При этом представ-лена пояснительная записка, в которой выполнена постановка задачи, описана модель решения задачи, представлено неформальное описание алгоритма решения задачи, показан опорный граф решения, описан проект программы с определением замкнутых программных единиц и необходимых при разработке структур данных, представлен текст программы на двух языках программирования высокого уровня, выполнена проверка работоспособности программы с представлением отчета о проверке, показаны результаты сравнительного анализа эффективности анализа работы программ на разных языках программирования. К содержимому пояснительной записки нет замечаний
* Хорошо/зачтено (базовый уровень, 70..84 балла) - студентом задание выполнено своевременно, с подсказками преподавателя. При этом представлена пояснительная записка, в которой выполнена постановка задачи, описана модель решения задачи, представлено неформальное описание алгоритма решения задачи, показан опорный граф решения, описан проект программы с определением замкнутых программных единиц и необходимых при разработке структур данных, представлен текст программы на двух языках программирования высокого уровня, выполнена проверка работоспособности программы с представлением отчета о проверке, показаны результаты сравнительного анализа эффективности анализа работы программ на разных языках программирования. К содержимому пояснительной записки имеются замечания, требующие внесения незначительных исправлений не более чем в четыре пункта
* Удовлетворительно/зачтено (пороговый уровень, 50..69 баллов) - студентом задание выполнено своевременно с множественными подсказками преподавателя, или задание выполнено с задержкой времени. При этом представлена пояснительная записка, в которой выполнена постановка задачи, описана модель решения задачи, представлено не-формальное описание алгоритма решения задачи, показан опорный граф решения, описан проект программы с определением замкнутых программных единиц и необходимых при раз-работке структур данных, представлен текст программы на двух языках программирования высокого уровня, выполнена проверка работоспособности программы с представлением от-чета о проверке, показаны результаты сравни-тельного анализа эффективности анализа работы программ на разных языках программирования. К содержимому пояснительной записки имеются серьезные замечания, требующие внесения значительных исправлений не более чем в четыре пункта
* Неудовлетворительно/не зачтено (уровень не сформирован, 0..49 баллов) - студентом задание не выполнено, или к содержимому пояснительной записки имеются серьезные замечания, требующие внесения значительных исправлений более чем в четыре пункта, или в пояснительной записке отсутствует более одного пункта

КРИТЕРИИ ОЦЕНИВАНИЯ ОТВЕТОВ НА ЭКЗАМЕНЕ/ЗАЧЕТЕ В ЦЕЛОМ
ОСНОВНЫЕ ПОКАЗАТЕЛИ ОЦЕНКИ:
1. Полнота изложения теоретического материала;
2. Полнота и правильность решения практического задания;
3. Правильность и/или аргументированность изложения (последовательность действий)
4. Самостоятельность ответа;
5. Культура речи

* Отлично/зачтено (повышенный уровень, 85..100 баллов) - студентом дан полный, в логической последовательности развернутый ответ на поставленный вопрос, где он продемонстрировал знания предмета в полном объеме учебной программы, достаточно глубоко осмысливает дисциплину, самостоятельно, и исчерпывающе отвечает на дополнительные вопросы, приводит собственные примеры по проблематике поставленного вопроса, решил предложенные практические задания без ошибок
* Хорошо/зачтено (базовый уровень, 70..84 балла) - студентом дан развернутый ответ на поставленный вопрос, где студент демонстрирует знания, приобретенные на лекционных и лабораторных занятиях, а также полученные посредством изучения обязательных учебных материалов по курсу, дает аргументированные ответы, приводит примеры, в ответе присутствует свободное владение монологической речью, логичность и последовательность ответа. Однако допускается неточность в ответе. Решил предложенные практические задания с небольшими неточностями
* Удовлетворительно/зачтено (пороговый уровень, 50..69 баллов) - студентом дан ответ, свидетельствующий в основном о знании процессов изучаемой дисциплины, отличающийся недостаточной глубиной и полнотой раскрытия темы, знанием основных вопросов теории, слабо сформированными навыками анализа явлений, процессов, недостаточным умением давать аргументированные ответы и приводить примеры, недостаточно свободным владением монологической речью, логичностью и последовательностью ответа. Допускается несколько ошибок в содержании ответа и решении практических заданий
* Неудовлетворительно/не зачтено (уровень не сформирован, 0..49 баллов) - студентом дан ответ, который содержит ряд серьезных неточностей, обнаруживающий незнание процессов изучаемой предметной области, отличающийся неглубоким раскрытием темы, незнанием основных вопросов теории, несформированными навыками анализа явлений, процессов, неумением давать аргументированные ответы, слабым владением монологической ре-чью, отсутствием логичности и последователь-ности. Выводы поверхностны. Решение практических заданий не выполнено. Т.е студент не способен ответить на вопросы даже при дополнительных наводящих вопросах преподавателя

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Зыков С.В. Программирование. Объектно-ориентированный подход: Учебник и практикум для академического бакалавриата Юрайт, 2018 // ЭБС "Юрайт" www.biblio-online.ru
Л1.2 Трофимов В.В. - отв. ред. Алгоритмизация и программирование: Учебник для академического бакалавриата М.: Издательство Юрайт, 2018 // ЭБС "Юрайт" www.biblio-online.ru
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Синицын С.В., Михайлов А.С., Хлытчиев О.И. Программирование на языке высокого уровня: учебник М.: Академия, 2010
Л2.2 Потопахин В.В. Современное программирование с нуля!: Учебное пособие М.: ДМК Пресс, 2010 // ЭБС "Лань" e.lanbook.com
Л2.3 Златопольский Д.М. Программирование: типовые задачи, алгоритмы, методы: М.: БИНОМ. Лаборатория знаний, 2020 e.lanbook.com
Л2.4 Страуструп Б. Язык программирования С++ для профессионалов: Профессиональная литература ИНТУИТ, 2006 // ЭБС "Университетская библиотека ONLINE" biblioclub.ru
Л2.5 Тузовский А.Ф. Объектно-ориентированное программирование: Учебное пособие для прикладного бакалавриата М.: Издательство Юрайт, 2018 // ЭБС "Юрайт" urait.ru
Л2.6 Н.В. Волков Программирование: учебное пособие Изд-во АлтГУ, 2014 // ЭБС АлтГУ, 2016 elibrary.asu.ru
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Курс "Программирование" на Образовательном портале Алтайского государственного университета portal.edu.asu.ru
Э2 Введение в программирование. Учебный курс intuit.ru
Э3 Язык программирования С++ intuit.ru
6.3. Перечень программного обеспечения
Lazarus
Условия использования: http://wiki.lazarus.freepascal.org/Lazarus_Faq#Licensing
Eclipse (PHP,C++, Phortran)
Условия использования: http://www.eclipse.org/legal/eplfaq.php
Microsoft Windows
Microsoft Office
7-Zip
AcrobatReaderMicrosoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Chrome (http://www.chromium.org/chromium-os/licenses), (бессрочно); 7-Zip (http://www.7-zip.org/license.txt), (бессрочно);
AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra-linux-special-edition/), (бессрочно);
LibreOffice (https://ru.libreoffice.org/), (бессрочно);
Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно);
Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024);
Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
Okular (https://okular.kde.org/ru/download/), (бессрочно);
Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем
Использование не предусмотрено

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
001вК склад экспериментальной мастерской - помещение для хранения и профилактического обслуживания учебного оборудования Акустический прибор 01021; виброизмеритель 00032; вольтметр Q1202 Э-500; вольтметр универсальный В7-34А; камера ВФУ -1; компьютер Турбо 86М; масспектрометр МРС -1; осциллограф ЕО -213- 2 ед.; осциллограф С1-91; осциллограф С7-19; программатор С-815; самописец 02060 – 2 ед.; стабилизатор 3218; терц-октавный фильтр 01023; шкаф вытяжной; шумомер 00026; анализатор АС-817; блок 23 Г-51; блок питания "Статрон" – 2 ед.; блок питания Ф 5075; вакуумный агрегат; весы; вольтметр VM -70; вольтметр В7-15; вольтметр В7-16; вольтметр ВУ-15; генератор Г-5-6А; генератор Г4-76А; генератор Г4-79; генератор Г5-48; датчик колебаний КВ -11/01; датчик колебаний КР -45/01; делитель Ф5093; измеритель ИМП -2; измеритель параметров Л2-12; интерферометр ИТ 51-30; источник "Агат" – 3 ед.; источник питания; источник питания 3222; источник питания ЭСВ -4; лабораторная установка для настройки газовых лазеров; лазер ЛГИ -21; М-кальк-р МК-44; М-калькул-р "Электроника"; магазин сопротивления Р4075; магазин сопротивления Р4077; микроскоп МБС -9; модулятор МДЕ; монохроматор СДМС -97; мост переменного тока Р5066; набор цветных стекол; насос вакумный; насос вакуумный ВН-01; осциллограф С1-31; осциллограф С1-67; осциллограф С1-70; осциллограф С1-81; осциллоскоп ЕО -174В – 2 ед.; пентакта L-100; пирометр "Промень"; пистонфон 05001; преобразователь В9-1; прибор УЗДН -2Т; скамья оптическая СО 1м; спектограф ДФС -452; спектограф ИСП -51; стабилизатор 1202; стабилизатор 3217 – 4 ед.; стабилизатор 3218; стабилизатор 3222 – 3 ед.; станок токарный ТВ-4; усилитель мощности ЛВ -103 – 4 ед.; усилитель У5-9; центрифуга ВЛ-15; частотомер Ч3-54А; шкаф металлический; эл.двигатель; электродинамический калибратор 11032
203К лаборатория цифровой обработки сигналов - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 12 посадочных мест; рабочее место преподавателя; доска меловая 2 шт.; компьютеры: марка компьютер Парус модель 945 MSI - 12 единиц; коммутатор D-LINK; методические указания по выполнению лабораторной работы по дисциплине "Нейроинформационные технологии": алгоритм обратного рассеяния; обучение без учителя; персептрон; Сети Хопфилда и Хемминга.
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)

8. Методические указания для обучающихся по освоению дисциплины

На каждом из лабораторных занятий студенту предлагаются методические указания к выполнению лабораторной работы по соответствующей теме, начиная с первой. Студент выполняет изучение теоретической части работы, рассматривает представленные в описа-нии примеры решений. После получения индивидуального задания, в соответствии с рег-ламентированным в Методических указаниях порядком выполнения работы, студент вы-полняет решение задания, подготавливая пояснительную записку, в которой должны быть представлены:
• формулировка задачи,
• постановка задачи,
• модель решения задачи (математическая модель),
• неформальное описание алгоритма решения задачи,
• опорный граф алгоритма решения задачи,
• функциональная декомпозиция решения,
• программный код решения задачи на двух языках программирования высокого уровня,
• результаты выполненной проверки работоспособности программ с представлением отчета о проверке,
• результаты сравнительного анализа эффективности работы программ на использо-ванных языках программирования.
После подготовки полного варианта пояснительной записки, ее проверки преподавателем, а также проверки работоспособности написанных студентом программных кодов, студенту предлагается ответить на ряд теоретических вопросов по теме лабораторной работы. Количество таких вопросов – не менее 7. Работа считается выполненной полностью в случае, когда ее результаты соответствуют представленным выше критериям оценивания практических заданий и ответов на вопросы. После этого студент получает возможность начать выполнение следующей по списку лабораторной работы с получением соответствующих методических указаний.
На экзамене студент получает билет с двумя теоретическими вопросами из перечня, представленного в разделе Перечень вопросов к экзамену. Кроме того, помимо двух теоре-тических вопросов студенту предлагается выполнить одно практическое задание в виде составления программы решения задачи с использованием двух языков программирования.