Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
31
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

2. Практика

Задание 1

Скопируйте в свой каталог файлы lab15_5.pas и lab15_6.pas из каталога PAS_TXT. Запустите среду Turbo Pascal.

Задание 2

Составьте программу вычисления величины S по формуле S = F(b)-F(a), где

при х 0

если х>0 .

Вычисление функции F(x) оформите в виде подпрограммы-функции. Подберите тесты для проверки правильности работы программы. Если убедитесь, что ваша программа работает корректно, покажите ее преподавателю.

Задание 3

Вычисление значения функции y = xn может быть оформлено в виде рекурсивной функции:

, если n=0

, если n>0 .

Выполните следующие действия:

а) загрузите файл lab15_5.pas и посмотрите, как это записано в виде рекурсивной подпрограммы-функции;

б) используя эту функцию, напишите программу, которая для заданных значений N и M вычисляет и выводит на экран значение функции

z = xn + yn ;

в) попробуйте переделать подпрограмму-функцию таким образом, чтобы в ней не было рекурсии. Можно использовать простую итерацию:

xn = x·x·x· . . . ·x (n - раз) ;

г) запустите на выполнение программу с использованием своей новой процедуры. Оцените время работы программы и память.

Задание 4

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

Задание 5

Сравните свою подпрограмму-функцию с той, что находится в файле lab15_6.pas. Составьте схему работы функции для чисел 9 и 12. Сколько раз будет вызываться функция? С какими аргументами? Попробуйте поработать с отладчиком и проверить свои рассуждения.

Задание 6

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

Лабораторная работа 35. Работа с текстовыми файлами -1

1. Теория

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

В языке Pascal предусмотрена работа с тремя типами файлов:

1) с текстовыми файлами;

2) с типизированными файлами;

3) с нетипизированными файлами.

Рассмотрим работу с двумя первыми видами17.

1.1. Что такое текстовый файл

Pascal позволяет работать с текстовыми файлами. Текстовые файлы содержат текстовую информацию в виде отдельных порций, называемых строками. Строки состоят из отдельных символов и могут иметь различную длину. Для отделения строк друг от друга используется специальный символ “конец строки” EOLN (End Of LiNe), который записывается в файл автоматически после нажатия клавиши <Enter> или при использовании команды WriteLn (в случае программного заполнения файла). В конце файла записывается символ “конец файла” (End Of File). Учитывая, что информация на диске располагается последовательно - байт за байтом, общую структуру текстовых файлов можно изобразить следующим образом:

Строка1

[EOLN]

Строка2

[EOLN]

Строка3...

[EOF]

Учитывая, что “строка” - понятие неоднозначное (в ней может быть как один символ, так и несколько тысяч), работа с текстовыми файлами осуществляется методом последовательного доступа: чтобы добраться до нужной порции информации (строки), необходимо прочитать все предыдущие строки от начала файла до нужного места.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]