![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Ребя столкнулся с проблемной задачей нужна ваша помощь. Вот задача:
Для заданного числа n расчитать произведение: n!! = (1*3*5*...n) - если n нечетное n!! = (2*4*6*...n) - если n четное сделал ее через for to do вот так: Код:
uses
SysUtils;
var
s,p:real;
i,n:integer;
begin
write('N= ');
readln(n);
p:=1;
for i:=1 to n do
if(i mod 2) = (n mod 2) then
P:=p*i;
write ('n!!= ',p:3:0);
readln;
end.
помогите сделать тоже самое с помощью операторов while do и repeat until. |
|
#2
|
||||
|
||||
|
Цитата:
Код:
P := 1;
while n > 0 do
begin
P := P * n;
Dec(n, 2);
end; |
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
|||
|
|||
|
Цитата:
While - оператор цикла с предусловием. Т.е. сначала проверяется условие, если оно true, то производится выполнение тела цикла, если false, то производится выход из цикла. Например: Код:
While true do ; // бесконечный пустой цикл I := 0; While I < 10 Do Inc(I); // Аналог For I := 0 To 9 Do ; Особенностью while цикла, в прочем как и repat..until, то, что нет счетчика как такового. Программист сам должен озаботиться условием окончания цикла. Цикл repeat..until является циклом с пост условием, т.е. тело цикла будет выполнено как минимум 1 раз. Выход производится когда условие в части until будети истинным: Код:
repeat until false; // бесконечный цикл А вообще, это основы языка, которые достаточно хорошо освещены в любой книжке по языку PASCAL (ПАСКАЛЬ). Если влом читать, то изучай методом проб и ошибок. |
|
#5
|
|||
|
|||
|
Цитата:
|