Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 395
от 10.06.2007, 08:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 256, Экспертов: 58
В номере:Вопросов: 8, Ответов: 10


Вопрос № 89908: Ребят.я в Pascal написал прогу - "телефонный справочник" с помощью динамики, но нужно дополнительно чтобы справочник хранился в типизованном файле, как это можно сделать?...
Вопрос № 89938: Уважаемые эксперты. Пожалуйста помогите доделать задачу правильно. Условие такое: Пусть дан текст. Распечатайте те буквы, которые встречаются в каждом слове текста только один раз. Моя программа работает не совсем верно. Она должна сравн...
Вопрос № 89984: Здраствуйте, помогите пожалуйста с написанием программы, её суть заключается в том, чтобы нарисовать треугольник по данным, введенным пользователем. Цвет линий и стиль заполнения треугольника задает пользователь. Выведите площадь этого треугольника н...
Вопрос № 89998: Помогите пожалуста с задачей, в ней нужно ввести с клавиатуры 2 матрицы (a и b), и в ответе чтоб были матрицы (C,P,PP и след матрицы PP(r)) C=a*b, P=b*a, PP=ab-ba, r-след матр. PP В приложении программа считающая все, но в ней матр...
Вопрос № 90010: Уважаемые эксперты! Не поможите решить задачку!? Пусть задан текст, представляющий собой последовательность строк. Признак конца текста вводится пользователем. Выведите на печать количество каждой из содержащихся в строке латинских и русских про...
Вопрос № 90019: Помогите пожалуйста, (уже задавао вопрос, но ничего не получилось): вот есть у меня две процедуры для занесения данных об абоненте в телефонный справочник, напишите пожайлуста прям в процедурах, как сделать чтобы эти данные заносились в типизован...
Вопрос № 90024: здравствуйте СПЕЦИАЛИСТЫ-я набрал такой листинг- и у меня не выполняется ее компиляция-на Free Pascal IDE-говорит что последний оператор END ошибочный-что делать-как с эту ошибку компиляции убрать? Пусть Дана вещественная матрица n x m. Пол...
Вопрос № 90051: Даны натуральные числа a, b, c. Определить функцию bin(x), переводящую число х из десятичной системы счисления в двоичную. Найти bin(a + b), bin(ab + c). ПОмогите плизззз!!! Вот еще одна. Четыре точки заданы своими координатами X(x...

Вопрос № 89.908
Ребят.я в Pascal написал прогу - "телефонный справочник" с помощью динамики, но нужно дополнительно чтобы справочник хранился в типизованном файле, как это можно сделать?
Отправлен: 04.06.2007, 09:08
Вопрос задал: Tmac (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Градов Юрий Михайлович
Здравствуйте, Tmac!
var
List: TList;
F: file of TList;//тип файла такой же, где хранятся данные

begin
AssignFile(F,'phone.dat');
Rewrite(F);
i:=1;
repeat
BlockWrite(F,List[i], NumRead, NumWritten);
Inc(i);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(F);
end;
---------
Глаза боятся - руки делают!
Ответ отправил: Градов Юрий Михайлович (статус: 10-ый класс)
Ответ отправлен: 04.06.2007, 12:10

Отвечает: Master135
Здравствуйте, Фадеев Максим Викторович!
Я когда-то писал, подобный, правда очень-очень расширенный справочник. С кучей данных и кучей поисков.
Я столкнулся с проблемой - размер кучи в Паскале довльно мелкий, а так как запись у меня была очень расширенная, то в памяти хватало места где-то на 300 записей.
Второй вариант - был постоянно считывать все это дело из файла - занимало уйму времени и при большом кол-ве поисковых запросов программа была не эффективна.

TheMan=record
.
.
.
end;
thefileType=file of TheMan;

********
var f:thefileType; Man:TheMan;

While not eof(f) do
read(f,Man);
//Тут можно скопировать Man в соответствующий массив, либо выполнить в нем поиск
close(f);

Приложение: