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

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

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

> Является ли заданная строка правильной записью целого числа?, Помогите пожалуйста с задачей...
bama_girl
сообщение 9.04.2008 11:05
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Женский
Реальное имя: Ксюша

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


Определить, является ли заданная строка "правильной записью целого числа" (возможно со знаком).

Вот как ее решила я:

Код
program laba;
uses crt;
var
s:string;
w, code:integer;  
procedure start;  
begin
writeln('введите строку');  
readln(s);  
end;
procedure process;
begin
Val(s,w,code);  
end;
procedure finish;  
begin
If code=0 then  
writeln('Строка ', s,' является записью целого числа ')  
else
writeln('Строка ', s,'  не является записью целого числа ');  
readln;
end;
begin
writeln ('Эта программа определяет, является ли введенная вами строка правильной записью целого числа.');
readln;
start;  
process;  
finish;  
end.


Однако, здесь идет конвертирование и проверка всей строки сразу.... Это очень ограничило количество вводимых символов.... Мне поставили новую задачу: сделать так, чтобы шли конвертирование и проверка каждого символа... Сложность еще в том, что целые числа могут быть и отрицательными, и если делать посимвольную проверку, то нужно учитывать знак "-" в начале строки... unsure.gif
Подскажите пожалуйста, как сделать!

Сообщение отредактировано: bama_girl - 9.04.2008 19:04
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Michael_Rybak
сообщение 10.04.2008 11:26
Сообщение #2


Michael_Rybak
*****

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

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


может нам еще римские цифры учитывать, а так же вербальное представление слов? и иероглифы?

по тексту автора темы совершенно очевидно, что имеется ввиду десятичная запись. более того, при желании можно и вывод такой сделать: функция val c целым аргументом обработает только десятичную запись, а ксюша говорит, что всё ок, только нужно добавить, чтоб работало с длинными числами.

давайте не будем придираться к запятым в тексте, это ну совсем-совсем бессмысленно. я не говорю, вообще не придираться. просто есть какая-то мера подразумеваемости, и в данном случае очень явная, по-моему.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
andriano
сообщение 10.04.2008 21:11
Сообщение #3


Гуру
*****

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

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


Цитата(Michael_Rybak @ 10.04.2008 12:26) *

может нам еще римские цифры учитывать, а так же вербальное представление слов? и иероглифы?
Не видя условия, ответить на этот вопрос невозможно.
Цитата

по тексту автора темы совершенно очевидно, что имеется ввиду десятичная запись.
Извини, я телепатическими способностями не обладаю, а в тексте этого в упор не вижу.
Цитата
более того, при желании можно и вывод такой сделать: функция val c целым аргументом обработает только десятичную запись, а ксюша говорит, что всё ок, только нужно добавить, чтоб работало с длинными числами.
Неправда Ваша.
  val('$ff',i,j);
writeln(i,' ',j);

Цитата
давайте не будем придираться к запятым в тексте, это ну совсем-совсем бессмысленно. я не говорю, вообще не придираться. просто есть какая-то мера подразумеваемости, и в данном случае очень явная, по-моему.
Я не придираюсь. Я обращаю внимание на неоднозначность в формулировке задачи.
Увы, на практике очень часто оказывается, что каждый из двух беседующих подразумевает что-то свое, тогда как каждый из них уверен, что они подразумевают одно и то же.
Бывают и более сложные ситуации, например, в системе "преподаватель, студент, помощник" запросто может оказаться, что преподаватель и помощник подразумевают разное, а студент, не владея материалом в достаточной мере, просто даже не подозревает о возможности такой разницы. В таком случае если помощник своевременно сможет доказать студенту необходимость уточнить условие у преподавателя, это в дальнейшем поможет избежать студенту массы неприятностей.
Скажешь не жизненная ситуация?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
bama_girl   Является ли заданная строка правильной записью целого числа?   9.04.2008 11:05
Michael_Rybak   очень просто. смотри. читаешь строку (как строку, ...   9.04.2008 11:24
bama_girl   Спасибо большое за помощь, суть ясна =) Только ср...   9.04.2008 18:59
andriano   если первый символ не минус и не цифра - сразу отв...   9.04.2008 19:45
Michael_Rybak   Да, только учти, что во введенной строке может и...   9.04.2008 20:53
andriano   Michael_Rybak, неправда Ваша. Если нечто нужно про...   10.04.2008 7:02
Michael_Rybak   может нам еще римские цифры учитывать, а так же ве...   10.04.2008 11:26
andriano   может нам еще римские цифры учитывать, а так же в...   10.04.2008 21:11
Michael_Rybak   вообще - согласен. в данном конкретном случае, на ...   10.04.2008 22:54
andriano   ты веришь, что от нее могут требовать шестнадцатир...   11.04.2008 19:41
hardcase   ППц вы тут демагогию развели...   11.04.2008 23:28
Michael_Rybak   я уже писал про римские и иероглифы. а спрашива...   12.04.2008 19:37
bama_girl   Ребят, возникла еще одна проблема: в эту задачу ка...   20.04.2008 12:30


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

 



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