2) a) так как изначально x<0, а while - цикл с предусловием => он остановится еще не начавшись на условии x>0 <=> -5>0 - неверно Ответ: 0 б) 1 проход цикла: условие -5<10 - верно => продолжаем: 1 действие: x=-5+2=-3 - значение x изменилось, поэтому во 2 действие пойдет уже не x=-5, a x=-3 2 действие: x=2*(-3)=-6 2 проход цикла: условие -6<10 - верно => продолжим 1 действие: x=-6+2=-4 2 действие: x=2*(-4)=-8 Дальше пойдет уменьшение числа x и условие x<10 будет выполнятся в любом случае => цикл повторится бесконечное количество раз Ответ: бесконечный цикл в) тоже цикл с предусловием i=0 1 проход: 0*0<=1.2 - верно => i=0+0.1=0.1 2 проход: 0,01<=1,2 - верно => i=0,1+0,1=0,2 в остальных проходах и будет увеличиваться на 0,1, пока i*i не станет больше 1.2. 1*1=1 1.1*1.1=1.21 - при i=1.1 цикл прекратиться и он повторится: 1.1/0.1=11 раз Ответ: 11 г) цикл с предусловием k=5 1 проход: 5/5<=2.5 - верно => k=5+1.5=6.5 2 проход: 6.5/5<=2.5 - верно => k=6.5+1.5=8 будем повторять пока k/5<=2.5 3: 8/5<=2.5: k=8+1.5=9.5 4: k=9.5+1.5=11 5: k=11+1.5=12.5 6: условие: 12.5/5=2.5 <=2.5 - верно: k=12.5+1.5=14 7: условие 14/5=2.5<=2.5 - неверно => цикл прекратиться Ответ: 7 д) цикл с постусловием Его особенность в том, что цикл прекратиться, когда условие станет верным, то есть пока условие не верно - он будет продолжаться t=100 1 проход: t=100/10=10, условие 10<=0.1 - условие не верно, но цикл продолжится 2 проход: t=10/10=1, условие 1<=0.1 неверно, продолжаем 3 проход: t=1/10=0.1, условие 0.1<=0.1 - верно, цикл закончился Ответ: 3 е) цикл с постусловием x=0 1 проход: x=0+1/10=0.1, условие: (sqr(0.1) - тоже самое, что 0.1^2), 0.1^2>=6/5 - неверно, продолжаем: 2 проход: x=0.1+0.1=0.2 0.2^2>=6/5 так как 6/5=1.2>1 , то x^2 превысит 1 при x>1, но так как каждый раз x увеличивается на 1, то при x=1.1: (1.1)^2=1.21 - превысит 1.2 x станет равен 1.1 при 1.1/0.1=11 проходе цикла Ответ: 11
3) Program n1; var n,i: integer; begin readln(n); for i:=1 to n do if i*i<=n then write(i,' '); end.
Answers & Comments
Verified answer
2)a) так как изначально x<0, а while - цикл с предусловием => он остановится еще не начавшись на условии x>0 <=> -5>0 - неверно
Ответ: 0
б)
1 проход цикла: условие -5<10 - верно => продолжаем:
1 действие: x=-5+2=-3 - значение x изменилось, поэтому во 2 действие пойдет уже не x=-5, a x=-3
2 действие: x=2*(-3)=-6
2 проход цикла: условие -6<10 - верно => продолжим
1 действие: x=-6+2=-4
2 действие: x=2*(-4)=-8
Дальше пойдет уменьшение числа x и условие x<10 будет выполнятся в любом случае => цикл повторится бесконечное количество раз
Ответ: бесконечный цикл
в) тоже цикл с предусловием
i=0
1 проход: 0*0<=1.2 - верно => i=0+0.1=0.1
2 проход: 0,01<=1,2 - верно => i=0,1+0,1=0,2
в остальных проходах и будет увеличиваться на 0,1, пока i*i не станет больше 1.2.
1*1=1
1.1*1.1=1.21 - при i=1.1 цикл прекратиться
и он повторится: 1.1/0.1=11 раз
Ответ: 11
г) цикл с предусловием
k=5
1 проход: 5/5<=2.5 - верно => k=5+1.5=6.5
2 проход: 6.5/5<=2.5 - верно => k=6.5+1.5=8
будем повторять пока k/5<=2.5
3: 8/5<=2.5: k=8+1.5=9.5
4: k=9.5+1.5=11
5: k=11+1.5=12.5
6: условие: 12.5/5=2.5 <=2.5 - верно: k=12.5+1.5=14
7: условие 14/5=2.5<=2.5 - неверно => цикл прекратиться
Ответ: 7
д) цикл с постусловием
Его особенность в том, что цикл прекратиться, когда условие станет верным, то есть пока условие не верно - он будет продолжаться
t=100
1 проход: t=100/10=10, условие 10<=0.1 - условие не верно, но цикл продолжится
2 проход: t=10/10=1, условие 1<=0.1 неверно, продолжаем
3 проход: t=1/10=0.1, условие 0.1<=0.1 - верно, цикл закончился
Ответ: 3
е) цикл с постусловием
x=0
1 проход: x=0+1/10=0.1, условие: (sqr(0.1) - тоже самое, что 0.1^2), 0.1^2>=6/5 - неверно, продолжаем:
2 проход: x=0.1+0.1=0.2 0.2^2>=6/5
так как 6/5=1.2>1 , то x^2 превысит 1 при x>1, но так как каждый раз x увеличивается на 1, то при x=1.1: (1.1)^2=1.21 - превысит 1.2 x станет равен 1.1 при 1.1/0.1=11 проходе цикла
Ответ: 11
3)
Program n1;
var n,i: integer;
begin
readln(n);
for i:=1 to n do if i*i<=n then write(i,' ');
end.
var n,i: integer;
begin
readln(n);
i:=1;
while i*i<=n do
begin
write(i,' ');
i:=i+1;
end;
end.