Проанализируйте работу программы.
program math;
var x, y: integer;
begin
x:=1;
y:=1;
while x<5 do
begin
y:=y*2;
x:=x+1
end;
end.
Ответьте на вопросы:
1) Сколько раз исполнится тело цикла?
2) Какое значение примет х после завершения программы?
3) Какое значение примет у после завершения программы?
4) Сколько раз исполнится тело цикла, если изменить условие на x<=5 ?
5) Сколько раз исполн. тело цикла, если изменить условие на x>=5 ?
6) Сколько раз исполн. тело цикла, если изменить услов. на x>0 ?
7) Что произойдёт, если из тела цикла убрать команду x:=x+1 ?
8) Сколько раз исполн. тело цикла, если измен. команду x:=x+1 на x:=x+2 ?
9) Сколько раз исполнится тело цикла, если измен. команду x:=x+1 на x:=x-1 ?
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Сколькими способами можно разделить 15 одинаковых монет между 7 нумизматами так, чтобы каждому досталось хотя бы по монете
Человек массой 70 кг прыгает горизонтально с тележки массой 120 кг со скоростью 3 м/с, совершая при этом работу А. Тележка после прыжка проходит до остановки расстояние 2 м. Найти работу А и силу трения Fтр. Пожалуйста, с объяснением!
Проанализируйте работу программы. program math; var х, у: integer; begin x: = 1 ; у:=1; while x=5? 6) Сколько раз исполнится
Мы отправили письмо со ссылкой на смену пароля на username@mail.ru.
Если письма нет, проверь папку «Спам».
Чтобы вопрос опубликовался, войди или зарегистрируйся
Нужна регистрация на Учи.ру
«Ваш урок» теперь называется Учи.Ответы. Чтобы зайти на сайт, используй логин и пароль от Учи.ру. Если у тебя их нет, зарегистрируйся на платформе.
Операторы цикла. Задачи целочисленной арифметики
Командой повторения или циклом называется такая форма организации действий, при которой одна и та же последовательность действий (тело цикла) повторяется до тех пор, пока сохраняется значение некоторого логического выражения. При изменении значения логического выражения на противоположное повторения прекращаются (цикл завершается).
- перед началом цикла задать начальное значение параметра;
- внутри цикла изменять параметр цикла с помощью оператора присваивания;
- проверять условие повторения или окончания цикла;
- управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из цикла в противном случае.
Различают циклы с известным числом повторений ( цикл с параметром ) и итерационные (с пред- и постусловием).
В цикле с известным числом повторений параметр изменяется в заданном диапазоне.
Если в цикле изменяется простая переменная, то она является параметром цикла; если в цикле изменяется переменная с индексом, то индекс этой переменной является параметром цикла.
Для организации цикла с известным числом повторений в Pascal используется оператор for.
Структура цикла, организованного с помощью этого оператора, имеет вид:
или Здесь I — параметр, изменяющийся в цикле; A , B — выражения порядкового типа, обозначающие начальное, конечное значение параметра цикла. Шаг изменения порядкового номера параметра цикла равен 1, если в заголовке цикла стоит To (т.е. реально следующее значение параметра цикла вычисляется с помощью функции succ); и -1 — при DownTo (вычисление производится с помощью функции pred).
Порядок выполнения цикла с шагом 1 следующий: вычисляются значения начального и конечного значений параметра цикла; параметр если I принимает начальное значение; если I меньше или равно конечному значению, исполняется тело цикла; значение параметра цикла увеличивается, т.е. I := succ(I); проверяется условие I (для отрицательного шага условие I>=B ) и при его выполнении цикл повторяется. Выход из цикла осуществляется, если I>B ( I<B для H =-1), и выполняется оператор, следующий за оператором цикла. Если A>B (или A<B для H =-1), то цикл не исполняется ни разу.
Если в операторе цикла с параметром начальное или конечное значение параметра заданы переменными или выражениями, то значения этих переменных должны быть определены в программе до оператора цикла. Не следует внутри цикла изменять параметр цикла, его начальное и конечное значения с помощью операторов присваивания или ввода.
Задача 1. Дано натуральное n , действительное x . Вычислить
Разработаем алгоритм решения задачи:
Достаточно часто цикл с параметром используется при разработке программ обработки массивов.
Примечание. Как видно из рассказа, приведённого выше, область применения цикла с параметром в языке Pascal значительно ограничена: ограничения связаны с шагом изменения параметра цикла, с типом параметра цикла, его начального и конечного значения. В некоторых языках, например, в Basic, таких ограничений не существует.
По сравнению с циклом с параметром итерационные циклы являются универсальными. Для организации итерационных циклов используются операторы цикла с предусловием while и цикла с постусловием repeat..until.
Эти операторы не задают закон изменения параметра цикла, поэтому необходимо перед циклом задавать начальное значение параметра с помощью оператора присваивания, а внутри цикла изменять текущее значение этого параметра.
Соответствующие структуры циклов:
Здесь B , C — логические выражения.
Для оператора цикла с предусловием проверяется значение логического выражения, если оно имеет значение True, то операторы, входящие в цикл, выполняются, в противном случае осуществляется выполнение оператора, следующего за циклом.
Цикл с постусловием выполняется хотя бы один раз. Затем проверяется значение логического выражения, если оно False, то операторы, входящие в цикл, выполняются, в противном случае осуществляется выход из цикла.
Входить в цикл можно только через его начало, т.е. нельзя входить внутрь цикла с помощью управляющего оператора, т.к. в этом случае параметр цикла не определен.
Задача 2. Найти наименьший номер члена последовательности, для которого выполняется условие | a n — a n -1 |< e , где a n =arctg a n -1 +1, a 1=0. Вывести на экран этот номер и все элементы ai ( i = 1, 2, . n ).
Поскольку по ходу решения задачи необходимо знать a n и a n -1 , будем запоминать их соответственно в переменных ANew и AOld.
Внутрь одного цикла может входить один или несколько других. При этом охватывающий цикл называется внешним, а вложенные циклы — внутренними. Правила организации как внешнего, так и внутренних циклов такие же, как и простого цикла.
Задача 3. На интервале [2; n ] найти натуральное число с максимальной суммой делителей.
Предлагаемая задача может быть отнесена к классу «задачи целочисленной арифметики», где аргументы, результаты и промежуточные величины относятся к целому типу. Следует заметить, что в такого рода задачах довольно часто используются операции DIV и MOD; наиболее типичной подзадачей является определение количества цифр в записи числа.
Алгоритм решения задачи:
Задача 4. Дано натуральное число n . Получить все простые делители этого числа.
Предлагаем читателю самостоятельно разобраться с представленным решением.
Сколько раз исполнится тело цикла
1) S:=18 for i:=5 to 3 do S:=S * 2; S:=S+2;
Цикл не выполнится ни разу. S = 20 (выполнится команда S:=S+2 после цикла)
2) S:=15; i:=5. while i<7 do begin i:=i+1 S:=S+S; end
Цикл выполнится 2 раза. S = 60
while i>8 do i:=i+1; S:=S * 0 .
Цикл не выполнится ни разу. S = 0 (выполнится команда S:=S * 0 после цикла)