простейшая задача на условный оператор, что-то я недопонемаю или запутался:( |
простейшая задача на условный оператор, что-то я недопонемаю или запутался:( |
compiler |
9.04.2007 15:34
Сообщение
#1
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Добрый день!
как-то немогу решить простейшую задачу... нужна функция которая возвращает true если пользователь ввел 1 or true or take or t or yes or y (варианты можете дополнеть самостоятельно..) или false в противном случае... мой код function ReadAns():boolean; заранее благодарен! -------------------- Спасибо!
Удачи! |
volvo |
9.04.2007 15:45
Сообщение
#2
|
Гость |
function ReadAns():boolean; |
Malice |
9.04.2007 15:58
Сообщение
#3
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Вот так можно:
ReadAns:=pos ('@'+ans+'@','@1@true@take@t@yes@y@')>0; |
volvo |
9.04.2007 16:02
Сообщение
#4
|
Гость |
Malice, решение не соответствует заданию:
readLn(ans); // <-- Вводим: "1@true"и? |
compiler |
9.04.2007 16:12
Сообщение
#5
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
result это аналог return в C? у меня компилятору не нравится это..
но мне надо было так(рабочая версия) function ReadAns():boolean; Спасибо! Добавлено через 2 мин. решение by Malice не понял -------------------- Спасибо!
Удачи! |
мисс_граффити |
9.04.2007 16:58
Сообщение
#6
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
result - это переменная, ассоциированная с именем функции.
если компилятору не нравится (ТР?) замени на имя функции... Условный оператор тут - излишество. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
9.04.2007 17:03
Сообщение
#7
|
Гость |
Цитата (ТР?) Не может быть... В TP компилятору бы не понравилось: Цитата function ReadAns():boolean; , поэтому и было приведено решение с result, под FPC ... |
arhimag |
9.04.2007 17:08
Сообщение
#8
|
Знаток Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: 2 |
Код 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.04.2007 17:25
Сообщение
#9
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
arhimag, убедительная просьба проверять код до выкладывания на форум.
начните, пожалуйста, с изучения порядка передаваемых функции pos аргументов. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
compiler |
9.04.2007 17:33
Сообщение
#10
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Не может быть... В TP компилятору бы не понравилось.. , поэтому и было приведено решение с result, под FPC ... компилятор-FPC ошибка <<Identifier not found "result">>Сообщение отредактировано: compiler - 9.04.2007 17:34 -------------------- Спасибо!
Удачи! |
volvo |
9.04.2007 17:44
Сообщение
#11
|
Гость |
|
compiler |
9.04.2007 17:53
Сообщение
#12
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Интересно, правда? Какая у тебя совместимость выставлена в "Options -> Compiler -> (вкладка Syntax) -> Compiler Mode" ? free pascale dialectСообщение отредактировано: compiler - 9.04.2007 17:59 -------------------- Спасибо!
Удачи! |
volvo |
9.04.2007 17:59
Сообщение
#13
|
Гость |
Самой первой строкой программы добавь {$mode delphi} и перекомпилируй программу, что будет?
|
compiler |
9.04.2007 18:02
Сообщение
#14
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Самой первой строкой программы добавь {$mode delphi} и перекомпилируй программу, что будет? компилироваться а что значит {$mode delphi}? только тогда у меня возникают ошибки в другом месте... Сообщение отредактировано: compiler - 9.04.2007 18:08 -------------------- Спасибо!
Удачи! |
volvo |
9.04.2007 18:05
Сообщение
#15
|
Гость |
Это значит, что ты написал программу с использованием синтаксиса Дельфи, и хочешь, чтобы FPC, компилируя эту программу, знал об этом и использовал НЕ синтаксис TP или диалектов FreePascal, а именно Делфийский синтаксис... О различиях MODE - читай в доках, там все изложено...
|
мисс_граффити |
9.04.2007 18:12
Сообщение
#16
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
В связи с изменением направления дискуссии тема переносится в более подходящий раздел.
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Текстовая версия | 27.04.2024 0:35 |