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

Презентация:



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

Файловая переменная. Файл – совокупность данных, записанная во внешней памяти под определенным именем. Любой файл имеет три характерные особенности: уникальное.
Program wr_text; var f: text; st: integer; i:integer; begin assign(f,'l1.TXT'); rewrite(f); write('вводите поочередно числа, после ввода очередного числа.
Программирование - это вторая грамотность. представляет собой последовательность элементов одного типа. Длина файла не задается, место элемента не определяется.
Дан массив. Найти максимальный и минимальный элементы массива и поменять их местами. Выполнение программы Выполнение программы.
Работа с файлами.. Процедура Assign(var f; name : String); Связывает внешний файл с именем name и переменную файлового типа f. Все дальнейшие операции.
Оператор присваивания := Ввода Read(x1,x2,…) Readln(x1,x2,…) Вывода Writex(x1,x2,…) Writeln(x1,x2,…) Составной оператор begin …. End;
ТЕКСТОВЫЕ ФАЙЛЫ Turbo Pascal 7.0. Операции с текстовыми файлами Выделение буфера обмена Установка связи Открытие файла Чтение из файла Запись в файл Закрытие.
9.Задана целочисленная матрица. Вывести N чисел - максимальные значения элементов для каждой строки, где N - количество строк матрицы
Решение олимпиадных задач Учитель информатики МБОУ«СОШ 23 с углубленным изучением отдельных предметов» Энгельсского муниципального района Саратовской области.
Работа с файлами PASCAL. Понятие файл Физический файл – это именованная область внешней памяти, содержащая информацию. Логический файл – это структура.
Чтобы переваривать знания, Нужно поглощать их с аппетитом. А. Франс.
Множества значений или переменных с одним общим именем называются структурированными типами. По способу организации и типу компонентов выделяют: 1. Массивы.
29. Дан массив целых чисел. Найти индексы элементов, значения которых больше значения предыдущего элемента (на­чиная со второго). Program a29; Var i,n:integer;
PROGRAM example1; {сдвинуть циклически элементы массива вправо} const m=10; var a : ARRAY [1.. m] of INTEGER; i,k,n: INTEGER; BEGIN randomize; n:=m; WRITELN('Полученный.
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Задача о лабиринте Формулировка. Имеется прямоугольная матрица N x M, который задается лабиринт. Нули в матрице обозначают проход, минус единицы - стены.
Операции со строками Паскаль 9 класс. S1:=ABCDEFGH; S2:=Мама мыла раму; k1:=length(s1); k2:=length(s2); Что получим в результате? S1:=ABCDEFGH; S2:=abcdefgh;
1 Программирование на языке Паскаль Файлы с последовательным доступом. Кулебякин В.В.
Внесите в таблицы значения переменной Х, которые она принимает на k-м шаге цикла в программе stepen _A_n при заданных значениях А и n: 1)A = 2, n = 6 2)
Транксрипт:

Проверка связи с файлом Для того, чтобы проверить, установлена ли связь файла с файловой переменной, необходимо использовать специальную функцию IOResult. Пример: Var f :text; St:String; BEGIN Write(Введите имя файла: ); Readln(St); Assign(f,St); {$I-} {Отключить контроль ввода-вывода} Reset(f); {Открыть файл} {$I+} {Включить контроль ввода-вывода }

If IOResult = 0 then begin Writeln(Файл существует и нормально открыт); Close(f); end Else Writeln(Файла с именем, St, на диске нет); END. После корректного выполнения операции ввода- вывода функция IOResult возвращает значение, равное нулю, в остальных случаях функция возвращает соответствующий код ошибки.

