Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 03.05.2010, 22:12   #1 (permalink)
DemonGDC
Новичок
 
Регистрация: 03.05.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Pascal: Задача на функцию\процедуру и на файлы

Очень нужна помощь в выполнении двух задач:
1) написать функцию\процедуру поиска количества вхождений слова в текстовом файле, файл заполнен вручную
2) Дан текстовый файл. Получить из него два типизированных (в первом должны быть все цифры из исходного, во втором - все остальное)
DemonGDC вне форума   Ответить с цитированием

Старый 03.05.2010, 22:12
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На нашем форуме уже встречались похожие топики, посмотрите их

Задача. Output. Pascal
Задача на массивы, Pascal. Помогите найти ошибку
Задача через функцию

Старый 04.05.2010, 13:42   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от DemonGDC Посмотреть сообщение
Очень нужна помощь в выполнении двух задач:
1) написать функцию\процедуру поиска количества вхождений слова в текстовом файле, файл заполнен вручную
2) Дан текстовый файл. Получить из него два типизированных (в первом должны быть все цифры из исходного, во втором - все остальное)
Пожалуйста:
1.
Код:
VAR
 f:TEXT;
 i,j,n:INTEGER;
 Wrd:STRING;
 Ch:Char;
 b:boolean;
BEGIN
 Assign(f,'D:\x');
 ReSet(f);
 n:=0;
 WriteLn('Enter the word:');
 ReadLn(Wrd);
 j:=1;
 Repeat
  Read(f,Ch);
  If Ch=Wrd[j] then
   begin
    b:=true;
    i:=j;
    Repeat
     Inc(i);
     Read(f,Ch);
     If Ch<>Wrd[i] then b:=false;
    Until (i=Length(Wrd)) or (b=false);
    If (b=false) and (Ch=Wrd[1]) then j:=2 else j:=1;
    If b and (i=Length(Wrd)) then Inc(n);
   end;
 Until EoF(f);
 Close(f);
 WriteLn('n= ',n);
 ReadLn;
END.
Здесь исходный файл имеет наименование "х" и расположен в корневой папке диска D. Разумеется, имя и путь могут быть изменены. Программа отслеживает не только совпадение слова, как целого, но и ситуации, когда проверяемое слово является частью слова в файле. Это тоже считается вхождением. В условии, к сожалению, этот момент не прояснен.
2.
Код:
VAR
 f,f1,f2:TEXT;
 Ch:Char;
BEGIN
 Assign(f,'D:\x');
 ReSet(f);
 Assign(f1,'D:\x1');
 ReWrite(f1);
 Assign(f2,'D:\x2');
 ReWrite(f2);
 Repeat
  Read(f,Ch);
  If (Ord(Ch)>47) and (Ord(Ch)<58) then
   Write(f1,Ch,' ') else
   Write(f2,Ch);
 Until EoF(f);
 Close(f);
 Close(f1);
 Close(f2);
END.
Насчет имен и путей - то же, что и в предыдущей задаче. Файл f1 объявлен текстовым, однако в другой использующей его программе он может рассматриваться уже как типизированный. Можно, конечно, сразу через функцию Val его записать, как типизированный - если это необходимо, сделаю.
Vladimir_S вне форума   Ответить с цитированием
Старый 04.05.2010, 17:06   #3 (permalink)
DemonGDC
Новичок
 
Регистрация: 03.05.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Большое спасибо, Vladimir_S
DemonGDC вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 16:54.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.