• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Преобразование текста в число

  • Автор темы Автор темы ducky
  • Дата начала Дата начала

ducky

Ученик
Регистрация
6 Ноя 2010
Сообщения
2
Реакции
0
Баллы
0
Преобразование текста в число

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

правильно я написала, или можно как-то проще?


program V_6_14;
var c:array [1..9] of char;
a,i:integer;
begin
write ('vvedite text');
if (c[1]='+') or (c[1]='-') or (c[1]='1') or (c[1]='2') or (c[1]='3') or (с[1]='4') or (c[1]='5') or (c[1]='6') or (c[1]='7') or (c[1]='8') or (c[1]='9')
then a:=2;

if length(c)>1 then
for i:=2 to length(c) do
if (c<>'1') or (c>'2') or (c<'2') or (c>'3') or (c<'3') or (c>'4') or (c<'4') or (c>'5') or (c<'5') or (c>'6') or (c<'6') or (c>'7') or (c<'7') or (c>'8') or (c<'8') or (c>'9') or (c<'9')
then a:=a-1;


if a=2 then writeln ('text - pravilnaja zapis celogo chisla')
else writeln ('zadanij text ne est pravilnoj zapisju celogo chisla') ;
readln ;
end.
 
дано задание. Определить, является ли заданный текст правильной записью целого числа (возможно, со знаком).

правильно я написала, или можно как-то проще?

Да уж прямо скажем - можно и попроще. И существенно. Например, так:
Код:
VAR
 S:String;
 V:LongInt;
 Code:WORD;
BEGIN
 WriteLn('Enter the string');
 ReadLn(S);
 VAL(S,V,Code);
 If Code=0 then
  WriteLn('Correct')
 else
  WriteLn('Not correct');
 ReadLn;
END.
Здесь вводится строка (что, кстати, в Вашей программе попросту пропущено), а затем используется стандартный оператор преобразования строковой переменной в числовую. Если код операции =0, то операция корректна и преобразование прошло успешно, если код >0, то нет. И все дела.

А еще одно модераторское замечание. Пожалуйста, создавая тему, руководствуйтесь установленной Правилами (п.2.1) регламентацией наименований.
Название темы изменено.
 
Назад
Сверху