Стандартные файловые переменные: INPUT – для чтения данных с клавиатуры OUTPUT – для вывода данных на экран program my_file; Var F:text; S:string; begin assign(input,f2.txt'); {$I-}reset(input); {$I+} If Ioresult 0 then Begin write(нет файла); exit; while not eof do begin readln(st); Writeln(st); end; close(input); end. Пример переопределения стандартного ввода с клавиатуры на ввод из файла на диске. Файловую переменную в этом случае можно не записывать в операторах READ и WRITE

program my_file; uses crt; var I,k:integer; begin clrscr; assign(input,'d:\programs\in.pas'); reset(input); k:=0; while not eof do begin read(i); inc(k); end; close(input); write('k=',k); readkey end. Пример1. Дан текстовый файл, содержащий целые числа. Найти количество чисел в файле.

program my_file4; uses crt; var i,j,k:integer; begin clrscr; assign(input,'d:\programs\in.pas'); reset(input); k:=0; repeat j:=0; repeat inc(k);inc(j); read(i);write(i,' '); until eoln; writeln('j=',j) until eof; close(input); write('k=',k); readkey end. Пример 2 Дан текстовый файл, содержащий целые числа. Найти количество чисел в файле и в каждой строке.

program my_file5; uses crt; var p,k,i,mf,ms:integer; begin clrscr; assign(input,'ff1.txt'); reset(input); mf:=-32768;k:=0; repeat ms:=-32768; repeat read(i);write(i,' '); inc(k); if i>ms then ms:=i; if i>mf then begin mf:=i;p:=k end until eoln; writeln('ms=',ms); until eof; close(input); write('mf=',mf,'p=',p); readkey end. Пример 3 Дан текстовый файл, содержащий целые числа. Найти максимальный элемент в файле и его номер в файле, а также максимальный элемент в каждой строке.

program tekct1; uses crt; var k,i:integer; st: string[20]; f,g:text; BEGIN clrscr; assign(f,'in1.txt'); assign(g,'out.txt'); {$I-} reset(f);rewrite(g);{$I+} if ioresult0 then begin writeln('no file'); exit end; Дан текстовый файл. Используя файловую переменную, записать содержимое файла в другой файл i:=1; repeat readln(f,st); writeln(i,' ',st); writeln(g,st); inc(i) until eof(f) ; close(f); close(g); end.

program tekct1; uses crt; var k,i,p,max:integer; st: string[10]; f:text; BEGIN clrscr; assign(f,'ff.txt'); {$I-} reset(f);{$I+} if ioresult0 then begin writeln('no file'); exit end; i:=1; p:=0; repeat readln(f,st); writeln(i,' ',st); k:=ord(st[0]); if k>max then begin max:=k; p:=i end; inc(i) until eof(f) ; writeln('p=',p); close(f); 1:; end. Дан текстовый файл. Напечатать номер строки с максимальным количеством символов.

program tekct2; uses crt; var k,i,p,max,s:integer; st,name: string[35]; f:text; BEGIN clrscr; write('input name of the file '); readln(name); assign(f,name); {$I-} reset(f); {$I+} if ioresult0 then begin writeln('no file'); exit end; i:=1; repeat readln(f,st); k:=1;s:=0; writeln(' ',i,' ',st); repeat if st[k]=' ' then s:=s+1; inc(k); until k>ord(st[0]) ; if s>max then begin max:=s; p:=i end; inc(i) until eof(f) ; writeln('p=',p); close(f); end. Дан текстовый файл, содержащий строки. Указать номер строки с максимальным количеством пробелов.

Пусть нам необходимо сформировать текстовый файл с помощью Паскаля, а затем переписать из данного файла во второй только те строки, которые начинаются с буквы «А» или «а». Пояснения: нам понадобятся две файловые переменные f1 и f2, поскольку оба файла текстовые, то тип переменных будет text. Задача разбивается на два этапа: первый – формирование первого файла; второй – чтение первого файла и формирование второго. Для завершенности решения задачи есть смысл добавить еще одну часть, которая в задаче явно не указана – вывод на экран содержимого второго файла.

Program primer; Var f1,f2:text; I,n: integer; S: string; Begin Assign(f1, 'file2.txt'); {устанавливаем связь первой файловой переменной с физическим файлом} Assign(f2, 'file3.txt'); {устанавливаем связь второй файловой переменной с физическим файлом} Reset(f1); {открываем первый файл для чтения} rewrite(f2); While not eof(f1) do Begin Readln(f1,s); {считываем очередную строку из первого файла} repeat n:=length(s); for i:=1 to n div 2 do If s[i] = s[n -i+1] then until eoln(f1); Writeln(s); {записываем во второй файл строки, удовлетворяющие условию} End; Close(f1); Close(f2); {заканчиваем работу с файлами} end.

f2,f:text; s,p,k,i,ms, mn:integer; begin clrscr; assign(f,'f3.txt'); assign(f2,'f4.txt'); reset(f); rewrite(f2); ms:=0;mn:=100; Repeat ms:=0;mn:=100; repeat read(f,i);write(i,' '); if i>ms then ms:=i; if i