Pascalabc составьте программу, которая заполняет массив b[1..8] случайными целыми числами в диапазоне от 1 до 10 и находит количество элементов с нечётными значениями.
Var A:array[1..8] of Integer; i,k:integer; begin For i:=1 to 8 do begin A[i]:=Random(1,10); Write(A[i],' '); end; For i:=1 to 8 do If A[i] mod 2=0 then k:=k+1; Wrieln(k); end.
1) Набираем 8ми литровый кувшин 2) отливаем 3 литра в 3х литровый и сливаем из него воду 3) в 8ми литровом осталось 5л воды, сливаем снова в 3х литровый, и в 8ми литровом осталось 2 литра воды. 4) выливаем из 3х литрового воду, и переливаем в него 2 литра, оставшиеся в 8литровом кувшине. 5)Снова наполняем 8ми литровый кувшин, и доливаем из него воду в 3х литровый кувшин, так как в 3х литровом налито 2 литра - там не хватает одного литра, значит отлив из 8ми литрового литр в нем останется 7 литров :)
В операторе y:=x*x+4/x+3 используется операция деления, которая всегда возвращает вещественный тип. Следовательно, и всё выражение в правой части всегда будет иметь вещественный тип. А в левой части стоит переменная целого типа. Присваивание вещественного значения целочисленной переменной запрещено правилами языка Паскаль. Чтобы избавиться от ошибки, нужно знать алгоритм, который реализует программа. В зависимости от алгоритма может быть использована операция целочисленного деления, может быть использована функция Trunc(), возвращающая целочисленное значение аргумента, либо переменная y должна объявляться вещественной.
i,k:integer;
begin
For i:=1 to 8 do
begin
A[i]:=Random(1,10);
Write(A[i],' ');
end;
For i:=1 to 8 do
If A[i] mod 2=0 then
k:=k+1;
Wrieln(k);
end.