- •Введение
- •Лабораторная работа №1. Создание простого приложения
- •1 ) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию щелчка по командным кнопкам (программирование событий):
- •3) Компиляция и выполнение приложения
- •1) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию событий
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №2. Циклические программы. Многострочное поле memo
- •1) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию щелчка по командным кнопкам (программирование событий)
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №3. Работа с одномерными массивами
- •1) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию событий
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 4. Работа с двумерными массивами
- •Контрольные вопросы
- •Лабораторная работа № 5. Процедуры и функции в delphi
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 6. Рекурсивные процедуры и функции
- •Контрольные вопросы
- •Лабораторная работа №7. Разработка приложения с несколькими модулями
- •2) Последовательность действий по программированию событий
- •Лабораторная работа №8. Работа со строками
- •1) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию событий
- •3) Откомпилируйте приложение и проверьте его работу задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №9. Создание текстового редактора
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 10. Методы простой сортировки
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 11. Поиск данных в массиве
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №12. Работа с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №13. Работа с типизированными файлами (файлы записей)
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 14. Динамические структуры данных . Стек и очередь
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 15. Практическое применение стека и очереди
- •Лабораторная работа №16. Линейные списки
- •Лабораторная работа №17. Работа с бинарными деревьями поиска
- •Задание для самостоятельной работы
- •Лабораторная работа №18. Основы объектно-ориентированного программирования
- •Задание для самостоятельной работы
- •Лабораторная работа №19. Графика в delphi. Компоненты shape и chart
- •Контрольные вопросы
- •Лабораторная работа №20. Графика в delphi. Рисование по пикселам и пером
- •Контрольные вопросы
- •Лабораторная работа № 21. Вычисление суммы ряда
- •Литература
- •Содержание
- •214013 Г. Смоленск, Энергетический проезд, 1
Задания для самостоятельной работы
1. Создать приложение для пересчета миль в километры (1 миля – 1.609344 км).
2. Создать приложение для получения таблицы температур по Цельсию от 0 до 100 градусов и их эквивалентов по шкале Фаренгейта: tf = (9/5) * tc + 32.
Контрольные вопросы
Опишите основные свойства компонента Form1
Опишите основные свойства компонента Label1
Опишите основные свойства компонента Edit1
Как в поле Label1 ввести многострочный текст?
Как изменить размер шрифта и фона в компонентах Edit1 и Label1?
Лабораторная работа №3. Работа с одномерными массивами
ЦЕЛЬ РАБОТЫ:
Освоение методов работы с одномерными массивами в среде Delphi 7.0.
Изучение возможности автоматического ввода компонентов одномерного массива с помощью генератора псевдослучайных чисел и ручного ввода с помощью компонентов Memo и Edit.
Изучение возможности вывода элементов одномерного массива с помощью компонентов Memo, ListBox и ComboBox.
ПОДГОТОВКА К РАБОТЕ:
1. Изучить свойства и методы компонентов ListBox и ComboBox;
2. Описать возможные методы заполнения массивов (автоматическое заполнение массива, заполнение с помощью компонентов Memo1 и Edit).
ЗАДАНИЕ. Создать приложение, выполняющее следующие действия:
Заполнение одномерного массива и вывод его в окне Memo1;
Вывод на экран положительных чисел массива в о кне Memo2;
Вывод на экран отрицательных чисел массива в списке ListBox1;
Вывод на экран четных чисел из исходного массива в списке ComboBox1.
1) Последовательность действий по созданию интерфейса пользователя
Перенесите на пустую форму объекты, изображенные на рисунке 3.1.
Установите у созданных объектов следующие свойства:
Form1. Свойство Caption – «Одномерные массивы»
Label1. Свойство Caption – «Количество элементов»
Label2. Свойство Caption – «Исходный массив»
Label3. Свойство Caption – «Положительные элементы«
Label4. Свойство Caption – «Отрицательные элементы«
Label5. Свойство Caption – «Четные элементы»
Edit1. Свойство Text – Очистите свойство Text.
Button11. Свойство Caption – Очистить
Button12. Свойство Caption – Выполнить
Memo1, Memo2 - Очистите свойство Lines и установить свойство ScrollBars=ssBoth
ComboBox1. Очистите свойство Text.
В итоге должно получиться приложение, изображенное на рисунке 3.2.
2) Последовательность действий по программированию событий
1. Для кнопки Button1 наберите следующий текст:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear; Memo2.Clear;
ListBox1.Clear; ComboBox1.Clear;
end;
2. Для кнопки Button2 наберите следующий текст:
procedure TForm1.Button2Click(Sender: TObject);
VAR n,i:Integer;
a:Array [0..100] of Integer;
begin
n:=StrToInt(Edit1.text);
Randomize;
// ввод исходного массива
For i:=0 to n-1 do
begin
a[i]:=-50+Random(100);
Memo1.Lines.Add(IntToStr(a[i]));
end;
// Вывод положительных элементов
For i:=0 to n-1 do
If a[i]>0 then Memo2.Lines.Add(IntToStr(a[i]));
// Вывод отрицательных элементов
For i:=0 to n-1 do
If a[i]<0 then ListBox1.Items.Add(IntToStr(a[i]));
// Вывод четных элементов
For i:=0 to n-1 do
If a[i] mod 2 =0
then ComboBox1.Items.Add(IntToStr(a[i]));
ComboBox1.Text:=ComboBox1.Items.Strings[0];
end;
Откомпилируйте приложение и проверьте его работу
Указания к выполнению работы
Программный код для автоматического заполнения массива:
CONST n=10;
VAR i: Integer;
a: Array [0..100] of Integer;
begin
Randomize;
For i:=0 to n-1 do a[i]:=-50+Random(100);
end;
Для ручного ввода элементов одномерного массива с помощью поля Memo следует заполнить поле Memo, а затем при нажатии кнопки «Ввод элементов массива» (например, кнопка Button1) записать следующий программный код:
// Ввод из поля Memo
procedure TForm1.Button1Click(Sender: TObject);
Var i:Integer;
a:Array[0..100] of Integer;
begin
For i:=0 to Memo1.Lines.Count-1 do
a[i]:=StrToInt(Memo1.Lines.Strings[i]);
end;
Пример заполнения элементов одномерного массива с помощью компонента Edit:
Создать приложение, изображенное на рисунке 3.3. Для этого перенесите на форму компоненты, изображенные на рисунке 3.4.
Выполните следующие действия:
В область глобальных переменных добавьте переменные для описания массива (a), количества элементов в массиве (n) и номера очередного заполняемого элемента массива (i):
var
Form1: TForm1;
n,i: Integer;
a: Array[1..100] of Integer;
Для события OnCreate формы Form1 добавьте программный код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear; Label3.Caption:='';
end;
Для события OnClick кнопки «Ввод количества элементов» запишите следующий программный код:
procedure TForm1.Button1Click(Sender: TObject);
begin
n:=StrToint(Edit1.Text); ;
i:=1;
Label3.Caption:='Введите a['+IntToStr(i)+']';
end;
Для события OnClick кнопки «Ввод очередного элемента» запишите следующий программный код:
procedure TForm1.Button2Click(Sender: TObject);
begin
a[i]:=StrToInt(Edit2.Text);
Memo1.Lines.Add(IntToStr(a[i]));
i:=i+1;
Edit2.Text:='';
Label3.Caption:='Введите a['+IntToStr(i)+']';
end;