Составить блок-схему алгоритма и программу для обработки массива из 20 чисел X = (0,3; 5; 69; –3; 52; –20; –9; –23; –9; 10; 36; 12; 15; 23; –0,2; –36; –0,3; 8; 45; –7) при b = –6 Вычислить произведение и количество элементов, не равных нулю и больших b.
program jumping;
var
i, j, temp: integer;
B: array [1..10] of integer;
begin
for i := 1 to 10 do
read(B[i]);
for i := 1 to 9 do
for j := 1 to 10 - i do
if (B[j] < B[j + 1]) then
begin
temp := B[j];
B[j] := B[j + 1];
B[j + 1] := temp;
end;
writeln('Первое место: ', B[1]);
writeln('Второе место: ', B[2]);
writeln('Третье место: ', B[3]);
end.
Объяснение:
program jumping; // Название программы
var
i, j, temp: integer; // Целочисленные переменные:
i - переменная счетчик для цикла forj - переменная счетчик для цикла fortemp - переменная для временного хранения значений массиваB: array [1..10] of integer; // Целочисленный массив из 10 чисел
begin // Начало программы
for i := 1 to 10 do // Идём с первого по десятый элементы массива
read(B[i]); // Ввод значений массива
// Сортировка массива в порядке убывания
for i := 1 to 9 do // Идём с первого по девятый элементы массива
for j := 1 to 10 - i do // Идём с первого по 10 - i элементы массива
if (B[j] < B[j + 1]) then // Если последующий элемент больше предыдущего
begin // Начало цикла
temp := B[j]; // Временная переменная = значению массива B с индексом j
B[j] := B[j + 1]; // Значение массива B с индексом j = значению массива B с индексом j + 1
B[j + 1] := temp; // Значение массива B с индексом j = значению временной переменной
end; // Конец цикла
writeln('Первое место: ', B[1]); // Вывод ответа
writeln('Второе место: ', B[2]); // Вывод ответа
writeln('Третье место: ', B[3]); // Вывод ответа
end. // Конец программы
должно по идее получиться "нет худо без добра.", но у меня получилось
"нет худо бrз одра." может ты в условии что-то напутала? вот программа которая переводит
function Pow(a, x:integer):integer;
var
rez, i:integer;
begin
rez := 1;
for i := 1 to x do
rez := rez * a;
Pow := rez;
end;
function BinToDec(a:string):integer;
var
i ,r:integer;
begin
r := 0;
for i := length(a) downto 1 do
r := r + StrToInt(a[i]) * Pow(2, length(a) - i);
BinToDec := r;
end;
var
s:array[1..100] of string;
i:integer;
begin
s[1] := '11001101';
s[2] := '11100101';
s[3] := '11110010';
s[4] := '00100000';
s[5] := '11110101';
s[6] := '11110011';
s[7] := '11100100';
s[8] := '11100000';
s[9] := '00100000';
s[10] := '11100001';
s[11] := '1110010';
s[12] := '11100111';
s[13] := '00100000';
s[14] := '11101110';
s[15] := '11100001';
s[16] := '11110000';
s[17] := '11100000';
s[18] := '00101110';
for i := 1 to 18 do
write(chr(BinToDec(s[i])));
end.