Задачи для подготовки к ЕГЭ по информатике. Использование арифметической прогрессии для решения задач по информатике.
методическая разработка по информатике и икт (11 класс) на тему

задачи

Скачать:

ВложениеРазмер
Microsoft Office document icon arifmeticheskaya_progressiya.doc123 КБ

Предварительный просмотр:

8. Арифметическая прогрессия

1. Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

var k, s: integer;

begin

    s:=0;

    k:=1;

    while s < 66 do begin

        k:=k+3;

        s:=s+k;

    end;

    write(k);

end.

Решение.

Цикл while выполняется до тех пор, пока истинно условие s < 66, т. е. переменная s определяет, сколько раз выполнится цикл.

 

Значение s есть сумма первых n членов арифметической прогрессии. http://reshuege.ru/formula/30/30a842146012ad923adfcb6cfee292ed.pnghttp://reshuege.ru/formula/92/92eb5ffee6ae2fec3ad71c777531578f.png — сумма первых n членов прогрессии, http://reshuege.ru/formula/82/8277e0910d750195b448797616e091ad.png — разность прогрессии, http://reshuege.ru/formula/7b/7b8b965ad4bca0e41ab51de7b31363a1.png — количество членов.

 

Цикл прервется, когда http://reshuege.ru/formula/26/2662c5b31ce000ea275340177e5e027a.png.

 

Найдем http://reshuege.ru/formula/7b/7b8b965ad4bca0e41ab51de7b31363a1.pnghttp://reshuege.ru/formula/ce/ce1666cede5c9c4220073a0a2126e8be.pnghttp://reshuege.ru/formula/4b/4b69120ecab024b62c8b5b4be0f116a9.pnghttp://reshuege.ru/formula/b5/b558ea8ccf34dd8a099a5f6bd47872a0.png (т. к. k:=k+3). Чтобы решить это неравенство, нам необходимо решить квадратное уравнение http://reshuege.ru/formula/b0/b028c2e1c91c1f169d6aea860c5d39be.png, среди его корней нас интересуют только положительные, следовательно, http://reshuege.ru/formula/3a/3aad78095d85748efaf5af18b3bc053b.png

 

Воспользовавшись методом интервалов, находим, что первое натуральное n, при котором нарушается условие, есть http://reshuege.ru/formula/da/da0eb2c60efbf3858606dce65755179f.png.

 

Подставив известные параметры в http://reshuege.ru/formula/c0/c04c8dad2d5d3d32cef2ec5a526950ea.png получаем, что http://reshuege.ru/formula/70/70a89ba46805c761ecaa18783638a32e.png

2. Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

var k, s: integer;

begin

    s:=0;

    k:=0;

    while k < 30 do begin

        k:=k+3;

        s:=s+k;

    end;

    write(s);

end.

Решение.

Цикл while выполняется до тех пор, пока истинно условие k < 30, т. е. переменная k определяет, сколько раз выполнится цикл.

 

Так как последовательность k представляет собой арифметическую прогрессию, найдем n из неравенства:

 

http://reshuege.ru/formula/79/79a8cbfbb0142a1eb3430f9e5cd38e20.png http://reshuege.ru/formula/c1/c14da924290d9afecd33bcf74f04a354.png http://reshuege.ru/formula/b5/b558ea8ccf34dd8a099a5f6bd47872a0.png (т. к. k:=k+3). Воспользовавшись методом интервалов, находим первое натуральное n, при котором нарушается условие: http://reshuege.ru/formula/0e/0eed7908cf503924570c3a1956ef3c2b.png

Значение s есть сумма первых n членов арифметической прогрессии. http://reshuege.ru/formula/cd/cdd9d7356e1ec4f39d0f81cfe8109c45.png http://reshuege.ru/formula/92/92eb5ffee6ae2fec3ad71c777531578f.png — сумма первых n членов прогрессии, http://reshuege.ru/formula/82/8277e0910d750195b448797616e091ad.png — разность прогрессии, http://reshuege.ru/formula/7b/7b8b965ad4bca0e41ab51de7b31363a1.png — количество членов.

 

http://reshuege.ru/formula/b8/b8f09bf033ec70d07c1f99b846cb2ca1.png

3. Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

var k, s: integer;

begin

    s:=1;

    k:=0;

    while k < 13 do begin

        s:=s+2*k;

        k:=k+4;

    end;

    write(s+k);

end.

Решение.

Цикл while выполняется до тех пор, пока истинно условие k < 13, т. е. переменная k определяет, сколько раз выполнится цикл.

 

Так как числа небольшие, можно аккуратно выписать все s и k:

 

s 1 1 9 25 49

k 0 4 8 12 16

 

(Помните, что условие k < 13 проверяется сразу после k:=k+4, следовательно, действие s:=s+2*k для k=16 выполняться не будет)

 

Следовательно, ответ 49+16=65.

4. Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

var n, s: integer;

begin

    n := 1;

    s := 0;

    while n <= 101 do begin

        s := s + 7;

        n := n + 1

    end;

    write(s)

end.

Решение.

Цикл while выполняется до тех пор, пока истинно условие n <= 101, т. е. переменная n определяет, сколько раз выполнится цикл. Следовательно, формульно s можно задать как функцию n так:

 

