Файл: ПП. Практические работы.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

колледж при МГУТУ, 2015

П-203

Прикладное программирование/ПР

Второй уровень

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

ПП3-2-1 Вывести с помощью TListView информацию о многоугольниках, что описаны в текстовом файле: в

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

ПП3-2-2 Из текстового файла читаются числа и записываются в АВЛ-дерево. Отобразите его с помощью

TTreeView.

ПП3-2-3 В данном текстовом файле найдите повторяющиеся строки и в TListView выведите содержимое этих

строк и количество повторений. Проверка будет проводиться на файлах экстремальной длины (больше
объема оперативной памяти).

ПП3-2-4 Из текстового файла читаются строки и записываются в АВЛ-дерево. Отобразите его с помощью

TTreeView.

ПП3-2-5 Без использования встроенных компонент (и специализированных методов) выведите в ListView со-

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

ПП3-2-6 Без использования встроенных компонент (и специализированных методов) выведите TreeView содер-

жимое текущего каталога (и его подкаталогов).

ПП3-2-7 В каждой строке текстового файла написаны ФИО работника и через знак | ФИО его непосредствен-

ного начальника. Выведите структуру предприятия в TTreeView.

ПП3-2-8 Выведите по данному каталогу протокол snapshot’ов git в TListView. Выполнение задания означает

запуск в данном каталоге команды git log, анализ результатов команды и вывод их в TListView
(режим Report).

Третий уровень

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

ПП3-3-1 Вывести с помощью TTreeView иерархию процедур и функций программы, написанной на языке

Паскаль, без использования ООП (программа выбирается с помощью TOpenDialog).

ПП3-3-2 Вывести с помощью TTreeView отобразите синтаксическое дерево по данному корректному выраже-

нию языка Паскаль, содержащему операции +, -, *, /, div, mod и скобки. Операндами могут выступать
целые числа или названия переменных. Подсчет при этом проводить не нужно. Само понятие син-
таксического дерева можно уточнить у преподавателя

ПП3-3-3 Вывести с помощью TTreeView иерархию разделов LaTeX-документа. Обработку include и аналогич-

ных команд проводить не надо

ПП3-3-4 Вывести с помощью TTreeView иерархию разделов HTML-документа. Необходимо обрабатывать тэги

комментария и тэги H1-H6. Использовать встроенные в язык программирования парсеры (кроме тех,
что входят в стандарт языка Паскаль) запрещено.

ПП3-3-5 Пользователь указывает основной файл исходного кода программы на языке Паскаль. После чего

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

ПП3-3-6 Пользователь указывает основной файл исходного кода программы на языке Паскаль (программа не

использует модули). После чего в TTreeView выводится иерархия объектов (– типов данных) этой
программы.

ПП3-3-7 Выведите информацию из текстового файла в формате JSON в TreeView (с учетом иерархии объек-

тов).

ПП3-3-8 Для данного файла сформировать дерево для кода Хаффмана и вывести его в TTreeView. Вы можете

выбрать разумное ограничение для размера файла.

3. Содержание отчета:

(a) Исходный текст первой программы

(b) Ответы на контрольные вопросы

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

(a) Опишите методику работы с TTreeView или TListView.

21


background image

колледж при МГУТУ, 2015

П-203

Прикладное программирование/ПР

6

Практическая работа №4. Динамическое создание элементов управ-
ления (4 часа)

1. Цель работы: практическое закрепление знаний о динамическом создании элементов управления (без ис-

пользования дизайнера)

2. Порядок выполнения:

(a) осуществите визуальное проектирование пользовательского интерфейса формы;

(b) разработайте методы – обработчики тех событий, что необходимо использовать в вашей программе;

(c) приведите вашу программу в соответствие с требованиями.

В задании обязательно необходимо создавать элементы управления «налету».

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

0 уровень

ПП4-0-1 Пользователь указывает количество складываемых чисел, после чего появляется соответствующее

число TEdit’ов. После заполнения всех TEdit’ов и нажатия кнопки сложить программа должна вы-
числить сумму введенных чисел. Количество TEdit’ов не превышает 20.

ПП4-0-2 Пользователь указывает количество перемножаемых чисел, после чего появляется соответствующее

число TEdit’ов. После заполнения всех TEdit’ов и нажатия кнопки перемножить программа должна
вычислить произведение введенных чисел. Количество TEdit’ов не превышает 20.

ПП4-0-3 Пользователю предлагается ввести для каждого дня предыдущего месяца среднюю температуру. По-

сле нажатия кнопки «обработать» ему выводится средняя температура за месяц (элементы управ-
ления для ввода температуры и соответствующие TLabel создаются в программе, а не рисуются на
форме).

