По блок-схеме определить значения переменных X, Y, при данных значениях А, В. Записать алгоритм на алгоритмическом языке. A
B
X
Y
0
1
3
-1
5
2
16
3
-1
3
7
-4
алг пример
нач
ввод А, В
Х:=2*А+3*В
Y:=А-В
вывод X, Y
кон
По образцу выполнить следующее:
Составить алгоритмы в виде блок-схемы и на алгоритмическом языке для решения следующих задач:
а) для вычисления значения выражения:
б) для нахождения среднего арифметического трех чисел;
в) для нахождения периметра прямоугольника, если известны его стороны.
var a: array[1..m] of integer;
i,j,n: integer;
begin
write('количество элементов массива: ');
readln(n);
randomize;
write('массив: ');
for i:=1 to n do
begin
a[i]:=random(40);
write(a[i],' ');
end;
writeln;
write('отсортированный массив: ');
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then swap(a[i],a[j]);
for i:=1 to n do write(a[i],' ');
end.
количество элементов массива: 10
массив: 32 2 10 22 2 13 25 6 15 6
отсортированный массив: 2 2 6 6 10 13 15 22 25 32
а) 33 | 16 | 8 | 4 | 2 | 1 - в двоичной системе оно выглядит как 100001
1 | 0 | 0 | 0 | 0 | 1
Так как оно положительное, то в начале ставится 0. Так как чисел всего 6, а не 7, то после первого нуля следует поставить ещё один.
ответ: 0'0100001
б) -63₁₀ = -111111₂ (переводить уже не буду подробно)
Так как число отрицательное, то в начале ставим 1, так как цифр 6, то ставим после 1 0.
1'0111111
Инвертируем:
1'1000000
Прибавляем 1:
1'1000001
ответ: 1'1000001
в) -254₁₀ = -11111110
Так как цифр 8, то последнюю отбрасываем, а далее по алгоритму:
1'1111111 >> 1'0000000 >> 1'0000001
ответ: 1'0000001
2.' ' ' . . . . .
а) 11110 б) 10101010
+ 1101 - 11011
=101011 =10001111
в) 1101
* 101
1101
+1101
=1000001
Всё, как в обычной арифметике.