|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Обьясните и помогите организовать программу через while и repeat until
Ребя столкнулся с проблемной задачей нужна ваша помощь. Вот задача:
Для заданного числа 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
|
|||
|
|||
Цитата:
|