Сначала решу математически. Если положили R $ под x% годовых, то через год стало R1 = R*(1 + x/100) = R + R*x/100 $. Теперь забрали W $, стало R1 - W = R - W + R*x/100 Еще через год стало R2 = (R-W+R*x/100)*(1+x/100) = R-W+2R*x/100-W*x/100+R*x^2/10000 $ И по условию это равно W $. x^2*R/10000 + x*(2R - W)/100 + (R - 2W) = 0 Умножаем все на 10000 R*x^2 + 100*(2R - W)*x + 10000*(R - 2W) = 0 И решаем квадратное уравнение D = 10000*(2R-W)^2 - 40000*(R^2-2RW) = = 10000*(4R^2-4RW+W^2) - 10000*(4R^2 - 8RW) = 10000*(4RW + W^2) - не подходит - подходит 1. Начало 2. Ввод R и W 3. X = (-100*(2*R - W) + 100*Sqrt(4*R*W + W*W) ) / R 4. Вывод X 5. Конец
var a: array[1..n] of integer; kOdd, e, i: integer;
begin Randomize; kOdd := 0; write('Исходный массив '); for i := 1 to n do begin e := Random(20) + 1; a[i] := e; if (e mod 2) <> 0 then kOdd := kOdd + 1; write(e:3) end; writeln; writeln('Количество нечетных элементов - ', kOdd) end.
Тестовое решение: Исходный массив 9 2 1 18 17 16 11 15 15 13 Количество нечетных элементов - 7
program ex2;
const n = 10;
var a: array[1..n] of integer; kNeg, e, i: integer;
begin Randomize; kNeg := 0; write('Исходный массив '); for i := 1 to n do begin e := Random(21) - 10; a[i] := e; if e < 0 then kNeg := kNeg + 1; write(e:4) end; writeln; writeln('Количество отрицательных элементов - ', kNeg); end.
Тестовое решение: Исходный массив -9 -1 -7 -4 8 -4 1 -1 -7 0 Количество отрицательных элементов - 7
program ex3;
const n = 10;
var a: array[1..n] of integer; e, i: integer;
begin Randomize; write('Исходный массив '); for i := 1 to n do begin a[i] := Random(20); write(a[i]:4) end; writeln; write('Результирующий массив '); for i := 1 to n do begin if a[i] mod 2 = 0 then a[i] := 1; write(a[i]:4) end; writeln; end.
begin Randomize; write('Исходный массив '); for i := 1 to n do begin a[i] := Random(11) + -5; write(a[i]:4) end; writeln; write('Результирующий массив '); for i := 1 to n do begin if a[i] = 0 then a[i] := 1; write(a[i]:4) end; writeln; end.
begin Randomize; write('Исходный массив '); for i := 1 to n do begin a[i] := Random(10) + 1; write(a[i]:3) end; writeln; write('Результирующий массив '); for i := 1 to n do begin if a[i] = 3 then a[i] := 5; write(a[i]:3) end; writeln; end.
Если положили R $ под x% годовых, то через год стало
R1 = R*(1 + x/100) = R + R*x/100 $.
Теперь забрали W $, стало
R1 - W = R - W + R*x/100
Еще через год стало
R2 = (R-W+R*x/100)*(1+x/100) = R-W+2R*x/100-W*x/100+R*x^2/10000 $
И по условию это равно W $.
x^2*R/10000 + x*(2R - W)/100 + (R - 2W) = 0
Умножаем все на 10000
R*x^2 + 100*(2R - W)*x + 10000*(R - 2W) = 0
И решаем квадратное уравнение
D = 10000*(2R-W)^2 - 40000*(R^2-2RW) =
= 10000*(4R^2-4RW+W^2) - 10000*(4R^2 - 8RW) = 10000*(4RW + W^2)
- не подходит
- подходит
1. Начало
2. Ввод R и W
3. X = (-100*(2*R - W) + 100*Sqrt(4*R*W + W*W) ) / R
4. Вывод X
5. Конец
const
n = 10;
var
a: array[1..n] of integer;
kOdd, e, i: integer;
begin
Randomize;
kOdd := 0;
write('Исходный массив ');
for i := 1 to n do
begin
e := Random(20) + 1;
a[i] := e;
if (e mod 2) <> 0 then kOdd := kOdd + 1;
write(e:3)
end;
writeln;
writeln('Количество нечетных элементов - ', kOdd)
end.
Тестовое решение:
Исходный массив 9 2 1 18 17 16 11 15 15 13
Количество нечетных элементов - 7
program ex2;
const
n = 10;
var
a: array[1..n] of integer;
kNeg, e, i: integer;
begin
Randomize;
kNeg := 0;
write('Исходный массив ');
for i := 1 to n do
begin
e := Random(21) - 10;
a[i] := e;
if e < 0 then kNeg := kNeg + 1;
write(e:4)
end;
writeln;
writeln('Количество отрицательных элементов - ', kNeg);
end.
Тестовое решение:
Исходный массив -9 -1 -7 -4 8 -4 1 -1 -7 0
Количество отрицательных элементов - 7
program ex3;
const
n = 10;
var
a: array[1..n] of integer;
e, i: integer;
begin
Randomize;
write('Исходный массив ');
for i := 1 to n do
begin
a[i] := Random(20);
write(a[i]:4)
end;
writeln;
write('Результирующий массив ');
for i := 1 to n do
begin
if a[i] mod 2 = 0 then a[i] := 1;
write(a[i]:4)
end;
writeln;
end.
Тестовое решение:
Исходный массив 3 16 4 1 13 0 14 14 10 18
Результирующий массив 3 1 1 1 13 1 1 1 1 1
program ex4;
const
n = 10;
var
a: array[1..n] of integer;
e, i: integer;
begin
Randomize;
write('Исходный массив ');
for i := 1 to n do
begin
a[i] := Random(11) + -5;
write(a[i]:4)
end;
writeln;
write('Результирующий массив ');
for i := 1 to n do
begin
if a[i] = 0 then a[i] := 1;
write(a[i]:4)
end;
writeln;
end.
Тестовое решение:
Исходный массив 4 -5 0 -2 -4 -5 -2 0 -1 -5
Результирующий массив 4 -5 1 -2 -4 -5 -2 1 -1 -5
program ex5;
const
n = 10;
var
a: array[1..n] of integer;
e, i: integer;
begin
Randomize;
write('Исходный массив ');
for i := 1 to n do
begin
a[i] := Random(10) + 1;
write(a[i]:3)
end;
writeln;
write('Результирующий массив ');
for i := 1 to n do
begin
if a[i] = 3 then a[i] := 5;
write(a[i]:3)
end;
writeln;
end.
Тестовое решение:
Исходный массив 8 9 6 10 10 7 1 3 1 3
Результирующий массив 8 9 6 10 10 7 1 5 1 5