1) k:=k mod 3+k*cos(5); В правой части стоит функция косинус, которая определена только для вещественных чисел и операция mod, которая определена только для целых чисел. Если k целочисленное, то правая часть будет вещественной и попытка присвоить вещественное значение целочисленной переменной недопустима. Надо ставить явное преобразование, например k:=Trunc(k mod 3+k*cos(5)); или k:=Round(k mod 3+k*cos(5)); Если же k - вещественное, то операция k mod 2 недопустима. 2) x:=x*2 div 6+x/4 Тут в правой части смешаны операция div, которая определена только для целых и операция деления, которая определена для вещественных. Такое смешивание вещественных и целый запрещено. В Паскале нет функции перевода целых в вещественные, только процедура, но её в выражение не встроишь. Поэтому можно только говорить о переводе результата х/4 к целому значение посредством Trunc(х/4) или Round(x/4). Либо о замене х/4 на x div 4. Само собой, х надо объявлять целым.
1. var x:integer; y:real; begin write('Введите значение аргумента "X" : '); readln(x); y:=3*cos((5*x)); writeln('Значение функции "Y" = ',y); readln; end.
2. var x,b:integer; begin write('Введите количество молока, полученного за день, л : '); readln(x); write('Введите количество дней : '); readln(b); writeln('Количество молока, полученного за заданный промежуток времени = ',x*b); readln; end.
3. var a,b,c:integer; begin write('Введите двузначное число: '); readln(a); b:=a div 10; c:=a mod 10; writeln(b,#10,c); end.
4. var b:integer; a:longint; begin write('Введите целое число: '); readln(a); b:=a div 100 mod 100; writeln(b); readln; end.
5. var a,b:integer; begin write('Введите числа : '); readln(a,b); if a and b mod 2=0 then writeln(a+b); if a and b mod 2<>0 then writeln(a*b); readln; end. {Про последнее "Иначе", увеличьте все числа в пять раз и выведите результаты" не очень понялЕсли оба чётные - сумма, если оба - нечётные - то произведение. А если иначе, то число должно быть равно нулю. Смысл увеличивать его в пять раз?)}
В правой части стоит функция косинус, которая определена только для вещественных чисел и операция mod, которая определена только для целых чисел. Если k целочисленное, то правая часть будет вещественной и попытка присвоить вещественное значение целочисленной переменной недопустима. Надо ставить явное преобразование, например k:=Trunc(k mod 3+k*cos(5)); или k:=Round(k mod 3+k*cos(5));
Если же k - вещественное, то операция k mod 2 недопустима.
2) x:=x*2 div 6+x/4
Тут в правой части смешаны операция div, которая определена только для целых и операция деления, которая определена для вещественных. Такое смешивание вещественных и целый запрещено. В Паскале нет функции перевода целых в вещественные, только процедура, но её в выражение не встроишь. Поэтому можно только говорить о переводе результата х/4 к целому значение посредством Trunc(х/4) или Round(x/4). Либо о замене х/4 на x div 4. Само собой, х надо объявлять целым.
var
x:integer;
y:real;
begin
write('Введите значение аргумента "X" : ');
readln(x);
y:=3*cos((5*x));
writeln('Значение функции "Y" = ',y);
readln;
end.
2.
var
x,b:integer;
begin
write('Введите количество молока, полученного за день, л : ');
readln(x);
write('Введите количество дней : ');
readln(b);
writeln('Количество молока, полученного за заданный промежуток времени = ',x*b);
readln;
end.
3.
var
a,b,c:integer;
begin
write('Введите двузначное число: ');
readln(a);
b:=a div 10;
c:=a mod 10;
writeln(b,#10,c);
end.
4.
var
b:integer;
a:longint;
begin
write('Введите целое число: ');
readln(a);
b:=a div 100 mod 100;
writeln(b);
readln;
end.
5.
var
a,b:integer;
begin
write('Введите числа : ');
readln(a,b);
if a and b mod 2=0 then
writeln(a+b);
if a and b mod 2<>0 then
writeln(a*b);
readln;
end.
{Про последнее "Иначе", увеличьте все числа в пять раз и выведите результаты" не очень понялЕсли оба чётные - сумма, если оба - нечётные - то произведение. А если иначе, то число должно быть равно нулю. Смысл увеличивать его в пять раз?)}