Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 513
от 10.12.2007, 18:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 244, Экспертов: 46
В номере:Вопросов: 2, Ответов: 4


Вопрос № 112344: Здравствуйте уважаемые эксперты! Очень нужно (ну просто ужас как!!!) решить задачку: Есть 2 берега, 1 лодка, - необходимо переправить на лодке за 2 перехода - т.е. и волки сыты - и овцы целы. Код программы уже есть, осталось то...
Вопрос № 112440: Доброе время суток, уважаемые эксперты! Помогите пожалуйста справиться со следующей задачей! В паскале нужно написать функцию, которая бы читала клавиши и возвращала True, если нажата одна из клавиш: <up>, <down>, <left> или...

Вопрос № 112.344
Здравствуйте уважаемые эксперты!

Очень нужно (ну просто ужас как!!!) решить задачку:
Есть 2 берега, 1 лодка, - необходимо переправить на лодке за 2 перехода - т.е. и волки сыты - и овцы целы.

Код программы уже есть, осталось только немного разобраться и поправить код - у меня это не получилось... помогите плз!!!

Огромное спасибо!!!

procedure test(ss:mm;var rez:boolean);
begin
if((mm[1]=1) and (mm[3]=3)) then
begin
writeln('Волк съел козу');
rez:=true;
writeln('Проигрыш!');
end;
end;
begin
rez:=false;
rez2:=true;
left[1]:=1;
left[2]:=2;
left[3]:=3;
writeln('1 - Волк 2 - Капусты 3 - Коза 0 - Никого');
repeat
writeln('Какой пассажир едет к правому берегу: ');
read(a);
case a of
begin
1:begin left[1]:=0; prav[1]:=1; end;
2:begin left[2]:=0; prav[2]:=2; end;
3:begin left[3]:=0; prav[3]:=3; end;
end;
test(left,rez);
if(rez) then break;
test(prav,rez);
if(rez) then break;
writeln('Какой пассажир едет к левому берегу: ');
read(a);
test(lef,rez);
case a of
begin
1:begin left[1]:=1; prav[1]:=0; end;
2:begin left[2]:=2; prav[2]:=0; end;
3:begin left[3]:=3; prav[3]:=0; end;
end;
test(prav,rez);
test(lef,rez);
s:=0;
for i:=1 to 3 do
if(lef[i]:=0) then
s:=s+1;
if(s:=3) then
rez2:=true;
until rez or rez2;
end.
Отправлен: 04.12.2007, 18:57
Вопрос задал: Игнатов Андрей Сергеевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 11)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Игнатов Андрей Сергеевич!

Смотрите приложение.
Вы забыли о капусте, коза её очень любит.
Удачи!

Приложение:

---------
И только наступив на грабли мы приобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал)
Украина, Киев
Тел.: +380958380164
Адрес: Украина г.Киев
----
Ответ отправлен: 04.12.2007, 21:00
Оценка за ответ: 5
Комментарий оценки:
Спасибо за исправление кода, теперь пойдём править логику, т.к. из цикла не выходит после ввода норм. значений. Огромное спасибо за исправление!!


Вопрос № 112.440
Доброе время суток, уважаемые эксперты!
Помогите пожалуйста справиться со следующей задачей!
В паскале нужно написать функцию, которая бы читала клавиши и возвращала True, если нажата одна из клавиш: <up>, <down>, <left> или <right>. Это нужно сделать, не используя модуль CRT. Желательно бы сделать используя встроенный ассемблер
Можно хотя бы написать одну из функций, а для остальных клавиш указать только их код

Приложение:

Отправлен: 05.12.2007, 13:34
Вопрос задал: Каракулов Алексей Валентинович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Delph
Здравствуйте, Каракулов Алексей Валентинович!

В приложении программа с функцией, читающей код нажатой клавиши. Коды нужных Вам клавиш:

Left - 19200;
Right - 19712;
Up - 18432;
Down - 20480.

Код любой другой клавиши Вы сможете узнать, просто запустив программу и нажав эту клавишу. Условие завершения программы - нажатие клавиши Esc (её код равен 283). Прочитайте нажатую клавишу в переменную: w := SckanKey; и сможете проверить код на несколько разных значений. Бонус: выражение (w div 256) даст SCAN-код нажатой клавиши, а (w mod 256) - ASCII-код (то же самое, что и ORD(ReadKey)).

Приложение:

---------
Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.

Ответ отправил: Delph (статус: Студент)
Ответ отправлен: 05.12.2007, 14:07
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо.

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Каракулов Алексей Валентинович!

Смотрите приложение.
Функция ожидает нажатия клавиши.
Если заменить строку jz @@1 на jz @@8 , то фунцкия будет возвращать FALSE когда нажата другая клавиша или не нажато никакой.

Удачи!

Приложение:

---------
И только наступив на грабли мы приобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал)
Украина, Киев
Тел.: +380958380164
Адрес: Украина г.Киев
----
Ответ отправлен: 05.12.2007, 15:39
Оценка за ответ: 5

Отвечает: Артём1983
!!!
Здравствуйте, Каракулов Алексей Валентинович!
Смотрите код в приложении.

Для экзаменоторов!
Ответ противоречит условию вопроса: использован модуль CRT

-----
∙ Отредактировал: Зенченко Константин Николаевич (Профессионал)
∙ Дата редактирования: 06.12.2007, 21:10

Приложение:

---------
Программирование - дело Путное!

Ответ отправил: Артём1983 (статус: 7-ой класс)
Ответ отправлен: 05.12.2007, 20:09


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.65 от 04.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное