Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Задание к лабораторной работе.




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

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

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

4. Подобрать тестовые данные. Протестировать.

5. Оформить отчет о выполнении (см. Приложение)

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

Программа создаёт два файла по указанному маршруту.

{$I-} { директива компилятора

выключение контроля ошибок ввода-вывода! }

Program File_O;

uses Crt;

Var

ftext:Text;

fbin:FILE of integer;

S:String[30];

i:byte;

j:integer;

begin

ClrScr;

Writeln('Bведите имя исходного файла');

{ Например “A:\INN.txt” }

Readln(S);

Assign(ftext,S);

if IOResult=0 then Rewrite(ftext)

Else begin

Writeln('File not found!!');

Halt;

end;

For i:=1 to 10 do

Writeln(ftext,i);

Close(ftext);

Writeln('Bведите имя исходного файла');

{ Например “A:\INN.ext” }

Readln(S);

Assign(fbin,S);

if IOResult=0 then Rewrite(fbin)

Else begin

Writeln('File not found!!');

Halt;

end;

For j:=1 to 10 do

Write(fbin,j);

Close(fbin);

Writeln('Press Enter');

Readln;

end.

Варианты заданий

Часть 1

1. Дан текстовый файл. Удалить из него однобуквенные слова и лишние пробелы, вывести все буквы данного текстового файла, входящие в файл не менее двух раз на монитор.

2. Дан текстовый файл и строка s. Если самая длинная строка файла не совпадает со строкой s, то строку s дописать в файл.

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

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

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

6. Целочисленная матрица, в которой число строк n вдвое меньше числа столбцов, хранится в текстовом файле. Сохранить в этом файле матрицу порядка n ´ n, удалив последние n столбцов.

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

8. Дан файл со строками (их количество неизвестно). Если в 3 или в 5 строке 4 элемент пробел, то скопировать этот файл в другой, заменив эти символы нулем. Если это условие не выполняется, то удалить эти строки, создав новый файл.

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

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

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

12. Дан текстовый файл f. Записать в файл g символы файла f в обратном порядке, оставив только первые вхождения каждого символа.

13. Дан файл. Удалить из него однобуквенные слова и лишние пробелы.

14. Преобразовать файл, удалив последнее слово в каждой строке.

15. Дан файл, содержащий неизвестное количество строк. Найти самое длинное слово среди слов, начинающихся буквой «a». Если таких слов нет, сообщить об этом. Слова, начинающиеся буквой «a», записать в другой файл.

16. Даны файлы f и g. Записать в файл h все совпадающие строки файлов f и g, если таких строк нет, то в файл h записать строки из файлов f и g, чередуя их, начиная с первой из файла f.

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

18. Дан файл. Преобразовать его, оставив в каждой строке только самое длинное слово

19. Дан файл, содержащий строки целых чисел. Получить файл, содержащий последние числа каждой строки, если число меньше заданного n, то заменить его нулем.

20. Даны файлы f и g, содержащие строки. Дописать в файл f строки из файла g, которых нет в файле f. Файл g уничтожить.

21. Удалить слова из данного файла, длина которых превышает данное число n, если таких строк нет, то заменить третью строку, строкой введенной пользователем.

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

23. В файле, содержащем строки, содержатся русские имена. Проверить, все ли они начинаются с прописной буквы, если нет, то исправить эту ошибку. Записать полученные данные в новый файл.

24. В файле содержится текст, представляющий собой последовательность строк. Записать в новый файл заданный текст в порядке возрастания длин строк. Если есть строки одинаковой длины, то записать их в обратном порядке.

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

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

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

28. Дан файл, содержащий строки. Записать в новый файл строки, изменив порядок следования символов в каждом слове строки на обратный.

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

30. Дан файл, содержащий строки. Если количество строк больше заданного n, то создать новый файл и записать в него строки из данного файла. Если количество строк меньше или равно n, то скопировать в новый файл строки по такой схеме: две строки от начала файла, две от конца.

