Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 21.05.2017, 16:46   #1 (permalink)
Rexton62
Новичок
 
Регистрация: 21.05.2017
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Создание и преобразование файлов. Файлы прямого доступа

Задание: Сформировать файл, состоящий из пяти записей, каждая из которых содержит фамилию любимого вами актера и название фильма, в котором он снимался. Составить программу определения названия фильма по фамилии актера, который в нем снимался.

Пожалуйста, помоги сделать программу в Паскале.
Rexton62 вне форума   Ответить с цитированием

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

Иногда самым эффективным в решении проблемы является прочтение схожих тем

создание точки доступа ви-фи на вин 8.1
Создание точки доступа
Преобразование файлов ISO
Создание сетевого доступа

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

Цитата:
Сообщение от Rexton62 Посмотреть сообщение
Задание: Сформировать файл, состоящий из пяти записей, каждая из которых содержит фамилию любимого вами актера и название фильма, в котором он снимался. Составить программу определения названия фильма по фамилии актера, который в нем снимался.

Пожалуйста, помоги сделать программу в Паскале.
Ладно, "помогаю". Хотя решительно никаких, кроме Вашей лени, проблем тут не усматриваю. Имя и адрес файла, разумеется, поправьте на свой вкус. Равно как и список актёров и фильмов.
Код:
Type
 Infor = Record
          Actor, Film:String;
         end;

Const
 Ar:Array[1..5] of Infor=((Actor:         'Gabin'; Film:'Le Chat'),
                          (Actor:'Schwarzenegger'; Film:'Terminator 2'),
                          (Actor:         'Loren'; Film:'The Key'),
                          (Actor:         'Delon'; Film:'Borsalino'),
                          (Actor:       'Deneuve'; Film:'Le Choc'));

Var
 f:File of Infor;
 i:Byte;
 S:String;
 Inf:Infor;

Begin
 Assign(f,'D:\xxx');
 Rewrite(f);
 for i:=1 to 5 do write(f,Ar[i]);
 Close(f);
 Write('Enter the actor: ');
 Readln(S);
 Reset(f);
 Repeat
  Read(f,Inf);
 Until Inf.Actor=S;
 Close(f);
 Writeln('Film: '+Inf.Film);
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 21.05.2017, 20:25   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ах да, пардон: не разглядел, что требуется прямой доступ (хотя на кой пёс, если всё равно идёт последовательный перебор?). Исправил. Заодно вставил защиту от вылета при неверном вводе фамилии актёра.
Код:
Type
 Infor = Record
          Actor, Film:String;
         end;

Const
 Ar:Array[1..5] of Infor=((Actor:         'Gabin'; Film:'Le Chat'),
                          (Actor:'Schwarzenegger'; Film:'Terminator 2'),
                          (Actor:         'Loren'; Film:'The Key'),
                          (Actor:         'Delon'; Film:'Borsalino'),
                          (Actor:       'Deneuve'; Film:'Le Choc'));

Var
 f:File of Infor;
 i:Integer;
 S:String;
 Inf:Infor;

Begin
 Assign(f,'D:\xxx');
 Rewrite(f);
 for i:=1 to 5 do write(f,Ar[i]);
 Close(f);
 Write('Enter the actor: ');
 Readln(S);
 Reset(f);
 i:=-1;
 Repeat
  Inc(i);
  Seek(f,i);
  Read(f,Inf);
 Until (Inf.Actor=S) or (i=4);
 Close(f);
 If (i=4) and (Inf.Actor<>S) then
  Writeln('No such film!')
 else
  Writeln('Film: '+Inf.Film);
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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