ПП4-0-4 Пользователь указывает разрядность двоичного числа, после чего появляется соответствующее число

TCheckBox’ов. После выбора некоторых TCheckBox’ов и нажатия кнопки «получить число» програм-
ма должна вывести полученное число в 10-ой системе счисления. Каждому TCheckBox’у соответствует
двоичный разряд (включенный TCheckBox обозначает цифру 1; выключенный – 0).

ПП4-0-5 Пользователю предлагается ввести число n = 1, . . . , 20, после чего появлется n компонентов типа

TEdit и рядом с ними n компонентов типа TCheckBox. После нажатия кнопки «Вычислить» на форме
появляется сумма тех чисел, которые стоят рядом с включенными переключателями.

ПП4-0-6 Пользователю предлагается ввести число n = 1, . . . , 20, после чего появлется n компонентов типа

TEdit и рядом с ними n компонентов типа TCheckBox. После нажатия кнопки «Вычислить» на форме
появляется произведение тех чисел, которые стоят рядом с включенными переключателями.

ПП4-0-7 Пользователь указывает количество чисел, после чего появляется соответствующее число TEdit’ов.

После заполнения всех TEdit’ов и нажатия кнопки «отсортировать» программа должна переставить
введенные числа в порядке возрастания. Количество TEdit’ов не превышает 20.

ПП4-0-8 Пользователь выбирает графический файл (формат файла выбирает студент), после чего он появля-

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

ПП4-0-9 Пользователь вводит целое число n = 2, . . . , 20, после чего появляется соответствующее число

TDateTime. После нажатия кнопки «вычислить» наибольшее расстояние между введенными времена-
ми (в днях, часах, минутах, секундах).

ПП4-0-10 Пользователь вводит целое число n = 2, . . . , 100, после чего появляется соответствующее число

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

ПП4-0-11 Пользователь вводит целое число n = 2, . . . , 5, после чего появляектся соответствующее число компо-

нентов типа TEdit, между соседними из них – соответствующее число TComboBox, содержащих знаки
операций (+, -, *, /). После ввода чисел и выбора знаков операций пользователь нажимает кнопку
«вычислить», в результате чего на форме появляется результат вычисления выражения без учёта
приоритета умножения и деления.

ПП4-0-12 Пользователь вводит количество цифр (от 1 до 7) в 16-ричном числе, после чего появляется соответ-

ствующее число компонентов типа TComboBox. После нажатия кнопки «перевести» должно появиться
введенное число в 2-ой системе счисления.

22


background image

колледж при МГУТУ, 2015

П-203

Прикладное программирование/ПР

ПП4-0-13 Пользователь вводит количество цифр (от 1 до 7) в 8-ричном числе, после чего появляется соответ-

ствующее число компонентов типа TComboBox. После нажатия кнопки «перевести» должно появиться
введенное число в 2-ой системе счисления.

ПП4-0-14 Пользователь вводит количество цифр (от 1 до 14) в 3-ичном числе, после чего появляется соответ-

ствующее число компонентов типа TComboBox. После нажатия кнопки «перевести» должно появиться
введенное число в 9-ой системе счисления.

ПП4-0-15 Пользователь вводит количество кругов (от 1 до 14), после чего появляется соответствующее число

компонентов типа TEdit для ввода абсцисс, ординат и радиусов. После нажатия кнопки «вывести»
должны появиться описанные круги (TShape).

ПП4-0-16 Пользователь вводит количество прямоугольников (от 1 до 14), после чего появляется соответствую-

щее число компонентов типа TEdit для ввода абсцисс и ординат левого верхнего и правого нижнего
угла. После нажатия кнопки «вывести» должны появиться описанные прямоугольники (TRectangle).

ПП4-0-17 Пользователь вводит целое число n = 2, . . . , 20, после чего появляется соответствующее число

TDateTime. После нажатия кнопки «вычислить» наименьшее расстояние между введенными време-
нами (в днях, часах, минутах, секундах).

1 уровень

ПП4-1-1 Пользователь указывает размерность прямоугольной таблицы, после чего появляется соответствую-

щее число TEdit’ов. После заполнения всех TEdit’ов и нажатия кнопки вычислить программа должна
вычислить сумму чисел в каждой строке, в каждом столбце, а также сумму всех введенных чисел в
целом. Количество TEdit’ов не превышает 100 (10 × 10).

ПП4-1-2 Пользователь указывает размерность прямоугольной таблицы, после чего появляется соответствую-

