(ФГБОУ ВО ГАГУ, ГАГУ, Горно-Алтайский государственный университет)
02.03.01 Математика и компьютерные науки
(<Курс>.<Семестр на курсе>)
Зав. кафедрой Богданова Рада Александровна
Зав. кафедрой Богданова Рада Александровна
исполнения в 2028-2029 учебном году на заседании кафедры
Зав. кафедрой Богданова Рада Александровна
исполнения в 2027-2028 учебном году на заседании кафедры
Зав. кафедрой Богданова Рада Александровна
исполнения в 2026-2027 учебном году на заседании кафедры
Зав. кафедрой Богданова Рада Александровна
исполнения в 2025-2026 учебном году на заседании кафедры
ции
ракт.
2. Фонд оценочных средств включает примерный тест для проведения входного контроля, примеры задач для лабораторных работ, примерный перечень вопросов к экзамену и зачету, примерные темы курсовых работ.
1. Что называется алгоритмом?
1. последовательность команд, которую может выполнить исполнитель
2. система команд исполнителя
3. нумерованная последовательность строк
4. ненумерованная последовательность строк
2. Что такое исполнитель алгоритма?
1. Это список команд для решения поставленной задачи.
2. Это программа, составленная по заданному алгоритму.
3. Это объект, который способен понимать и исполнять команды, указанные в алгоритме.
3. Какой алгоритм называется циклическим?
2. Алгоритм, в котором команда или несколько команд работают многократно.
3. Алгоритм, который работает либо по одной ветви, либо по другой, в зависимости от выполнения условия.
4. Какой алгоритм называется линейным?
1. Алгоритм, в котором команды работают последовательно одна за другой.
2. Алгоритм, в котором команда или несколько команд работают многократно.
3. Алгоритм, который работает либо по одной ветви, либо по другой, в зависимости от выполнения условия.
5. Какой алгоритм называется алгоритмом ветвления?
1. Алгоритм, в котором команды работают последовательно одна за другой.
2. Алгоритм, в котором команда или несколько команд работают многократно.
3. Алгоритм, который работает либо по одной ветви, либо по другой, в зависимости от выполнения условия.
6.Модель есть замещение изучаемого объекта другим объектом, который отражает…
1. все стороны данного объекта
2. некоторые стороны данного объекта
3. существенные стороны данного объекта
4. несущественные стороны данного объекта
7.Модель содержит информации…
1. столько же, сколько и моделируемый объект
2. меньше, чем моделируемый объект
3. больше, чем моделируемый объект
4. не содержит информации
8.Каковы основные этапы обработки информации компьютером?
1. Ввод и вывод информации.
2. Ввод, преобразование, хранение, вывод информации.
3. Сохранение информации в файле.
9.Какой этап решения задачи на компьютере отсутствует в следующей цепочке:объект - … - исследование модели на компьютере - анализ результатов и корректировка модели?
1. построение информационной модели
2. кодировка алгоритма на языке программирования
3. анализ полученных данных
4. разработка алгоритма
10. Свойством алгоритма является:
1. Результативность;
2. Цикличность;
3. Возможность изменения последовательности выполнения команд;
4. Возможность выполнения алгоритма в обратном порядке;
5. Простота записи на языках программирования.
Критерии оценки
«Зачтено» – выполнение верно более 60% заданий.
«Не зачтено» – выполнение 60% и менее заданий верно.
Текущий контроль осуществляется по выполнению практических работ, результаты которых проверяются в конце занятия.
Примерные задачи для лабораторных работ
Основы языка С++
Управляющие конструкции:
1. Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до А минут в месяц — В руб., а разговоры сверх установленной нормы оплачиваются из расчета С руб. за минуту. Написать программу, вычисляющую плату за пользование телефоном для введенного времени разговоров за месяц.
2. Напишите программу, которая по заданной оценке за успеваемость от 2 до 5 выводит, сообщение «неудовлетворительно», «удовлетворительно», «хорошо» или «отлично».
3. Напишите программу определения количества корней квадратного уравнения, где коэффиценты уравнения задаются с клавиатуры.
4. С клавиатуры вводится последовательность чисел до тех пор, пока не будет задан ноль, который элементом не считается. Определите количество положительных, отрицательных чисел.
1. Описать структуру с именем STUDENT, содержащую следующие поля:
• NAME - фамилия и инициалы;
• Номер группы;
• Успеваемость (целое число).
Написать программу, выполняющую следующие действия:
• Ввод с клавиатуры данных в массив, состоящий из четырех структур типа STUDENT.
• Вывод списка структур и среднего балла.
Для массива структур формулировка задания может содержать нахождение максимального, минимального значения какого-либо поля, суммы или количества записей удовлетворяющих какому-либо условию для заданного поля.
Одномерные массивы:
1. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки.
Например, для массива из шести элементов: 4 115 7 195 25 106 программа должна вывести
числа 4 2 7 2 25 106
Для одномерного массива формулировка задания может содержать нахождение суммы, количества элементов, удовлетворяющих заданному условию, а также минимального или максимального элемента массива.
Двумерные массивы:
1. Найдите максимальные элементы столбцов (строк, главной диагонали) матрицы размерностью 5×5, значения которой задаются случайным образом из диапазона от 0 до 9.
2. Найдите максимальный элемент всей матрицы размерностью 5×5, значения которой задаются случайным образом из диапазона от 0 до 9. выведите на экран количество максимальных элементов.
3. Найдите сумму (разность, умножение матрицы на заданное число) матриц A[n, m] и B[n, m].
Для двумерного массива формулировка задания может содержать нахождение суммы, количества элементов, удовлетворяющих заданному условию, а также минимального или максимального элемента массива для всей матрицы, для строки, для столбца, главной и побочной диагонали. Также возможно задание на нахождение суммы, разности, произведения (умножение на число) матриц.
Строки:
1. Считать с клавиатуры две строки (в отдельные строковые переменные). Сформировать новую (третью) строку, которая будет содержать введенные строки разделенные пробелом. Написать решение задачи с использованием библиотек cstring и string.
Примерна формулировка «комплексной» задачи
1. Описать структуру с именем STUDENT, содержащую следующие поля:
• NAME - фамилия и инициалы;
• Номер группы;
• Успеваемость (целое число).
Написать программу, выполняющую следующие действия:
• Ввод из текстового файла значений в массив, состоящий из четырех структур типа STUDENT.
• Вывод списка структур (с помощью функцию вывода значений структуры) и среднего балла.
Основы языка Python
Циклы
1.Последовательно вводятся числа. Определить сумму чисел с нечётными номерами и произведение чисел с чётными номерами (по порядку ввода). Подсчитать количество слагаемых и количество сомножителей. При вводе числа 55555 закончить работу.
Списки
1. Дан одномерный массив числовых значений, насчитывающий N элементов. Поменять местами элементы, стоящие на чётных и нечётных местах: A[1] ↔ A[2]; A[3] ↔ A[4].
2. Дан одномерный массив числовых значений, насчитывающий N элементов. Сумму элементов массива и количество положительных элементов поставить на первое и второе место.
Строки
1. Заданы M строк символов, которые вводятся с клавиатуры. Найти количество символов в самой длинной строке. Выровнять строки по самой длинной строке, поставив перед каждой строкой соответствующее количество звёздочек.
2. Заданы M строк символов, которые вводятся с клавиатуры. Из заданных строк, каждая из которых представляет одно слово, составить одну длинную строку, разделяя слова пробелами.
Двумерные массивы
1. Выполнить обработку элементов прямоугольной матрицы A, имеющей N строк и M столбцов. Найти наибольший элемент столбца матрицы A, для которого сумма абсолютных значений элементов максимальна.
2. Выполнить обработку элементов прямоугольной матрицы A, имеющей N строк и M столбцов. Найти наибольшее значение среди средних значений для каждой строки матрицы.
Типовые задачи на кортежи и множества
1. Дан список чисел, который может содержать до 100000 чисел. Определите, сколько в нем встречается различных чисел.
5. Во входном файле (вы можете читать данные из файла input.txt) записан текст. Словом считается последовательность непробельных символов идущих подряд, слова разделены одним или большим числом пробелов или символами конца строки.
Определите, сколько различных слов содержится в этом тексте.
Разработка пользовательского интерфейса доступа к БД.
1. Изучить SQLite3. Умения: Создание базы данных. Создание таблицы. Запрос на добавление данных в таблицу. Запрос на выборку данных из таблицы. Запрос на удаление данных. Отображение структуры базы данных (перечень таблиц). Отображение содержимого таблицы.
2. Создадим базу данных «Фирма» из трех таблиц: Сотрудники, Клиенты и Заказы. Организуйте связи между таблицами. Заполните таблицы БД не менее чем 10-ю записями. Осуществите отбор данных с помощью запросов различных типов. Создайте для работы с каждой таблицей формы и одну кнопочную форму, с которой осуществляется открытие форм для отдельных таблиц. Создайте отчеты на основе данных таблиц и запросов.
Основы VBA MS Excel
1. Написать функцию Func_Z, которая принимает три целых числа в качестве параметров и возвращает целое число равное удвоенной сумме переданных параметров. Запустить функцию Func_Z из процедуры Proba_2. Слагаемые в процедуре должны вводится при помощи окна InputBox. Результат должен быть выведен при помощи окна MsgBox
2. Написать функцию Func_X3, которая принимает в качестве параметров одну булеву переменную и три целых числа и возвращает целое число равное удвоенной сумме переданных целочисленных параметров, если первый пара-метр равен TRUE. Во всех других случаях функция должна возвращать -1. Функцию Func_X3 необходимо вызвать из процедуры Proba_2. Значения параметров должны вводиться в процедуре при помощи окна InputBox. Значение логической переменной должно быть введено в текстовом режиме словами «ИСТИНА», «ЛОЖЬ». При вводе должна осуществляться проверка адекватно-сти введенных данных требуемым условиям. Результат должен быть выведен при помощи окна MsgBox
3. На заданном рабочем листе заданной рабочей книги создать таблицу заказов, содержащую информацию о пяти товарах: Название товара, количество, цена, единицы измерения, сумма. Написать макрос, который выдает отчет о сделанных покупках с использованием элемента ListBox1 пользовательской формы. Название листа, на который помещена форма необходимо получить из элемента ComboBox1 той же формы. После вывода последней строки отчета форма должна закрыться. Отчет должен формироваться на основании информации, содержащейся в таблице заказов. Содержимое в ComboBox должно быть внесена при инициализации формы.
4. Создать пользовательскую форму; Поместить на нее элементы управления Label1, TextBox1 и CommandButton1; Написать процедуру, обрабатывающую нажатие на кнопку,
и выводящую поздравление с окончанием летней сессии в элемент управления Label1, а в элемент управления TextBox1 –количество дней до конца летней сессии. Окно TextBox1 должно быть не доступно для редактирования
5. В текущем рабочем каталоге должно быть не менее пяти файлов, из них два файла MS EXEL. Необходимо разработать функцию, которая возвращает строку со списком всех файлов, находящихся в текущем каталоге. Имена фай-лов в возвращаемой строке должны быть разделены пробелами. Используя данную функцию, вывести список файлов, которые находятся в текущем каталоге в первый столбец первого листа (имя каждого файла в отдельную ячейку). Файлы MS EXEL должны быть открыты.
Критерии оценки
- «зачтено» повышенный уровень (81-100%)
Выполнены правильно все задания, представленные в описании лабораторных работ. Возможно наличие некоторых неточностей в решении задач, за что снижается балл за текущий контроль.
- «зачтено» пороговый уровень (60-80%)
Выполнено правильно более половины заданий, около третьей части заданий не выполнены. Возможно наличие некоторых неточностей в решении задач.
«не зачтено» уровень не сформирован (менее 60%)
Выполнено правильно менее половины заданий. Возможно наличие некоторых неточностей в решении задач.
1. Алгоритмы поиска
2. Алгоритмы сортировки (пирамидальная, обменная, быстрая, сортировка слиянием)
3. Алгоритмы сортировки (подсчетом, включением, Шелла, сортировка извлечением)
4. Бинарные деревья поиска
5. Сбалансированные деревья
6. Сильноветвящиеся деревья
7. Хеш-функции
8. Хеш-таблицы
9. Абстрактные типы данных векторы и списки
10. Абстрактные типы данных стек, очередь, дек
11. Графы. Представление графов. Обход графа
12. Графы. Поиск компонент связности
13. Остовные деревья
14. Алгоритм Дейкстры
15. Хеш-таблицы
16. Элементы динамического программирования
17. Алгоритм Хаффмана
Форма представления курсовой работы:
Курсовая работа состоит из теоретической и практической частей. В теоретической части тема должна быть раскрыта содержательно. В практической части должны быть представлены программная реализация задачи, решаемой в рамках рассматриваемой темы. Критерии оценки:
- оценка «отлично» (повышенный уровень):
Тема курсовой работы раскрыта, содержательно представлена в теоретической и практической части. Оформление соответствует всем требованиям, предъявляемым к курсовым работам. Подготовлен доклад и презентация к защите.
- оценка «хорошо» (пороговый уровень):
Тема курсовой работы раскрыта с незначительными недочетами по теоретической и практической части. Оформление соответствует всем требованиям, предъявляемым к курсовым работам. Подготовлен доклад и презентация к защите.
– оценка «удовлетворительно»:
Тема курсовой работы раскрыта с недочетами по теоретической и практической части. Оформление соответствует всем требованиям, предъявляемым к курсовым работам.
- оценка «неудовлетворительно» (уровень не сформирован):
Тема курсовой работы не раскрыта, изложение в теоретической части неполное. Оформление курсовой работы не соответствует требованиям, предъявляемым к курсовым работам.
1. Понятие алгоритма: определенность,детерминированность, конечность, массовость.
2. Языки программирования: синтаксис,семантика, прагматика и их описания. Стадии разработки и реализации алгоритмов на языке
высокого уровня.
3. Основные понятия языка Си: значения,представление стандартных значений, идентификаторы, выражения, типы данных,переменные,
функции, операторы.
4. Базовые тип данных, представление чисел и символов.
5. Операции и выражения.
6. Операторы. Условный оператор. Оператор выбора. Операторы цикла.
7. Функции,синтаксис описания и вызова, передача параметров. Прототипы. Коллизия обозначений. Побочные эффекты.
Стек исполнения.
8. Рекурсия.Примеры. Применение.
9. Заголовочные файлы, модули, библиотеки.Компиляция.
10. Стандартные функции ввода-вывода.
11. Массивы.
12. Простейшие алгоритмы сортировки.
Примерный перечень вопросов к промежуточной аттестации 3 семестр (экзамен):
1. Арифметика указателей.
2. Динамическое выделение памяти, динамические массивы.
3. Массивы и функции
4. Символы и строки.
6. Определение пользовательских типов данных.
7. Модули.
8. Файлы.Текстовые файлы. Файловые операции.
Примерный перечень вопросов к промежуточной аттестации 4 семестр (экзамен):
1. Общие сведения о языке Python и особенности его стиля программирования.
2. Синтаксис и управляющие конструкции языка Python.
3. Переменные, значения и их типы. Присваивание значения.
4. Ввод значений с клавиатуры.
5. Встроенные операции и функции. Основные алгоритмические конструкции.
6. Условный оператор. Множественное ветвление. Условия равенства / неравенства.
7. Циклы и счетчики.
8. Определение функций. Параметры и аргументы. Вызовы функций. Оператор
возврата return.
9. Определение класса. Методы класса.
10. Последовательности в Python. Операторы, общие для всех типов
последовательностей.
11. Специальные операторы и функции для работы со списками.
12. Работа со словарями. Методы словарей.
13. Вложенные списки. Матрицы.
14. Основные стандартные модули и пакеты в Python и их импортирование.
15. Модуль Math.
16. Некоторые специализированные модули и приложения.
17. Библиотека символьной математики Sympy.
18. Создание собственных модулей и их импортирование.
19. Создание независимых exe-приложений в Python.
Примерный перечень тем к промежуточной аттестации 5 семестр (экзамен):
1.Работа с базами данных. Основные понятия теории реляционных баз данных. Таблицы, поля, записи. Основные и внешние ключи.
2.Подключение к базе данных. ODBC источник данных. Понятие рекордсета.
3.Подготовка и выполнение SQL запросов к базе данных.
Примерный перечень вопросов к промежуточной аттестации 6 семестр (экзамен):
1.Описание среды разработки. Автоматическая запись макросов. Объекты и обработка событий. Пример использования MsgBox
2.Модули, процедуры и функции. Передача параметров. Вызов функции из ячейки таблицы.
3.Типы данных. Тип Variant, пользовательский тип данных, массивы. Динамические массивы. Объявление переменных. Области видимости переменных. Локальные и глобальные переменные.
4.Потоки управления программой. Конструкции If …Then… Else, Select Case … End Select, For … Next, For Each … Next, Do Until … Loop, While … Wend
5.Объектная модель Excel. Объекты Application, Workbook, Worksheet, Range, Chart, Pivot Table, Comments. Свойства и методы объектов. Коллекции объектов.
6.Пример взаимодействия с листом (таблицей). Различные способы доступа к ячейкам.
7.Отладка программы, точки останова, частичное выполнение кода программы. Просмотр значений переменных. Обработка ошибок в программе.
8.Функции VBA для работы со строками. Поиск и замена элементов строки.
9.Работа с датами. Математические операторы VBA. Некоторые наиболее употребляемые функции
10.Формы и пользовательские диалоги. Создание пользовательской формы. Управление отображением формы из кода программы.
11.Элементы управления: окно редактирования, надписи, комбинированный список, кнопки, радиокнопки, изображения.
Критерии оценки на экзамене/зачет с оценкой
- оценка «отлично» (повышенный уровень):
1) Студент показал прочные знания основных положений учебной дисциплины, умение самостоятельно решать конкретные практические задачи.
2) Подтверждает примерами теоретический материал.
3) Если полностью ответил на два вопроса.
- оценка «хорошо» (пороговый уровень):
Студент показал прочные знания основных положений учебной дисциплины, умение самостоятельно решать конкретные практические задачи. В ответе студент допускает неточности фактического и теоретического плана, однако может исправить их при уточнении преподавателем.
– оценка «удовлетворительно»:
Студент показал знание основных положений учебной дисциплины, умение получить с помощью преподавателя
- оценка «неудовлетворительно» (уровень не сформирован):
Студент не владеет теоретическими сведениями по указанным вопросам, затрудняется в приведении примеров, большая часть практического материала выполнена неверно, студент затрудняется в исправлении ошибок.