1) Ошибка "Нельзя преобразовать тип real к integer"
При исправлении
var
a, b: real;
begin
a := 26 mod 11;
b := 3;
b := 6 + a * b;
a := b / 3 * a;
writeln(a);
end.
выдает 24
2) 52
А++-++а ≠ 0 однозначно!
Выражение содержит два инкремента - сначала постфиксный, затем, после знака минус - префиксный. Постфиксный инкремент выполняется ПОСЛЕ выполнения операции, а префиксный - ДО. Поэтому сначала выполнится префиксный ++, который увеличит операнд "а", затем из прежнего значения a, стоящего слева от знака минус, вычтется "новое" значение "а", и затем уже постфиксный инкремент нарастит полученное значение.
использовать Робот
алг
нач
вправо;закрасить;вправо;закрасить;вправо;закрасить
вниз;закрасить;вниз;закрасить
влево;закрасить;влево;закрасить
вниз;вниз
закрасить;вправо;закрасить;вправо
закрасить;вверх;закрасить
кон
//Я слабо себе представляю как выглядит блок-схема с подпрограммой, так что выкладываю два варианта
//Pascal ABC.NET v3.1 сборка 1219
Var s:real; i,j,d1,d2,r1,r2,k:integer;
function Simple(d,r:integer):real;
begin
Simple:=sqr(d)*(r-1130)*9.8/(18*0.6);
end;
begin
k:=0;
read(d1,d2,r1,r2);
for i:=d1 to d2 do
begin
for j:=r1 to r2 do
begin
s:=s+Simple(i,j);
inc(k);
end;
end;
s:=s/k;
writeln(s);
end.
Пример ввода:
1
5
2
4
Пример вывода:
-11249.1296296296
65536 цветов = 2 байта на точку
1024 х 768 =786432 точки
786432 х 2 = 1572864 байта = 1536 килобайта = 1,5 мегабайта