Работа с типизированными, текстовыми и нетипизированными файлами

Файлы на языке Паскаль. Определение количества компонент. Работа с текстовыми и типизированными файлами. Операции с переменными, стандартные процедуры и функции. Чтение данных из нетипизированного файла. Создание и открытие на запись нового файла.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 29.11.2014
Размер файла 50,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Файлы на языке Паскаль

1.1 Работа с типизированными файлами

1.1.1 Запись в файл

1.1.2 Чтение из файла

1.1.3 Описание типизированных файлов

1.2 Работа с текстовыми файлами

1.2.1 Чтение из текстового файла

1.2.2 Запись в текстовый файл

1.2.3 Описание текстовых файлов

1.3 Работа с нетипизированными файлами

1.3.1 Чтение данных из нетипизированного файла

1.3.2 Запись данных в нетипизированный файл

1.3.3 Создание и открытие на запись нового файла

1.4 Стандартные процедуры и функции

1.5 Принципы работы с файлами

1.6 Запись в файл

1.7 Чтение из файла

1.8 Открытие существующего файла на чтение

1.9 Распознавание конца файла

1.10 Определение имени файла

1.11 Закрытие файла

2. Практическая часть

Заключение

Литература

Введение

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

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

Разработкой программного обеспечения занимается такая отрасль науки, как программирование. Она приобретает все большее и большее значение в последнее время, ведь с каждым днем компьютер становится все более необходимым, все более повседневным явлением нашей жизни. Ведь вычислительная техника прошлых лет уже почти полностью исчерпала себя и не удовлетворяет тем потребностям, которые появляются перед человечеством.

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

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

Со временем программирование завоевало себе огромную сферу влияние, многие коммуникационные системы во многих государствах работают на основе программы, которая задаёт всё основные параметры, которая выполняет система, производство, интернет сервисы, компьютерные игры, мерцающая реклама во всём этом программирование играет огромную роль.

Язык программирования Pascal был специально создан для обучения детей программированию, он является наиболее собирательным языком, который позволяет, приобретает требуемые навыки программирования и очень быстро развивать логическое мышление. Дети, учащиеся в школе начинают свои первые шаги в программировании именно благодаря языку Pascal.

Программа Pascal ABC является хороший помощником при обучении программированию на языке паскаль, Pascal ABC в больше степени ориентирована на школьников, а также на студентов младших курсов. Паскаль АБЦ позволит вам более детальнее проникнуть в мир языка паскаль, и получить важные навыки, для своего дальнейшего развития в этой сфере. Программа обладает понятным интерфейсом и позволяет значительно облегчить сам процесс программирования, особенно это касается синтаксиса. С программой Pascal ABC вы усвоите языка программирования Паскаль значительно быстрее.

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

1. Файл на языке Паскаль

Файл - это упорядоченная последовательность однотипных компонентов, расположенных на внешнем носителе. Файлы предназначены только для хранения информации, а обработка этой информации осуществляется программами. В Паскале существует несколько типов файлов: типизированный, нетипизированный и текстовый.

Доступ к файлу в программе происходит с помощью переменных файлового типа. Переменную файлового типа описывают одним из трех способов:

file of тип - типизированный файл (указан тип компоненты);

text - текстовый файл;

file - нетипизированный файл.

Примеры описания файловых переменных:

var

f1: file of char;

f2: file of integer;

f3: file;

t: text;

В язык Паскаль выделяются данные файлового типа, которые служат для работы с информацией, расположенной на внешних устройствах. Эта информация формируется во внешней памяти компьютера, образуя некоторую область, называемую файлом. Файлы имеют имя и представляют собой совокупность однотипных элементов. Обычно они применяются, в случаях большого объема данных, долгосрочного хранения, либо необходимости предоставления доступа нескольким приложениям к одной и той же информации.

Файлы принято разделять на физические и логические. Физические файлы имеют имя, и располагаются на съемном носителе, а логические это те переменные файлового типа, которые их представляют в программе.

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

