ЕГЭ по информатике В14 МОУ «Гимназия №5» Погожева О.А.
- Проверяемые элементы содержания:
- Умение анализировать программу, использующую процедуры и функции
- Элементы содержания, проверяемые ЕГЭ:
- 1.7.2 Основные конструкции языка программирования.
Система программирования
- Проверяемые умения или способы действий
- Читать и отлаживать программы на языке программирования
- Уровень сложности задания: повышенный
- Макс. балл за выполнение задания – 1
- Примерное время выполнения задания – 6 мин.
end; " width="640"
Что нужно знать:
- функция – это вспомогательный алгоритм, который возвращает некоторое значение–результат
- в Паскале функция располагается выше основной программы и оформляется следующим образом (вместо многоточия могут быть любые операторы):
function F(x: integer):integer;
begin
...
F:= результат функции
end;
a := -20;
b := 20;
M := a;
R := F(a);
for t := a to b do
begin
if (F(t)
begin
M := t;
R := F(t)
end;
end;
- a – левая граница рассматриваемого отрезка;
- b – правая граница рассматриваемого отрезка;
- t – счетчик, проходящий по отрезку [a;b] с шагом один;
- F(t) – значение функции F в заданной точке;
- M – значение из отрезка [a;b] при котором функция F принимает минимальное значение;
- R – текущее минимальное значение функции F.
Что нужно знать:
- следующая программа ищет наименьшее значение функции F(x) на интервале [a,b] , просматривая значения от a до b с шагом 1:
- M:=a; R:=F(a);
- for t:=a to b do
- if F(t)
- R:=F(t); M:=t;
- end;
- цикл для поиска наибольшего значения выглядит точно так же, только знак
Что нужно знать:
если функция представляет собой
квадратный трехчлен вида
то абсцисса, соответствующая точке минимума, вычисляется по формуле
Что нужно знать:
- если квадратный трехчлен задан в виде
- то абсцисса, соответствующая точке минимума, вычисляется по формуле
ПРОЕКТ ДЕМО infege2013
var a,b,t,M,R :integer;
Function F(x:integer):integer;
begin
F := 3*(x-8)*(x-8)
end;
begin
a := -20; b := 20;
M := a; R := F(a);
for t := a to b do begin
if (F(t)
M := t;
R := F(t)
end
end;
write(M);
end.
ДЕМО infege2013
var a,b,t,M,R :integer;
Function
F(x:integer):integer;
begin
F := 2*(x *x-16)*(x*x-16)+5
end;
begin
a := -11; b := 11;
M := a; R := F(a);
for t := a to b do begin
if (F(t)
M := t;
R := F(t)
end
end;
write(M+6)
end.
Var a,b,t,M,R:integer;
Function F(x:integer):integer;
begin
F:=4*(x-1)*(x-3);
end;
BEGIN
a:=-20; b:=20;
M:=a; R:=F(a);
for t:=a to b do begin
if (F(t)
M:=t;
R:=F(t);
end;
end;
write(M);
END.
способ 1, ручная прокрутка, перебор
- цикл ищет минимум функции F(t) на интервале от a до b , и после выполнения цикла в переменной M оказывается значение аргумента t, при котором функция достигает минимума на заданном интервале (здесь это интервал [-20, 20])
- функция F вычисляет значение F:=4*(x-1)*(x-3);
- перебираем все значения t от a до b , и для каждого вычисляем соответствующее значение функции:
t
F
-20
1932
t
-19
F
1760
-18
1
-17
1596
0
2
1440
-16
-4
3
-15
0
4
1292
-14
12
1152
5
-13
1020
6
32
896
-12
7
60
-11
780
96
8
672
140
-10
9
572
-9
10
192
480
11
-8
252
12
-7
396
320
-6
396
320
13
-5
252
14
480
192
15
-4
572
672
-3
140
16
-2
780
96
17
60
896
18
-1
0
32
19
1020
12
1152
20
1292
по таблице находим, что минимальное значение –4 достигается при t=2
ответ: 2.
способ 2, математический анализ
- запишем функцию в виде квадратного трёхчлена:
- график этой функции – парабола, оси которой направлены вверх, поэтому функция имеет минимум
- найдем абсциссу точки минимума, которая совпадает с абсциссой точки минимума функции
способ 3, математический анализ, свойства параболы
0), поэтому функция имеет минимум парабола симметрична относительно вертикальной прямой, проходящей через вершину, поэтому абсцисса вершины – это среднее арифметическое корней: таким образом, ответ: 2. " width="640"
- заданная функция имеет корни в точках
- график этой функции – парабола, оси которой направлены вверх (коэффициент при равен 4 0), поэтому функция имеет минимум
- парабола симметрична относительно вертикальной прямой, проходящей через вершину, поэтому абсцисса вершины – это среднее арифметическое корней:
R)then begin M:=t; R:=F(t); end; end; write(R); END. " width="640"
- Var a,b,t,M,R:integer;
- Function F (x:integer):integer;
- begin
- F:=x*x + 4*x + 8;
- end;
- BEGIN
- a:=-10; b:=10;
- M:=a; R:=F(a);
- for t:=a to b do begin
- if (F(t) R)then begin
- M:=t;
- R:=F(t);
- end;
- end;
- write(R);
- END.
- рассуждая так же, как и в предыдущем примере, можно показать, что программа ищет наибольшее значение функции F(t) на интервале от a до b
- заметим, что выводится не абсцисса, а именно это найденное наибольшее з начение функции:
- write(R);
- график заданной функции – это парабола, ветви которой направлены вверх, то есть она имеет точку минимума, но не точку максимума
- поэтому нужно проверить значения функции на концах отрезка и выбрать из них наибольшее
- при t=-10 получаем F(t)=68
- при t=10 получаем F(t)=148
- таким образом, ответ: 148.
y= x 4 -18x 2 +86 уравнение 4-ой степени
y’=4x 3 -36x
y’=4x(x 2 -9) = 4x(x-3)(x+3)
x 1 =0
x 2 =3
x 3 =-3
write (M+7)
3+7=10
-3+7=4 min
Ответ: 4
-
+
-
-3
0
3
Источники:
- http://fipi.ru /
- http://kpolyakov.spb.ru/download/B14.doc
- http://inf.reshuege.ru /
- http:// products.videouroki.net/infege2/b14-podprogrammy.php
- http://www.ctege.info /
- http://www.videxp.com /