<u>Поскольку протестировать программу без файла нельзя, вот код, создающий нужный файл.</u>
<em>// PascalABC.NET 3.3, сборка 1579 от 18.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Rewrite(f);
SeqRandom(20,-50,50).foreach(t->Write(f,t));
f.Close
end.
<u>А теперь, собственно, решение задачи</u>
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Reset(f);
var k:=0;
var b:integer;
while not Eof(f) do begin
Read(f,b);
if b.IsEven then k+=1
end;
f.Close;
Writeln('Кол-во четных компонент файла равно ',k)
end.
<u>И последнее - программа распечатки значений компонент файла. Для контроля.</u>
type
fint=file of integer;
begin
var f:fint;
Assign(f,'integers.bin'); Reset(f);
var b:integer;
while not Eof(f) do begin Read(f,b); Print(b) end;
Writeln;
f.Close
end.
Решаем выражение, полученное значение переводим из десятичной системы в троичную и считаем количество "2"
1.
Var a,b,pr:integer;
Begin
pr:=1;
write('Вводите числа, когда закончите - введите 0. '); readln(a);
while (a<>0) do begin
if (a>0) and (a<10) then begin b:=b+1; pr:=pr*a; end; readln(a) end;
Writeln('Чисел, больше 0 и меньше 10: ',b,' их произведение:',pr);<span>end.
2.
Var a,b,c,i,sum,f:integer;
Begin
Write('Введите 10 двузначных чисел: '); repeat readln(a); until(a>=10) and (a<100);
for i:=1 to 10 do
begin
repeat </span>readln(a); until(a>=10) (a<100)
b:=a mod 10;
c:=a div 10;
sum:=b+c;
if (sum mod 2 = 0) then f:=f+1;
end;
Writeln('Кол-во цифр, удовлетворяющих условию: ',f);
end.
3.
Var a,b,c:integer;
Begin
write('Вводите целые положительные числа.');
repeat
readln(a);
b:=b+a;
c:=c+1;
until (b>100);
Writeln('Кол-во введёных чисел:',c,' их сумма:',b);
end.
Var a: array [1..30] of integer;
begin
for var i:=1 to 30 do
begin
a[i]:=random(-30,30);
end;
println(a);
for var i:=1 to 30 do
begin
if (a[i]>0) then
a[i]:=1
else
a[i]:=-1;
end;
print(a);
end.