Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

EX2

.doc
Скачиваний:
16
Добавлен:
16.04.2015
Размер:
37.89 Кб
Скачать

Второе задание для студентов 1 курса кафедры ИУС ФТК.

Это задание должно выполняться с использованием линейных списковых структур.

1

Разработать процедуру сдвига части строк заданного текстового файла влево или вправо (на экране и во внешнем файле) на N символов, начиная со строки N1 до строки N2.Значения N1, N, N2, а также направление сдвига задаются в диалоге с клавиатуры. Проверить на тестах.

2

Составить процедуру проверки того, что заданная строка A(m) состоит только из символов заданной строки B(l). Проверить процедуру на различных тестах, в том числе вырожденных.

3

Разработать процедуру вставки заданной строки B(l) в строку A(m) после k-го символа (l<=10, m<=10). Исходные строки хранятся во внешнем файле. Результирующую строку C записать во внешний файл. Проверить процедуру на разных тестах.

4

Дан текст программы на Паскале (во внешнем файле). Со­ставить процедуру контекстного поиска и замены заданного слова S1 на слово S2 всюду в этом тексте. Проверить проце­дуру на тестах ,а результат замены (обновленный текст) за­писать в другой внешний файл.

5

Разработать процедуру перемещения группы строк во входном текстовом файле, помеченных начальным и конечным номерами (NB и KB) после заданной k-ой строки этого файла. Значения NB,KB,K вводить с клавиатуры в диалоге. Проверить на разных тестах (правильными данными считается ситуация , когда NB<=KB ,а K не принадлежит интервалу [NB,KB]), в том числе на неправильно введенных данных.

6

Разработать процедуры "TOP" установки окна на начало файла и процедуры “BOT” установки на конец файла для заданного текстового файла. Размер отображаемого на экране окна в виде числа N выводимых на экран строк задается как параметр процедур. Проверить на тестах и вывести протокол тестирования во внешний результирующий файл.

7

Разработать процедуру стирания(удаления) из заданного тек­стового файла группы строк с номерами от начальной NB до конечной KB. Проверить ее на разных тестах, варьируя NB,KB и M- длину исходного файла, состоящего из строк.

8

Составить процедуру вставки или удаления символов в строке не более M символов с N-го места (на N-ое место) данной строки. После каждой вставки или удаления печатать обновленную строку. Режим ввода или удаления задается в диалоге клавишами I или D, а вводимый символ определяется нажатием соответствующей клавиши.

9

Разработать процедуру копирования группы строк заданного файла длиной N строк от начальной NB до конечной KB в тот же файл после M-ой строки. Проверить на разных тестах, варьируя NB,KB,M при фиксированной длине исходного файла. Правильному набору вводимых данных соответствует ситуация, когда NB<=KB<=N и M не входит в диапазон [NB,KB].

10

Составить процедуру контекстной замены заданной подстроки B(L) в строке A(M) на L символов '*'. Если подстроки B(L) нет внутри A(M), либо ее принципиально нельзя выделить из A(M), то выдать соответствующую диагностику. Строка и подстрока вводится с экрана и заканчивается точкой. Проверить процедуру на тестах.

11

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

12

Разработать процедуру-функцию поиска подстроки B(L) в заданной строке A(M). Проверить ее на различных тестах. Заданные строки вводятся из внешнего файла.

13

Составить процедуру выделения подстроки B(L) из строки A(M), начиная с k-ого символа строки A. Предусмотреть печать в процедуре ситуации, когда строку длиной L, начиная с k-го символа из строки длиной M выделить нельзя. Проверить процедуру на тестах.

14

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

15

Разработать процедуру “центрирования” строк заданного текстового файла , каждая из которых имеет длину L<=40 символов и строки имеют разное число пробелов слева.

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

16

Разработать процедуру сортировки списка имен файлов с расширениями по именам и по расширению в соответствии с запросом программиста.

Применить эту процедуру к задаче сортировки списка файлов вида: egavga.bgi turbo.exe ver.pas …………

17

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

Применить эту процедуру к задаче “чистки” списка файлов вида: egavga.bgi turbo.exe ver.pas …………

18 Во входном файле находится список файлов с расширениями. С клавиатуры вводится “маска” файлов, которые надо удалить из списка и вывести список удаленных файлов. Например, если вводится строка wi*.* , то необходимо удалить имена файлов с любыми расширениями , но содержащие в качестве первых букв имени буквы wi.

19 В одном файле F1 находится список имен файлов с расширениями , расположенные по алфавиту ,а в файле F2 –ранее удаленные в “корзину”.

Разработать процедуру восстановления в файле F1 имен файлов из F2 , вставляя имена из F2 в нужное место по алфавиту в F1.

20 Во входном файле F1 находится список имен файлов с расширением pas , а в файле F2 - другой список имен тоже с расширением pas.

Добавить в список файлов из F1 список из F2 таким образом, что в случае совпадения имен и расширений у двух файлов из F1 и F2 расширение файла из F1 меняется на bak .

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