Данные, хранящиеся на внешних устройствах, «организовываются в виде файлов».Под файлом понимается область памяти на внешнем запоминающем устройстве, хранящая (содержащая) определенную информацию. В эту конкретную область памяти можно помещать данные (операции ввода, записи), так и извлекать их оттуда (операции вывода, чтения).

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

Введение файлового типа в язык Паскаль вызвано необходимостью обеспечить возможность работы с периферийными (внешними) устройствами ЭВМ, предназначенными для ввода, вывода и хранения данных.

Файловый тип данных или файл определяет упорядоченную совокупность произвольного числа однотипных компонент.

Понятие файла достаточно широко. Это может быть обычный файл на диске, коммуникационный порт ЭВМ, устройство печати, клавиатура или другие устройства.

При работе с файлами выполняются операции ввода - вывода. Операция ввода означает перепись данных с внешнего устройства (из входного файла) в основную память ЭВМ, операция вывода - это пересылка данных из основной памяти на внешнее устройство (в выходной файл).

Файлы на внешних устройствах часто называют физическими файлами. Их имена определяются операционной системой. В программах на языке Паскаль имена файлов задаются с помощью строк. Например, имя файла на диске может иметь вид:

'LAB1.DAT'

'c:\ABC150\pr.txt'

'my_files'

1.1 Работа с типизированными файлами

Типизированный файл в Паскале интерпретируется как последовательность (список) значений определенного (одного и того же) базового типа. Например, если в файле на диске хранится список вещественных чисел, то переменная в языке Pascal, через которую можно получить к ним доступ, может быть описана так:

f: file of real;

Файловый тип определяется служебными словами file of, далее идет указание базового типа, который может быть любым, кроме файлового.

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

При определении переменной файлового типа также в программе появляется скрытый (неявный) текущий указатель файла. Его назначение - указывать на конкретный элемент файла (обеспечивать доступ к нему).

В языке программирования Паскаль все действия с файлом (чтение, запись) производятся поэлементно. Действия совершаются именно над тем элементом файла, на который указывает текущий указатель файла. После того как действие будет завершено, указатель перемещается к следующему элементу. Все элементы файла пронумерованы, начиная с нуля.

Операции с файловыми переменными включают:

· установочные и завершающие операции;

· ввод и вывод;

· перемещение по файлу;

· специальные операции.

Типизированный файл - это последовательность компонент любого заданного типа (кроме типа "файл"). Доступ к компонентам файла осуществляется по их порядковым номерам. Компоненты нумеруются, начиная с 0. После открытия файла указатель (номер текущей компоненты) стоит в его начале на нулевом компоненте. После каждого чтения или записи указатель сдвигается к следующему компоненту.

1.1.1 Запись в файл

Write(f, список переменных);

Процедура записывает в файл f всю информацию из списка переменных.

1.1.2 Чтение из файла

Read(f, список переменных);

Процедура читает из файла f компоненты в указанные переменные. Тип файловых компонент и переменных должны совпадать. Если будет сделана попытка чтения несуществующих компонент, то произойдет ошибочное завершение программы. Необходимо либо точно рассчитывать количество компонент, либо перед каждым чтением данных делать проверку их существования (функция eof, см. выше)

Смещение указателя файла:

Seek(f, n);

Процедура смещает указатель файла f на n-ную позицию. Нумерация в файле начинается с 0.

Определение количества компонент:

FileSize(f): longint;

Функция возвращает количество компонент в файле f.

Определение позиции указателя:

FilePos(f): longint;

Функция возвращает порядковый номер текущего компонента файла f.

Отсечение последних компонент файла:

Truncate(f);

Процедура отсекает конец файла, начиная с текущей позиции включительно.

1.1.3 Описание типизированных файлов

Файл - последовательность компонент, являющихся объектами одного типа. Количество компонент в файле заранее не оговаривается, компоненты файла не имеют индекса. Доступ к компонентам файла возможен только последовательным путем (т.е. перебрав по очереди все предыдущие компоненты).

Определение типа