щее число TEdit’ов. После заполнения всех TEdit’ов и нажатия кнопки вычислить программа должна
вычислить максимальное число среди минимальных элементов строк. Количество TEdit’ов не превы-
шает 100 (10 × 10).

ПП4-1-3 С использованием TShape создайте простейший графический редактор, позволяющий разместить

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

ПП1-1-4 Программа для изучения ассемблера. Программа должна позволять вводить два двоичных 32-битных

числа и выполнять операции ADD, SUB и показывать флаги: AF, CF, SF, PF, ZF, OF. В этой програм-
ме поля для ввода отдельных цифр должны генерироваться программой «налету», а не задаваться в
дизайнере.

ПП4-1-5 В файле, в удобном вам формате, записаны расположение элементов управления TEdit. После за-

пуска программы и выбора файла, эти элементы управления появляются на экране; и после каждого
изменения чисел, хранящихся в TEdit, на форме в TLabel появляется сумма введенных чисел.

ПП4-1-6 В файле, в удобном вам формате, записаны расположение элементов управления TLabel и интерва-

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

ПП4-1-7 В файле хранится текст в следующем формате:

Title:Название
Описание
Описание
Описание
Title:Название2
Описание2
Описание2

Осуществите выбор файла с помощью TOpenDialog и создание TPageControl с таким числом стра-
ниц, сколько встречается строк, начинающихся на Title. В заголовок страницы выведите названия
разделов, а на сами страницы – описания.

ПП4-1-8 Создайте калькулятор для всех систем счисления от 2-ой до 36-ой с возможностью динамически

переключаться между ними; при этом кнопки-цифры должны автоматически создаваться/уничато-
жаться в зависимости от системы счисления. Калькулятор должен позволять проводить сложение,
вычитание, умножение, целочисленное деление и нахождение остатка. Вводить отрицательные числа
не нужно.

23


background image

колледж при МГУТУ, 2015

П-203

Прикладное программирование/ПР

ПП4-1-9 Пользователь вводит целое число n = 2, . . . , 5, после чего появляектся соответствующее число компо-

нентов типа TEdit, между соседними из них – соответствующее число TComboBox, содержащих знаки
операций (+, -, *, /). После ввода комплексных чисел и выбора знаков операций пользователь нажи-
мает кнопку «вычислить», в результате чего на форме появляется результат вычисления выражения
без учёта приоритета умножения и деления.

2 уровень

ПП4-2-1 В файле задано дерево в формате:

id L:id1 R:id2 Название

Где id – идентификатор вершины дерева, id1 – идентификатор вершины левого поддерева, id2 –
идентификатор вершины правого поддерева, название – текст, выводимый в вершине. Выведите со-
ответствующее дерево в виде TLabel, соединенных линиями, нарисованными на TImage. При этом
внешний вид полученного дерева должен быть похож на следующий:

Название1

Название2

Название3

@

@

ПП4-2-2 В файле задано дерево в формате:

id L:id1 R:id2 Название файла, хранящего рисунок

Где id – идентификатор вершины дерева, id1 – идентификатор вершины левого поддерева, id2 –
идентификатор вершины правого поддерева, файл – рисунок, выводимый в вершине. Выведите соот-
ветствующее дерево в виде TImage, соединенных линиями, нарисованными на другом TImage. При
этом внешний вид полученного дерева должен быть похож на следующий:

Рисунок1

Рисунок2

Рисунок3

@

@

Рисунки можно считать одинаковыми по размеру (или их можно масштабировать). Размер рисунков
выбирает студент.

3 уровень

ПП4-3-1 Из файла читается формула, после чего создаются TEdit’ы для каждой переменной с указанием в

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

В формуле могут участвовать операции сложения, вычитания, умножения, деления и скобки; веще-
ственные и целые константы, переменные.

ПП4-3-2 Пользователь указывает размерность вводимой матрицы, после чего появляется соответствующее

число TEdit’ов. Далее пользователь вводит элементы матрицы и после нажатия кнопки «вычислить»
программа выводит на экран определитель матрицы (можно использовать метод Гаусса или разло-
жение по строкам/столбцам). Размерность матрицы не превышает 6 × 6.

ПП4-3-3 Пользователь указывает размерность вводимой матрицы, после чего появляется соответствующее

число TEdit’ов. Далее пользователь вводит элементы матрицы и после нажатия кнопки «вычислить»
программа выводит на экран обратную матрицу. Размерность матрицы не превышает 6 × 6.

3. Содержание отчета:

(a) Исходный текст первой программы

24


background image

колледж при МГУТУ, 2015

П-203

Прикладное программирование/ПР

(b) Ответы на контрольные вопросы

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

(a) Опишите методику создания элементов управления без использования дизайнера.

25