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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> задача на типы данных
Hunt666
сообщение 1.10.2006 12:38
Сообщение #1


Пионер
**

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

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


мне необоходимо написать такую прогу:в диалоговом режиме вводится число ,если оно относится к целому типу данных то в результате тоже должно быть целое число ,точно также с вещественным,сивольным и логическим типом данных (все в одной проге)реализовать надо на паскале .
P.S.
сам толком задание не понял и как делать не представляю,памажите кто чем может
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
klem4
сообщение 1.10.2006 12:46
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Так как таких вещей как шаблоны в Паскале нету, то вводи строку и анализируй ее.

Если только числа [и знак числа в первом сисмволе] - то целое
Если то что и выше + 1 десятичный разделитель - то вещественное

ну и так далее ....





ps Вот тут Volvo лучше вариант предложил smile.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 1.10.2006 12:47
Сообщение #3


Гость






Читаешь строку, и пробуешь преобразовать ее к целому числу (через Val)... Если ошибка, то введено не целое - пробуй преобразовать к вешественному. Если и здесь ошибка - то анализируй длину введенной строки... При длине = 1 был введен символ.

Если длина отлична от 1, то переводить введенную строку в верхний регистр и проверять на 'TRUE' или 'FALSE'... Есть совпадение - введена логическая переменная, нет - была введена строка, не являющаяся ничем из выше перечисленного...

Цитата
Так как таких вещей как шаблоны в Паскале нету
rolleyes.gif 100% ?
 К началу страницы 
+ Ответить 
-Hunt666-
сообщение 1.10.2006 19:57
Сообщение #4


Гость






а на примере можно а то я не совсем понял
 К началу страницы 
+ Ответить 
volvo
сообщение 1.10.2006 20:28
Сообщение #5


Гость






function UpStr(s: string): string;
var i: integer;
begin
for i := 1 to length(s) do
s[i] := UpCase(s[i]);
UpStr := s;
end;

var
s: string;
code: integer;
i: longint;
r: real;
b: boolean;

begin
write('> '); readln(s);
val(s, i, code);
if code > 0 then begin
val(s, r, code);
if code > 0 then begin

if length(s) > 1 then begin

if (UpStr(s) = 'TRUE') or (UpStr(s) = 'FALSE') then begin
b := UpStr(s) = 'TRUE';
writeln('Boolean type. B = ', b);
end
else writeln('None of these types... Just a string: ', s);

end
else writeln('Char type. Ch = ', s);

end
else writeln('Real type. R = ', r:10:5);
end
else writeln('Integer type. I = ', i:10);

end.
 К началу страницы 
+ Ответить 
-Hunt666-
сообщение 1.10.2006 20:50
Сообщение #6


Гость






спаибо огромное теперь я все вроде бы понял!!!!!!!!
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 20.07.2025 12:15
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"