Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 30.08.2009
Сообщений: 11

Рекурсия, определение правильности ввода числа.

30.08.2009, 23:04. Показов 3524. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите составить программу пожалуйсто....надо определить является ли заданая строка правильной записью числа (возможно со знаком)...число надо вводить посимвольно ...надо чтобы была рекурсивная функция

вот мои наброски...

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses crt;
var s:string;
code:integer;
w:real;
begin
writeln('Vvedite 4islo');
readln(s);
while pos('',s)<>0 do delete (s,pos('',s),1);
Val(s,w,code);
If code=0 then writeln('TRUE: ',s) else writeln('FALSE: ',s);
writeln('stroka');
readln(s);
end.
помогите пожалуйсто сделать рекурсивную функцию.....
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.08.2009, 23:04
Ответы с готовыми решениями:

Определение правильности ввода даты
Заданы type chisl=1..31; mes=1..12; god 1..2100; data record ch:csisl; m:mes; g:god; dayned=(mo,tu,we,th,fr,sa,su); Определить, будет ли...

Проверка правильности ввода числа
&lt;form action=&quot;31.php&quot; name=&quot;31&quot;&gt; &lt;p&gt;Введите дату &lt;input type=&quot;text&quot; name=&quot;day&quot; onkeypress=&quot;&lt;? echo lal('day');?&gt;&quot;&gt; &lt;input...

Проверка правильности ввода числа
Всем доброго времени суток. Подскажите пожалуйста как осуществить: Нужно выполнить проверку на целые числа и если число введено больше...

22
⚽
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
 Аватар для TAVulator
4191 / 1292 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
01.09.2009, 08:47
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Puporev Посмотреть сообщение
Просто код написанный для Турбо, компилируется в Фрее, наоборот-нет.
хмм... во Free Pascal у меня постоянно проблема с динамическими массивами. Они там как-то не хотят работать, а в Турбо работают )))

Добавлено через 50 секунд
под динамическим массивом имею ввиду указатель на массив array[1..1] of ...
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.09.2009, 08:57
Вот здесь есть вещи, несовместимые в Турбо и Фрее, но про такие массивы что-то там не нашел.
http://freepascal.ru/wiki/inde... rbo_Pascal
Вообще, по-моему, это единственное боле-менее приличное руководство по Фрее.
http://freepascal.ru/wiki/inde... 0%B4%D1%8B
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
01.09.2009, 16:36
Поборол свою природную лень и написал эту программу. Не нашел четкого ответа про ведущие ноли, оставил как правильное, тем более Турбо Паскаль их воспринимает нормально, выражения типа 0002*0003 считает.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
uses crt;
function Prav_C(st:string;k:byte):boolean;{определение правильного целого числа - рекурсия}
begin
if st='' then Prav_C:=false
else
 begin
  if not (st[k] in ['0'..'9'])then Prav_C:=false{ведущие ноли считаем правильно}
  else if k<length(st) then Prav_C:=Prav_C(st,k+1);
 end;
end;
 
function Prav_FT(st:string):boolean;{определение правильного вещественного с фиксированной точкой}
var s1,s2:string;
begin
s1:=copy(st,1,pos('.',st)-1);{до точки - целое}
s2:=copy(st,pos('.',st)+1,255);{после точки - целое}
if Prav_C(s1,1)and Prav_C(s2,1) then Prav_FT:=true
else Prav_FT:=false;
end;
 
function Prav_PT(st:string):boolean;{проверка вещественного с плавающей точкой}
var s1,s2:string;
begin
 if (pos('E',st)<pos('.',st)){если точка дальше Е}
  or not (st[pos('E',st)+1] in ['+','-']){или после Е нет знака + или -}
   then Prav_PT:=false
 else
  begin
   s1:=copy(st,1,pos('E',st)-1);{число до Е}
   s2:=copy(st,pos('E',st)+2,255);{число после знака + или -}
   if Prav_FT(s1)and Prav_C(s2,1) then Prav_PT:=true{первое вещественное с фикс. точкой, второе-целое}
   else Prav_PT:=false;
  end;
end;
function Prav_CH(st:string):boolean;{основная функция проверки числа}
begin
if (pos('E',st)=0)and(pos('.',st)=0)then {не вещественное, проверяем на целое}
 if Prav_C(st,1) then Prav_CH:=true
 else Prav_CH:=false
else if (pos('E',st)=0)and(pos('.',st)>0)then{может быть вещественным с фиксированной точкой}
 if Prav_FT(st)then Prav_CH:=true
 else Prav_CH:=false
else if(pos('E',st)>0)and(pos('.',st)>0) then{с плавающей точкой}
 if Prav_PT(st)then Prav_CH:=true
 else Prav_CH:=false;
end;
 
var c:char;
    s:string;
begin
clrscr;
writeln('Vvedite chislo, окончание ввода Enther:');
s:='';{пустая строка}
repeat
c:=readkey;{читаем символ}
write(c);
s:=s+c;{добавляем в строку}
until c=#13;{Enter, конец}
delete(s,length(s),1);{удалим символ #13}
writeln;
if s[1] in ['-'] then delete(s,1,1);{если первый символ минус, все нормально, удалим его}
if Prav_CH(s)then write('Это число!')
else write('Это не число!');
readln
end.
Добавлено через 1 минуту
Кстати забыл, надо в начале программы пробежаться по строке и заменить маленькие символы е на большие.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.09.2009, 16:36

Проверка правильности ввода числа
Здравствуйте. Вот есть две переменные и нужно сделать так, чтоб когда мы вводили какой-то символ или букву вместо числа, при выводе...

Проверка правильности ввода числа
Здравствуйте. Помогите с функцией проверки ввода на число. Число любое (целое, дробное).

Проверка правильности ввода числа
Всем привет! Прошу помочь с такой задачей: Дано число в двоичной системе счисления. Проверить правильность ввода этого числа (в его...

Поток: проверка правильности ввода числа
Создайте приложение, которое в фоновом режиме проверяет правильно введенные числа. На главной форме разместите два многострочных редактора....

Как сделать проверку правильности ввода числа
У меня есть программа, которая переводит из восьмеричной системы счисления в двоичную: using System; using System.Collections.Generic; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru