
3 Специальные условные обозначения
Несколько выходов из символа следует показывать:
несколькими линиями от данного символа к другим символам;
одной линией от данного символа, которая затем разветвляться в соответствующее число линий (см. рисунок 8).
Рисунок 8 - Пример использования нескольких выходов
Каждый выход из символа должен сопровождаться соответствующими значениями условий, чтобы показать логический путь, который он представляет, с тем, чтобы, эти условия и соответствующие ссылки были идентифицированы.
ПРИЛОЖЕНИЕ Г
3 Варианты заданий
Вариант 1
Разработать программу форматирования текста, читаемого из файла и состоящего из строк разной длины. Форматирование должно осуществляться путем распределения пробелов между словами, чтобы выровнять строки по ширине. Переносы слов не допускаются. Для форматирования необходимо использовать следующие параметры:
- требуемая ширина строки,
- число строк на странице;
- размер отступа слева и справа.
Полученный текст должен быть сохранен в новом текстовом файле. Кроме того, программа должна подсчитать количество слов в каждой строке и сохранить эту информацию в конце нового файла, соблюдая правила форматирования.
Вариант 2
В исходном файле содержится некоторый текст. Разработать программу, которая заменяет все словесные записи денежных сумм числами. При этом возможны следующие варианты замены:
- заменять/не заменять «руб.» на «рублей»;
- заменять/не заменять «коп.» на «копеек».
Вариант 3
В исходном файле содержится некоторый текст. Требуется разработать программу, которая заменяет в этом файле все числовые записи денежных сумм словесными эквивалентами. При этом для рублей может использоваться сокращенная запись «руб.» или полная «рублей», а для копеек «коп.» или «копеек» по выбору пользователя.
Вариант 4
Имеется текстовый файл. Написать программу, которая переформатирует каждую его страницу в три колонки. Все колонки должны быть выровнены по ширине. Параметры форматирования:
- ширина колонок выходного файла;
- расстояние между колонками.
Вариант 5
Написать программу создания телефонного справочника, содержащего информацию о номерах телефонов и их владельцах (фамилия, имя, отчество, домашний адрес, место работы). Информация о каждом телефонном номере должна храниться в виде записи. Режимы работы программы:
- начальное заполнение телефонной базы;
- добавление информации в базу;
- удаление информации из базы (по номеру телефона, по фамилии владельца);
- просмотр информации из базы (по номерам телефонов, по фамилиям владельцев).
Вариант 6
В текстовом файле хранится база отдела кадров предприятия. На предприятии N сотрудников. Каждая строка файла содержит запись об одном сотруднике: фамилия и инициалы, год рождения, оклад.
Написать программу, которая должна обеспечивать:
ввод записи в файл;
удаление записи из файла;
корректировку записи;
поиск записи по фамилии;
упорядочивание файла по фамилии или по году рождения.
Вариант 7
Исходный файл содержит числа в двоичной системе счисления, отделенные друг от друга запятыми. Составить программу, которая для каждого двоичного числа из заданного диапазона после знака равенства указывает его значение в десятичной, восьмеричной или шестнадцатиричной системе счисления по выбору пользователя, например:
00101111 = 79, 0111 = 7, 10000 = 32, и т.д.
Вариант 8
Составить программу, которая разбивает текст в файле на страницы заданного размера и по выбору выполняет одно из следующих действий:
- сохраняет каждую страницу отдельно;
- сохраняет все четные страницы;
- сохраняет все нечетные страницы;
- сохраняет несколько страниц из указанного диапазона.
В качестве параметров задаются: размер строки в странице, число строк на станице.
Вариант 9
Исходный текстовый файл содержит числа в двоичной системе счисления, отделенные друг от друга хотя бы одним пробелом. Составить программу, которая под каждым двоичным числом в файле указывает его значение в шестнадцатеричной системе счисления, например:
1101010111110
1000111111 0 0111100
1 ABE2 3F0
3C
Вариант 10
Исходный текстовый файл содержит числа в двоичной системе счисления, отделенные друг от друга хотя бы одним пробелом. Составить программу, которая под каждым двоичным числом в файле указывает его значение в восьмеричной системе счисления, например:
1101010111110
1000111111 0 0111100
6846 575 0 60
Вариант 11
Для матрицы А=|aij|, где i изменяется от 0 до N-1, j - от 0 до N-1, написать подпрограммы, выполняющие следующие преобразования:
перестановку двух строк (номера переставляемых строк должны быть формальными параметрами)
перестановку двух столбцов (номера переставляемых столбцов должны быть формальными параметрами)
поворот матрицы на 90 градусов по часовой стрелке
Программа должна обеспечить выбор конкретного преобразования.
Вариант 12
Составить программу, которая в тексте программы на Паскале осуществляет преобразование циклов FOR… DO в циклы WHILE. В качестве параметра задается максимальная вложенность циклов, до которой допускаются замены.
Вариант 13
Составить программу, которая в тексте программы на Паскале осуществляет преобразование циклов WHILE в циклы FOR… DO. В качестве параметра задается максимальная вложенность циклов, до которой допускаются замены.
Вариант 14
Составить программу, которая в тексте программы на Паскале осуществляет преобразование конструкции case…ofв последовательность конструкцииif… else..
Вариант 15
Для матрицы А=|aij|, где i изменяется от 0 до N-1, j - от 0 до N-1, написать подпрограммы, выполняющие следующие преобразования:
сложение элементов заданной строки с элементами заданного столбца (номера строки и столбца – формальные параметры)
поворот матрицы на 90 градусов по часовой стрелке
транспонирование матрицы относительно главной диагонали
вычисление определителя матрицы
Программа должна обеспечить выбор конкретного преобразования.
Вариант 16
Для матрицы А=|aij|, где i изменяется от 0 до N-1, j - от 0 до N-1, написать подпрограммы, выполняющие следующие преобразования:
перестановку двух строк (номера переставляемых строк должны быть формальными параметрами)
транспонирование матрицы относительно побочной диагонали
скалярное произведение заданной строки и заданного столбца
Программа должна обеспечить выбор конкретного преобразования.
Вариант 17
Для матрицы А=|aij|, где i изменяется от 0 до N-1, j - от 0 до N-1, написать подпрограммы, выполняющие следующие преобразования:
транспонирование матрицы относительно главной диагонали
скалярное произведение заданной строки и заданного столбца
вычисление обратной матрицы
Программа должна обеспечить выбор конкретного преобразования.
Вариант 18
Для матрицы А=|aij|, где i изменяется от 0 до N-1, j - от 0 до N-1, написать подпрограммы, выполняющие следующие преобразования:
перестановку двух столбцов (номера переставляемых столбцов должны быть формальными параметрами)
скалярное произведение заданной строки и заданного столбца
вычисление алгебраического дополнения для заданного элемента
Программа должна обеспечить выбор конкретного преобразования.
Вариант 19
Для матрицы А=|aij|, где i изменяется от 0 до N-1, j - от 0 до N-1, написать подпрограммы, выполняющие следующие преобразования:
перестановку двух строк (номера переставляемых строк должны быть формальными параметрами)
скалярное произведение заданной строки и заданного столбца
вычисление квадрата матрицы А2
Программа должна обеспечить выбор конкретного преобразования.
Вариант 20
Исходный текстовый файл содержит числа в восьмеричной системе счисления, отделенные друг от друга хотя бы одним пробелом. Составить программу, которая под каждым восьмеричным числом в файле указывает его значение в десятичной системе счисления, например:
1101010111110
1000111111 0 0111100
77445763656 134255177 0 37440
Вариант 21
Исходный текстовый файл содержит числа в десятичной системе счисления, отделенные друг от друга хотя бы одним пробелом. Составить программу, которая под каждым десятичным числом в файле указывает его значение в шестнадцатеричной системе счисления, например:
1101010111110
1000111111 0 0111100
10059510A86 3B9C7C07 0 1B1FC
Вариант 22
Исходный файл содержит числа в двоичной системе счисления, отделенные друг от друга запятыми. Составить программу, которая для каждого такого числа из заданного диапазона после знака равенства указывает его значение в обратном коде, дополнительном коде или его инверсию по выбору пользователя, например:
00101111 = 11010000, 0111 = 1000, 10000 = 01111, и т.д.
Вариант 23
Исходный файл содержит числа в восьмеричной системе счисления, отделенные друг от друга запятыми. Составить программу, которая для каждого такого числа из заданного диапазона после знака равенства указывает его значение в десятичной системе счисление, дополнительном коде или его инверсию по выбору пользователя, например:
00101111 = 33353, 0111 = 73, 10000 = 512, и т.д.
Вариант 24
Исходный файл содержит числа в десятичной системе счисления, отделенные друг от друга запятыми. Составить программу, которая для каждого такого числа из заданного диапазона после знака равенства указывает его значение в троичной, пятеричной или восьмеричной системе счисления по выбору пользователя, например:
00101111 = 305367, 0111 = 157, 10000 = 23420, и т.д.