<span>//2.19
var a,a1,a2,a3,a4:integer;
begin
readln(a);
a:=abs(a);
a1:=a div 1000;
a2:=a div 100 mod 10;
a3:=a mod 100 div 10;
a4:=a mod 10;
writeln('S = ',a1+a2+a3+a4);
writeln('P = ',a1*a2*a3*a4);
end<span>.
Пример:
4318
</span><span>S = 16
P = 96
//2.14 (для натуральных чисел)
var a:integer;
begin
readln(a);
a:=a mod 100*10 + a div 100;
writeln('a = ',a);
end.
Пример:
431
<span>a = 314
//4.23 а)
var a,a1,a2:integer;
begin
readln(a);
a:=abs(a);
a1:=a div 10;
a2:=a mod 10;
if a1 > a2 then writeln(a1,' > ',a2)
else if a1 < a2 then writeln(a1,' < ',a2)
else writeln(a1,' = ',a2)
end.
Пример:
43
4 > 3
//4.23 б)
var a,a1,a2:integer;
begin
readln(a);
a:=abs(a);
a1:=a div 10;
a2:=a mod 10;
if a1 = a2 then writeln(a1,' = ',a2)
else writeln(a1,' <> ',a2)
end.
Пример:
43
4 <> 3</span></span></span>
Ответ:
ИЛИ ложное, когда оба ложные, значит х≤50 и х-четное, след-но наименьшее из 2,4,...48,50 , =2 -ответ
Операторы делают следующее: а присвоить 3. Если а меньше 4,то увеличить а на 2, следовательно значением переменной A после выполнения операторов будет 5.
Не совсем понял смысл, но вот:
procedure TForm1.Button1Click(Sender: TObject);
var
i, s: integer;
begin
for i := 0 to (StrToInt(Edit1.Text) - 1) do
begin
if (s > StrToInt(Edit2.Text)) then break;
s := s + StrToInt(Memo1.Lines[i]);
end;
Memo2.Text := IntToStr(s);
end;
Эта штука суммирует числа из Memo1 (числа в строках), пока количество суммируемых не превысит N, либо их сумма не превысит M, либо числа не кончатся