Единый государственный экзамен ЕГЭ Информатика задание №21 Демонстрационный вариант 2018 Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма. Для Вашего удобства алгоритм представлен на пяти языках программирования.
Демонстрационный вариант Единый государственный экзамен ЕГЭ 2017 г. – задание №21. Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках программирования).
Графиком функции x2+9*x-400 является парабола, ветви которой направлены вверх. Поэтому когда -25<x<16, y≤0.
Итак, N=25 + 16 + 1 = 42
Ответ: 42
Демонстрационный вариант Единый государственный экзамен ЕГЭ 2016 г. – задание №21
Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 10. Для Вашего удобства программа приведена на пяти языках программирования.
Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Паскаль
Си
Python
Var a,b,t,M,R:integer;
Function F(x:integer):integer;
begin
F:=3*(x-2)*(x+6);
end;
BEGIN
a:=-20; b:=20;
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.
#include <stdio.h>
int F(int x)
{
return(3*(x-2)*(x+6));
}
int main(void){
int a, b, t, M, R;
a=-20; b=20;
M=a; R=F(a);
for (t=a; t<= b; t++)
{
if (F(t)<R)
{
M=t;
R=F(t);
}
}
printf(″%d″, R);
}
def F(x):
return 3*(x-2)*(x+6)a = -20
b = 20
M = a
R = F(a)
for t in range(a,b+1):
if F(t) < R:
M = t
R = F(t)
print(R)
Решение:
Эта программа ищет наименьшее значение функции F(x)=3*(x-2)*(x+6) на интервале [-20, 20].
Если квадратный трехчлен задан в виде F(x)=a*(x-p)*(x-q), то абсцисса, соответствующая точке минимума, вычисляется по формуле:
Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Паскаль
Си
Python
Var a,b,t,M,R:integer;
Function F(x:integer):integer;
begin
F:= x*x + 2*x + 10;
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(M);
END.
#include <stdio.h>
int F(int x)
{
return(x*x + 2*x + 10);
}
int main(void)
{
int a, b, t, M, R;
a=-10; b=10;
M=a; R=F(a);
for (t=a; t<= b; t++)
{
if (F(t)< R)
{
M=t;
R=F(t);
}
}
printf(″%d″, M);
}
def F(x):
return x*x + 2*x + 10
a = -10
b = 10
M = a
R = F(a)
for t in range(a,b+1):
if F(t) > R:
M = t
R = F(t)
print(M)
Решение:
Эта программа ищет наименьшее значение функции F(x)=x*x+2*x+10 на интервале [-10, 10], но выводит не само значение функции, а значение абциссы (x).
Если квадратный трехчлен задан в виде F(x)=ax2+bx+c, то абсцисса, соответствующая точке минимума, вычисляется по формуле:
b=2, a=1
Ответ: -1
Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Паскаль
Си
Python
Var a,b,t,M,R:integer;
Function F(x:integer):integer;
begin
F:= x*x + 6*x + 10;
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(M);
END.
#include <stdio.h>
int F(int x)
{
return(x*x + 6*x + 10);
}
int main(void)
{
int a, b, t, M, R;
a=-10; b=10;
M=a; R=F(a);
for (t=a; t<= b; t++)
{
if (F(t)> R)
{
M=t;
R=F(t);
}
}
printf(″%d″, M);
}
def F(x):
return x*x + 6*x + 10a = -10
b = 10
M = a
R = F(a)
for t in range(a,b+1):
if F(t) > R:
M = t
R = F(t)
print(M)
Решение:
Эта программа ищет наибольшее значение функции F(x)=x*x + 6*x + 10 на интервале [-10, 10], но выводит не само значение функции, а значение абциссы (x).
Если квадратный трехчлен задан в виде F(x)=ax2+bx+c, то абсцисса, соответствующая точке максимума, вычисляется по формуле:
b=6, a=1
Функция имеетнаибольшее значение на интервале [-10, 10] при x=10.
Ответ: 10
Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Паскаль
Си
Python
var a,b,t,M,R:integer;
Function F(x: integer):integer;
begin
F := -3*(x-10)*(x+2)+2;
end;
BEGIN
a := -20; b := 20;
M := a; R:= F(a);
for t := a to b do
if (F(t)>R) then begin
M := t;
R:= F(t);
end;
write(M);
END.
#include <stdio.h>
int F(int x)
{
return(-3*(x-10)*(x+2)+2);
}
int main(void)
{
int a, b, t, M, R;
a = -20; b = 20;
M = a; R= F(a);
for (t = a; t<=b; t++)
if (F(t)>R)
{
M = t;
R= F(t);
}
printf(″%d″, M);
}
def F(x):
return -3*(x-10)*(x+2)+2a = -20
b = 20
M = a
R = F(a)
for t in range(a,b+1):
if F(t) > R:
M = t
R = F(t)
print(M)
Решение:
Эта программа ищет наибольшее значение функции F(x)=-3*(x-10)*(x+2)+2 на интервале [-20, 20], но выводит не само значение функции, а значение абциссы (x).
Если квадратный трехчлен задан в виде F(x)=ax2+bx+c, то абсцисса, соответствующая точке максимума, вычисляется по формуле:
b=24, a=-3
Ответ: 4
Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Паскаль
Си
Python
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)<R) then begin
M := t;
R:= F(t)
end
end;
write(M);
end.
#include <stdio.h>
int F(int x)
{
return(3*(x-8)*(x-8));
}
int main(void)
{
int a, b, t, M, R;
a = -20; b = 20;
M = a; R= F(a);
for (t=a; t<= b; t++)
{
if (F(t)<R)
{
M = t;
R= F(t);
}
}
printf(″%d″, M);
}
def F(x):
return 3*(x-8)*(x-8)a = -20
b = 20
M = a
R = F(a)
for t in range(a,b+1):
if F(t) < R:
M = t
R = F(t)
print(M)
Решение:
Эта программа ищет наименьшее значение функции F(x)=3*(x-8)*(x-8) на интервале [-20, 20], но выводит не само значение функции, а значение абциссы (x). Знак x положителен, поэтому функция вогнута вверх. Функция имеет только один корень x=8. Так что ответ будет 8.
Ответ: 8
Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Паскаль
Си
Python
var a,b,t,M,R:integer;
Function F(x: integer):integer;
begin
F := 15*(5+x)*(5+x)+125;
end;
BEGIN
a := -25; b := 25;
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;
writeln(M);
END.
#include <stdio.h>
int F(int x)
{
return(15*(5+x)*(5+x)+125);
}
int main(void)
{
int a, b, t, M, R;
a = -25; b = 25;
M = a; R= F(a);
for (t=a; t<= b; t++)
{
if (F(t) > R))
{
M = t;
R= F(t);
}
}
printf(″%d\n″, M);
}
def F(x):
return 15*(5+x)*(5+x)+125a = -25
b = 25
M = a
R = F(a)
for t in range(a,b+1):
if F(t) > R:
M = t
R = F(t)
print(M)
Решение:
Эта программа ищет наибольшее значение функции F(x)=15*(5+x)*(5+x)+125 на интервале [-25, 25], но выводит не само значение функции, а значение абциссы (x). Знак x положителен, поэтому функция вогнута вверх.
15*(5+x)*(5+x)+125=0 => (5+x)2 = -125/15
Функция не имеет корней.
b>0 и a>0, по этому xmin<0 и ответ является правой конечной точкой интервала=25.
Ответ: 25
Определите, какое число будет напечатано в результате выполнения следующего алгоритма:
Паскаль
Си
Python
var a, b, t, N :integer;
Function F(x: integer):integer;
begin
F := 16*(9-x)*(9-x)-127;
end;
BEGIN
a := -20; b := 20;
N := 0;
for t := a to b do begin
if (F(t) >= 0) then begin
N := N+1;
end;
end;
write(N);
END.
#include <stdio.h>
int F(int x)
{
return(16*(9-x)*(9-x)-127);
}
int main(void)
{
int a, b, t, N;
a = -20; b = 20;
N = 0;
for (t=a; t<= b; t++)
if (F(t) >= 0) N++;
printf(″%d″, N);
}
def F(x):
return 16*(9-x)*(9-x)-127a = -20
b = 20
N = 0
for t in range(a,b+1):
if F(t) >= 0:
N += 1
print(N)
Решение:
if (F(t) >= 0) N++;
Эта программа подсчитывает количество, в котором функция F(x)=16*(9-x)*(9-x)-127 больше или равна нулю на интервале [-20, 20].
16*(9-x)*(9-x)-127 ≥ 0
16*(9-x)2 ≥ 127
x=2,1,0,-,1,-2 => 5 не подходит
на интервале [-20, 20] 20+20+1(нуль) = 41
41-5 = 36
Ответ: 36
Определите, количество чисел K, для которых следующая программа выведет такой же результат, что и для K = 20:
Паскаль
Си
Python
var i, k: integer;
function F(x:integer):integer;
begin
F:=x*x+5*x;
end;
begin
i := 15;
readln(K);
while (i > 0) and (F(i) > K) do
i:=i-1;
writeln(i);
end.
#include <stdio.h>
int F(int x)
{
return(x*x+5*x);
}
int main(void){
int i, K;
i = 15;
scanf(″%d″, &k);
while ( i > 0 && F(i) > K )
i–;
printf(″%d″, i);
}
def F(x):
return x*x + 5*xi = 15
k = int(input())
while (i > 0) and (F(i) > k):
i -= 1
print(i)
Решение:
i = 15; Начальное значение i равно 15.
while ( i > 0 && F(i) > K )
i–;
Пока условие истинно, i уменьшается.
x2+5x>20
при i=3, 32+5.3>20 => 24>20 максимум=23
при i=2, 22+5.2=14, минимум=14
Количество чисел между 14 и 23, это 10.
Ответ: 10
Напишите в ответе количество различных значений входной переменной k, при которых программа выдаёт тот же ответ, что и при входном значении k = 64. Значение k = 64 также включается в подсчёт различных значений k.
Паскаль
Си
Python
var k, i : longint;
function f(n: longint) : longint;
begin
f := n * n + 20
end;
begin
readln(k);
i := 12;
while (i>0) and (f(i)>=k) do
i := i-1;
writeln(i)
end.
#include <stdio.h>
int f(int n)
{
return(n*n + 20);
}
int main(void)
{
int i, K;
scanf(″%d″, &k);
i = 12;
while (i > 0 && f(i) >= k)
i = i-1;
printf(″%d″, i);
}
def f(n):
return n*n + 20i = 12
k = int(input())
while (i > 0) and (f(i) >= k):
i -= 1
print(i)
Решение:
i = 12; Начальное значение i равно 12.
while (i > 0 && f(i) >= k)
i–;
Пока условие истинно, i уменьшается.
n2+20 ≥ 64
при i=7, 72+20 ≥ 64 => 69 ≥ 64 максимум=69
при i=6, 62+20=56, минимум=57
Количество чисел между 69 и 57, это 13.
Ответ: 13
Напишите в ответе количество различных значений входной переменной k, при которых программа выдаёт тот же ответ, что и при входном значении k = 18. Значение k = 18 также включается в подсчёт различных значений k.
Паскаль
Си
Python
var k, i : longint;
function F(x: longint) : longint;
begin
if x < 2 then
F:= 1
else F:=3* F(x-1) – F(x-2)
end;
begin
i := 11;
readln(K);
while (i> 0) and (F(i) > K) do
i:=i-1;
writeln(i)
end.
#include <stdio.h>
int f(int n)
{
if (x < 2) return(1);
else return(3*f(x-1) – f(x-2));
}
int main(void)
{
int i, K;
i = 11;
scanf(″%d″, &k);
while ( i > 0 && f(i) > K)
i = i-1;
printf(″%d″, i);
}
def f(x):
if x < 2:
return 1
else:
return 3*f(x-1) – f(x-2)i = 11
k = int(input())
while (i > 0) and (f(i) > k):
i -= 1
print(i)
Решение:
i = 11; Начальное значение i равно 11.
while ( i > 0 && f(i) > K)
i–;
Пока условие истинно, i уменьшается.
F11=3.F10-F9
F10=3.F9-F8
F9=3.F8-F7
F8=3.F7-F6
F7=3.F6-F5
F6(3.13-5=34)=3.F5(13)-F4(5)
F5(3.5-2=13)=3.54(5)-F3(2)
F4(3.2-1=5)=3.F3(2)-F2(1)
F3(3.1-1=2)=3.F2(1)-F1(1)
Достаточно проверить до F6, потому что его значение 34 больше 18.
F(6)=34>18, максимум=33
F(5)=13, минимум=13
Количество чисел между 33 и 13, это 33-13+1=21.
Ответ: 21
Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 18.
Паскаль
Си
Python
var k, i : longint;
function f(n: longint): longint;
begin
f := n * n;
end;
function g(n: longint): longint;
begin
g := 2*n + 5;
end;
begin
readln(k);
i := 1;
while f(i) < g(k) do
i := i+1;
writeln(i)
end.
#include <stdio.h>
int f(int n)
{
return(n*n);
}
int g(int n)
{
return(2*n + 5);
}
int main(void)
{
int k, i;
scanf(″%d″, &k);
i = 1;
while (f(i) < g(k))
i = i+1;
printf(″%d″, i);
}
def f(n):
return n*ndef g(n):
return 2*n + 5k = int(input())
i = 1
while (f(i) < g(k)):
i = i + 1
print(i)
Решение:
i = 1; Начальное значение i равно 1.
while f(i) < g(k) do
i := i+1;
i2<2.k+5; при k=18 => i2<2.18+5 => i2<41 => i=6
62=36<2.k+5 => k=16
Ответ: 16
Определите, количество чисел k, для которых следующая программа выведет такой же результат, что и для k = 12?