Вопрос № 36711: Здравствуйте экспеты!
Мне нужен справочник по процедурам и функциям Turbo Pascal 7
Напомните мне пожалуйста функцию перевода строки символов в число.
Т.е. строку: var str : string[6];
После работы с этой строко мне нужно получить шест...
Вопрос № 36.711
Здравствуйте экспеты!
Мне нужен справочник по процедурам и функциям Turbo Pascal 7
Напомните мне пожалуйста функцию перевода строки символов в число.
Т.е. строку: var str : string[6];
После работы с этой строко мне нужно получить шестизначное число integer допустим.
Отвечает: Ерёмин Андрей
Здравствуйте, Терсков Алексей Николаевич!
Эх, давно Pascal изучал... По-моему, это функция val().
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Отправлен: 04.03.2006, 07:48
Отвечает: Diman_A
Здравствуйте, Терсков Алексей Николаевич!
------------------------------------------------------------
Процедура Val
------------------------------------------------------------
Функция: Преобразует строковое значение в его численное
представление.
Описание: Val(s : string; v; var код : integer)
Примечания: Параметр s представляет собой выражение
строкового типа. Параметр v является переменной целого или
вещественного типа. Параметр "код" - это переменная целого
типа, которая формирует все число со знаком в соответствии с
синтаксисом, показанном в разделе "Числа" в Главе 1. Функция
Val преобразует строку s в ее численное представление и сох-
раняет результат в v. Если где-либо в строке встречается не-
допустимый символ, то его номер сохраняется в параметре
"код". В противном случае этот параметр равен нулю.
В зависимости от состояния {$R} и типа параметра v
функция Val по-разному выполняет проверку диапазона.
Если состояние проверки диапазона установлено, то есть
задано {$R+}, то выражения, выходящие за границу диапазона,
всегда будут генерировать ошибку времени выполнения.
Если состояние проверки диапазона сброшено, то есть за-
дано {$R-}, то выражения, выходящие за границу диапазона,
будут вызываеть эффект, зависящий от их типа. Если v имеет
тип real или longint, то значение v становится неопределен-
ным и в параметре "код" возвращается ненулевое значение. Для
любого другого числового типа в параметре "код" возвращается
нулевое значение, а v будет содержать результат вычислений с
переполнением (если предположить, что строковое значение по-
падает в диапазон представления длинного целого).
Таким образом, процедуре Val переменную длинного целого
типа (longint) и перед тем, как присваивать полученное зна-
чение, выполнять проверку диапазона. Например:
{$R-}
Val('65536', LongIntVar, Code);
if (Code <>0) or
(LOngIntVar < 0) or (LongIntVar > 65535) then
... { ошибка }
else
WordVar := LongIntVar;
Ограничения: Предшествующие пробелы должны быть удале-
ны.
Пример:
var
i, code : integer;
begin
{ получить текст из командной строки }
Val(ParamStr(1), i, code);
{ ошибка при преобразовании в целое значение? }
if code <> 0 then
Writeln('Ошибка на позиции :', code);
else
Writeln('Значение = ', i);
end.
Ответ отправил: Diman_A (статус: 6-ой класс)
Отправлен: 04.03.2006, 09:00 Оценка за ответ: 5
Отвечает: Whisper
Здравствуйте, Терсков Алексей Николаевич!
есть 2 функции val() и str()
первая строку в число, вторая переводит число в строку, параметры посмотри в стандартной справке, в паскале
--------- все тленно
Ответ отправила: Whisper (статус: 5-ый класс)
Отправлен: 04.03.2006, 10:01 Оценка за ответ: 5
Отвечает: Boriss
Здравствуйте, Терсков Алексей Николаевич!
Вот то, что начал приводить в удобный вид - самаая полная справка по Turbo Pascal, Фаронова учебник толстенный есть - именно это, есть еще электронный учебник не самый плохой
Вывод числа в шестнадцатеричном формате - возможен с помощью немного муторной Format (в BP.exe есть в основных, а в Turbo.exe нужно модуль Objects подключать)
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа. --------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 04.03.2006, 10:29
Отвечает: sir henry
Здравствуйте, Терсков Алексей Николаевич!
1. Справочник можно взять, например, здесь:
http://www.borlpasc.narod.ru
Там вообще документации много.
2. Функции нет, есть процедура:
procedure Val(S; var V; var Code: Integer);
Конвертирует числовую строку S в число V (того типа, которым Вы объявите V), Code - сюда заносится код ошибки, если конвертация по каким-либо причинам не удалась.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 04.03.2006, 13:03 Оценка за ответ: 5