Часть 2

1. Даны целочисленные файлы f и g. Удалить из файла f числа, которые есть в файле g.

2. Создать файл содержащий информацию о спортсменах (ФИО, год рождения, количество наград). Если количество наград больше или равно двум и возраст спортсмена не превышает 25 лет, то всю информацию об этих спортсменов скопировать в другой файл.

3. В файле целых чисел хранятся последовательности ненулевых чисел. Ноль – разделитель последовательностей. Преобразовать файл, удалив в каждой последовательности члены между первым и вторым отрицательным числом. Если отрицательных чисел меньше двух последовательность исключить из файла.

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

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

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

7. Дан файл, компонентами которого являются n -мерные векторы. Векторы с наибольшим модулем перенести в конец файла.

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

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

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

11. Даны целочисленные файлы f и g одинаковой длины. Оставить в f только те компоненты, значения которых больше компонентов файла g.

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

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

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

15. В файле записей о результатах вступительных экзаменов хранится следующая информация: Ф.И.О. абитуриента, результаты экзаменов по физике и математике (от 0 до 10) и по русскому языку (зачет/незачет). Удалить из файла записи об абитуриентах, имеющих неудовлетворительные оценки (меньше 4 баллов или незачет), и об абитуриентах, у которых сумма баллов по физике и математике меньше данного p, используя прямой доступ.

16. Даны целочисленные файлы f и g. Удалить из файла f числа, которые входят в файл g более двух раз, если таких чисел нет, то создать новый файл, в который будут входить числа из файлов f и g.

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

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

19. В файле хранятся координаты векторов (x 1, y 1, z 1, x 2, y 2, z 2, …). Преобразовать файл, удалив из него векторы, ортогональные данному вектору , используя прямой доступ. Вектор задается пользователем.

20. Дан файл вещественных чисел. Заменить числа в файле со второго по предпоследнее средним арифметическим данного, предыдущего и последующего.

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

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

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

24. Дан файл записей, описывающий товар (наименование, цена, наличие на складе). Создать новый файл, в который скопировать записи из первого, отсортировав их по убыванию цены. Удалить те записи товаров, которых нет на складе.

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

26. Дан файл записей, в котором содержится информация о студентах (ФИО, оценки по трем предметам, наличие стипендии). Записать в новый файл эти данные в алфавитном порядке, начислив стипендию всем студентам у которых нет троек, и убрав стипендию у тех студентов, у которых есть тройки. Использовать прямой доступ.

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

28. Дан файл содержащий информацию о работниках (ФИО, адрес, время работы, домашний телефон). Записать в новые файлы эти данные: 1 файл – упорядоченные по фамилиям; 2 файл – упорядоченные по сроку работы.

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

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

Контрольные вопросы.

1. Что определяет собой файловый тип (файл) в язык Паскаль? В чем преимущества использования файлового типа?

2. Файловые типы языка Паскаль. Их описание в программе.

3. Операции ввода-вывода при работе с файлами.

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

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

6. Процедуры и функции Rename, Erase, EoF, IoResult. Параметры, результат работы.

7. Стандартные файлы ввода, вывода INPUT, OUTPUT. Действия с ними.

8. Дополнительные процедуры, применимые только к текстовым файлам: SetTextBuf, Append, Flush, SeekEoLn, SeekEoF. Параметры, результат работы.

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


Приложение 1

Содержание отчета

1. Заголовок лабораторной работы (название и цель работы).

2. Задание к лабораторной работе.

3. Описание алгоритма решения задачи с помощью блок-схемы.

4. Наборы тестовых данных с обоснованием их выбора.

5. Текст программы.

6. Результаты выполнения лабораторной работы в электронном варианте или распечатанные.

7. Ответы на контрольные вопросы.


Пример оформления лабораторной работы

ЛАБОРОТОРНАЯ РАБОТА № 2

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...