IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> простейшая задача на условный оператор, что-то я недопонемаю или запутался:(
сообщение
Сообщение #1


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Добрый день!
как-то немогу решить простейшую задачу...
нужна функция которая возвращает 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;

заранее благодарен!


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






function ReadAns():boolean;
var
ans: string;
begin
readLn(ans);
result := (ans = '1') or (ans = 'y') or (ans = 'take') or ... ;
end;

 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Вот так можно:
ReadAns:=pos ('@'+ans+'@','@1@true@take@t@yes@y@')>0;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Malice, решение не соответствует заданию:

  readLn(ans); // <-- Вводим: "1@true"
и?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


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 не понял sad.gif


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


result - это переменная, ассоциированная с именем функции.
если компилятору не нравится (ТР?) замени на имя функции... Условный оператор тут - излишество.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Цитата
(ТР?)
Не может быть... В TP компилятору бы не понравилось:
Цитата
function ReadAns():boolean;
, поэтому и было приведено решение с result, под FPC ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


--------------------
Чего хочет женщина – того хочет Бог
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


arhimag, убедительная просьба проверять код до выкладывания на форум.
начните, пожалуйста, с изучения порядка передаваемых функции pos аргументов.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 9.04.2007 17:03) *

Не может быть... В TP компилятору бы не понравилось..
кстате как это на TP написать
Цитата(volvo @ 9.04.2007 17:03) *
, поэтому и было приведено решение с result, под FPC ...
компилятор-FPC ошибка <<Identifier not found "result">>

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Прикрепленное изображение
Интересно, правда?

Какая у тебя совместимость выставлена в "Options -> Compiler -> (вкладка Syntax) -> Compiler Mode" ?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 9.04.2007 17:44) *
Интересно, правда?

Прикрепленное изображение
Цитата(volvo @ 9.04.2007 17:44) *
Какая у тебя совместимость выставлена в "Options -> Compiler -> (вкладка Syntax) -> Compiler Mode" ?
free pascale dialect

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






Самой первой строкой программы добавь {$mode delphi} и перекомпилируй программу, что будет?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 9.04.2007 17:59) *
Самой первой строкой программы добавь {$mode delphi} и перекомпилируй программу, что будет?

компилироваться smile.gif а что значит {$mode delphi}? только тогда у меня возникают ошибки в другом месте...

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гость






Это значит, что ты написал программу с использованием синтаксиса Дельфи, и хочешь, чтобы FPC, компилируя эту программу, знал об этом и использовал НЕ синтаксис TP или диалектов FreePascal, а именно Делфийский синтаксис... О различиях MODE - читай в доках, там все изложено...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


В связи с изменением направления дискуссии тема переносится в более подходящий раздел.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 0:56
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name