- •Введение Среда Delphi и ее компоненты
- •Компонентный подход
- •1. Разработка приложения с использованием компонентов edit, label и button
- •2. Разработка консольного приложения
- •3. Разработка приложения с использованием окон ввода-вывода текста
- •4. Использование компонента stringgrid для обработки массивов
- •5. Разработка приложения с использованием компонента memo при обработке текстовых файлов
- •6. Упорядочение массивов. Обработка одномерных динамических массивов
- •7. Обработка многомерных динамических массивов
- •8. Создание и использование типизированных файлов, состоящих из записей
- •9. Создание класса в отдельном модуле
- •10. Создание динамической библиотеки и ее использование в программе
- •11. Создание движущегося обьекта на фоне
- •12. Представление данных при помощи графиков
- •13. Использование в программе меню
- •14. Управление программой с помощью компонентов scrollbar, trackbar, radiobutton, checkbox
- •15. Создание многостраничного приложения
- •Исходные данные
- •16. Управление программой с помощью компонентов закладки dialogs
- •17. Буксировка экранных объектов. Использование технологии drag & drop
- •18. Создание и хранение шаблонов компонентов
- •19. Создание динамических структур данных типа список
- •20. Создание и использование базы данных
- •Исходные данные
- •Литература
- •Содержание
5. Разработка приложения с использованием компонента memo при обработке текстовых файлов
Задание: Составить программу записи в файл, добавления данных
в файл и считывание из файла, и найти , где ai - элемент массива, считанный из файла.
При составлении программы использовать исходные массивы в таблице 5.
Т а б л и ц а 5
Исходные массивы
Вар |
Исходный массив |
1 |
0; 0; 0; 0,563; 0,98; 1,32; 1,78; 1,94; 2,06; 2,16; 2,24;2,3; 2.34; 2,36; 2,4; 2,42; 2,44. |
2 |
0; 0; 0,56; 0,972; 1,26; 1,46; 1,62; 1,72; 1,8; 1,86; 1,9; 1,92; 1,94. |
3 |
0; 0; 0; 0,46; 0,82; 1,12; 1,36; 1,56; 1,74; 1,88; 1,98; 2,06; 2,16; 2,22; 2,28; 2,32; 2,34; 2,38; 2,4; 2,42; 2,44; 2,46. |
4 |
0; 0; 0; 0; 0,28; 0,32; 0,46; 0,56; 0,64; 0,68; 0,76; 0,8; 0,84; 0,86; 0,88; 0,9;0,92; 0,94; 0,96; 0,98; 1,0. |
5 |
0; 0; 0,2; 0,38; 0,52; 0,66; 0,76; 0,86; 0,94; 1,02; 1,04; 1,06; 1,14;1,16; 1,22;1,26; 1,3; 1.32; 1.34; 1,36; 1.38; 1,40; 1,42; 1,44; 1,46; 1,48; 1,50; 1,52; 1,54. |
6 |
0; 0; 0; 0,54; 0,96; 1,36; 1,64; 1,88; 2,02; 2,26; 2,38; 2.50; 2.52; 2,66; 2,72;2,76; 2,80; 2,82; 2,90; 2,92; 2,94; 2,96. |
7 |
0; 0; 0; 0; 0,36; 0,66; 0.90; 1,1; 1,26; 1,38; 1,50; 1,58; 1,66; 1,72; 1,76; 1,80;1,82; 1,86; 1,90; 1,92; 1,94; 1,96. |
8 |
0; 0; 0; 0,6; 1,12; 1,56; 1,94; 2,28; 2,52; 2,74; 2,94; 3,1; 3,24; 3,36;3,44; 3,54;3,60; 3,66; 3,72; 3,76; 3,80; 3,82; 3,84; 3,86; 3,88; 3,92. |
9 |
0; 0; 0; 0,563; 0,98; 1,32; 1,58; 1,78; 1,94; 2,06; 2,16; 2,24; 2,3; 2.34; 2,36; 2,4;2,42; 2,44. |
10 |
0; 0; 0,56; 0,972; 1,26; 1,46; 1,62; 1,72; 1,8; 1,86; 1,9; 1,92; 1,94. |
Рекомендовано к использованию:
Компонент Memo позволяет вводить многострочный текст с клавиатуры, загружать его из файла, редактировать и сохранять в файл текстового формата.
Текст в компоненте Memo размещается построчно. Поэтому имеется доступ к каждой строке текста отдельно. Строки в редакторе Memo являются объектами Lines[i] типа String, где i - номер строки, отсчитываемый от нуля. Объект Lines[i] доступен и для чтения, и для записи.
Содержание отчета: Условие, листинг программы, результат выполнения программы, выводы.
6. Упорядочение массивов. Обработка одномерных динамических массивов
Задание 1: составить программу проверки массива на упорядоченность по возрастанию и в случае необходимости произвести упорядочение. Исходные данные взять из таблицы 6. Вывести на печать листинг программы и результаты в виде исходного и упорядоченного массивов.
Программа должна содержать все требования предыдущих работ.
Указания: Наиболее простой метод из множеств известных состоит в поиске минимального элемента массива. Проверку упорядоченности массива и выполнение операций упорядочения выполнить в виде подпрограмм
Т а б л и ц а 6
Исходные массивы
Вар |
Массивы |
1 |
3,75; 1,3; 2; 0,375; 2,71; 12,55; 0,185; 14,7; 350; 1,5; 7,17 |
2 |
10,2; 9; 8,25; 1,1; 1,7; 3; 6; 5; 4; 3,7; 8,27 |
3 |
-5,25; -3,2; -7,15; 2,27; 0,25; 3,175; 12,8; -4,35; 0,1; 0,5; 7,45 |
4 |
12,7; 0,3; 0,25; 17,8; 15,47; 10,81; 2,75; 4,33; 0,85; 0,15; 6,5 |
5 |
-1,5; 27,85; 0,27; 1,2; 40,5; 3,85; -0,34; -0,82; 17,6; -0,375; 15 |
6 |
277,5; -13,8; 0,25; 18,48; 0,37; 45,45; 137; -17,6; 2,48; 12,35; -12.75 |
7 |
425,73; 384,3; -18,25; -0,37; -0,75; 275; 10,4; -5; -4.3; 12,4; 6,18 |
8 |
-0,37; 175; -15,75; 6; 7; 18,37; 6,15; 1,35; -4,7; 316; 0,255 |
9 |
415; 0,54; -3; -2,75; 0,15; 17,85; 6,7; -7,5; -15,4; 0,86; 1,37 |
10 |
752; -15; 16,75; 0,37; 1,35; -1,45; 8,4; 10,37; 43; 17,1; -0,45 |
Задание 2: Выполнить задание 1, расположив массив в оперативной памяти динамически. Значение N (количество элементов массива) вводится по запросу с клавиатуры.
При описании динамического массива не указывается его размерность. Например, одномерный динамический массив A целого типа и двумерный динамический массив B символьного типа описываются следующим образом:
Var
A: Array of Integer;
B: Array of Array of Сhar;
Для выделения памяти для динамического массива используется функция SetLength:
SetLength(A,10);
SetLength(B,3,3);
Нижняя граница массива всегда равна 0, поэтому верхней границей индексов массива А станет 9, а массива В – 2.
Для освобождения памяти достаточно присвоить индетификатору массива значение NIL или использовать процедуру Finalize. Например:
A:=Nil;
Finalize(B);
Для ввода-вывода массива использовать компонент StringGrid.
Размерность компонента StringGrid должна изменяться в зависимости от переменной N.
Содержание отчета: Условие, листинг программы, результат выполнения программы, выводы.