Образовательные технологии. В соответствии с требованиями ФГОС ВО по направлению 38.03.05 «Бизнес-информатика» компетентностный подход к изучению дисциплины «Программирование»
В соответствии с требованиями ФГОС ВО по направлению 38.03.05 «Бизнес-информатика» компетентностный подход к изучению дисциплины «Программирование» реализуется путём проведения лекционных занятий и лабораторных работ с применением мультимедийных технологий.
Часть лекционного материала проводится в форме дискуссий. Преподавание дисциплины ведется с применением следующих видов образовательных технологий:
-информационные технологии;
- разрешение проблем;
- дискуссия;
- проблемное обучение;
- индивидуальное обучение;
- междисциплинарное обучение.
ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ УСПЕВАЕМОСТИ, ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ПО ИТОГАМ ОСВОЕНИЯ ДИСЦИПЛИНЫ И УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ
Текущий контроль знаний студентов производится в дискретные временные интервалы преподавателем, ведущим практические занятия по дисциплине, в следующих формах:
- тестирование;
- выполнение лабораторных работ;
- выполнения различного рода заданий;
- дискуссии;
- рейтинг-контроль.
Промежуточная аттестация знаний студентов производится по результатам работы в 3-м семестре в форме зачета и экзамена в 4-м семестре, которые включают в себя ответы на теоретические вопросы.
Фонды оценочных средств, включающие типовые задания и методы контроля, позволяющие оценить знания по данной дисциплине, включены в состав УМК дисциплины.
ЗАДАНИЯ ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ
Семестр
Рейтинг-контроль № 1
1. Ответьте письменно на следующие вопросы (по вариантам):
1.1. Перечислите основные этапы решения задач на ЭВМ
1.2. Перечислите основные характеристики алгоритмов и этапы их разработки.
1.3. Перечислите и охарактеризуйте методы формального описания алгоритмов.
1.4. Перечислите и охарактеризуйте основные парадигмы программирования.
1.5. Понятие языка программирования. Основные классификационные признаки и характеристики языков программирования
1.6. Почему C++ стал стандартом в области разработки программных продуктов?
1.7. Перечислите основные возможности интегрированной среды программирования MS Visual Studio C++.
1.8. Дайте характеристику основным компонентам среды программирования MS Visual Studio C++.
1.9. Перечислите элементы главного меню MS Visual Studio C++ и опишите их назначение .
1.10. Перечислите основные составляющие, входящие в структуру программы на языке C++.
1.11. Наличие какой функции является обязательным условием в любой программе на языке C++.
1.12. В чем состоит назначение препроцессора.
1.13. Что такое функция и каково ее назначение.
1.14. Какую роль в программе выполняют библиотечные функции.
2. Выполните практическое задание (по вариантам).
2.1. Составить блок-схему алгоритма для вычисления значений по следующим формулам при действительных значениях всех переменных (по вариантам):
а) ;
б) ;
в) ;
г) ;
д) .
2.2. Составить блок-схему алгоритма для вычисления (по вариантам):
а) периметра и площади прямоугольного треугольника по длинам двух катетов a и b;
б) периметра и площади треугольника по координатам трёх его вершин (Х1, У1), (Х2,У2), (Х3,У3);
в) длины окружности и площади круга с заданным радиусом R;
г) произведение цифр заданного четырёхзначного числа;
д) среднее арифметическое кубов и среднее геометрическое модулей двух чисел a и b.
Рейтинг-контроль № 2
1. Ответьте письменно на следующие вопросы (по вариантам):
1.1. Какие типы комментариев вы знаете, и чем они отличаются друг от друга.
1.2. Могут ли комментарии занимать несколько строк.
1.3. Какие наборы знаков образуют алфавит языка.
1.4. Какие правила необходимо выполнять при написании идентификаторов.
1.5. Дайте определение константы и переменной.
1.6. Перечислите основные типы данных.
1.7. В чем разница между целочисленными и вещественными переменными.
1.8. В чем особенности символьной переменной.
1.9. Почему необходимо объявлять переменные.
1.10. Какой операции соответствует символ %.
1.11. Понятие «выражение»
1.12. В чем разница между операциями инкремента и декремента.
1.13. Укажите на отличие префиксной и постфиксной форм записи операций.
1.14. Перечислите основные операции отношения.
1.15. Что является результатом любой операции отношения?
1.16. Приведите пример практической реализации операции условия.
1.17. Перечислите особенности операции присваивания в языке C++.
1.18. Перечислите операторы циклов, используемых в языке С++
1.19. В чем разница между оператор циклов do while и while?
1.20. Запишите общую структуру оператора цикла for.
1.21. Приведите пример использования оператора for для "убывающего" цикла.
1.22. Каким образом осуществить принудительный выход из цикла, организованного оператором for .
1.23. Запишите общую структуру оператора switch .
1.24. Запишите возможные структуры оператора условного перехода if. Приведите конкретные примеры таких структур.
2. Выполните практическое задание (по вариантам).
2.1. Составить программный код для вычисления значений по следующим формулам при действительных значениях всех переменных (по вариантам):
а) ;
б) ;
в) ;
г) ;
д) .
2.2. Составить программный код для вычисления (по вариантам):
а) периметра и площади прямоугольного треугольника по длинам двух катетов a и b;
б) периметра и площади треугольника по координатам трёх его вершин (Х1, У1), (Х2,У2), (Х3,У3);
в) длины окружности и площади круга с заданным радиусом R;
г) произведение цифр заданного четырёхзначного числа;
д) среднее арифметическое кубов и среднее геометрическое модулей двух чисел a и b.
Рейтинг-контроль № 3
1. Ответьте письменно на следующие вопросы (по вариантам):
1.1. Какой оператор используется дня получения адреса переменной.
1.2. Какой оператор позволяет получить значение, записанное по адресу, содержащемуся в указателе.
1.3. В чем разница между адресом, который хранится в указателе, и значением, записанным по этому адресу.
1.4. В чем различие между оператором разыменования и оператором получения адреса?.
1.5. Покажите разницу между ссылкой и указателем.
1.6. Как обратиться к первому и последнему элементу массива?.
1.7. Сколько элементов содержится в массиве В[5][5][4].
2. Выполните практическое задание (по вариантам).
2.1. Составить программный код, который выводит на экран значение True, если следующие указанные высказывания являются истинными, и значения False – в противном случае (по варрантам):
а) сумма двух первых цифр заданного четырёхзначного числа равна сумме двух его последних цифр;
б) сумма цифр заданного трёхзначного числа N является четным числом;
в) точка с координатами (Х,У) принадлежит части плоскости, лежащей между прямыми Х=m и Х=n (m<n) ;
г) квадрат заданного трёхзначного числа равен кубу суммы цифр этого числа;
д) целое число N является чётным двухзначным числом.
2.2. Составить программный код, который решает следующие задачи (по вариантам):
а) найти ;
б) даны три числа a, b, c., определить, какое из них равно d )если ни одно из них не равно d, то найти );
в) вычислить при вещественных числах p и q: ; ;
;
г) даны три точки и , определить, будут ли они расположены на одной прямой (если нет, то вычислить угол ABC);
д) решить уравнение для произвольных чисел a и b;
е) найти значение выражения: ;
ж) определить, будут ли прямые и перпендикулярны (если нет, то найти угол между ними);
2.3. Составить программный код, который позволяет найти значение функции (по вариантам):
а) ;
б) ;
в) ;
г) ;
д) .
Семестр
Рейтинг-контроль № 1
1. Ответьте письменно на следующие вопросы (по вариантам):
1.1. Переименование типов (typedel).
1.2. Перечисления (enum).
1.3. Структуры (struct).
1.4. Объединения (union).
1.5. В чем разница между объявлением прототипа и определением функции.
1.6. Должны ли имена параметров, указанные в определении и вызове функции. соответствовать друг другу.
1.7. Как следует объявлять функцию, если она не возвращает значения.
1.8. Что такое локальная переменная.
1.9. Что такое область видимости.
1.10. Что такое перегрузка функции.
1.11. Что такое рекурсия.
1.12. Когда следует использовать глобальные переменные.
1.13. К какому классу памяти будет относиться переменная по умолчанию.
2. Выполните практическое задание (по вариантам).
2.1. Составить программный код, который решает следующие задачи (по вариантам):
а) Имеется серия измерений элементов треугольника. В серии произвольном порядке могут встречаться следующие группы элементов треугольника: 1-основание и высота,2- две стороны и угол [рад] между ними, 3-три стороны.
Запросить номер группы ,элементов, ввести соответствующие элементы и вычислить площадь треугольника. Вычисления прекратить, когда в качестве номера группы будет введен нуль.
б) Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% от нормы предыдущего дня. Определить, какой суммарный путь пробежит спортсмен за S дней.
в) Одноклеточная амеба каждые три часа делится на две клетки. Определить, сколько амеб будет через 3,6,9,12…,3n часов.
г) Около стены наклонно стоит палка длиной x[м]. Один ее конец находится на расстояние у[м] от стены. Определить угол а между палкой и полом для значений x=k[м] и у, изменяющегося от 2 до 3 м с шагом h[м].
д) У гусей и кроликов вместе 64 лапы. Сколько может быть кроликов и сколько гусей (указать все возможные сочетания)?
2.2. Составить программный код, который вычисляет значения следующих функций F(x) на отрезке [a,b] с шагом h представив результат в виде таблицы, первый столбец которой - значение аргумента, второй - соответствующие значения функций (по вариантам):
а).F(x)=x-sinx;
б) F(x)=2cosx-1;
в) F(x)=ctg x+1;
г) F(x)=tg x;
д) F(x)= sin x- cos x.
2.3. Составить программный код, который решает следующие задачи (по вариантам):
а) Треугольник задан координатами своих вершин. Вычислить его площадь.
б) Найти наибольший общий делитель и наименьшее общее кратное двух натуральных чисел, если дана формула:
в) Дан массив D. Определить следующие суммы: D[1] +D[2] + D[3]; D[3] + D[4] + D[5]; D[4] + D[5] + D[6]. (Составить подпрограмму вычисления суммы трех последовательно расположенных элементов массива с номерами от k до m).
г) На плоскости заданы координатами n точек. Определить между какими из пар заданных точек самое большое расстояние (координаты точек занести в массив).
д) Заменить отрицательные элементы линейного массива их модулями, не используя стандартную функцию вычисления модуля. Определить число произведенных замен.
Рейтинг-контроль № 2
1. Ответьте письменно на следующие вопросы (по вариантам):
1.1. Что такое динамические данные.
1.2. Каким образом выделяется память под динамические данные.
1.3. Перечислите основные особенности динамической памяти.
1.4. Что возвращает оператор new после выделения участка динамической памяти.
1.5. Каково назначение оператора delete.
1.6. Перечислите основные операции с динамическими структурами данных.
1.7. В чем особенности однонаправленных и двунаправленных линейных списков.
1.8. Как осуществляется выборка элементов данных в стеке.
1.9. Опишите организацию движения данных в очереди.
1.10. Укажите преимущества динамической структуры данных в виде бинарного дерева по сравнению со списками.
2. Выполните практическое задание (по вариантам).
2.1. Используя рекурсивную подпрограмму, решить следующие задачи (по вариантам):
а) Найти сумму цифр заданного натурального числа.
б) Найти количество цифр в заданном натуральном числе.
в) Описать функцию С(m,n), где 0 ≤ m ≤ n, для вычисления биномиального коэффициента по следующей формуле:
г) Описать рекурсивную функцию Root(a,b,ε), которая методом деления отрезка пополам находит с точностью ε корень уравнения f(x)=0 в интервале . При этом считать, что ε 0, и f(x) – непрерывная и монотонная в интервале .
д) Вычислить наибольший общий делитель двух натуральных чисел.
2.2. Составить программный код, который решает следующие задачи (по вариантам):
а) Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, представляя ее блоки размером n x n по часовой стрелке, начав с блока в верхнем левом углу.
б) Магическим квадратом порядка n называется квадратная матрица размером n x n, составленная из чисел 1,2,…,n2 таким образом, что суммы двух чисел в каждом её столбце, каждой строке и каждой из двух больших диагоналей равны между собой. Построить такой квадрат. Например, магический квадрат третьего порядка имеет вид
6 1 8
7 5 3
2 9 4
в) Дана квадратная матрица порядка М. Повернуть ее в положительном направлении на 90, 180 и 270 градусов.
г) Получить квадратную матрицу порядка n:
0 0 0 … 0 0
0 1 0 … 0 0
0 0 2 … 0 0
. . .. . .
. . . . . .
. . . . . .
0 0 0 0 n-1
д) Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, представляя ее блоки размером n x n крест на крест.
Рейтинг-контроль № 3
1. Ответьте письменно на следующие вопросы (по вариантам):
1.1. Как различаются файлы по способу доступа?
1.2. Перечислите основные классы для работы с файлами из стандартной библиотеки.
1.3. С помощью какого оператора осуществляется открытие потока и связывание его с файлом?
1.4. С помощью каких операторов осуществляется вывод данных из файла?
1.5. С помощью каких операторов осуществляется ввод данных в файл?
1.6. Что такое манипуляторы потоков?
1.7. Какую операцию выполняет манипулятор потока setw?
1.8. Какой манипулятор потока осуществляет форматирование действительных чисел?
1.9. Каково назначение флагов формата?
2. Выполните практическое задание (по вариантам).
2.1. Составить программный код, который решает следующие задачи (по вариантам):
а) Заполнить файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Получить в файле g компоненты файла f, являющегося чётными.
б) Записать файл последовательного доступа N действительных чисел. Вычислить произведение компонента файла и вывести их на печать.
в) Заполнить файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Получить в файле g все компоненты файла f, которые делятся на m и не делятся на n.
г) Записать файл последовательно доступа N целых чисел, полученных с помощью генератора случайных чисел. Определить количество пар противоположных чисел среди компонента этого файла.
д) Записать файл последовательно доступа N произвольных натуральных чисел. Переписать в другой файл последовательного доступа числа, кратные K. Вывести полученный файл на печать.
2.2. Составить программный код, который решает следующие задачи (по вариантам) (исходные текстовые файлы для следующих задач создаются с помощью любого текстового редактора):
а) Дан файл, содержащий текст, набранный строчными русскими буквами. Получить в другом файле тот же текст, записанный прописными буквами.
б) Дан файл, содержащий текст, включающий в себя русские и английские слова. Получить новый файл, заменив в исходном тексте все прописные буквы строчными, и наоборот.
в) Дан текстовой файл, Напечатать в алфавитном порядке все слова из этого файла, имеющие заданную длину n.
г) Дан файл, содержащий текст на русском языке. Определить количество слов в этом тексте, начинающихся и заканчивающихся на одну и ту же букву.
д) Дан файл, содержащий текст на русском языке и два слова. Определить, сколько раз эти два слова входят в текст и сколько раз они располагаются непосредственно друг за другом.
2.3. Составить программный код, который решает следующие задачи (по вариантам):
а) Вставьте в список L новый элемент F за каждым вхождением элемента E.
б) Вставьте в список L новый элемент F перед первым вхождением элемента Е, если Е входит в L.
в) Вставьте в непустой список L, элементы которого упорядочены по неубыванию, новый элемент Е, сохранив упорядоченность.
г) Удалить из списка L все элементы Е, если они есть в списке.
д) Удалить из списка L за каждым элементом Е один элемент, если такой есть и он отличен от Е.