Переменная х целого типа. К каждому чертежу подберите подходящее логическое выражение. (x<1) or (x>=3) (x>0) and (x mod 4 = x) (x>1) and (x<=3)
Предложенные фрагменты программы должны выполнять нахождение и вывод абсолютной величины суммы первых 1, 2, ...8 элементов массива А - всего 8 сумм. В реальности будут восемь раз выведены нули, потому что отсутствует фрагмент, в котором элементам массива А присваиваются какие-либо значения.
Блок-схемы достаточно одной, потому что все три фрагмента определяют одни и те же шаги алгоритма.
1. Pascal
var A: array[1..100] of integer; N, I, J: integer; S: real;
begin N := 8; for I := 1 to N do begin S := 0; for J := 1 to I do S := S + A[J]; S := abs(S); writeln('S=', S:9:2) end; readln; end.
2. QBASIC
DEFINT I-J, N, S DIM A(100) AS INTEGER N = 8 FOR I = 1 TO N S = 0 FOR J = 1 TO I S = S + A(J) NEXT J S = ABS(S) PRINT S NEXT I END
3. Школьный АЯ (КуМИР)
алг слово(рез вещ s) нач цел таб A[1:100] цел n,I,j n:=8 нц для I от 1 до n s:=0 нц для j от 1 до I s:=s+A[j] кц s:=abs(s) вывод s кц кон
izumrud153
08.03.2023
Последнее проверяемое число 7FF, поскольку большее число при удвоении будет четырехзначным, нарушая условие задания.
procedure Analyze(n: integer; var sd: integer; var has2: boolean); {Для заданного целого n возвращает: sd - сумму цифр в шестнадцатиричном представлении; has2 - true, если среди шестнадцитиричных цифр имеется хотя бы одна двойка.} const mask = $00F;
var i, r: integer;
begin has2 := false; sd := 0; for i := 1 to 3 do begin r := (n and mask); has2 := (has2 or (r = 2)); sd := sd + r; n := (n shr 4); end end;
function IsSuitable(n: integer): Boolean; {Проверяет, удовлетворяет ли число n набору условий}
var s1, s2: integer; has2, stub: boolean;
begin Analyze(n, s1, has2); Analyze(2 * n, s2, stub); IsSuitable := ((s1 = s2) and has2) end;
var i, n: integer;
begin n := 0; for i := $100 to $7FF do if IsSuitable(i) then n := n + 1; Writeln('Найдено чисел- ', n) end.
Результат выполнения программы: Найдено чисел- 23
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Переменная х целого типа. К каждому чертежу подберите подходящее логическое выражение. (x<1) or (x>=3) (x>0) and (x mod 4 = x) (x>1) and (x<=3)
Блок-схемы достаточно одной, потому что все три фрагмента определяют одни и те же шаги алгоритма.
1. Pascal
var
A: array[1..100] of integer;
N, I, J: integer;
S: real;
begin
N := 8;
for I := 1 to N do
begin
S := 0;
for J := 1 to I do S := S + A[J];
S := abs(S);
writeln('S=', S:9:2)
end;
readln;
end.
2. QBASIC
DEFINT I-J, N, S
DIM A(100) AS INTEGER
N = 8
FOR I = 1 TO N
S = 0
FOR J = 1 TO I
S = S + A(J)
NEXT J
S = ABS(S)
PRINT S
NEXT I
END
3. Школьный АЯ (КуМИР)
алг слово(рез вещ s)
нач цел таб A[1:100]
цел n,I,j
n:=8
нц для I от 1 до n
s:=0
нц для j от 1 до I
s:=s+A[j]
кц
s:=abs(s)
вывод s
кц
кон