В C++ подпрограммы устроены так же, как в Python, но с одним важным добавлением: параметр можно передать по ссылке, и тогда функция изменит переменную вызывающей программы. Эта тема курса соединяет процедуры, функции, рекурсию и работу со строками типа string.
Объявление процедур (void) и функций с типом результата, оператор return. Локальные и глобальные переменные. Передача параметров по значению и по ссылке, процедуры, изменяющие аргументы, обмен значений. Логические функции типа bool и их вывод через cout. Рекурсивные функции. Тип string: обращение к символу, size, substr, find, erase, преобразование stoi, сравнение строк по кодам символов. Структура программы с функциями.
Пятнадцать заданий: предсказать значение переменной после вызова функции с параметром по значению и по ссылке, вычислить рекурсивную сумму, сопоставить элементы объявления функции, разделить заголовки по способу передачи параметров, выбрать верные способы обмена двух переменных, выполнить операции со строками.
Пояснения показывают, чем int x отличается от int &x в заголовке, почему cout выводит логическое значение как 0 или 1, почему запись a, b = b, a из Python в C++ ничего не меняет и почему "Zebra" меньше "apple".
Работа рассчитана на восемь часов функций и строк в C++. Передача по ссылке понадобится в следующей теме — для функций, которые сортируют массивы и меняют элементы местами. В восьмом классе курс «Программирование» ведётся на двух языках: первое полугодие продолжает Python, второе вводит C++, на котором пишут олимпиадные решения и программы для микроконтроллеров. Темы повторяются на обоих языках намеренно — так ученик видит, что алгоритм не зависит от синтаксиса. Эта работа — пятая из 6 по курсу.
Пройти комплект можно с любого устройства — настольного компьютера, ноутбука, планшета или смартфона. Так как время доступа к тесту настраивается, его спокойно можно выполнять вне школы, дома. Для честности предусмотрена защита от списывания: система отслеживает переходы ученика на другие вкладки и в сторонние приложения.
Краткая шпаргалка по теме курса: понятия, правила и примеры, типичные ошибки. Заданий этой работы в ней нет — только материал, который она проверяет.
Шпаргалка: C++: функции, ссылки, рекурсия и строки — курс «Программирование: Python и C++», 8 класс →Что выведет программа?
void f(int x) {
x = 10;
}
int main() {
int a = 5;
f(a);
cout << a;
}Сопоставьте элемент объявления функции и его смысл.
Эта работа открывается в кабинете родителя: ребёнок проходит её с телефона или компьютера, вы видите баллы, разбор каждой ошибки и то, какие темы просели. Разовая оплата, доступ навсегда. Первый тест — бесплатно.
Купить для ребёнка — 190 ₽ Что такое кабинет родителяДля учителей и репетиторов, работающих с учениками вне школы. Разовая оплата, доступ навсегда — без подписки. Проведение с любого устройства: участники заходят по ссылке или QR-коду, регистрация не нужна. Результат и разбор ошибок — сразу после работы.
Купить тест — 390 ₽ Оферта и реквизитыДля всей школы — подключить организацию по лицензии →
Чтобы добавить тест в базу и провести диагностику — подключите школу к ЗнаниоМетр. Тест станет вашей редактируемой копией: правьте вопросы, баллы и запускайте сессии.
Посмотреть в демоРеальные экраны прохождения в ЗнаниоМетр: на компьютере, на смартфоне и версия для печати (PDF).