a:=-15; //переменной a присваивается значение -15 a:=a*2+1; //переменной a присваивается значение a=(-15)*2+1=-29 b:=-a; //переменной b присваивается противоположное значение a: b=29 c:=b mod 2;//переменной c присваивается остаток от деления 29 на 2: c=1 Writeln ('c=',c); //вывод c программа выведет: c=1
Во-первых, если загрузить эту программу в паскаль то ничего не выведется т.к. тут допущены ошибки, вот как правильно: Var a,b,c:integer;begina:=-15;b:=-a; c:=b mod 2;Writeln('c=',c);end. в программе выводится остаток деления числа b на число c но если тебе нужно оставить действие a:=a*2+1 тогда ты должен добавить ещё одну переменную и в таком случае b будет равнять не -а, а минус эта самая переменная. я обозначила эту переменную n, вот что получается Var a,b,c,n:integer;begina:=-15;n:=-a*2+1;b:=-n;c:=n mod 2;Writeln('c=',c);end.
Если элементы массива идут по возрастанию, то вот так
program wstawka; uses crt; const min=1; max=20; type zona=min..max; massiw=array[zona] of integer; var mas:massiw; i,j:zona; a,N,M:integer; T:boolean; BEGIN randomize; clrscr; N:=random(20); writeln('4ucJlo N = ',N); M:=random(20); Writeln('4ucJlo M = ',M); for i:=min to max-2 do begin mas[i+1]:=mas[i]+random(5); write(mas[i],' '); end; for i:=min to max-2 do if (mas[i]>N) and (t=false) then begin t:=true; a:=mas[i]; mas[i]:=N; for j:=i+1 to max do begin N:=mas[j]; mas[j]:=a; a:=N; end; end; for i:=min to max-1 do if (mas[i]>M) and (t=true) then begin t:=false; a:=mas[i]; mas[i]:=M; for j:=i+1 to max do begin M:=mas[j]; mas[j]:=a; a:=M; end; end; writeln; for i:=min to max do write(mas[i],' '); readkey; END.
a:=a*2+1; //переменной a присваивается значение a=(-15)*2+1=-29
b:=-a; //переменной b присваивается противоположное значение a: b=29
c:=b mod 2;//переменной c присваивается остаток от деления 29 на 2: c=1
Writeln ('c=',c); //вывод c
программа выведет:
c=1