Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Министерство образования и науки РФ.
Федеральное агентство по образованию.
Томский Государственный Университет Систем Управления и
Радиоэлектроники.
ТУСУР.
Кафедра компьютерных систем в управлении и проектировании.
КСУП.
Отчет по лабораторной работе №9
“Работа с файлами ”
Выполнил: студент группы №514
______________________
Проверил: ассистент кафедры КСУП
______________________
ТОМСК 2005г.
Содержание
1. Введение____________________________________________________________ стр.
2.Основная часть:
а)условие задачи №4_______________________________________________ стр.
б)описание переменных____________________________________________ стр.
в)пошаговое описание алгоритма___________________________________ стр.
г)блок-схема______________________________________________________ стр.
д)программа с комментариями_____________________________________ стр.
е) условие задачи №12______________________________________________ стр.
ж) описание переменных___________________________________________ стр.
з) пошаговое описание алгоритма____________________________________ стр.
и) блок-схема (осн. Программа)______________________________________ стр.
к) )блок-схема (процедура и функция)________________________________ стр.
к) программа с комментариями_____________________________________ стр.
3.Вывод_______________________________________________________________ стр.
Введение.
Очень часто в ходе выполнения пронраммы возникает необходимость записи информации на магнитный носитель (гибкий, жесткий диски). Запись особенно нужна, если объем информации велик и если в дальнейшем предполагается использовать эту информацию в других программах.
В языке Pascal для работы с внешними устройствами предусмотрены специальные компоненты файлы. Под файлом обычно понимается область памяти на внешнем запоминающем устройстве (дискета, жесткий диск), способная хранить информацию. С другой стороны файл это структурный тип данных к элементам которого возможен последовательный доступ.
Для работы с файлом при описании переменных необходимо определить переменную файлого типа, которая будет считаться «представителем» этого файла в программе. Такая переменная называется также указателем.
Основная часть
Задача №4.
type rad = file of integer;
Описать процедуру p(f,g) от двух файлов типа rаd, которая из файла f переписывает в пустой файл g сначала все положительные числа, а потом все отрицательные.
Программа: введите файл f (последний элемент равен 0). Выполните процедуру p(f,g). Распечатайте файл g.
Описание переменных:
a) глобальные переменные:
б) локальные переменные:
Пошаговое описание:
Шаг №1 Вводим файл;
Шаг №2 Записываем второй файл;
Шаг №3 Выводим файл;
Описание процедуры:
р записывает во второй файл сначала положительные, потом отрицательные числа из превого файла.
Текст программы с коментариями
program L9Z4; {Заголовок программы}
uses crt; {Подключение библиотек}
type rad=file of integer; {Задание нового типа}
var a,b:rad; {Описание глобальных иеременных}
fn1,fn2:string;
x2,x4:integer;
procedure p(var f,g:rad); {Заголовок процедуры}
var x1,x3:integer; {Описание локальных переменных}
begin
reset (f); {открываем файлы
reset (g); для чтения}
rewrite(g); {открываем файл g для записи}
while not eof (f) do {записываем
begin
read(f,x1); положительные
if x1>0 then write (g,x1);
end; числа }
seek (f,0);
while not eof (f) do {записываем
begin
read(f,x3); отрицательные
if x3<0 then write (g,x3);
end; числа }
close (f); {закрываем
close (g); файлы}
end;
begin
clrscr; {Очитска экрана}
fn1:='c:\bp\bin\1.txt';
fn2:='c:\bp\bin\2.txt';
assign(a,fn1); {Связываем переменную
assign(b,fn2); с конкретными файлами}
rewrite (a); {открываем
rewrite (b); файлы для записи}
repeat {вводим
begin
writeln('vvedite chislo'); первый
readln(x2);
write (a,x2);
end; файл}
until x2=0;
p(a,b); {вызов функции p}
reset(b); {открываем файл b для чтения}
while not eof (b) do {выводим
begin
read(b,x4); файл
write(x4,' ');
end; на экран}
readln;
end.
Результаты работы прогаммы:
Vvedite chislo
2
Vvedite chislo
6
Vvedite chislo
-4
Vvedite chislo
5
Vvedite chislo
-1
Vvedite chislo
0
2 6 5 4 -1
Задача №12
type rad = file of integer;
Описать логическую функцию check(r), проверяющую, все ли элементы файла r неотрицательны.
Программа: введите файл r (последний элемент = 0) и напечатайте значение функции check(r).
Описание переменных:
1)Глобальные:
а) fn1 - тип string, т.к. это строка;
б) x2,x4 определяем тип integer, так как нужны целочисленные значения.
в) a тип rad;
2)Локальные:
а) f тип rad;
б) x1, I - определяем тип integer, так как нужны целочисленные значения;
в) k логический тип boolean;
Пошаговое описание алгоритма:
Шаг№1 Вводим файл;
Шаг№2 Проверяем файл
Шаг№3 вывод результата на экран.
Описание функции:
Chek Определяет все ли числа в файле неотрицательны;
Текст программы с комментариями
program L9Z12; {Заголовок программы}
uses crt; {Подключение библиотек}
type rad=file of integer; {Задание нового типа}
var a:rad; {Описание глобальных иеременных}
fn1:string;
x4,x2:integer;
function chek(var f:rad):boolean; {Заголовок функции}
var x1,i:integer; {Описание локальных переменных}
k:boolean;
begin
reset (f); {открываем файл f для чтения}
for i:=1 to filesize(f) do {проверяем
begin
read(f,x1);
if x1>=0 then k:=true
else
begin
k:=false;
break; файл}
end;
end;
chek:=k;
end;
begin
clrscr; {Очитска экрана}
fn1:='c:\bp\bin\3.txt';
assign(a,fn1); {Связываем переменную с конкретными файлами}
rewrite (a); {открываем файл a для записи}
repeat {вводим
begin
writeln('vvedite chislo');
readln(x2);
write (a,x2);
end;
until x2=0; файл}
while not eof (a) do {выводим
begin
read(a,x4); файл
write(x4,' ');
end; на экран}
if chek(a)=true then write('Vse pol') else write('Est'' otr'); {вызываем функцию и выводим результат}
readln;
end.
Результаты работы прогаммы:
Vvedite chislo
-3
Vvedite chislo
2
Vvedite chislo
-3
Vvedite chislo
2
Vvedite chislo
1
Vvedite chislo
0
Est otr
Вывод
С помощью этой лабораторной работы мы ознакомились с основными операциями над файлами научились пользоваться файловым типом данных.