function coord(z:integer; var x, y:integer):integer;
begin
if z = 1 then x := 130; y := 130;
if z = 2 then x := 200; y := 130;
if z = 3 then x := 270; y := 130;
if z = 4 then x := 130; y := 200;
if z = 5 then x := 200; y := 200;
if z = 6 then x := 270; y := 200;
if z = 7 then x := 130; y := 270;
if z = 8 then x := 200; y := 270;
if z = 9 then x := 270; y := 270;
end;
Другие языки программирования и технологии
По какой причине переменная у не меняется? Паскаль
function coord(z:integer; var x, y:integer):integer;
begin
if z = 1 then begin x := 130; y := 130; end;
if z = 2 then begin x := 200; y := 130; end;
if z = 3 then begin x := 270; y := 130; end;
if z = 4 then begin x := 130; y := 200; end;
if z = 5 then begin x := 200; y := 200; end;
if z = 6 then begin x := 270; y := 200; end;
if z = 7 then begin x := 130; y := 270; end;
if z = 8 then begin x := 200; y := 270; end;
if z = 9 then begin x := 270; y := 270; end;
end;
begin
if z = 1 then begin x := 130; y := 130; end;
if z = 2 then begin x := 200; y := 130; end;
if z = 3 then begin x := 270; y := 130; end;
if z = 4 then begin x := 130; y := 200; end;
if z = 5 then begin x := 200; y := 200; end;
if z = 6 then begin x := 270; y := 200; end;
if z = 7 then begin x := 130; y := 270; end;
if z = 8 then begin x := 200; y := 270; end;
if z = 9 then begin x := 270; y := 270; end;
end;
Лучше так:
case z of
1:begin x := 130; y := 130; end;
2:begin x := 200; y := 130; end;
...
9: begin x := 270; y := 270; end;
end;
Лучше - создать константные массивы и брать значения оттуда:
const coord_x:array[1..9] of integer = (130,200,270,...);
coord_y:array[1..9] of integer = (130,130,130,200,...);
...
x := coord_x[z];
y := coord_y[z];
Еще лучше - объявить тип Point и объявлять массив Point-ов.
А совсем хорошо - вынести эти массивы в отдельный файл.
А вот короткий вариант:
x := 130 + ((z-1) mod 3)*70;
y := 130 + ((z-1) div 3)*70;
Но он не всегда годится.
case z of
1:begin x := 130; y := 130; end;
2:begin x := 200; y := 130; end;
...
9: begin x := 270; y := 270; end;
end;
Лучше - создать константные массивы и брать значения оттуда:
const coord_x:array[1..9] of integer = (130,200,270,...);
coord_y:array[1..9] of integer = (130,130,130,200,...);
...
x := coord_x[z];
y := coord_y[z];
Еще лучше - объявить тип Point и объявлять массив Point-ов.
А совсем хорошо - вынести эти массивы в отдельный файл.
А вот короткий вариант:
x := 130 + ((z-1) mod 3)*70;
y := 130 + ((z-1) div 3)*70;
Но он не всегда годится.
Похожие вопросы
- Величина переменных.Паскаль.Описание дальше.
- Снова Паскаль) ) Переменные и занимаемая ими память
- Строковые переменные (Паскаль).Подскажите пожалуйста
- Чем опасна переменная вещественного типа? (например в Паскале, тип real)
- Паскаль. Сколько байт занимает переменная типа string[10]? 11? .
- var k:1..9; напечатать значение переменной k римскими цифрами. в турбо паскаль нужно написать программу
- Напишите 5 задач по турбо Паскалю при решение которых нужна только переменная i . Помогите пожалуйста!
- Исходя из названия "переменная" она должна меняться, а если она константная, она уже не меняется, как называть её?
- Аналог ассоциативного массива в Паскале.
- С# - нужно сделать так, чтобы консоль читала слова, как переменные, а не просто слова...
else if z = 2 then begin x := 200; y := 130; end;
else if z = 3 then begin x := 270; y := 130; end;
else if z = 4 then begin x := 130; y := 200; end;
else if z = 5 then begin x := 200; y := 200; end;
else if z = 6 then begin x := 270; y := 200; end;
else if z = 7 then begin x := 130; y := 270; end;
else if z = 8 then begin x := 200; y := 270; end;
else if z = 9 then begin x := 270; y := 270; end;
Уровень: подмастерье