http://reshuege.ru/formula/00/005763b0948fe35876c8cf642a49110a.png, где http://reshuege.ru/formula/10/10b3b0707185c9b1bc0a18e704c34031.png а http://reshuege.ru/formula/18/18e30ec9a448607f75a2b104c54cb40d.png

 

http://reshuege.ru/formula/47/4779c9f0268d0d87d9fd53c0487b3b4f.png, так как последняя операция, выполненная в цикле: n := 101 + 1.

 

Следовательно http://reshuege.ru/formula/67/674b41141fef9564acd1cfaf5ca8d944.png

5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

var n, s: integer;

begin

    n := 24;

    s := 0;

    while n <= 28 do begin

        s := s + 20;

        n := n + 2

    end;

    write(s)

end.

Решение.

Цикл while выполняется до тех пор, пока истинно условие n <= 28, т. е. переменная n определяет, сколько раз выполнится цикл.

 

Аккуратно посчитаем, сколько раз выполниться цикл (k):

 

Значения n: 24 26 28 30.

 

Следовательно, цикл выполнится три раза (так как действие n := n + 2 стоит в конце цикла, следовательно, для n=30 действие s := s + 20 не будет выполняться).

 

Посчитаем значение s: http://reshuege.ru/formula/f7/f7153c397debbb5fd7ca2b1aff60ccd2.png.

6. Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):

 

Бэйсик

Паскаль

DIM N, S AS INTEGER

N = 3

S = 0

WHILE N <= 7

S = S + N

N = N + 1

WEND

PRINT S

var n, s: integer;

begin

n := 3;

s := 0;

while n <= 7 do

begin

s := s + n;

n := n + 1

end;

write(s)

end.

Си

Алгоритмический

#include

void main()

{

int n, s;

n = 3;

s = 0;

while (n <= 7)

{

s = s + n;

n = n + 1;

}

printf("%d", s);

}

алг

нач

цел n, s

n := 3

s := 0

нц пока n <= 7

s := s + n

n := n + 1

кц

вывод s

кон

Решение.

Цикл while выполняется до тех пор, пока истинно условие n <= 7, т. е. переменная n определяет, сколько раз выполнится цикл.

 

Цикл выполнится http://reshuege.ru/formula/38/38bf681b188ab3c67903a0922dc7f553.png раз ( "+1" потому, что в дроби мы не учитываем то, что при 7 он тоже выполнится).

 

Заметим, что в s накапливается сумма арифметической прогрессии из 5 членов с разностью 1. Следовательно,http://reshuege.ru/formula/5c/5c4eabf7fe9e0d05b1d4d53fa5a8ad9a.png.

7. Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования):

 

Бэйсик

Паскаль

Dim s, k As Integer

s = 0

k = 1

While k < 11

s = s + k

k = k + 1

End While

Console.Write(s)

Var s, k : integer;

BEGIN

s:=0;

k:=1;

while k<11 do

begin

s:=s+k;

k:=k+1;

end;

write(s);

END.

Си

Алгоритмический

{

int s, k;

s = 0;

k = 1;

while (k<11) {

s = s+k;

k = k+1;

}

printf("%d", s);

}

нач

цел s, k

s:=0

k:=1

нц пока k < 11

s:=s+k; k:=k+1

кц

вывод s

кон

Решение.

Цикл while выполняется до тех пор, пока истинно условие k < 11, т. е. переменная k определяет, сколько раз выполнится цикл.

 

Цикл выполнится http://reshuege.ru/formula/0d/0d8d5c85554aa981e99b493e9791e91d.png раз. Заметим, что в s накапливается сумма арифметической прогрессии, содержащей 11 членов, с разностью 1. Следовательно, http://reshuege.ru/formula/4b/4bdb51450b65c2dc4cf96fac4c54816b.png.

8. Определите, что будет напечатано в результате выполнения программы 
(записанной ниже на разных языках программирования):

Бейсик

Паскаль

DIM N, S AS INTEGER

N = 0

S = 512

WHILE S  >= 0

  S = S - 20

  N = N + 1

WEND

PRINT  N

var n, s: integer;

begin

  n := 0;

  s := 512;

  while s >= 0 do

  begin

    s := s - 20;

    n := n + 1

  end;

  write(n)

end.

Си

Алгоритмический

#include

void main()

{

  int n, s;

  n = 0;

  s = 512;

  while (s >= 0)

  {

    s = s - 20;

    n = n + 1;

  }

  printf("%d", n);

}

алг

нач

  цел n, s

  n := 0

  s := 512

  нцпока s >= 0

    s := s - 20

    n := n + 1

  кц

  вывод n

кон

 

Решение.

В переменной n записывается сколько раз произошел цикл. Следовательно,

http://reshuege.ru/formula/8f/8f0618f1af6a146a3e0c29abf6db291d.png

Тот факт, что при n = 25, s будет > 0 означает, что у=цикл выполниться 26 раз.


По теме: методические разработки, презентации и конспекты

Арифметическая прогрессия. Решение практических задач. 9класс

Обобщение и систематизация знаний, умений и навыков. Рассмотрение темы при решении практических задач и заданий из ОГЭ...

Примеры решения задач по информатике при подготовке к ЕГЭ

Примеры решения задач по информатике при подготовке к ЕГЭ...

Презентация по алгебре "Применение арифметической прогрессии к решению практических задач"

Презентация для урока алгебы в 9 классе "Применение арифметической прогрессии к решению практических задач"....