Разбор 6 задания ЕГЭ
Решение 6 (19) задания:
В программе используется одномерный целочисленный массив
A с индексами от
0 до
9. Значения элементов равны 12, 8, 15, 23, 11, 4, 9, 22, 10, 15, т.е.
A[0]=12,
A[1]=8 и т.д.
Определите значение переменной s после выполнения следующего фрагмента этой программы:
Паскаль:
1
2
3
4
5
6
7
8
9
10
11
| s := 0;
n := 7;
for i:=0 to 9 do
if A[i] <= A[n] then begin
s := s + A[i];
t := A[i];
A[i] := A[n];
A[n] := t;
n := i mod 3;
end;
writeln(s); |
s := 0;
n := 7;
for i:=0 to 9 do
if A[i] <= A[n] then begin
s := s + A[i];
t := A[i];
A[i] := A[n];
A[n] := t;
n := i mod 3;
end;
writeln(s);
Бейсик:
s=0: n=7
FOR k:=0 to 9
IF A(i) <= A(n) THEN
s = s + A(i)
t = A(i)
A(i) = A(n)
A(n) = t
n = i MOD 3
END IF
NEXT k
PRINT S
END |
s=0: n=7
FOR k:=0 to 9
IF A(i) <= A(n) THEN
s = s + A(i)
t = A(i)
A(i) = A(n)
A(n) = t
n = i MOD 3
END IF
NEXT k
PRINT S
END
|
Python:
s = 0
n = 7
for i in range(10):
if A[i] <= A[n]:
s = s + A[i]
t = A[i]
A[i] = A[n]
A[n] = t
n = i % 3
print(s) |
s = 0
n = 7
for i in range(10):
if A[i] <= A[n]:
s = s + A[i]
t = A[i]
A[i] = A[n]
A[n] = t
n = i % 3
print(s)
|
С++:
s = 0;
n = 7;
for (i=0; i<=9; i++)
if (A[i]<=A[n])
{
s+=A[i];
t=A[i];
A[i]=A[n];
A[n]=t;
n=i%3;
}
cout << s; |
s = 0;
n = 7;
for (i=0; i<=9; i++)
if (A[i]<=A[n])
{
s+=A[i];
t=A[i];
A[i]=A[n];
A[n]=t;
n=i%3;
}
cout << s;
|
Ответ: 59
Вспоминаем таблицу истинности операции логического «сложения» (дизъюнкции): в сумме «истина», если хотя бы одно слагаемое «истина», и «ложь», если обе слагаемые «ложь». Значит, из условия задания делаем вывод о том, что каждое из слагаемых должно быть ложным. Третье слагаемое – (¬w) – оно должно быть ложным, что дает нам первую зацепку: четвертый столбец должен быть переменной w, поскольку, исходя из значений первого, второго и третьего столбцов, ни один из них не может быть переменной w.