function FirstNegative(a: V; n: integer): integer; var i: integer; begin i := 0; Result := 0; repeat i := i + 1; if a[i] < 0 then Result := i until (Result > 0) or (i > lim) end;
procedure InpMass(var a: V; var n: integer; mName: string); // Организует ввод массива var i, p: integer; begin writeln('Вводите элементы массива ' + mName + '; 7777 - конец ввода'); i := 0; repeat read(p); i := i + 1; if p <> 7777 then a[i] := p; until (p = 7777) or (i > lim); n := i - 1 end;
var a, b: V; m, n, p, q: integer;
begin InpMass(a, m, 'A'); InpMass(b, n, 'B'); p := FirstNegative(a, m); q := FirstNegative(b, n); if p <= q then writeln('Номер первого отрицательного элемента в массива А: ', p) else writeln('Номер первого отрицательного элемента в массива B: ', q) end.
Тестовое решение:
Вводите элементы массива A; 7777 - конец ввода 37 14 -25 32 30 -29 38 27 7777 Вводите элементы массива B; 7777 - конец ввода 33 -36 23 -17 -3 -16 -33 33 -48 -39 30 7777 Номер первого отрицательного элемента в массива B: 2
8. cos(x) - ((abs(x-2))/(sqrt(x)+3))+sqr(1+x)
9. а = 10 b = 10 c = 20
Объяснение:
9.
а = 25 b = 16
пока условие (а + b) > 20 истинно (да) выполнить
Действия в цикле:
1) а = а - 5
2) b = b - 2
c = а + b
а = 25 b = 16
(25 + 16) > 20 41 > 20 (да)
Действия в цикле:
1) а = 25 - 5 = 20
2) b = 16 - 2 = 14
а = 20 b = 14
(20 + 14) > 20 34 > 20 (да)
Действия в цикле:
1) а = 20 - 5 = 15
2) b = 14 - 2 = 12
а = 15 b = 12
(15 + 12) > 20 27 > 20 (да)
Действия в цикле:
1) а = 15 - 5 = 10
2) b = 12 - 2 = 10
а = 10 b = 10
(10 + 10) > 20 20 > 20 (нет)
Цикл не выполняется
а = 10 b = 10
c = а + b = 10 + 10 = 20
а = 10 b = 10 c = 20