Конспект лекций по программированию для начинающих. Гладков В.П. - 124 стр.

UptoLike

Составители: 

126
if y*y1<0 then s:=s+1; { если есть смена знака, то увеличиваем
счетчик смен знака функции }
y1:=y { запомнили текущее значение функции }
end;
for i:=1 to 40 do write('-');writeln; { линия подчеркивания }
writeln('s=',s); { количество смен знака }
end.
Пример 10.49. Задано натуральное n и ряд 1+2-3+4+5-6+... . Напечатать
вычисляемый ряд, знак равно и ответ, если в ряде используется n слагаемых.
Решение. Подобные задачи уже решались раньше. Данная задача усложняется
необходимостью вывода вычисляемого ряда. Это означает, что нужно не только
прибавить или вычесть очередное значение, но и вывести его на печать.
{ фрагмент 50 }
var i, { очередной член ряда }
n, { количество членов ряда }
s:integer; { сумма }
begin
write('Введите n ');
readln(n);
s:=0; { начальное значение суммы }
for i:=1 to n do
if i mod 3=0 { если очередной член кратен 3, }
then begin s:=s-i;write('-',i) end { то
вычтем его и напечатаем со знаком
минус }
else begin s:=s+i; if i=1 { иначе прибавим }
then write(i) { если член первый, то знак не
печатаем }
else write('+',i) { иначе печатаем плюс }
end;
write('=',s);
end.
Упражнения:
1. Какую задачу решает представленный ниже фрагмент?
{ фрагмент 51 }
var h1 : integer; { размер строки в позициях }
h2 : real; { масштаб }
x : integer; { аргумент }
y : real; { функция }
n : integer; { позиция печати функции }
i : integer; { счетчик позиций }
begin
writeln('График функции y = |x-2| на интервале [-25;25]');
h1 := 68;
h2 := abs(-25-2)/h1;
for x := -25 to 25 do
begin y := abs(x-2);
                                       126

            if y*y1<0 then s:=s+1; { если есть смена знака, то увеличиваем
                                              счетчик смен знака функции }
            y1:=y { запомнили текущее значение функции }
      end;
      for i:=1 to 40 do write('-');writeln; { линия подчеркивания }
      writeln('s=',s); { количество смен знака }
   end.
   Пример 10.49. Задано натуральное n и ряд 1+2-3+4+5-6+... . Напечатать
вычисляемый ряд, знак равно и ответ, если в ряде используется n слагаемых.
   Решение. Подобные задачи уже решались раньше. Данная задача усложняется
необходимостью вывода вычисляемого ряда. Это означает, что нужно не только
прибавить или вычесть очередное значение, но и вывести его на печать.
   { фрагмент 50 }
   var        i, { очередной член ряда }
      n, { количество членов ряда }
      s:integer; { сумма }
   begin
      write('Введите n ');
      readln(n);
      s:=0; { начальное значение суммы }
      for i:=1 to n do
      if i mod 3=0 { если очередной член кратен 3, }
      then begin s:=s-i;write('-',i) end { то вычтем его и напечатаем со знаком
                                              минус }
      else begin s:=s+i; if i=1 { иначе прибавим }
                              then write(i) { если член первый, то знак не
                                     печатаем }
                              else write('+',i) { иначе печатаем плюс }
              end;
      write('=',s);
   end.
   Упражнения:
   1. Какую задачу решает представленный ниже фрагмент?
   { фрагмент 51 }
   var        h1 : integer; { размер строки в позициях }
              h2 : real; { масштаб }
              x : integer; { аргумент }
              y : real; { функция }
              n : integer; { позиция печати функции }
              i : integer; { счетчик позиций }
   begin
      writeln('График функции y = |x-2| на интервале [-25;25]');
      h1 := 68;
      h2 := abs(-25-2)/h1;
      for x := -25 to 25 do
      begin y := abs(x-2);