|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Использование оператора Case - Basic vs Pascal
Столкнулся с проблемой, которая очень просто решается на любом другом языке. Нужно написать код, использующий координаты двух точек A(x1; y1) и B(x2; y2). Например, на бейсико подобном языке все выглядит логично и просто:
Код:
x1 = Random(500) y1 = Random(500) x2 = Random(500) y2 = Random(500) DeltaX = x2 - x1 DeltaY = y2 - y1 x =0 y = 0 STEP = 10 Select Case (DeltaX = 0) And (DeltaY = 0) x := x1; y := y1; Case DeltaX = 0 x = x1 y = y1 + STEP Case DeltaY = 0 y = y1 x = x1 + STEP Case else //Здесь размещается основной код EndSelect Неужели, для того, чтобы сделать то же самое на Паскале необходимо написать такого монстра: Код:
begin Randomize; x1 := Random(500); y1 := Random(500); x2 := Random(500); y2 := Random(500); DeltaX := x2 - x1; DeltaY := y2 - y1; x :=0; y := 0; If (DeltaX = 0) And (DeltaY = 0) then //3 begin x := x1; y := y1; end else begin If DeltaX = 0 then //2 begin x := x1; y := y1 + STEP; end else begin If DeltaY = 0 Then //1 begin y := y1; x := x1 + STEP; end else begin //Здесь размещается основной код end //1 end //2 end; //3 end; end. |
#2
|
||||
|
||||
Код:
If (DeltaX = 0) And (DeltaY = 0) then begin x := x1; y := y1; end else If DeltaX = 0 then begin x := x1; y := y1 + STEP; end else If DeltaY = 0 Then begin y := y1; x := x1 + STEP; end else begin //Здесь размещается основной код end Пишу программы за еду. __________________ |
#3
|
|||
|
|||
Цитата:
|
#4
|
||||
|
||||
можно не программировать на Pascal есть же Java и Python
Пишу программы за еду. __________________ |