dasika1
03.09.2020 21:31

Цикл do while вывести все числа з промежутка 1 до 20 с шагом 1

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
polka3893
08.03.2023 00:18

var n, p,i,k:integer;

m:array of real;

s:real;

begin

write('n');

readln(n);

setlength(m,n);

writeln;  

for i:=0 to n-1 do

begin

m[i]:=random(21)-10;

write(m[i]:8:2);

if m[i]>0 then k:=i;

end;

writeln;  

S:=0

for i:=0 to k do

s:=s+m[i];

writeln('Сумма элементов до последнего положительного элемента =', s);

Объяснение:

Оптимизируем

for i:=0 to n-1 do  

m[i]:=random(21)-10;  

for i:=0 to n-1 do  

write(m[i]:8:2);

Объединим и заставим сразу считать k

for i:=0 to n-1 do

begin

m[i]:=random(21)-10;

write(m[i]:8:2);

if m[i]>0 then k:=i;

end;

выкидываем

for i:=n-1 downto 0 do

if m[i]>0 then  

begin

k:=i;

break;

end;

И вот еще не помню уже, но не будет лишним сделать S=0, может конечно при описании оно и становится 0, но лишним не будет. Нас учили так.

0,0(0 оценок)
Ответ:
Akhram
14.01.2022 22:15
1)  Один байт = 8 бит, максимальное число 2^8 - 1 = 255, если числа без знака.  Для знаковых чисел старший бит отводится под знак числа, следовательно, минимальное число = - 2^7 - 1
 = - 127,  максимальное число = + 127
2)  Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит,  в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000  0110  0100  0111  и записываем в шестнадцатиричном виде 
0111(2) = 7(16)   0100(2) = 4(16)   0110(2) =6(16)   0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля  = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а)   будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное  01101001(2)  ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота