1. Напишите программу, вычисляющую такое значение n, при котором значение предела
вычислялось бы с точностью до 3-го знака после запятой.
2. Напишите программу, сортирующую в алфавитном порядке десять произвольных букв, введенных с клавиатуры.
3. Напишите программу, сортирующую по возрастанию пять действительных чисел, введенных с клавиатуры.
4. Напишите программу, вычисляющую факториал числа.
5. Напишите программу, вычисляющую корни квадратного уравнения a0x2+a1x+a2=0 (коэффициенты a0, a1, a2 задаются пользователем с клавиатуры).
6. Напишите функцию, конвертирующую содержимое строки, состоящей из прописных букв в строчные и наоборот.
7. Напишите функцию, которая подсчитывает количество гласных и согласных в строке.
8. Напишите функцию, которая подсчитывает количество букв и цифр в строке.
9. Напишите функцию, которая подсчитывает число прописных и строчных букв в строке.
10. Напишите функцию, которая сравнивает две строки, и если они совпадают, то возвращает единицу (истину), в противном случае ноль (ложь).
11. Напишите функцию, которая сортирует строку по алфавиту.
12. Напишите функцию, которая шифрует текстовый файл путем замены значения символа с помощью выражения symbol = F(symbol), где F() - функция (например, значение символа С заменяется на С=С^0xFF).
ТЕСТЫ РУБЕЖНОГО КОНТРОЛЯ
1. Блок это
a) Оператор, заканчивающийся точкой с запятой
b) Несколько операторов, заключенных в фигурные скобки
c) Несколько операторов, заключённых в фигурные скобки, среди которых имеются определения или описания
2. Какие из перечисленных операторов не являются операторами выбора (условия)
a) If(выражение) {} else{}
b) Switch(выражение) {}
c) Выражение1? выражение2: выражение 3;
3. Какой из перечисленных ниже операторов цикла, является оператором с постусловием
a) Do{} while(выражение);
b) While(выражение){}
c) For(выражение1; выражение2; выражение3) {}
4. Какой из операторов передачи управления используется для выхода из функции
a) Goto
b) Break
c) Return
d) Continue
5. Какое утверждение ложно
a) С помощью оператора goto нельзя входить во внутрь тела цикла
b) С помощью оператора goto нельзя входить внутрь условного оператора
c) С помощью оператора goto нельзя входить внутрь блока, обходя инициализацию.
6. Какое утверждение истино
a) Оператор break передаёт управление за пределы всех вложенных циклов
b) Оператор break передаёт управление за пределы цикла
c) Оператор break передаёт управление за пределы тела функции
7. Какое утверждение истино
a) Оператор continue заставляет сделать цикл следующую итерацию
b) Оператор continue заставляет начать выполнение цикла заново
c) Оператор continue позволяет продолжить выполнение текущей итерации
8. Какое утверждение ложно
a) Над указателями определена операция умножение
b) Над указателями определена операция сложения
c) Над указателями определена операция декремента
9. Для какого указателя определена операция преобразования типа по умолчанию
a) Int*
b) Double*
c) Void*
10. Результатом выполнения операции & над объектом является
a) Получение адреса объекта
b) Получение значения хранящегося в объекте
c) Переход по адресу, хранящемуся в объекте
11. При прибавлении к указателю (typy*) единицы его значение изменяется на
a) 1
b) 2
c) sizeof(type)
12. К какому указателю нельзя применять операцию доступа по адресу (*)
a) Long double*
b) Obj*
c) Void*
13. Какое значение вернёт операция sizeof(char*)
a) 1
b) 2
c) 4
14. Какое значение вернёт операция sizeof(s), если s определено как long s[4]
a) 4
b) 8
c) 16
15. Как в языке Си++ интерпретируется операция имя_массива_типа_typy [i]
a) *(имя_массива + индекс)
b) *(имя_массива + индекс*sizeof(type))
c) *(имя_массива *sizeof(type)+ индекс)
16. Как размещаются в памяти элементы многомерного массива
a) Последовательно друг за другом в порядке возрастания самого правого индекса
b) Последовательно друг за другом в порядке возрастания самого левого индекса
17. С помощью какой операции создаются динамические объекты
a) С помощью операции new
b) C помощью определения локального объекта
c) C помощью определения глобального объекта
18. Время существования динамического объекта
a) С момента определения до конца блока
b) Во всей программе
c) До вызова оператора delete c указателем на объект
Таблица правильных ответов
| № Вопроса | Правильный ответ | № Вопроса | Правильный ответ |
| 1 | с | 10 | a |
| 2 | с | 11 | c |
| 3 | a | 12 | c |
| 4 | c | 13 | c |
| 5 | c | 14 | c |
| 6 | b | 15 | b |
| 7 | a | 16 | a |
| 8 | a | 17 | a |
| 9 | c | 18 | c |
Квалиметрическая оценка
В зависимости от времени и цели проведения тестирования количество вопросов в тесте может менятся. Поэтому, чтобы можно было оценить успеваемость тестируемых студентов, предлагается следующая шкала. Если количество правильных ответов лежит в диапазоне
от 85 до 100% - это отлично;
от 70 до 84% - это хорошо;
от 55 до 69% - это удовлетворительно;
менее 55% - это не удовлетворительно.
Список Литературы
1. В.В. Подбельский Язык Си++: Учебное пособие. - 5-е изд. - М.: Финансы и статистика, 2000. - 560с. ил.
2. Ален И. Голуб. Си и Си++ правила программирования. - М.: БИНОМ, 1996. - 272с.
3. Бьерн Страуструп Язык программирования Си++. 3-е изд. /Пер. с англ. - СПб.; М.: «Невский диалект» - «Издательство БИНОМ», 1999. - 991с. ил.
Модуль 3
Целью данного модуля является изложение и закрепление студентами материала касающегося применения функций в языке Си++






