Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 6 
  Версия для печати (полностью) Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 07.02.2004
Откуда: Улан-Удэ
Помогите, пожалуйста, написать контрольную работу по Pascal 7.0 , а то сижу и ломаю голову на тем, как сделать этот билет:
Создать текстовый файл bibliot. txt, который содержит свединия о 5 книгах (автор, название, год издания). Найти и переписать в отдельный файл в алфавитном порядке книги, издаваемые с 1960г. Выяснить, имеется ли книга с названием "Информатика", если имеется, то вывести на экран фамилию автора и год издания.

Уже и не знаю, что делать, испробовал все свои знания (к сожалению, они не многочисленны :( ), максимум, что получилось- это открыть файл, считать с него инфу и вывести её на экран.
Пожалуйста, объясните, как делать? Или, по возможности, напишите эту программу и дайте готовый вариант. :oops:
Буду очень признателен в любом случае. :beer:
P.S. надо до завтрашнего (28.10.2004) дня до 13:00 по моему времени или по Москве- 8:00 утра.



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Читай правила!
http://forums.overclockers.ru/viewtopic.php?t=43684


 

Фреонщик
Статус: Не в сети
Регистрация: 15.10.2002
Откуда: Москва
@.ru

Открываешь файл, ссчитываешь данные в массив. Проверяешь наличие "Информатики" и выводишь на экран если есть она. Выбираешь лишь нужные тебе данные из массива (по году издания). Сортируешь массив, записываешь в файл.

Делов то :) Сам текст кода не возьмусь написать т.к. не программил в Паскале уже лет 10 :) Могу ошибиться где-нить :)

_________________
Сдаю в аренду серверные мощности (Dedicated, VDS, VPS, IaaS): http://vds4you.ru


 

Advanced member
Статус: Не в сети
Регистрация: 23.10.2003
Откуда: Иркутск/Майкоп
@.ru
Во-первых, ЖК на неделю за создание темы не в том разделе. Это, кстати, уже второй раз.

Во-вторых, формат входных данных нужно описать более подробно или привести пример. Название книги может состоять из нескольких слов. Оно в кавычках?

_________________
Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.


 

Member
Статус: Не в сети
Регистрация: 07.02.2004
Откуда: Улан-Удэ
vor
А почему не в том? Это же вроде про програмирование, вот я и создал в програмировании.
Цитата:
Если Вы не собираетесь ничего делать своими руками, а всего лишь хотите попросить других сделать всё (домашнее задание, курсовую и.т.п) за Вас , - создавайте тему во флейме.
Другое дело - если Вы пишете программу самостоятельно, и просите совета по какому-либо вопросу.

Я же сам пишу, но возникли трудности и я попросил помочь, а по возможности дать готовую прогу.


Цитата:
Во-вторых, формат входных данных нужно описать более подробно или привести пример. Название книги может состоять из нескольких слов. Оно в кавычках?

Не знаю, я привел точно то, что написано в билете, больше там ничего не написано.


Цитата:
крываешь файл, ссчитываешь данные в массив. Проверяешь наличие "Информатики" и выводишь на экран если есть она. Выбираешь лишь нужные тебе данные из массива (по году издания). Сортируешь массив, записываешь в файл

Ну-у-у, это для вас ничего сложного, а для меня угу-гу!!!


 

Advanced member
Статус: Не в сети
Регистрация: 23.10.2003
Откуда: Иркутск/Майкоп
Вроде написал. Но проверял мало.

Код:
const
  BMax = 5;

type
  book=record
    title, author:string;
    year:integer;
  end;

var
  a:array[1..BMax] of book;
  f:text;
  i,j,k,mi:integer;
  inf:boolean;
  ms:string;
  b:book;

begin
  assign(f,'bibliot.txt');
  reset(f);
  for i:=1 to BMax do begin
    readln(f,a[i].author);
    readln(f,a[i].title);
    readln(f,a[i].year);
  end;
  close(f);
  inf:=false;
  for i:=1 to BMax do
    if a[i].title='€­д®а¬ вЁЄ ' then begin
      writeln('Љ­ЁЈ  б ­ §ў ­ЁҐ¬ "€­д®а¬ вЁЄ " Ґбвм');
      writeln('Ђўв®а: ', a[i].author,'  ѓ®¤ Ё§¤ ­Ёп: ', a[i].year);
      inf:=true;
    end;
  if not inf then
    writeln('Љ­ЁЈЁ б ­ §ў ­ЁҐ¬ "€­д®а¬ вЁЄ " ­Ґв');
  k:=BMax;
  i:=1;
  while i<=k do begin
    if a[i].year<1960 then begin
      for j:=i to k-1 do
        a[j]:=a[j+1];
      dec(k);
    end
    else
      inc(i);
  end;
  for i:=1 to k-1 do begin
    mi:=i;
    ms:=a[i].title;
    for j:=i+1 to k do
      if a[j].title<ms then begin
        ms:=a[j].title;
        mi:=j;
      end;
    b:=a[i];
    a[i]:=a[mi];
    a[mi]:=b;
  end;
  assign(f,'bibliot1.txt');
  rewrite(f);
  for i:=1 to k do begin
    writeln(f,a[i].author);
    writeln(f,a[i].title);
    writeln(f,a[i].year);
  end;
  close(f);
end.


И входной файл, в Dos кодировке:

Код:
ќЈҐЈҐ©вб
€­д®а¬ вЁЄ 
1980
‚лЎҐЈ ««®
ЃЁ®«®ЈЁп
1968
—гЎ ©б
ќЄ®­®¬ЁЄ 
1995
Њг«¤ иҐў
…бвҐбвў®§­ ­ЁҐ
1970
…ўЄ«Ё¤
ѓҐ®¬ҐваЁп
0

Все совпадения считать случайными. :)

Все правильные результаты считать совпадениями. :D

_________________
Края каждого совершенно нового крышка процессора не на 100% гладкая. Это связано с тем, что следов мастерства не избежать. (c) Али.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 6 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


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

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan