IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Последовательность слов
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Народ! Пожалуйста помогите решить задачу!

Дана непустая последовательность слов, составленных из цифр и латинских букв, разделенных произвольным числом пробелов. Написать процедуру, которая считывает слово из заданной последовательности и определяет, является ли оно синтаксически корретным идентификатором Паскаля.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Поставленная задача: Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 символов; между соседними словами - произвольное число пробелов, за последним словом точка. Напечатать эту же последовательность, удалив из всех слов цифры и символы подчеркивания.


Вот мое решение:
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
{Poisk samogo dlinnogo slova}
if length(mat[n])<length(mat[sch]) then n:=sch;
if mat[n]<>'0' then writeln('Samoe dlinnoje slovo: ', mat[n])
else writeln('Slovo ne previschajuchee 8-mi simvolov ne najdeno.');
if isc<>'' then writeln('Slova previschajuschije 8-m simvolov: ',isc);
writeln('');
write('Dlja prodolzhenija nazhmite ENTER...');
readln;
end.



volvo, посмотри pls, правильно ли я ее решил? А то мне кажется, что опять накосячил...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
garry_m   Последовательность слов   11.12.2005 22:51
volvo   garry_m, выделить из строки очередное слово сможеш…   11.12.2005 22:58
garry_m   Ну я пересмотрел все... Мне не совсем ясно что так…   13.12.2005 4:02
volvo   Символы подчеркивания - это "_" (под мин…   13.12.2005 4:14
garry_m   Поставленная задача: Дана последовательность, соде…   13.12.2005 21:29
volvo   garry_m, программа совершенно не по заданию... При…   13.12.2005 21:37
garry_m   До меня доперло!   13.12.2005 21:54
garry_m   Блин! Я стормозил! Я просто делал по анало…   13.12.2005 22:32
garry_m   ОК! Значит для этой задачи (из всех слов удали…   14.12.2005 0:58
volvo   garry_m, я вот только одного не понял, если ты сра…   14.12.2005 1:04
garry_m   А когда я удалю пробелы он ведь мне напечатает эту…   14.12.2005 1:14
volvo   А у тебя в задании где-нибудь сказано, что надо уд…   14.12.2005 1:18
garry_m   Ну раз пробелы не затрагиваем, то задача упрощаетс…   14.12.2005 1:27
garry_m   Код корректно написан?   14.12.2005 14:19
volvo   Корректно? Что ты подразумеваешь под этим словом? …   14.12.2005 14:56
garry_m   Ну это первая часть программы... А что должно идти…   14.12.2005 19:03
volvo   В чтении по-русски тоже? Я же тебе в 10-м посте пр…   14.12.2005 19:23
garry_m   volvo, я вставил ту процедуру, которую ты привел в…   14.12.2005 21:17
volvo   А если так: uses crt; var txt:string; i: integ…   14.12.2005 21:39
garry_m   volvo, не знаю даже как тебя благодарить! Паси…   14.12.2005 21:45


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.09.2025 7:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name