Type F= file of <тип компонент>;

Var X: F; или Var X: file of <тип компонент>;

где F- новое имя типа;

<тип компонент> - любой кроме файлового или записи, поле которой содержит файловую компоненту.

Пример:

Type VECT = array [1..10] of real;

COMPLEX= record

Re,Im: real

end;

Var Inf: file of integer; {файл, содержащий целые компоненты}

Mas: file of VECT; {файл, состоящий из массивов}

Chis: file of COMPLEX; {файл, состоящий из записей}

1.2 Работа с текстовыми файлами

Текстовый файл - это совокупность строк, разделенных метками конца строки. Сам файл заканчивается меткой конца файла. Доступ к каждой строке возможен лишь последовательно, начиная с первой. Одновременная запись и чтение запрещены.

1.2.1Чтение из текстового файла:

Read(f, список переменных);

ReadLn(f, список переменных);

Процедуры читают информацию из файла f в переменные. Способ чтения зависит от типа переменных, стоящих в списке. В переменную char помещаются символы из файла. В числовую переменную: пропускаются символы-разделители, начальные пробелы и считывается значение числа до появления следующего разделителя.

В переменную типа string помещается количество символов, равное длине строки, но только в том случае, если раньше не встретились символы конца строки или конца файла.

Отличие ReadLn от Read в том, что в нем после прочтения данных пропускаются все оставшиеся символы в данной строке, включая метку конца строки. Если список переменных отсутствует, то процедура ReadLn(f) пропускает строку при чтении текстового файла.

Для чтения данных из файла он должен быть предварительно открыт для чтения с помощью процедуры Reset(CHF).

Чтение осуществляется с помощью процедур:

Read(CHF, <список переменных>);

или

Readln(CHF,<список переменных>);

Процедура Readln по окончании чтения обеспечивает переход к новой строке файла CHF (Readln без параметров обеспечивает только переход на новую строку файла).

При чтении из текстового файла CHF данных, их значения присваиваются переменным, указанным в списке переменных в соответствии с их типом:

- целые читаются с текущего символа, пропуская начальные пробелы, до первого символа отличного от цифры (или конца строки/файла);

- вещественные читаются с текущего символа, пропуская начальные пробелы, до символа синтаксически несовместимого с представлением вещественного числа (или конца строки/файла);

- символьные принимают значение текущего символа файла;

- строки читаются с текущего символа до конца строки (файла).

Пример:

Путь к исходному файлу: A:\File1.Dat

Содержимое файла: 36 25+PASCAL

16.5

Var CHF : Text;

S : real:

I,J : integer;

ST : string;

C : char;

...

