Циклы While и Repeat-Until
1. Определите, что вычисляют следующие программы:
Program Pr1;
var n, k, f: integer;
Begin
writeln(‘n=’); readln(n);
k:=1; f:=1;
while k<=n do begin
f:=f*k;
k:=k+1;
end;
writeln(‘?????’, f)
End.
Program Pr2;
var n, d: integer;
Begin
writeln(‘n=’); readln(n);
d:=n-1;
repeat
d:=d-1;
until n mod d = 0;
writeln(‘?????’, d)
End.
2. Определите значение переменной s после выполнения таких операторов:
- · i:=0; s:=0;
while i<5 do i:=i+1; s:=s+25 div i;
- · i:=10; s:=0;
while i>0 do begin s:=s+50 div i; i:=i-5; end;
3. Вычислите значения функции на отрезке [1;4] с шагом 0, 5.
4. С клавиатуры вводится последовательность целых чисел. Признак окончания ввода – ноль. Найти количество чётных отрицательных чисел среди них.
5. Напишите программу, которая считает количество нулей в записи числа.
6. Напишите программу поиска первой степени двойки, которая больше m. Число m вводится с клавиатуры. Например, пользователь вводит m=10, а ваша программа выводит число 16 (Использовать цикл Repeat-Until)