• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

В чем подвох?

  • Автор темы Автор темы drfresh
  • Дата начала Дата начала

drfresh

Ученик
Регистрация
12 Май 2008
Сообщения
4
Реакции
0
Баллы
0
Здравствуйте! Ситуация:

Дана процедура сортировки файла с записями (qf - file of group, group - запись с 4 полями)

Код:
procedure sortirovka(var e : qf);
var list,list0,min,h: group;
     ind             : boolean;
     i,j:integer;
begin
     Reset(e);
     Repeat
           ind := true;
           Seek(e,0);
           Read(e,list0);
           While not EOF(e) do
                 begin
                   Read(e,list);
                         writeln(z,') ',list0.cena,' - ',list.cena);
                         z:=z+1;
                         if List.cena < List0.cena then
                      begin
                         Seek(e,filepos(e) - 2);  
                         Write(e,list);

                         Write(e,list0);
                           ind := false;
                      end
                      else list0 := list;
               end;
     Until ind;
     close(e);
end;
Вобщем вопрос: Я так понимаю (да и препод на лекции говорил), что reset() открывает файл ТОЛЬКО для чтения и при этом в этот файл НЕЛЬЗЯ ничего вписывать. НО Этот код работает и файл "e" изменяется этой процедурой! Препод говорит, что так не бывает, но РЕАЛЬНО работает и все сортируется! Почему так?


З.Ы. Вопрос уже решен :)
 
Цитата из книжки.

Поцедура reset открывает существующий файл данных на диске, имя которого перед этим было связано процедурой assign с некоторой файловой переменной, для его чтения или записи в него данных.

Совет. Купи книжку по паскалю и не очень то слушай препода, он наверное теоретик. Пробуй сам.
 
не давай советов если не знаешь или знаешь не точно
Reset(f)
открывает для чтения файл, с которым связана файловая переменная f. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента. Процедура завершается с сообщением об ошибке, если указанный файл не найден.

а ответ вот чем
Если f - типизированный файл, то процедурой reset он открывается для чтения и записи одновременно

а у автора была именно типизированная
 
ww01031977 написал(а):
Купи книжку по паскалю и не очень то слушай препода, он наверное теоретик
Ну да, а книжки пишутся исключительно практиками :D :D :D. Интересно в какой именно книжке написано вами процитированная фраза?
 
После 10 минут работы монитор выключается

После 10 минут работы монитор выключается, или комп перезагружается( может несколько раз перезагрузится при загрузке винды)и иногда когда такое случается появляется синий экран. помогите ! объясните в чем тут проблема пожалуйста!
 
Назад
Сверху