Другие языки программирования и технологии
Помогите составить программу на Турбо Паскале! ПЛИЗЗ!!
Задан текст. Выяснить, является ли этот текст десятичной записью целого числа.
тут мой вариант решения с исходниками
http:\\resheno.blogspot.com\2009\06\blog-post.html
http:\\resheno.blogspot.com\2009\06\blog-post.html
Доброго времени суток.
Все значительно проще. Нужно попытаться преобразовать эту строку в число с помощью процедуры Val. Вот из справки по этой процедуре
Val (процедура)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Преобразовывает строковое значение в его
числовое представление.
Объявление:
Procedure Val(S; Var V; Var Code : Integer);
Где:
S - переменная со строковым типом. Должна представлять
последовательность символов, формирующих знаковое целое число.
V - переменная типа Real или Integer
Code - переменная типа Integer
Режим:
Windows, Real, Protected
Замечания:
Преобразовывает строковое значение (S) в его
числовое представление, как это происходит при
чтении из текстового файла с помощью Read.
Code - позиция, в которой произошла ошибка при
преобразовании, или нуль, если ошибки не было.
Отсюда и решение. Преобразуете свою строку в число и проверяете возвращаемый параметр Code. Если он нулевой, то в строке была запись числа. Другое значение будет говорить об ошибке.
Удачи!
2Соколовский Дмитрий: Нельзя использовать в качестве идентификаторов переменных имена функций и процедур (Str). Во вторых, цикл должен начинаться с 1, т. к. в нулевом байте строки хранится ее длина. И, наконец, чтобы получить конкретный символ строки не обязательно вызывать функцию Copy. Можно и по индексу символа в строке.
for i:=1 to Length(S) do
if S[ i ] in ['0'..'9'] then...
Все значительно проще. Нужно попытаться преобразовать эту строку в число с помощью процедуры Val. Вот из справки по этой процедуре
Val (процедура)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Преобразовывает строковое значение в его
числовое представление.
Объявление:
Procedure Val(S; Var V; Var Code : Integer);
Где:
S - переменная со строковым типом. Должна представлять
последовательность символов, формирующих знаковое целое число.
V - переменная типа Real или Integer
Code - переменная типа Integer
Режим:
Windows, Real, Protected
Замечания:
Преобразовывает строковое значение (S) в его
числовое представление, как это происходит при
чтении из текстового файла с помощью Read.
Code - позиция, в которой произошла ошибка при
преобразовании, или нуль, если ошибки не было.
Отсюда и решение. Преобразуете свою строку в число и проверяете возвращаемый параметр Code. Если он нулевой, то в строке была запись числа. Другое значение будет говорить об ошибке.
Удачи!
2Соколовский Дмитрий: Нельзя использовать в качестве идентификаторов переменных имена функций и процедур (Str). Во вторых, цикл должен начинаться с 1, т. к. в нулевом байте строки хранится ее длина. И, наконец, чтобы получить конкретный символ строки не обязательно вызывать функцию Copy. Можно и по индексу символа в строке.
for i:=1 to Length(S) do
if S[ i ] in ['0'..'9'] then...
Я бы тебе написал весь код, но я с мобильного. . если тебе не срочно то 22 второго числа смогу написать весь код, если что пиши на мыло
Николай Начаров
Мне завтра уже сдавать нужно!! а как было бы хорошо!! ээхх!!
если cтрока без пробелов и прочего, только число:
label exit, badformat;
var str, sym: string
begin
for i = 0 to length(str)
begin
sym = copy(str, i, 1);
if (sym <> '0') or (...) or ((sym <> '-') and (i <>0)) then goto badformat;
end;
writeln('yes');
goto exit;
badformat:
writeln('no');
exit:
readln;
end
label exit, badformat;
var str, sym: string
begin
for i = 0 to length(str)
begin
sym = copy(str, i, 1);
if (sym <> '0') or (...) or ((sym <> '-') and (i <>0)) then goto badformat;
end;
writeln('yes');
goto exit;
badformat:
writeln('no');
exit:
readln;
end
Похожие вопросы
- Помогите написать программу в Турбо паскале.
- Помогите написать программу для турбо паскаля
- помогите написать программу в Турбо Паскале, Шифр цезаря,с сдвигом на три шага!!!!
- Помогите написать программу в турбо паскале (по возможности и блок-схему)
- Помогите составить программу на паскале!
- Помогите решить задачу на Турбо паскале
- Помогите где ошибка в программе на турбо паскале?
- Мне завтра рассказывать программы по турбо паскаль,помогите разьяснить задачи по каждой строчке
- Помогите сделать анимацию в программе в турбо Паскаль
- программа на Турбо Паскале на тему файлы