![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
garry_m |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
Народ! Пожалуйста помогите решить задачу!
Дана непустая последовательность слов, составленных из цифр и латинских букв, разделенных произвольным числом пробелов. Написать процедуру, которая считывает слово из заданной последовательности и определяет, является ли оно синтаксически корретным идентификатором Паскаля. |
![]() ![]() |
garry_m |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
ОК! Значит для этой задачи (из всех слов удалить цифры и символы подчеркивания) начало будет таким...
Код: Код uses crt; var txt:string; mat:array [1..31] of string; isc:string; sch,i,n:integer; begin clrscr; {Naznachenije nachalnih parametrov} for i:=1 to 31 do mat[i]:=''; i:=1;n:=0;mat[31]:='0'; repeat writeln ('Naberite posledovatelnost iz slov,'); writeln('ne previschajuschih 8-m simvolov, i ne bolee 50 slov.'); writeln ('Ili nazhmite Enter dlja vvoda posledovatelnosti po umolchaniju'); writeln ('(Sjesch eche etih mjagkih francuzkih bulok, da vipej chaju.)'); readln(txt); {Proverka na pustotu vvodimogo texta u okonchanije na tochku} if txt='' then txt:='Sjesch eche etih mjagkih francuzkih bulok, da vipej chaju.'; if pos('.',txt)=0 then writeln('Vi zabili postavit tochku.'); until pos('.',txt)<>0; sch:=1; {Udalenije lishnih probelov} repeat if (txt[sch]=' ') and (txt[sch+1]=' ') then begin delete(txt,sch,1);{Udalenije lishnego probela} end else sch:=sch+1; until txt[sch]='.'; sch:=1; {Rasstanovka slov v massiv} repeat {Poisk okonchanija slova} repeat if txt[sch]<>' ' then sch:=sch+1; until (txt[sch]=' ') or (txt[sch]='.'); {Zanesenije najdennogo slova v massiv} mat[i]:=copy(txt,n+1,sch-n-1); i:=i+1;{Nomer slova} n:=sch;{Nachalnoje polozhenije} sch:=sch+1; until (txt[sch]='.') or (i=30); {Vivod posledovatelnosti} writeln('Nabrannaja vami posledovatelnost:'); writeln (txt); {Vivod posledovatelnosti s odinochnimi probelami mezhdu slovami} writeln(''); n:=31; for sch:=2 to i-1 do if length(mat[sch])>10 then isc:=isc+mat[sch]+' '{Iskluchenije slov dlina kotorih bolee 8-mi simvolov} else {Udalenije cifr i simvolov podcherkivanija} * * *** * **** * * * * * * **** *** * **** * * * * * * * *** *** * write('Dlja prodolzhenija nazhmite ENTER...'); readln; end. Как должна выглядеть процедура, которая удаляет цифры и символы подчеркивания? |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:22 |