про Pascal

Dec 20, 2017 14:14

Программисты тут вроде водятся? :) Вот вам прикол на паскале. Проще некуда:

program zadacha1;
var x,y:real;
begin
x:=-1.0;
while x<=2 do
begin
y:=1;
    while y<=2 do
          begin
        writeln( x, '  ', y);
        y:=y+0.2;
    end;
  x:=x+0.2;
 end;
end.Запускаем. Смотрим (часть вывода опущена):

1.8  1.8
1.8  2
2  1
2  1.2
2  1.4
2  1.6
2  1.8
2  2

Все верно. Закончили на x=2, y=2.
Теперь фокус: меняем в третьей с конца строке 0.2 на 0.1 (x:=x+0.1). Запускаем. Смотрим:

1.8  1.6
1.8  1.8
1.8  2
1.9  1
1.9  1.2
1.9  1.4
1.9  1.6
1.9  1.8
1.9  2

Где x=2? Терпеть не могу такие бяки. Фиг отловишь иногда. Или я туплю где-то?

З.Ы. Не спрашивайте почему программа написана именно так и почему - на паскале. Так было надо :))).

компьютерное

Previous post Next post
Up