Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR3_Paskal.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
920 Кб
Скачать
☆
  1. Зададим начальное значение переменной z=1, затем при выполнении условия (i mod 4) = 0, будем присваивать этой переменной противоположный знак z=-z .

  2. Составляем блок-схему алгоритма и программу расчета, используя оператор цикла for.. .

    да

    нет

    program lr3_2_1;

    var x, F:real; t, z:integer;

    begin

    x:=1.2; //random(400)/100-2; {задаём произвольное х от -2 до +2}

    F:=0; {задаём начальное значение суммы}

    z:=1; {задаём начальное значение знака слагаемого}

    for t:=1 to 60 do

    begin

    F:=F+z*power(x,t)/sqr(t); {расчет суммы}

    if t mod 3 = 0 then z:=-z;

    end;

    writeln ('при х = ',x,' F = ', F:0:2); {вывод x и f}

    end.

  3. Составляем блок-схему алгоритма и программу расчета, используя оператор цикла while ..do. Этот цикл называется циклом с предусловием, так как проверка проводится до начала очередной итерации. До первого входа в цикл переменной t уже должно быть присвоено начальное значение. Затем сравним его с конечным значением. Цикл будет выполняться, пока условие истинно. Как только условие нарушается, выполнение цикла завершается.

    program lr3_2_2;

    var x, F:real; t, z:integer;

    begin

    x:=1.2; //random(400)/100-2; {задаём произвольное х от -2 до +2}

    F:=0; {задаём начальное значение суммы}

    z:=1; {задаём начальное значение знака слагаемого}

    while t<60 do

    begin

    inc(t);

    F:=F+z*power(x,t)/sqr(t); {расчет суммы}

    if t mod 3 = 0 then z:=-z;

    end;

    writeln ('при х = ',x,' F = ', F:0:2); {вывод x и F}

    end.

  4. С оставляем блок-схему алгоритма и программу расчета, используя оператор цикла Repeat…until.

program lr3_2_3;

var x, F:real; t, z:integer;

begin

x:=1.2; //random(400)/100-2; {задаём произвольное х от -2 до +2}

F:=0; {задаём начальное значение суммы}

z:=1; {задаём начальное значение знака слагаемого}

repeat

inc(t);

F:=F+z*power(x,t)/sqr(t); {расчет суммы}

if t mod 3 = 0 then z:=-z;

until t=60;

writeln ('при х = ',x,' F = ', F:0:2); {вывод x и F}

end.

Выполним программу в среде PascalABC.NET.

При тестировании с одним и тем же значением х=1.2 все три варианта циклов дали одинаковый результат.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]