1) Ошибка может содержаться в любой ветке. Не протестировав все - не узнаешь, а не узнав - не исправишь. Значит в итоге будет кривая программа. Брак то бишь. 2) условия можно вкладывать друг в друга любое число раз, главное не запутаться в них в итоге. Выглядеть это будет например вот так: If a<0 then b:=a/2 else if a=0 then b:=a else b:=a*2; Или так: if a<0 then if (abs(a) mod 2 =0) then b:='отрицательное чётное' else b:='отрицательное нечетное' else b:='положительное'; Главное чётко следить к какому if какое then и особенно какое else. Блок схемы на картинке. Возможна масса других вариантов.
Const n=10; m=5; var i,j,k:integer; A:array[1..n] of integer; B,C:array[1..m] of integer; begin writeln('Введите элкменты массива'); for i:=1 to n do readln(a[i]); j:=0; k:=0; for i:=1 to n do if i mod 2=1 then begin j:=j+1; B[j]:=A[i] end else begin k:=k+1; C[k]:=A[i] end; writeln('Массив А'); for i:=1 to n do write(A[i],' '); writeln; writeln('Массив B'); for i:=1 to j do write(B[i],' '); writeln; writeln('Массив C'); for i:=1 to k do write(C[i],' '); writeln end.
1100001^2 1100001^2=1*2^7+1*2^6+0+0+0+0+1*2^0=128+64+1=193^10 ответ:193 Пояснение:для того чтобы перевести двоичную в десятичную-надо сначала посчитать количество разрядов числа с конца начиная с 0-то есть число будет выглядеть так 0 1 2 3 4 5 6 7- 7 разрядов,потом берём первое число 1 умножаем его на 2 в степени семь,так как последний разряд и степень 7,получиться число 128=2^7,прибавляем к этому следующее число степень которого 6,то есть 2^6=64,дальше всё 0 и прибавляем к этому последний разряд 2^0=1,следовательно и получается 128+64+1=193
лучше для теста написать отдельную программу
И собрать все варианты исходных данных
чтобы убедиться, что нет ошибок в коде
2
иф тзен
иф тзен
елсе
иф тзен
как-то так, пиши