КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Задание.
1. записать в файл массив, и сумму и произведение всех элементов массива.
2. записать в файл 12 строк, используя оператор for, и определить длину каждой строки.
3. записать в файл двухуровневую запись Авто, состоящую из нескольких полей.
Задание 1 – на 3;
Задание 2 – на 4;
Задание 3 – на 5;
Пример1. Cоздать файл из списка 10 студентов с их оценками ( номер, Ф.И.О. и три оценки). Вывести его содержимое на экран, изменить фамилию студента с номером, введенным с клавиатуры, заново прочитать файл.
Program file; Type wed = record {Тип wed включает 3 поля: n, fio, bal} n : byte ; fio : string[15] ; bal : array [1..3] of byte; {Поле bal – массив из 3 оценок } end; Var spisok : wed ; {Запись spicok типа wed} sp : file of wed; {Файл записей типа wed} procedure vvod; { процедура создания файла} var i,j:byte; begin { оператор assing находится в основной прграмме } rewrite ( sp); {открытие файла для записи} with spisok do For i:=1 to 10 do begin n:=i; writeln (' Введите фамилию - ', i ); readln (fio); writeln (' Введите 3 оценки ', fio ); For j:= 1 to 3 do readln ( bal [j] ); write (sp , spisok); { запись в файл информации о студенте} end; close (sp); { закрытие файла для записи } end; procedure print; { процедура чтения и печати всего файла } var j : byte; begin reset ( sp); {открытие файла для чтения} writeln (‘ Список студентов: ‘); while not eof (sp) do with spisok do begin Read (sp, spisok); {чтение данных из файла} write (n,' ',fio); {вывод записи на экран} For j:= 1 to 3 do write (' ', bal [j] ); writeln ; end; readln; close (sp) ; end; procedure work; var num: integer; begin reset ( sp); {открытие файла для чтения} writeln ('номер= '); readln (num); seek (sp, num-1); {поиск записи с указанным номером (нумерация записей с 0)} read (sp,spisok);{чтение и перемещение указателя к сле д. записи} write ('fio='); writeln (spisok.fio); seek (sp,filepos(sp)-1); {возвращение к изменяемой записи } writeln (‘ Введите новую фамилию’ ); readln (spisok.fio); write (sp, spisok); {запись в файл измененной записи} close (sp); end;
begin {начало основной программы} assign (sp,'Vedom.DAT'); {связать файловую перем-ю sp с файлом Vedom.dat} vvod; print; {процедуры создания и чтения файла} work; print; {корректировка и чтение измененного файла} readln end.
Пример 2.Запись текстового файла на диск и ввод в него текста.
program wtf; type fil=text; var f1:fil; name:string[35]; txt:string; begin write('Введите имя файла для записи текста>'); readln(name); writeln; assign(f1,name); rewrite(f1); writeln('Введите текст для записи (для окончания-Enter):'); writeln; repeat write(':>'); readln(txt); writeln(f1,txt); until txt=''; close(f1); writeln; writeln('Ввод окончен, нажмите Enter.'); readln; end.
Пример 3.Запись результата вычисления в текстовый файл.
program wtf1; uses crt; type fil=text; var f1:fil; name:string[35]; txt:string; var i,n:real;s,q:real; begin clrscr; writeln('Для вычисления суммы ряда S=1+1/4+1/9+...+1/n2,'); write('введите n=1,2,3...: n='); read(n); i:=1; S:=1; while i<>n do begin i:=i+1; s:=s+1/(i*i); end; writeln('Сумма членов ряда равна S=',s); name:='rezult.txt'; txt:='Сумма ряда S=1+1/4+1/9+...+1/n2 равна: S='; writeln; assign(f1,name); rewrite(f1); writeln(f1,txt,s,' при n=',n:9:0); close(f1); writeln('Ваш результат будет записан в файл rezult.txt'); writeln('Для выхода из программы нажмите Enter.'); readkey; end.
Program File_text; var f1 : text; st : string; n: byte; begin assign (f1, 'file1.txt'); {связать с файлом file1.txt файловую переменную f1 } rewrite (f1); { создать новый файл с именем file1.txt } writeln ( f1, 'Очень полезно изучать'); { записать предложения в файл} writeln ( f1, ' всем студентам '); writeln (f1, ' язык Pascal '); close (f1); { закрыть файл для записи } reset (f1); { открыть файл для чтения } while not eof (f1) do { пока не конец файла f1} begin readln (f1, st); {читаем строку из файла f1 } writeln(st); { выводим на экран } n:= length (st); {определяем длину строки } writeln (' длина =',n); end; close (f1); { закрыть файл для чтения} end .
|