а) for, так как наша переменная, которая будет управлять циклом(как принято i ) будет принимать значения от 0 до 9, если начинать цикл с 0. Мы создаем переменную result и помещаем внутри цикла следующее выражение: result += 1/(i + 1). На выходе получим результат данного выражения.
б) В данном случае, можно использовать либо for range based, где выражение цикла выглядит так for (const auto & grade : grades), либо while с условием пока не дойдем до конца списка, зависит какой вид списка мы используем. Я считаю больше подходит for.
в) Думаю for range-based, либо обычный for.
г) ответ как и в б, можно использовать либо for ranged base, либо while, если значения аргументов содержатся в массиве, то тогда for range-based. Если например, тестирование происходит с пользовательского ввода, то тогда удобнее было бы использовать while.
Поделитесь своими знаниями, ответьте на вопрос:
Пример 2. Определить информационный объем книги (в Мбайтах) подготовленной на компьютере, состоящей из 150 страниц (каждая страница содержит 40 строк, 60 символов в каждой строке).
1) Подсчитаем количество символов в книге 40 * 60 * 150 = 360000
2) Информационный объем книги составит 360 000 * 1байт = 360 байт
3) Переведем в заданные единицы 360 000 байт / 1024 = 351,5625 Кбайт/ 1024= 0,34332275 Мбайт
Пример 3. Через ADSL-соединение файл размером 1000 Кбайт передавался 32 с. Сколько секунд потребуется для передачи файла размером 625 Кбайт.
Найдем скорость ADSL соединения: 1000 Кбайт / 32 с. = 8000 Кбит / 32 с. = 250 Кбит/с.
Найдем время для передачи файла объемом 625 Кбайт: 625 Кбайт / 250 Кбит/с = 5000 Кбит / 250 Кбит/с. = 20 секунд.