
- •Внутреннее представление данных
- •1) Представление чисел
- •2) Представление текстовых данных.
- •3) Представление мультимедийной информации
- •2. Основные этапы обработки программ пользователя.
- •Средства записи алгоритмов. Виды алгоритмов
- •4. Основные этапы решения задачи на компьютере.
- •Структура программы на языке Паскаль
- •6. Идентификаторы, числа, строки, выражения .
- •Операторы ввода/вывода данных
- •8. Числовые типы данных .
- •Полезные функции
- •Логические операции над битами
- •Символьный тип данных
- •10. Логический тип данных (Boolean) .
- •11.Перечисляемый и ограниченный типы.
- •Функция succ(X)
- •Функция pred(X)
- •Функция ord(X)
- •12. Раздел описания типов и констант . Типизированные константы.
- •Оператор присваивания, составной и условные операторы
- •Составной оператор
- •Оператор if-else
- •14. Операторы цикла.
- •Циклы включают в себя
- •Цикл for
- •Итерационные циклы Цикл while
- •Цикл repeat
- •16. Оператор выбора.
- •Массивы и переменные с индексами
- •18. Сортировка массивов.
- •Метод "пузырька"
- •Сортировка вставками
- •Строковые типы данных.
- •20. Приведение типов в Паскале.
- •Правила работы с типами данных
- •Пример задачи, где используется явное преобразование типов
- •21. Тип множество (Set).
- •23. Файловые типы данных
- •Классификация файлов в tp
- •24. Типизированные файлы. Создание и просмотр файлов.
- •25. Корректировка и дозапись компонент в типизированных файлах.
- •26. Текстовые файлы.
- •27. Корректировка и дозапись информации в текстовый файл.
- •28.Описание и вызов процедур в Паскале.
- •Параметры-значения, параметры-переменные
- •29. Описание и вызов функций в Паскале.
- •30.Область действия переменных при использовании подпрограмм.
- •31.Способы передачи параметров в подпрограммы.
- •32.Рекурсивное описание процедур и функций.
- •Существует два вида рекурсий:
- •33. Динамические типы данных. Простейшие действия с указателями.
- •34.Создание и обработка динамических списков
- •35. Создание и обработка стеков.
- •36.Создание и обработка очередей.
- •37. Создание и использование таблиц.
- •40.Буферизированный и небуферизированный ввод данных.
25. Корректировка и дозапись компонент в типизированных файлах.
Reset(f) - файл будет открыт на чтение и запись как при последовательном, так и при прямом доступе.
Rewrite(f) – файл будет открыт на запись и чтение.
Read, write – запись и чтение информации из файла.
type veshi=record
surname:string[20];
n:integer;
p:real;
end;
file_rec=file of veshi;
Добавление элементов в типизированный файл (в конец файла):
Procedure Add (var f:file_rec);
var v:veshi;
k, i:integer;
begin
clrscr;
writeln ('Enter number of people wich you want add : '); {число добавляемых записей}
readln (k);
seek (f, FileSize(f));
for i:=1 to k do
begin
write ('Enter surname: '); readln (v.surname);
write ('Enter number of things: '); readln (v.n);
write ('Enter weight of things: '); readln (v.p);
write (f,v);
end;
writeln; writeln ('Press "Enter"');
readln
end;
Процедура редактирования i-ой записи
Procedure Edit (var f:file_rec);
var i,z:integer;
v:veshi;
begin
clrscr;
z:=filesize(f);
if z=0 then {proveraiem pyst li fail}
begin
writeln; writeln ('File is empty');
writeln; writeln ('Press "Enter"');
readln;
end
else
begin
writeln ('Enter position of element (fist element have 0 position)');
readln (i);
if z<=i then {proveraiem syshestvyet li zapis' s poziciei i}
begin
writeln; writeln ('File have not element with this position');
writeln; writeln ('Press "Enter"');
readln;
end
else
begin
write ('Enter Surname: '); readln (v.surname);
write ('Enter number of things: '); readln (v.n);
write ('Enter weight of things: '); readln (v.p);
seek (f, i);
write (f, v);
writeln; writeln ('Press "Enter"');
readln;
end;
end;
end;
Процедура удаления i-ой записи:
Procedure Delete (var f:file_rec);
var i, k,z:integer;
v:veshi;
f2:file_rec;
begin
clrscr;
z:=filesize(f);
if z=0 then {proveraiem pyst li fail}
begin
writeln ('File is empty');
writeln; writeln ('Press "Enter"');
readln;
end
else
begin
writeln ('Enter position of element to delete (fist element have 0 position)');
readln (k);
if z<=k then {proveraiem syshestvyet li zapis' s poziciei i}
begin
writeln; writeln ('File have not element with this position');
writeln; writeln ('Press "Enter"');
readln;
end
else
begin
seek(f,0);
assign (f2, 'temp'); rewrite (f2); {sozdaem 2 fail}
k:=k-1;
for i:=0 to k do {kopiryem zapisi iz pervogo faila vo vtoroi do zapisi s poziciei i}
begin
read (f, v);
write (f2,v);
end;
k:=k+2;
if k<z then {proverayiem est' li zapisi posle ydalayemoi}
begin
seek (f,k);
z:=z-1;
for i:=k to z do {kopiryem zapisi iz pervogo faila vo vtoroi posle zapisi s poziciei i}
begin
read (f,v);
write (f2,v);
end;
end;
close(f); close(f2);
erase (f); {ydalaiem 1-i fail}
rename (f2, 'veshi'); {pereimenovivaem 2-oi fail}
assign (f, 'veshi'); reset (f); {otkrivaem polychivshisya fail}
end;
end;
end;