![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
DD |
![]()
Сообщение
#1
|
Гость ![]() |
Программа:
type поле=record верт:(a,b,c,d,e,f,g,h); гориз: 1..8 end; Описать логическую функцию ходферзя (n1,n2), проверяющая, может ли ферзь за один ход перейти с поля n1 шахматной доски на поле n2 код: Код Program laba4; type pole=record vert:(a,b,c,d,e,f,g,h); gor: 1..8; end; var n1,n2 :pole; function hodferzya(n1,n2:pole) : boolean; begin if ((n1.vert)=(n2.vert)) and (n1.gor=n2.gor) then hodferzya:=true else hodferzya:=false; end; begin readln(n1,n2); case n1 of hodferzya(n1,n2); end. что не то? поправьте.. как всё же правильно описать условие проверки хода ферзя? |
![]() ![]() |
Дож |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 179 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ах да!
Цитата как всё же правильно описать условие проверки хода ферзя? А я думал он просит разобраться с компиляцией проги. ![]() -------------------- Доброго времени суток.
:nnn: |
DD |
![]()
Сообщение
#3
|
Гость ![]() |
Ну вот, вроде что-то сделал.. даже работает.. Кстати, суммировать правильно, но надо было ещё и вычитание делать.. так как ферзь может и по другой диагонали ходить...
Единственный вопрос остался, а вот горизонталь никак в (a,b,c,d,e,f,g,h) переделать нельзя? Код Program laba4; Uses Crt; type pole=record vert: 1..8; gor: 1..8; end; var n1,n2 :pole; function hodferzya(n1,n2:pole) : boolean; begin If (n1.vert=n2.vert) or (n1.gor=n2.gor) or (abs(n1.vert-n1.gor)=abs(n2.vert-n2.gor)) or (abs(n1.vert+n1.gor)=abs(n2.vert+n2.gor)) then hodferzya:=true else hodferzya:=false; If (n1.vert=n2.vert) and (n1.gor=n2.gor) then hodferzya:=false end; begin clrscr; Writeln ('Расположение Ферзя'); Writeln('Введите вертикальную координату (a,b,c,d,e,f,g,h)'); readln(n1.vert); Writeln('Введите горизонтальную координату (1..8)'); readln(n1.gor); writeln; Writeln ('Куда переместить Ферзя?'); Writeln('Введите вертикальную координату (a,b,c,d,e,f,g,h)'); readln(n2.vert); Writeln('Введите горизонтальную координату (1..8)'); readln(n2.gor); writeln; If hodferzya(n1,n2) then writeln('Возможный ход!') else writeln('Не возможный ход!'); readln; end. |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 5:17 |