For i:= N1 To N2 Do "оператор";
For i:= N1 DownTo N2 Do "оператор";

a1, a2, a3, . . . , an
называется конечной суммойSn = a1 + a2 + a3+ . . . + an
PROGRAM SUM_K; { расчет конечной суммы }
var
a, S, Sn, i, N : word;
Begin
write('Введите число членов суммы N=');
readln(N);
S:= 0;
For i:= 1 to N do
begin { цикл суммирования }
a := Sqr(2*i-1);
S:= S+a
end;
Sn := N*(4*N*N-1) div 3;
Writeln('Конечная сумма S=', S:10:2);
Writeln('Расчет конечной суммы по формуле Sn=', Sn:10:2);
Writeln('Нажми Enter');
ReadLn
End.
an= p*Sn-1,
тогдаSn= Sn-1 + an = Sn-1*(1+р),
и конечную сумму можно рассчитать по формуле:Sn = S0*(1+p)N,
где "S0" - начальная сумма.
PROGRAM VKLAD; { расчет конечной суммы вклада в банк }
var
S, Sn, pr : Real;
i, N : Integer;
Begin
Write('Введите начальную сумму вклада S=');
readln(S);
Write('Введите процент по вкладу pr=');
readln(pr);
Write('Введите количество месяцев вклада N=');
readln(N);
For i:= 1 to N do S:= S*(1+pr/100); { цикл произведений }
Writeln('Конечная сумма вклада S=', S:10:2);
{ Оператор для расчета "Sn" напишите самостоятельно }
Writeln('Расчет конечной суммы вклада по формуле Sn=', Sn:10:2);
Writeln('Нажмите Enter');
readln
End.
Program tabl;
var
y, x, a, dx : real;
i, j: integer;
Begin
Writeln(' Расчет по формуле: y=A*sin(x)-cos(x)/A; ');
Writeln('--------------------------------------------------');
Writeln('| X | A=1.0 | A=1.5 | A=2.0 | A=2.5 | A=3.0 |');
Writeln('--------------------------------------------------');
dx := pi/100;
for i:= 0 to 100 do
begin { внешний цикл изменения аргумента "X" }
x:= dx*i;
Write( x:8:4 );
for j := 1 to 5 do
begin{ вложеннный цикл изменения параметра "A" }
A := 0.5*(j+1);
y := A*sin(x)-cos(x)/A; Write(y:8:4)
end;
Writeln; {перевод курсора на новую строчку}
if ((i+1) mod 20) = 0 then readln{задержка прокрутки экрана до нажатия Enter}
end;
readln;
End.
While "условие" DO "оператор";
- цикл с предусловием: проверка условия перед каждым выполнением "оператора",
Repeat "операторы" Until "условие";
- цикл с постусловием: проверка условия после каждого выполнения "операторов".
Схема выполнения операторов имеет вид:
| Цикл WHILE | Цикл REPEAT |
|---|---|
|
|
a1, a2, a3, ... , an, ...
называется бесконечным рядом и записывается в виде:a1 + a2 + a3 +... + an+...
Здесь an - общий член ряда.
1 + 1/32 + 1/52 + . . . + 1/(2*N-1)
1 + 1/2! + 1/4! + 1/6! + ... + 1/(2*N)! + ... ; N = 0, 1, 2, ...
общий член ряда вычисляется по формуле: an = an-1*k;
an = 1/(2*N)! = 1/( 1*2*...*(2*N-2)*(2*N-1)*2*N)
an-1 = 1/(2*(N-1))! = 1/((2*N-2))! = 1/(1*2*...*(2*N-2))
k = an/an-1 = 1/((2*N-1)*2*N)
N := 0;
a := 1;
SN := 1;
S := (e+1)/e;
e := 2.7182828;
Repeat
N := N+1;
k := 1/((2*N-1)*2*N);
a := a*k;
SN := SN+a;
Writeln('Частичная сумма Sn= ', Sn:11:6);
Until abs(S-Sn) < eps; { eps - допустимая погрешность расчетов}
Writeln('Сумма ряда S = ', SN:11:6);
Continue; - ограничение цикла,
Break; - прерывание цикла.
For i := 1 to 3 do
begin
Write( 'Введите ПАРОЛЬ:' ); Readln(S); {S и Parol - переменные одного типа}
If S = Parol Then Break { прерывание цикла }
else If i <> 3 Then Continue; { ограничение цикла }
Writeln( 'Доступ к программе ЗАПРЕЩЕН' );
Writeln( 'Нажмите Enter' );
Readln;
Halt { прерывание программы }
end; { продолжение программы }