Assign(CHF, `A:\File1.Dat');

Reset(CHF);

Readln(CHF, I,J,C,ST);{I:=36; J:=25; C:='+'; ST:='PASCAL'}

Read(CHF,S); (S:=16.5}

1.2.2 Запись в текстовый файл

Write(f, список переменных);

WriteLn(f, список переменных);

Процедуры записывают информацию в текстовый файл.

Способ записи зависит от типа переменных в списке (как и при выводе на экран).

Учитывается формат вывода. WriteLn от Write отличается тем, что после записи всех значений из переменных записывает еще и метку конца строки (формируется законченная строка файла).

Добавление информации к концу файла:

Append(f)

Процедура открывает текстовый файл для добавления информации к его концу. Используйте эту процедуру вместо Rewrite.

Для записи значений в файл он должен быть предварительно открыт для записи с помощью процедуры Rewrite(CHF).

Запись осуществляется с помощью процедур:

Write(CHF,<список переменных (функций, выражений)>);

или

Writeln(CHF,<список переменных (функций, выражений)>);

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

XX:wX:w:d

где w - общая длина поля записи;

d - количество цифр в дробной части для элементов вещественного типа.

Пример:

Путь к файлу с результатами: A:\File2.Dat

Макет расположения Файл с результатами

результатов в файле: I= 36 J= 25

ST= PASCAL

Var CHF : Text;

I,J : integer;

ST : string;

...

I:=36; J:=25; ST:='PASCAL';

Assign(CHF,'A:\File2.Dat');

Rewrite(CHF);

Writeln(CHF,' Файл с результатами');

Writeln(CHF,' I=', I:3, ` J=', J:3);

Writeln(CHF,` ST= ', ST);

Close(CHF);

С процедурами, обеспечивающими чтение и запись информации в файлы, тесно связаны две функции:

LET:=[ ]; {множество букв, встречающихся в тексте}

Read(C);

While C <> `.' do { цикл до конца текста}

Begin

if not (C in LET) then { первое вхождение}

Begin

Write(C);

LET:=LET + [C]

end;

Read(C)

end;

Writeln;

end.

1.2.3 Описание текстовых файлов

Особую роль в обмене информацией с внешними носителями в среде Pascal играют текстовые файлы, компоненты которых рассматриваются как последовательность символов.

Определение типа

Var CHF : Text; {это эквивалентно описанию

Var CHF: file of char;}

файл паскаль запись чтение

1.3 Работа с нетипизированными файлами

Нетипизированные файлы - это последовательность компонент произвольного типа.

Открытие нетипизированного файла:

Reset(f, BufSize)

Rewrite(f, BufSize)

Параметр BufSize задает число байтов, считываемых из файла или записываемых в него за одно обращение. Минимальное значение BufSize - 1 байт, максимальное - 64 К байт. Если BufSize не указан, то по умолчанию он принимается равным 128.

1.3.1 Чтение данных из нетипизированного файла

BlockRead(f, X, Count, QuantBlock);

Эта процедура осуществляет за одно обращение чтение в переменную X количества блоков, заданное параметром Count, при этом длина блока равна длине буфера. Значение Count не может быть меньше 1. За одно обращение нельзя прочесть больше, чем 64 К байтов.

Необязательный параметр QuantBlock возвращает число блоков, прочитанных текущей операцией BlockRead. В случае успешного завершения операции чтения QuantBlock = Count, в случае аварийной ситуации параметр QuantBlock будет содержать число удачно прочитанных блоков. Отсюда следует, что с помощью параметра QuantBlock можно контролировать правильность выполнения операции чтения.

1.3.2 Запись данных в нетипизированные файл

BlockWrite(f, X, Count, QuantBlock);

Эта процедура осуществляет за одно обращение запись из переменной X количества блоков, заданное параметром Count, при этом длина блока равна длине буфера.

Необязательный параметр QuantBlock возвращает число блоков, записанных успешно текущей операцией BlockWrite.

Для нетипизированных файлов можно использовать процедуры Seek, FIlePos и FileSize, аналогично соответствующим процедурам типизированных файлов.

1.3.3 Создание и открытие на запись нового файла

Rewrite(F);

Если имя файла F связано с уже существующим файлом, то данные его уничтожаются, а признак конца помещается в начало файла - создается пустой файл.

Пример:

Var F: file of integer;

I,J : integer;

{Запись в файл квадратов первых 100 натуральных чисел}

Rewrite (F);

for I:= 1 to 100 do

begin J:= Sqr(I);

Write(F,J)

end;

1.4 Стандартные процедуры и функции

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

Assign(f, FileName)

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

После связи файловой переменной с дисковым именем файла в программе нужно указать направление передачи данных (открыть файл). В зависимости от этого направления говорят о чтении из файла или записи в файл.

Reset(f) открывает для чтения файл, с которым связана файловая переменная f. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента. Процедура завершается с сообщением об ошибке, если указанный файл не найден.

Если f - типизированный файл, то процедурой reset он открывается для чтения и записи одновременно.

Rewrite(f) открывает для записи файл, с которым связана файловая переменная f. После успешного выполнения этой процедуры файл готов к записи в него первого элемента. Если указанный файл уже существовал, то все данные из него уничтожаются.

Close(f) закрывает открытый до этого файл с файловой переменной f. Вызов процедуры Close необходим при завершении работы с файлом. Если по какой-то причине процедура Close не будет выполнена, файл все-же будет создан на внешнем устройстве, но содержимое последнего буфера в него не будет перенесено.

EOF(f): boolean возвращает значение TRUE, когда при чтении достигнут конец файла. Это означает, что уже прочитан последний элемент в файле или файл после открытия оказался пуст.

Rename(f, NewName) позволяет переименовать физический файл на диске, связанный с файловой переменной f. Переименование возможно после закрытия файла.

Erase(f) уничтожает физический файл на диске, который был связан с файловой переменной f. Файл к моменту вызова процедуры Erase должен быть закрыт.

IOResult возвращает целое число, соответствующее коду последней ошибки ввода - вывода. При нормальном завершении операции функция вернет значение 0. Значение функции IOResult необходимо присваивать какой-либо переменной, так как при каждом вызове функция обнуляет свое значение. Функция IOResult работает только при выключенном режиме проверок ошибок ввода - вывода или с ключом компиляции {$I-}.

1.5 Принципы работы с файлами

Обозначения:

- признак конца файла;

- компонента файла;

F - имя файла;

A - файловая переменная, которая имеет тот же тип, что и компоненты файла;

- головка записи/чтения.

1.6 Запись в файл

Использование процедуры записи возможно, когда файл открыт для записи, т.е. головка записи/чтения совмещена с признаком конца файла (новые элементы помещаются в конец файла).

1.7 Чтение из файла

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

1.8 Открытие существующего файла на чтение

Если файл не пустой, то после выполнения процедуры открытия файла для чтения, головка записи/чтения будет совмещена с первой компонентой файла. Если файл пуст, то головка записи/чтения указывает на признак конца файла.

1.9 Распознавание конца файла

Распознавание конца файла осуществляется с помощью функции:

Пример:

Var F: file of integer;

S,I: integer;

...

{Чтение из непустого файла всех его компонент и вычисление суммы их квадратов}

Reset(F); S:=0;

While not Eof(F) do

begin

Read(F,I); S:=S+Sqr(I)

end;

1.10 Определение имени файла

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

Assign(F,Name);

где F - имя файла, определенное в программе;

Name - переменная типа String или строка символов, указывающая путь к файлу на физическом носителе информации.

Пример:

Var F1,F2:file of real;

Name:string;

...

Assign (F1, `A:\Myfile.Dat'); {исходный файл находится на диске A

под именем Myfile.Dat}

Name:='B:\File2.Dat';

Assign(F2,Name); {исходный файл находится на диске B под

именем File2.Dat}

1.11 Закрытие файла

Close (F);

Процедура закрывает открытый (с помощью процедур Rewrite или Reset) файл.

Настройка на требуемую компоненту файла

Seek(F,Nom);

где F - любой файл, кроме Text;

Nom - номер текущей компоненты файла (переменная типа Longint).

Процедура осуществляет настройку на требуемую компоненту файла, который предварительно был открыт процедурами Rewrite или Reset. Номер текущей компоненты файла можно получить с помощью функции FilePos (Nom:=FilePos(F);).

Размер файла в компонентах может быть получен с помощью функции FileSize(F).

2. Практическая часть

Содержимое типизированных файлов можно рассматривать как последовательность записей определенного типа. Program PR1 содержит программу, которая создает простейшую базу данных на основе типизированных файлов записей. Требуется - создать файл записей с заданным именем, поместив в него сведения о студентах потока(номер группы, фамилия, имя и три отметки за семестр). На основе файла выяснить процент успеваемости на «4» и «5» (количество студентов без «3», отнесенное к общему числу учащихся). Требуется также создать файл записей с заданным именем, поместив в него сведения о плохо успевающих студентах потока (с оценками «2» и «3») - номер группы, фамилия, имя, средний бал семестра, и вывести его записи на экран.

«База данных на основе типизированных файлов записей»

Program PR1;

uses crt;

type studrec=record

group : byte;

surname: string[20];

name : string[20];

{ массив оценок: за семестр ставятся 3 оценки (от 2 до 5 баллов) }

oc : array[1..3] of 2..5;

end;

foolsrec=record

group : byte;

surname: string[20];

name : string[20];

{ среднее арифметическое элементов массива оценок }

average: real;

end;

file_typ1=file of studrec; file_typ2=file of foolsrec;

var f1: file_typ1; f2: file_typ2;

namefile1, namefile2: string[12];

s:studrec; { запись, содержащая сведения наодного студента }

fs: foolsrec; { запись со сведениями на одного задолжника }

i, nomrec: integer;

procedure read_data(var s: studrec);

{ ввод записи по студенту }

begin

clrscr;

with s do

begin

writeln('Окончание ввода - 0, как n группы');

write('N группы: '); readln(group);

if group <> 0 then

begin

write('Фамилия: '); readln(surname);

write('Имя: '); readln(name);

writeln('Оценки: '); for i:=1 to 3 do read(oc[i]);

end;

end;

end;

procedure copy_data(s: studrec; var fs: foolsrec);

{ копирование записи по студенту-задолжнику }

begin

with fs do

begin

group:=s.group; surname:=s; name:=ss.name;

{ вычисление среднего арифметического элементов массива оценок }

average:=(s.oc[1]+s.oc[2]+s.oc[3])/3;

end;

end;

procedure write_list(var f: file_typ2);

{ вывод записей по плохо успевающим студентам на эран }

begin

reset(f); seek(f,0);

writeln('Плохо успевающие: ');

writeln('Группа','Фамилия':16,'Имя':8,'Средний балл':18);

while not eof(f) do

begin

{ чтение текущей записи из файла }

read(f,fs);

{ вывод текущей записи на экран }

with fs do writeln(group:4,surname:15,name:10,average:16:2);

end;

end;

procedure create_file(var f: file_typ1; var n: integer);

{ ввод записей по всем студентам в файл }

begin

n:=0; rewrite(f); read_data(s);

while s.group <> 0 do

begin

{ вывод текущей записи в файл }

write(f,s); inc(n);

{ ввод записи по новому студенту }

read_data(s);

end;

close(f);

end;

procedure write_data(var f1: file_typ1; var f2: file_typ2; n: integer);

{ вывод записей по плохо успевающим студентам в файл, }

{ подсчет % успевающих студентов }

var priz:char; k:integer;

begin

reset(f1); rewrite(f2); k:=0;

while not eof(f1) do

begin

read(f1,s);

{ признак учебы студента }

priz:='n';

for i:=1 to 3 do if (s.oc[i]>=2)and(s.oc[i]<=3) then priz:='y';

if priz='y' then

begin copy_data(s,fs);write(f2,fs) end

else inc(k);

end;

close(f1); close(f2);

clrscr; writeln('На "4" и "5" учатся ',k/n*100:3:0,'% студентов');

end;

begin

clrscr;

write('Введите имя файла общей ведомости: '); readln(namefile1);

assing(f1,namefile1);

creat_file(f1,nomrec);

write('Введите имяфайла ведомости задолжников: '); readln(namefile2);

assing(f2,namefile2);

write_data(f1,f2,nomrec);

write_list(f2);

end.

Комментарии.

Для каждого студента данные о номере его группы, фамилии, имени и отметках содержатся в полях записи studrec: переменных group,surname,name и массиве oc соответственно. Для плохо успевающего студента данные о номере его группы, фамилии, имени и среднем балле содержатся в полях записи foolsrec: пременных group,surname,name и average соответственно. Создание типизированного файла базы данных на студентов потока выполняется процедурой create_file, а заполнение полей записи по отдельному студенту - процедурой read_data. Формирование типизированного файла базы данных на плохо успевающих студентов потока выполняется процедурой write_data, которая также подсчитывает процент обучающихся на «4» и «5». Процедура copy_data выполняет вспомогательную роль, копируя поля записи студента в соответствующие поля записи задолжника и вычисляя средний балл по оценкам семестра. Данные из файла задолжников выводятся процедурой write_list.

Заключение

Итак, мы изучили раздел «Файлы» и узнали что файл- это упорядоченная последовательность однотипных компонентов, расположенных на внешнем носителе. В процессе выполнения работы мы ознакомились: с типизированными, текстовыми и нетипизированными файлами. А также как происходит чтение и закрытие файла. В язык Паскаль выделяются данные файлового типа, которые служат для работы с информацией, расположенной на внешних устройствах. Все действия при составлении файла на языке Паскаль нужно выполнять поэлементно, как это показано в практической части.

Литература

1. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 2011;

2. Абрамов С.А., Зима Е.В. Начала информатики. - М.: Наука, 2012;

3. Васюкова.Н.Д, Тюляева.В.В Практикум по основам программирования. Язык Паскаль: Учеб.пособие для учащихся сред.спец,учеб.заведений.- М.:Высш.шк.,2013.-106с.:ил.

4. Довгаль С.И., Литвинов Б.Ю., Сбитнев А.И. Персональные ЭВМ: Паскаль, Объектное программирование, Локальные сети. (Учебное пособие).- Киев, «Информсистема сервис», 2011;

5. Епанешников А.М., Епанешников В.А. Программирование в среде Pascal.- М.:, Диалог МИФИ, 2013;

6. Йенсен К., Вирт Н. Паскаль: Руководство для пользователя. /Пер. с англ. М.Л.Сальникова, Ю.В.Сальниковой. - М.:, Компьютер, 2011;

7. Павловская.Т.А Паскаль. Программирование на языке высокого уровня:Учебник для вузов. 2-е изд.СПб.:Питер,2009.-464 с.:ил.

8. Перминов О.Н. Программирование на языке Паскаль. - М.: Радио и связь, 2011;

9. Поляков Д.Б., Круглов Н.Ю. Программирование в среде Паскаль. - изд.МАИ., М.:, 2013;

10. Прайс Д. Программирование на языке Паскаль. Практическое руководство. /Пер. с англ. - М.:, Мир, 2012;

11. Рапоков.Г.Г, С.Ю.Ржеуцкая Pascal для студентов и школьников.- СПб.:БХВ-Перербург, 2012-352 с.:ил.

12. Семашко Г.Л., Салтыков А.И. Программирование на языке Паскаль. - М.: Наука. Гл. ред. физ.-мат. лит.,2011;

13. Ушаков.Д, Юркова.Т Паскаль для школьников. 2-е изд.-СПб.: Питер,2012.-320 с.: ил.

Размещено на Allbest.ur

...

Подобные документы

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

    реферат [86,4 K], добавлен 07.02.2011

  • Проверка существования и статуса файла. Определение его размера. Открытие файла для чтения, записи, добавления. Закрытие файловых дескрипторов. Запись из переменной в файл. Загрузка файла из сети. Создание и удаление каталога. Функции работы с каталогами.

    презентация [133,9 K], добавлен 21.06.2014

  • Работа с файлами, папками WINDOWS: понятие файла, папки, сохранение, переименование. Вычисление суммы порядковых номеров фамилии и имени. Алгоритм расчета себестоимости. реализация в других программах алгоритма и отчета по нему. Файлы, папки WINDOWS.

    контрольная работа [17,9 K], добавлен 05.06.2008

  • Алгоритм и код программы для создания исходного двоичного файла чисел с произвольным количеством элементов, чтения из файла действительных восьмибайтных элементов и подсчёта общего количества элементов файла. Вывод результата работы программы на экран.

    контрольная работа [1,0 M], добавлен 23.11.2014

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

    курсовая работа [309,6 K], добавлен 11.11.2013

  • Средства языка программирования Delphi. Структурные типы данных. Строковые переменные, массивы, множества, файлы. Механизм классов в C++. Интерфейсный и описательный обзоры классов в Delphi. Работа с текстовыми и бинарными файлами прямого доступа.

    курсовая работа [990,4 K], добавлен 07.08.2012

  • Набор данных на диске, имеющий имя. Порядок размещения файлов. Многоуровневая файловая система. Полный адрес файла. Логические диски и файловые системы в Windows. Работа с файлами в Windows. Связь расширения с программой. Поиск компьютеров в сети.

    презентация [1,9 M], добавлен 12.12.2012

  • Создание приложения Windows, позволяющего автоматизировать процесс обработки информации студентов университета. Организация работы с физическими файлами в языках программирования. Изучение средств IDE Delphi для организации работы с текстовыми файлами.

    курсовая работа [1,5 M], добавлен 08.11.2011

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

    контрольная работа [964,3 K], добавлен 23.11.2014

  • Теоретическое изучение и практическое применение приёмов работы с файлами в операционной системе Windows 95. Файлы и папки: основные понятия и правила формирования имен файлов в Windows. Характеристика и анализ особенностей операций с файлами и папками.

    контрольная работа [139,9 K], добавлен 09.03.2011

  • Создание программного продукта на языке Pascal в визуальной среде программирования Borland Developer Studio в консольном приложении. Разработка типизированного файла для записи данных и их вывод на экран, добавление данных в конец файла, поиск информации.

    курсовая работа [1,0 M], добавлен 04.12.2011

  • Работа с файлами на языке Pascal. Типы файлов: типизированные, текстовые, нетипизированные. Сущность процедуры и функции. Использование процедуры Read и Write для операций чтения и записи в типизированном файле. Листинг программы и экранные формы.

    лабораторная работа [38,4 K], добавлен 13.02.2009

  • Язык программирования Турбо Паскаль. Запись алгоритма на языке программирования и отладка программы. Правила записи арифметических выражений. Стандартное расширение имени файла, созданного системным редактором. Составной оператор и вложенные условия.

    курсовая работа [75,0 K], добавлен 21.03.2013

  • Типизация данных в JavaScript. Правила объявления локальных и глобальных переменных. Объявление и использование функций. Открытие и закрытие файла, запись в него и чтение из него. Создание теста с использованием средств языка программирования PHP скрипт.

    контрольная работа [73,8 K], добавлен 25.01.2016

  • История и основы структурного программирования в среде Turbo Pascal. Работа с различными типами данных. Операторы языка. Работа с символьными и строковыми переменами, одномерным, двумерным массивами. Классификация компьютерных игр. Игры на языке Паскаль.

    курсовая работа [28,8 K], добавлен 06.05.2014

  • Процедуры и функции языка Pascal для работы с файлами прямого и последовательно доступа. Формат и структура в файлах прямого доступа. Возможность ввода данных с клавиатуры либо из файла. Контроль вводимых данных. Листинг программы и ее экранные формы.

    лабораторная работа [48,7 K], добавлен 13.02.2009

  • Основные команды для работы с файлами. Текстовый редактор vim. Простейшие команды для работы с текстом. Команды для управления процессами. Настройка оболочки и сценариев. Монтирование и демонтирование файловых систем. Базовые регулярные выражения.

    лабораторная работа [2,7 M], добавлен 14.07.2012

  • Создание и редактирование текстовых документов, содержащих таблицы, рисунки и другие мультимедийные объекты. Разница между текстовыми редакторами и текстовыми процессорами. Запуск Microsoft Word. Создание нового документа. Завершение работы в MS Word.

    презентация [306,6 K], добавлен 19.12.2014

  • Работа с файлами, каталогами и томами в Windows и Win32 API. Функции GetWindowsDirectory и GetSystemDirectory. Примеры работы с томами. Получение и изменение атрибутов файлов. Описание минимального набора базовых функций Windows. Чтение и запись файлов.

    лекция [62,7 K], добавлен 24.06.2009

  • Блок-схема программы, подсчитывающей количество слов последовательности, начинающихся с большой буквы и оканчивающихся цифрой. Символьный квадратный массив и его заполнение. Создание программы, которая формирует файл записей заданной структуры.

    курсовая работа [529,7 K], добавлен 19.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.