Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2012, 23:08   #1
Юлька)
Новичок
Джуниор
 
Регистрация: 04.01.2012
Сообщений: 4
По умолчанию Текстовые файлы в Паскаль

Ребят, чесно пробовала читать литературу, все равно не получается. Помогите пожалуйста.

1. Дан символьный файл f. Определить количество слов в файле(которых не больше 20).

2. Дан файл f, содержащий сведения об игрушках: указывается название игрушки, ее стоимость и возрастные границы детей, для которых игрушка предназначена. Получить названия игрушек, цена которых не превышвет 4 рубля и которые подходят детям пяти лет.
Юлька) вне форума Ответить с цитированием
Старый 04.01.2012, 23:22   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Юлька) Посмотреть сообщение
Ребят, чесно пробовала читать литературу, все равно не получается. Помогите пожалуйста.

1. Дан символьный файл f. Определить количество слов в файле(которых не больше 20).

2. Дан файл f, содержащий сведения об игрушках: указывается название игрушки, ее стоимость и возрастные границы детей, для которых игрушка предназначена. Получить названия игрушек, цена которых не превышвет 4 рубля и которые подходят детям пяти лет.
Привет! Как это понять - "Определить количество слов в файле(которых не больше 20)"? Может длина слова не больше 20-ти?
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 04.01.2012, 23:40   #3
Юлька)
Новичок
Джуниор
 
Регистрация: 04.01.2012
Сообщений: 4
По умолчанию

Привет! Слова в смысле некоторе количество букв разделенные между собой пробелами. Всего слов не больше 20)
Юлька) вне форума Ответить с цитированием
Старый 04.01.2012, 23:56   #4
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Юлька) Посмотреть сообщение
Привет! Слова в смысле некоторе количество букв разделенные между собой пробелами. Всего слов не больше 20)
Понятно!
Ну вот что то для латиницы! Файл у меня находится на C:\temp\f.123
Код:
var
  f:file of Char;
  Col:integer;
  c:Char;
  Str,Text:string;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  Col:=0;
  Str:='';
  Text:='';
  AssignFile(f,'c:\temp\f.123');
  Reset(f);
  while not Eof(f) do
  begin
    read(f,c);
    Text:=text+c;
    if c in ['a'..'z'] then
      Str:=Str+c
    else
    begin
      if (Str<>'') or (Str<>' ') then
        inc(Col);
      Str:='';
    end;
  end;
  Writeln('Text is - ',text);
  write('Kolichestvo slov = ',Col);
  CloseFile(f);
  readln;
Помог - жми на весы!
ByAlex89@mail.ru

Последний раз редактировалось ByAlex; 05.01.2012 в 00:01.
ByAlex вне форума Ответить с цитированием
Старый 05.01.2012, 00:22   #5
Юлька)
Новичок
Джуниор
 
Регистрация: 04.01.2012
Сообщений: 4
По умолчанию

Спасибо большое! А можешь вторую? Я наглая, да?)
Юлька) вне форума Ответить с цитированием
Старый 05.01.2012, 16:23   #6
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Юлька) Посмотреть сообщение
Спасибо большое! А можешь вторую? Я наглая, да?)
Вторая -
Код:
uses
  crt;

type
  TToys = Record
  ToysName:string[25];
  ToysCash,LimitAge:Integer;
end;

var
  F:File of TToys;
  Toys:TToys;
procedure InputRecord;
var
  S:string;
begin
  S:='y';
  while S<>'n' do
  begin
    write(#13#10'Input the name of toy - ');
    Readln(Toys.ToysName);
    write('Input the cash of toy - ');
    Readln(Toys.ToysCash);
    write('Input the limit age for toy - ');
    Readln(Toys.LimitAge);
    write('Repeat input (y/n)? - ');
    write(f,Toys);
    inc(i);
    readln(S);
  end;
  writeln;
end;
begin
  Assign(F,'c:\temp\MyFile.123');
  {$I-}
  reset(F);
  {$I+}
  if ioresult=0 then
  begin
       if FileSize(F) = 0 then
       begin
            write('The number of records in file  = 0'#13#10'Need to add records!!!'#13#10);
            InputRecord;
       end;
  end
  else
  begin
    Rewrite(F);
    InputRecord;
  end;
  writeln('Number of records = ', FileSize(F),#13#10'Result is :');
  Seek(F,0);
  while not Eof(F) do
  begin
    read(f,Toys);
    if (Toys.ToysCash<=4) and (Toys.LimitAge=5) then
      writeln(Toys.ToysName);
  end;
  Close(F);
  Readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 05.01.2012, 16:49   #7
Юлька)
Новичок
Джуниор
 
Регистрация: 04.01.2012
Сообщений: 4
По умолчанию

Спасибо огромное!
Юлька) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текстовые файлы [Паскаль] <Tyz> Помощь студентам 9 25.12.2010 12:17
Текстовые файлы(Паскаль) Cas01 Помощь студентам 8 19.12.2010 21:37
Текстовые файлы!(Паскаль) Cas01 Помощь студентам 3 18.12.2010 15:43
Текстовые файлы. Паскаль катя123 Помощь студентам 3 06.01.2010 23:38