Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2010, 17:41   #1
Alexandra1991
 
Регистрация: 18.10.2010
Сообщений: 9
По умолчанию Линейный алгоритм

Помогите, уважаемые знатоки, девушке, начинающему програмисту, сложить программу по таким данным:
Цитата:
Линейный алгоритм. Логические типы данных . Логической переменной Pole присвоить значение true, если поля (Hor1,ver1) и (Hor2,ver2) шахматной доски имеют одинаковый цвет (Hor1,ver1,hor2,ver2) – целие от 1 до 8
Я долго думала,но не смогла решить, вся надежда теперь на вас!
Буду вам очень признательна.
Alexandra1991 вне форума Ответить с цитированием
Старый 18.10.2010, 19:04   #2
D@rkD@iver
Форумчанин
 
Регистрация: 28.07.2009
Сообщений: 189
По умолчанию

напиши в личку, сделаю за умереную плату
пишу программы для студентов и школьников на Pascal, Delphi, C++, WINAPI, assembler
обучаю программированию на паскале(дистанционно);mail: hruslow@gmail.com
D@rkD@iver вне форума Ответить с цитированием
Старый 18.10.2010, 19:54   #3
Alexandra1991
 
Регистрация: 18.10.2010
Сообщений: 9
По умолчанию

как перенести тему в раздел "помощь студентам"?
Alexandra1991 вне форума Ответить с цитированием
Старый 18.10.2010, 22:17   #4
zettor
Новичок
Джуниор
 
Регистрация: 18.10.2010
Сообщений: 6
Радость Решение

По моему так, но надо проверить:
var Hor1,ver1,Hor2,ver2: byte;
pole,b,b1: boolean;
begin
readln (hor1,ver1,hor2,ver2); { если белая клетка то true}
IF (hor1 mod 2= 0) and (ver1 mod 2= 0)then b:= false
else if (hor1 mod 2 <> 0) and (ver1 mod 2 = 0) then b:= true
else if (hor1 mod 2 = 0) and (ver1 mod 2 <> 0) then b:= true
else b:= false;
IF (hor2 mod 2) and (ver2 mod 2) = 0 then b1:= false
else if (hor2 mod 2 <> 0) and (ver2 mod 2 = 0) then b1:= true
else if (hor2 mod 2 = 0) and (ver2 mod 2 = 0) then b1:= true
else b1:= false;
if b=b1 then pole:= true
else pole:= false;
writeln (pole);
end.
zettor вне форума Ответить с цитированием
Старый 18.10.2010, 22:29   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

zettor, ну предпосылка правильная, но навороченно... я запутался.. (но это отнюдь не означает, что решение неверное!!! может быть и правильное.)
Но ведь проще так:
поле чёрное, если вертикальная и горизонтальная координаты имеют одинаковую чётность (или оба нечётные, или оба чётные) и белое, если они имеют разную чётность.
Т.к. нам не надо получать, какой цвет поля (белый или чёрный) а нужно только выяснить одинаковые ли цвета то можно написать так:
цвет первого поля: odd(Hor1) = odd(Ver1)
цвет второго поля: odd(Hor2) = odd(Ver2)
ну и вот решение (одна строчка кода):
Код:
Pole := (odd(Hor1) = odd(Ver1)) = (odd(Hor2) = odd(Ver2));
всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.10.2010, 22:32   #6
zettor
Новичок
Джуниор
 
Регистрация: 18.10.2010
Сообщений: 6
По умолчанию

Serge_Bliznykov, конечно так можно как вы сказали. Даже лучше будет, но ее на скорый глаз я так понял.
zettor вне форума Ответить с цитированием
Старый 18.10.2010, 22:38   #7
zettor
Новичок
Джуниор
 
Регистрация: 18.10.2010
Сообщений: 6
По умолчанию

type sh = 1..8;
var Hor1,ver1,Hor2,ver2: sh;
pole: boolean;
begin
readln (hor1,ver1,hor2,ver2);
Pole := (odd(Hor1) = odd(Ver1)) = (odd(Hor2) = odd(Ver2));
writeln (pole);
end.
Готовое решение.
zettor вне форума Ответить с цитированием
Старый 18.10.2010, 23:12   #8
Alexandra1991
 
Регистрация: 18.10.2010
Сообщений: 9
По умолчанию

zettor

Большое, пребольшое вам спасибо!
Alexandra1991 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Линейный участок Serdgi Помощь студентам 3 07.10.2010 14:41
pascal 7, линейный алгоритм prostac Помощь студентам 3 18.12.2009 21:21
Линейный список в Delphi @лен@ Помощь студентам 1 02.06.2009 07:33
Линейный Двунаправленный Список D1mon Помощь студентам 1 14.04.2009 21:37
Линейный список Black_Ak24 Паскаль, Turbo Pascal, PascalABC.NET 2 04.01.2008 15:00