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

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

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

> Форматирование исходников, Паскаль-программ
Jaxx
сообщение 6.04.2005 12:26
Сообщение #1


Пионер
**

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

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


Вот я опять и появился. Теперь у меня задание еще более интересное. Смысл следующий: есть текстовый файл с исходником программы на Паскале, нужно-
1) первые буквы служебных слов сделать заглавными
2) текст комментариев заменить на их номер по порядку
3) переписать текст в новый файл с удалением лишних пробелов.
Я понимаю, что тут может быть только один путь решения: создать массив (или множество) служебных слов, затем считывать текст файла посимвольно (т.к. служебные слова обязательно должны быть отделены от других пробелами или знаками препинания). Я прав? С комментариями попроще: просто найти символ '{' и проверить следующий после него, и если это не '$' то удалить все символы начиная с этого до символа '}'. Удаление пробелов еще проще. Но с первой частью задания у меня небольшие трудности. Решайте! :yes:

В следующий раз давайте более подходящий заголовок


--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Jaxx
сообщение 15.04.2005 15:51
Сообщение #2


Пионер
**

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

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


А почему не пашет такой вариант:
Код

Uses CRT;
var
znak:array[1..8] of string;
slovo:array[1..51] of string[15];
kolvo:array[1..51] of byte;
kol:byte;
ch:char;
i,n:integer;
t:integer;
s,s1:string;
f:text;
begin
clrscr;
write('Vvedite imya redaktiruemogo faila: ');
readln(s);
assign(f,s);
reset(f);
{$I-}if ioresult<>0 then begin
     write('Oshibka chteniya faila!');
     halt(1); end;
{$I+}
s:=''; s1:=''; kol:=0;
slovo[1]:='and';slovo[2]:='asm';slovo[3]:='array';slovo[4]:='begin';slovo[5]:='case';
slovo[6]:='const';slovo[7]:='constructor';slovo[8]:='destructor';slovo[9]:='div';slovo[10]:='do';
slovo[11]:='downto';slovo[12]:='else';slovo[13]:='end';slovo[14]:='exports';slovo[15]:='file';
slovo[16]:='for';slovo[17]:='function';slovo[18]:='goto';slovo[19]:='if';slovo[20]:='implementation';
slovo[21]:='in';slovo[22]:='inherited';slovo[23]:='inline';slovo[24]:='interface';
slovo[25]:='label';slovo[26]:='library';slovo[27]:='mod';slovo[28]:='nil';slovo[29]:='not';
slovo[30]:='object';slovo[31]:='of';slovo[32]:='or';slovo[33]:='packed';slovo[34]:='procedure';
slovo[35]:='program';slovo[36]:='record';slovo[37]:='repeat';slovo[38]:='set';slovo[39]:='shl';
slovo[40]:='shr';slovo[41]:='string';slovo[42]:='then';slovo[43]:='to';slovo[44]:='type';slovo[45]:='unit';
slovo[46]:='until';slovo[47]:='uses';slovo[48]:='var';slovo[49]:='while';slovo[50]:='with';slovo[51]:='xor';
i:=0;
znak[1]:=' ';znak[2]:='.';znak[3]:=',';znak[4]:=';';znak[5]:=':';
znak[6]:='(';znak[7]:=')';znak[8]:='=';
for i:=1 to 51 do
    kolvo[i]:=kol;
while not seekeof(f) do begin
    readln(f,s);
    n:=length(s);
    t:=n-(n+1);
    if s=slovo[i] then begin
       if (s[t]=znak[i]) and (s[n+1]=znak[i]) then
          kolvo[i]:=kol+1;
    end;
    end;
    s1:='';
    s:='';
    for i:=1 to 51 do begin
       if kolvo[i]>0 then begin
          writeln('Slovo ',slovo[i],' vstrechaetsia ',kolvo[i],' raz');
    end;
 end;
readln;
close(f);
close(f1);
end.


Сообщение отредактировано: Jaxx - 15.04.2005 15:52


--------------------
- Дорогие девушки! У вас сухая кожа? Редкие волосы? Проблемы с фигурой? Приходите к нам! У нас темно и мы пьяные.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Jaxx   Форматирование исходников   6.04.2005 12:26
volvo   Посмотри вот эту мою программку... Программа форм...   6.04.2005 12:33
Jaxx   Насчет (* *) я знаю. Тут смысл будет такой же, тол...   6.04.2005 12:44
volvo   А ты в курсе, что есть Nested Comments, что усложн...   6.04.2005 13:03
Jaxx   Ладно, я все понял. Условие задачи остается началь...   6.04.2005 13:23
Altair   Jaxx, привет! Почти год тебя не было! С во...   6.04.2005 14:38
Jaxx   Привет и тебе, OlegZ !!! :thanks: У м...   6.04.2005 16:30
Jaxx   Я тут вот чего-то написал, правда нифига не работа...   7.04.2005 14:57
Jaxx   Ну так что, никто мне не поможет?! Скажите, в ...   12.04.2005 14:09
volvo   Jaxx, ты ходил по первой ссылке, которую я тебе да...   12.04.2005 14:22
Jaxx   А в моём варианте проги, кроме заполнения массива ...   13.04.2005 16:02
Altair   А зачем разбивать на слова? вот еще способ без раз...   12.04.2005 14:54
volvo   :no: "Во всех зарезервированных словах, зап...   12.04.2005 15:02
Jaxx   Между прочим, OlegZ, твоя программа работает непра...   12.04.2005 16:27
volvo   Oleg_Z, вот и ответ на твой вопрос:   12.04.2005 16:45
Jaxx   Вот в этом то и моя проблема. Как проверить, являе...   12.04.2005 17:05
volvo   Ты меня понимать не хочешь? Я же тебе привел ссылк...   12.04.2005 17:30
volvo   Кстати, если функцию progwork, написанную Oleg_Z ч...   12.04.2005 18:30
Altair   Ну раскритиковали :) Я шаблон для рассуждений дал ...   13.04.2005 14:13
volvo   :blink: А ты проверь, работает она, или нет. Если ...   13.04.2005 16:11
Jaxx   Я и так знаю, что она не работает. :unsure: И воо...   13.04.2005 16:17
Jaxx   А почему не пашет такой вариант: Uses CRT; var z...   15.04.2005 15:51
volvo   Возьмем вот эти 2 цикла: for i:=1 to 51 do    ko...   15.04.2005 16:59
Jaxx   А вот так: uses crt; const znak:array[1..14] of ...   19.04.2005 14:36
volvo   А здесь - я прогнал пошагово... Посмотри вниматель...   19.04.2005 14:57
Jaxx   Да я бы взял, но хочется понять, где я допускаю о...   19.04.2005 15:54
Romtek   Не сочтите за оффтоп, но есть готовые программы фо...   19.04.2005 21:09
Jaxx   Вот только с примерами всего-то 40 Мб :p2:   20.04.2005 13:50
Romtek   Вот исходник и ЕХЕ вместе.   20.04.2005 16:30


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

 



- Текстовая версия 21.07.2025 11:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"