Задачи для подготовки к ЕГЭ по информатике. Использование арифметической прогрессии для решения задач по информатике.
методическая разработка по информатике и икт (11 класс) на тему
Предварительный просмотр:
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 членов арифметической прогрессии. , — сумма первых n членов прогрессии, — разность прогрессии, — количество членов.
Цикл прервется, когда .
Найдем : , , (т. к. k:=k+3). Чтобы решить это неравенство, нам необходимо решить квадратное уравнение , среди его корней нас интересуют только положительные, следовательно,
Воспользовавшись методом интервалов, находим, что первое натуральное n, при котором нарушается условие, есть .
Подставив известные параметры в получаем, что
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 из неравенства:
(т. к. k:=k+3). Воспользовавшись методом интервалов, находим первое натуральное n, при котором нарушается условие:
Значение s есть сумма первых n членов арифметической прогрессии. — сумма первых n членов прогрессии, — разность прогрессии, — количество членов.
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 так:
, где а
, так как последняя операция, выполненная в цикле: n := 101 + 1.
Следовательно
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: .
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 определяет, сколько раз выполнится цикл.
Цикл выполнится раз ( "+1" потому, что в дроби мы не учитываем то, что при 7 он тоже выполнится).
Заметим, что в s накапливается сумма арифметической прогрессии из 5 членов с разностью 1. Следовательно,.
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 определяет, сколько раз выполнится цикл.
Цикл выполнится раз. Заметим, что в s накапливается сумма арифметической прогрессии, содержащей 11 членов, с разностью 1. Следовательно, .
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 записывается сколько раз произошел цикл. Следовательно,
Тот факт, что при n = 25, s будет > 0 означает, что у=цикл выполниться 26 раз.
По теме: методические разработки, презентации и конспекты
Арифметическая прогрессия. Решение практических задач. 9класс
Обобщение и систематизация знаний, умений и навыков. Рассмотрение темы при решении практических задач и заданий из ОГЭ...
Примеры решения задач по информатике при подготовке к ЕГЭ
Примеры решения задач по информатике при подготовке к ЕГЭ...
Задачи для подготовки к ЕГЭ по информатике. Алгоритмы с использованием условного оператора.
задачи...
Задачи для подготовки к ЕГЭ по информатике. Алгоритмы без использования условного оператора.
задачи...
Презентация по алгебре "Применение арифметической прогрессии к решению практических задач"
Презентация для урока алгебы в 9 классе "Применение арифметической прогрессии к решению практических задач"....
"Арифметическая прогрессия при решении банковских задач"
Подготовка к ЕГЭ. 11 класс...