Member
Статус: Не в сети Регистрация: 07.02.2004 Откуда: Улан-Удэ
Помогите, пожалуйста, написать контрольную работу по Pascal 7.0 , а то сижу и ломаю голову на тем, как сделать этот билет:
Создать текстовый файл bibliot. txt, который содержит свединия о 5 книгах (автор, название, год издания). Найти и переписать в отдельный файл в алфавитном порядке книги, издаваемые с 1960г. Выяснить, имеется ли книга с названием "Информатика", если имеется, то вывести на экран фамилию автора и год издания.
Уже и не знаю, что делать, испробовал все свои знания (к сожалению, они не многочисленны ), максимум, что получилось- это открыть файл, считать с него инфу и вывести её на экран.
Пожалуйста, объясните, как делать? Или, по возможности, напишите эту программу и дайте готовый вариант. Буду очень признателен в любом случае. P.S. надо до завтрашнего (28.10.2004) дня до 13:00 по моему времени или по Москве- 8:00 утра.
Фреонщик
Статус: Не в сети Регистрация: 15.10.2002 Откуда: Москва
@.ru
Открываешь файл, ссчитываешь данные в массив. Проверяешь наличие "Информатики" и выводишь на экран если есть она. Выбираешь лишь нужные тебе данные из массива (по году издания). Сортируешь массив, записываешь в файл.
Делов то Сам текст кода не возьмусь написать т.к. не программил в Паскале уже лет 10 Могу ошибиться где-нить
_________________ Сдаю в аренду серверные мощности (Dedicated, VDS, VPS, IaaS): http://vds4you.ru
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.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения