c)  В начале строки не должно быть ведущих пробелов, также «хвостовых» пробелов не должно быть в конце строки.

d)  Соседние абзацы должны отделяться друг от друга ровно одной пустой строкой.

e)  Перед первым абзацем не должно быть пустых строк, после последнего абзаца допускается максимум одна пустая строка.

f)  На каждой строке абзаца, начиная с первой, необходимо разместить максимальное количество слов, но так, чтобы общая длина строки не превосходила n. Исключение: если некоторое слово длиннее n, оно должно быть расположено без изменений на отдельной строке.

Требования к решению: Необходимо использовать посимвольную обработку текстовых файлов. Для считывания данных необходимо использовать символьный массив (“array [1 .. NMax] of Char”) в качестве буфера для накопления символов одного слова. По окончании считывания слова программа должна принять решение: вывести ли данное слово в текущей строке выходного файла, или же начать с него следующую строку.

4.2  Задание 2

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

2)  Даны два текстовых файла, состоящих из одной или нескольких строк. Каждая строка файла содержит числа, разделённые пробелами. Проверить, состоит ли первый файл из одинаковых чисел. Если все числа первого файла одинаковые, образовать третий текстовый файл, поместив в его начало содержимое второго файла, а затем – содержимое первого файла. Если первый файл не состоит из одинаковых чисел, и оба файла содержат одинаковое количество чисел в каждой строке, поместить в третий текстовый файл значения, равные сумме соответствующих значений первого и второго файлов, сохраняя деление на строки.

НЕ нашли? Не то? Что вы ищете?

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

4)  Дан текстовый файл, состоящий из одной или нескольких строк. Каждая строка файла содержит вещественные числа, разделённые пробелами. Из строки максимальной длины удалить все числа-нули. Если в строке нет нулей, оставить её без изменений. В строке минимальной длины найти произведение и количество ненулевых элементов. Если в этой строке таких элементов нет, вывести соответствующее сообщение.

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

6)  Дан текстовый файл, содержащий вещественные числа. Описать логическую функцию mid(F, M), которая определяет, имеет ли файл F нечётную длину, и, если имеет, присваивает параметру M средний элемент этого файла. Продемонстрировать работу функции.

7)  Дан текстовый файл. Подсчитать количество пустых строк и количество строк, которые начинаются и оканчиваются на одну и ту же букву.

8)  Подсчитать количество символов-цифр в каждой строке. Результаты подсчёта поместить в другой текстовый файл в виде строк: ‘В строке … количество символов-цифр равно …’

9)  Дан текстовый файл, состоящий из одной или нескольких строк. Подсчитать общее количество строк в файле и количество строк максимальной длины. Дополнить файл двумя строчками: ‘Всего строк в файле - …’ и ‘Количество пустых строк - …’

10)  Сформировать текстовый файл из строк. В первую строку поместить один символ ‘a’, во вторую – два символа ‘b’, в третью – три символа ‘c’ и т. д. В последнюю строку поместить 26 символов ‘z’.

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

12)  Дан текстовый файл, состоящий из нескольких строк. Зашифровать строку наибольшей длины, заменив каждый символ его кодом. Остальные строки оставить без изменения. Расшифровать зашифрованную строку.

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

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

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

16)  Дан текстовый файл, состоящий из нескольких строк. Найти минимальную длину строк файла. Результат с соответствующими комментариями поместить в конце исходного текстового файла. Затем строки минимальной длины заменить двумя пустыми строками. Файл может содержать все строки одинаковой длины, может содержать пустые строки. Все возможные случаи протестировать при выполнении программы.

17)  Дан текстовый файл, состоящий из нескольких строк. Удалить из него строку с заданным номером, если это возможно.

18)  Дан текстовый файл, состоящий из нескольких строк. Удалить из файла символы-согласные, сохранив количество строк в файле. Если строка состоит только из согласных, она становится пустой строкой.

19)  Дан текстовый файл, состоящий из нескольких строк. Строку заданной длины k разместить в конце текстового файла.

20)  Дан текстовый файл, состоящий из нескольких строк. Подсчитать количество повторений каждой буквы и занести в новый текстовый файл в виде строк: ‘буква … – количество …’

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

22)  Дан текстовый файл, состоящий из нескольких строк. Изменить порядок следования строк в файле на обратный порядок следования.

23)  Дан текстовый файл, состоящий из нескольких строк. Максимальная ширина строки текстового файла – заданное число k. Текст выровнен по левому краю. Выровнять текст по правому краю и поместить в новый текстовый файл. Выдать содержимое обоих файлов.

24)  Дано натуральное n и последовательность из n целых неотрицательных чисел, хранящаяся в массиве. Реализовать процедуру WriteDiagramRL(N, VA, VFText), записывающую в текстовый файл VFText графическое представление последовательности (передаваемой через параметр-массив VA) в виде столбиковой диаграммы, ориентированной справа налево, с подписями значений последовательности, расположенными справа от столбиков.

Пример: для последовательности:

3, 5, 7, 4, 8, 4, 6, 1, 5, 0

(n = 10) в текстовый файл необходимо записать следующую информацию:

XXX 3

XXXXX 5

XXXXXXX 7

XXXX 4

XXXXXXXX 8

XXXX 4

XXXXXX 6

X 1

XXXXX 5

0

Указание: в качестве руководства можно воспользоваться примером 11.

1)   

2)   

3)   

4)   

5)   

6)   

7)   

8)   

9)   

10)   

11)   

12)   

13)   

14)   

15)   

16)   

17)   

18)   

19)   

20)   

21)   

22)   

23)   

24)   

25)  Даны натуральные числа n и h, а также последовательность из n целых чисел ai. Необходимо создать текстовый файл, содержащий графическое представление последовательности {ai} в виде столбиковой диаграммы, в которой высота i-го столбца (нумерация слева направо) пропорциональна |ai|, столбец направлен вверх или вниз относительно базовой линии в зависимости от знака ai, максимальная высота столбца (соответствующего maxi |ai|) равна h.

Пример: для последовательности:

190, 133, -170, 64, 0, 49, -141, 225, -96, 34

при m = 10 должен быть создан текстовый файл со следующим содержимым:

|

|

| |

| |

| | |

| | |

| | - - |

| | 1 | | 1 | -

| | 7 | | 4 | 9 |

| | 0 | | 1 | 6 |

1 1 | 6 0 4 | 2 | 3

9 3 | 4 9 | 2 | 4

0 3 | | 5 |

| | |

| |

| |

|

Сформулируем точные требования к формату выходного файла:

a)  В начале файла должна быть одна пустая строка.

b)  В начале каждой непустой строки должно быть два пробела, соседние столбцы отделяются друг от друга также двумя пробелами.

c)  Высота i-го столбца (нумерация слева направо) должна быть равна [k |ai|], где

k = h / maxi |ai|,

a)   

b)   

c)   

d)   

a)   

b)   

c)   

d)  [∙] — операция округления, соответствующая в Паскале функции Round.

e)  Столбец должен быть направлен вверх, если ai > 0, иначе — вниз.

f)  Столбцы должны быть сформированы из символов “|” (можно выбрать любой другой символ), расположенных непрерывно на нескольких соседних строках.

g)  Разные столбцы, соответствующие положительным ai, должны быть выровнены по нижней строке, на которой они расположены. По следующей строке должны быть выровнены все столбцы, соответствующие отрицательным ai, причём эта строка должна быть для них верхней.

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

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

Литература

1  Абрамов по программированию / , Г. Г. Гнездилова, , . – М.: Наука, 1988. – 224 с.

2  Абрамов информатики / , . – М.: Наука, 1989. – 256 с.

3  Амелина по программированию / , Я. М. Демяненко, и др. – М. Вузовская книга, 2000. – 104 с.

4  Паскаль. Руководство пользователя и описание языка: пер. с англ. / К. Йенсен, Н. Вирт. – М.: Финансы и статистика, 1982. – 151 с.

5  Минакова программирования: Учеб. пособие / Н. И. Минакова, , и др. – М.: Вузовская книга, 1999. – 280 с.

6  Пильщиков упражнений по языку Паскаль: Учеб. пособие для вузов / . – М.: Наука, 1989. – 160 с.

7  Поляков в среде Турбо Паскаль: Версия 5.5 / Д. Б. Поляков, . – М.: Изд-во МАИ, 1992. – 575 с.

8  Фаронов Паскаль 7.0. Начальный курс: учебное пособие / В. В. Фаронов. – М.: КНОРУС, 2006. – 576 с.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5