Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЯВУ.doc
Скачиваний:
6
Добавлен:
12.11.2019
Размер:
1.51 Mб
Скачать

Задания для самостоятельной работы

1. Создать приложение для пересчета миль в километры (1 миля – 1.609344 км).

2. Создать приложение для получения таблицы температур по Цельсию от 0 до 100 градусов и их эквивалентов по шкале Фаренгейта: tf = (9/5) * tc + 32.

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

  1. Опишите основные свойства компонента Form1

  2. Опишите основные свойства компонента Label1

  3. Опишите основные свойства компонента Edit1

  4. Как в поле Label1 ввести многострочный текст?

  5. Как изменить размер шрифта и фона в компонентах Edit1 и Label1?

Лабораторная работа №3. Работа с одномерными массивами

ЦЕЛЬ РАБОТЫ:

  1. Освоение методов работы с одномерными массивами в среде Delphi 7.0.

  2. Изучение возможности автоматического ввода компонентов одномерного массива с помощью генератора псевдослучайных чисел и ручного ввода с помощью компонентов Memo и Edit.

  3. Изучение возможности вывода элементов одномерного массива с помощью компонентов Memo, ListBox и ComboBox.

ПОДГОТОВКА К РАБОТЕ:

1. Изучить свойства и методы компонентов ListBox и ComboBox;

2. Описать возможные методы заполнения массивов (автоматическое заполнение массива, заполнение с помощью компонентов Memo1 и Edit).

ЗАДАНИЕ. Создать приложение, выполняющее следующие действия:

  1. Заполнение одномерного массива и вывод его в окне Memo1;

  2. Вывод на экран положительных чисел массива в о кне Memo2;

  3. Вывод на экран отрицательных чисел массива в списке ListBox1;

  4. Вывод на экран четных чисел из исходного массива в списке ComboBox1.

1) Последовательность действий по созданию интерфейса пользователя

  1. Перенесите на пустую форму объекты, изображенные на рисунке 3.1.

  2. Установите у созданных объектов следующие свойства:

  • 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.

  1. В итоге должно получиться приложение, изображенное на рисунке 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;

  1. Откомпилируйте приложение и проверьте его работу

Указания к выполнению работы

Программный код для автоматического заполнения массива:

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.

Выполните следующие действия:

  1. В область глобальных переменных добавьте переменные для описания массива (a), количества элементов в массиве (n) и номера очередного заполняемого элемента массива (i):

var

Form1: TForm1;

n,i: Integer;

a: Array[1..100] of Integer;

  1. Для события OnCreate формы Form1 добавьте программный код:

procedure TForm1.FormCreate(Sender: TObject);

begin

Memo1.Clear; Label3.Caption:='';

end;

  1. Для события OnClick кнопки «Ввод количества элементов» запишите следующий программный код:

procedure TForm1.Button1Click(Sender: TObject);

begin

n:=StrToint(Edit1.Text); ;

i:=1;

Label3.Caption:='Введите a['+IntToStr(i)+']';

end;

  1. Для события 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;