![]() |
![]() ![]() |
![]() |
compiler |
![]() ![]()
Сообщение
#1
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Добрый день!
как-то немогу решить простейшую задачу... нужна функция которая возвращает true если пользователь ввел 1 or true or take or t or yes or y (варианты можете дополнеть самостоятельно..) или false в противном случае... мой код function ReadAns():boolean;
var
ans:string;
begin
readLn(ans);
if (ans= (( ( ('1') or ('true') ) or ('take') ) or ( ('t') or (('yes') or ('y')) ) )) //<==ошибка тут
then ReadAns:=true
else ReadAns:=false;
end;
заранее благодарен! -------------------- Спасибо!
Удачи! |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
function ReadAns():boolean;
var
ans: string;
begin
readLn(ans);
result := (ans = '1') or (ans = 'y') or (ans = 'take') or ... ;
end;
|
Malice |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот так можно:
ReadAns:=pos ('@'+ans+'@','@1@true@take@t@yes@y@')>0;
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Malice, решение не соответствует заданию:
readLn(ans); // <-- Вводим: "1@true"
и? |
compiler |
![]()
Сообщение
#5
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
result это аналог return в C? у меня компилятору не нравится это..
но мне надо было так(рабочая версия) function ReadAns():boolean;
{Function processes user's input /
функция обрабатывает ввод пользователя}
var
ans:string;
begin
readLn(ans);
if (ans = '1') or (ans = 'y') or (ans = 'take') or (ans = 'true') or (ans = 't') or (ans = 'yes')
then ReadAns:=true
else ReadAns:=false;
end;
Спасибо! Добавлено через 2 мин. решение by Malice не понял ![]() -------------------- Спасибо!
Удачи! |
мисс_граффити |
![]()
Сообщение
#6
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
result - это переменная, ассоциированная с именем функции.
если компилятору не нравится (ТР?) замени на имя функции... Условный оператор тут - излишество. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Цитата (ТР?) Не может быть... В TP компилятору бы не понравилось: Цитата function ReadAns():boolean; , поэтому и было приведено решение с result, под FPC ... |
arhimag |
![]()
Сообщение
#8
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код result:=(pos('@'+ans+'@','@1@true@take@t@yes@y@')>0) and (pos('@',ans)=0); Вот исправленное решение Malice Объясню, как работает. мы в строке "@1@true@take@t@yes@y@" ищем нашу введеную строку с добавленными к началу и концу символами "@". Если нашли, то этот ответ есть в списке верных, а если нет, то нет. Но для того, что бы не работал пример Volvo, мы проверяем на наличие символа "@" в введенный строке(ни в одном правельном ответе нет символа @) Пардон. Ошибся, когда перепечатывал. Сообщение отредактировано: arhimag - 9.04.2007 17:50 -------------------- Чего хочет женщина – того хочет Бог
|
мисс_граффити |
![]()
Сообщение
#9
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
arhimag, убедительная просьба проверять код до выкладывания на форум.
начните, пожалуйста, с изучения порядка передаваемых функции pos аргументов. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
compiler |
![]()
Сообщение
#10
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Не может быть... В TP компилятору бы не понравилось.. , поэтому и было приведено решение с result, под FPC ... компилятор-FPC ошибка <<Identifier not found "result">>Сообщение отредактировано: compiler - 9.04.2007 17:34 -------------------- Спасибо!
Удачи! |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
|
compiler |
![]()
Сообщение
#12
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Интересно, правда? ![]() Какая у тебя совместимость выставлена в "Options -> Compiler -> (вкладка Syntax) -> Compiler Mode" ? free pascale dialectСообщение отредактировано: compiler - 9.04.2007 17:59 -------------------- Спасибо!
Удачи! |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Самой первой строкой программы добавь {$mode delphi} и перекомпилируй программу, что будет?
|
compiler |
![]()
Сообщение
#14
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: ![]() ![]() ![]() |
Самой первой строкой программы добавь {$mode delphi} и перекомпилируй программу, что будет? компилироваться ![]() Сообщение отредактировано: compiler - 9.04.2007 18:08 -------------------- Спасибо!
Удачи! |
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Это значит, что ты написал программу с использованием синтаксиса Дельфи, и хочешь, чтобы FPC, компилируя эту программу, знал об этом и использовал НЕ синтаксис TP или диалектов FreePascal, а именно Делфийский синтаксис... О различиях MODE - читай в доках, там все изложено...
|
мисс_граффити |
![]()
Сообщение
#16
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
В связи с изменением направления дискуссии тема переносится в более подходящий раздел.
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 2:12 |