Цикл с предусловием это такой цикл, в котором условие проверяется перед выполнением тела цикла. А цикл с постусловием - на оборот, он сначала выполнит, а потом проверит условие и если условие true, то цикл завершится.
Цикл с постусловием, можно использовать в таких ситуациях, когда надо что-то сделать и если чего-то не хватает, то сделать еще раз. Напрмер отправить письмо на email, а если не отправилось, то повторить еще 3 раза. Сначала выполнится тело цикла, в котором находятся функции отправки письма и если отправка удачная, то сообщаем until() true. Иначе тело выполнится еще и еще и еще кучу раз, если мы не задали счетчик в теле цикла, как вариант...
Цикл с предусловием можно использовать, если надо проверять какое-то значение ПЕРЕД выполнением тела цикла и тебе не важно, должно ли оно хоть раз выполниться. Например запросить пароль у пользователя. Но если пользователь уже ввёл пароль, то зачем его запрашивать? Тут можно было бы использовать while
Вариант решения №1: 1)8 МБайт = 8192 КБайт 2) 8192 Кбайт / 4096 Кбайт = 2 - это отношение первого файла,которое мы передавали к второму. Тем самым решение получается из этого таким образом:
Первый файл больше второго в 2 раза. При неизменяемой скорости, второй файл соответственно будет передан в 2 раза быстрее -> 128/2 = 64 сек.
Вариант решения №2: 1) 8 МБайт = 8192 КБайт 2) найдём скорость соединения:
8192 Кбайт / 128 сек = 64 Кб/сек.
3) узнаем время передачи второго файла
4096 Кбайт / 64 Кб/сек = 64 сек.
ОТВЕТ : 64 сек.
Отмечу,что при решении похожих задач некоторые при переводе скорости и других местах вместо 1024 считают как 1000. Из-а этого в решении могут появиться такие ответы (для данной задачи) как 65,536 сек.
Обращайте внимание на то,с какой буквы написана величина! КБ=КБайт = 1024 байт. Если первая заглавная,то считается 2 в степени, то есть как принято в информатике. кБайт = 1000 байт. Если с маленькой,то приставка кило считается по системе СИ, как в физике и является 10^3.
вот ответ в вот ответ сдесь