Сделай Сам Свою Работу на 5

Условный оператор множественного выбора CASE.





Планы лабораторных занятий (15 час.)

 

Лабораторная работа №1 Изучение интегрированной среды разработки программ Delphi.

Цель:Изучить интегрированную среду разработки программ Delphi.

Краткая теория

После запуска Delphi на экране появляются пять окон:

· главное окно — Delphi;

· окно стартовой формы — Form1;

· окно редактора свойств объектов — Object Inspector;

· окно просмотра списка объектов — Object TreeView;

· окно редактора кода — Unitl.pas.

В главном окне находится меню команд, панели инструментов и палитра компонентов.

Окно стартовой формы (Forml) представляет собой заготовку главного окна разрабатываемого приложения.

Окно Object Inspector — окно редактора свойств объектов предназначено для редактирования значений свойств объектов. В терминологии визуального проектирования объекты — это диалоговые окна и элементы управления (поля ввода и вывода, командные кнопки, переключатели и др.). Свойства объекта — это характеристики, определяющие вид, положение и поведение объекта. Например, свойства width и Height задают размер (ширину и высоту) формы, свойства тор и Left — положение формы на экране, свойство caption — текст заголовка.



Окно редактора кода почти полностью закрыто окном стартовой формы. В окне редактора кода, которое можно увидеть, отодвинув в сторону окно формы, следует набирать текст программы. В начале работы над новым проектом это окно редактора кода содержит сформированный Delphi шаблон программы.

При проектировании приложения Delphi создает следующие основные файлы:

Файл проекта (.dpr) Этот текстовый файл используется для хранения информации о фор-мах и модулях. В нем содержатся операторы инициализации и запуска программы на выполнение.
Файл модуля (.pas) Каждой создаваемой вами форме соответствует текстовый файл модуля, используемый для хранения кода. Иногда вы можете создавать модули, не связанные с формами. Многие из функций и процедур Delphi хранятся в модулях.
Файл формы (.dfm) Это двоичный или текстовый файл, который создается Delphi для хранения информации о ваших формах. Каждому файлу формы соответствует файл модуля (.pas).

 

Задание 1. Проследить за изменением внешнего вида окна приложения при изменении свойств объекта Form1 в Object Inspector.



1. Найдите окно свойств объектов – Object Inspector
2. Поменяйте свойство Caption (Заголовок), написав вместо Form1 слово «студент» или своё имя.
3. При этом окно приложения примет вид:
4. Поменяйте свойство Color (Цвет), выбрав жёлтый цвет (clYellow). Окно приложения примет вид:
5. Измените свойства Left и Top, присвоив им 0. Окно приложения переместится в левый верхний угол экрана.
6. Измените свойство WindowState на wsMaximized и проект запускаем клавишей F9, кнопкой на панели инструментов или с помощью пункта меню Run. Окно приложения при запуске развернется во весь экран

 

Задание 2. Разработать приложение, меняющее цвет формы при нажатии на кнопку.

1. Создайте новый проект и сразу сохраните его.  
2. Разместите на форме компонент TButton (кнопка)
3. В окне Object Inspector измените свойство Caption кнопки со значения Button1 на Red
4. Форма примет вид:
5. Выполните двойной щелчок на кнопке. На передний план выйдет окно, содержащее программный код. В нем автоматически появляется процедура для обработки события Click кнопки Button1
6. Программируем реакцию на событие: Form1.color:=clRed; Объект Form1 должен поменять свойство Color с текущего на красный (clRed– именованная константа для обозначения красного цвета)
7. ИСР Delphi помогает при наборе команд, выводя список свойств и методов объекта к которым можно обратиться в данном контексте.
8. Запускаем проект комбинацией клавиш F9, кнопкой на панели инструментов или с помощью пункта меню Run.
9. После нажатия кнопки, форма приложения примет вид:
10. Закройте приложение и сохраните проект.
11. Найдите папку, содержащую файлы Вашего проекта. Посмотрите сколько и какие файлы там содержатся.
12. Закройте все окна проекта с помощью меню File|Close All

Задание 3.Создать приложение. При нажатии на кнопку «Пуск» появляется текст, например «Я изучаю Delphi!!!». При нажатии на кнопку «Очистка» надпись удаляется, и «Выход» - завершается выполнение программы.



Методические рекомендации:

Использовать:

- три кнопки типа TButton и одну метку типа TLabel со страницы Standart

- для кнопок установить свойство Caption;

- для метки установить свойство Caption, Font-Style-fsBold (жирный шрифт), размер;

- для кнопки «Пуск» настроить события OnClick используя свойство метки Enabled или Visible, установив его True;

- для кнопки «Очистка» настроить события OnClick используя свойство метки Enabled или Visible, установив его False;

- для кнопки «Выход» настроить события OnClick используя команда Close для закрытия формы;

- проверьте созданное приложение, сохраните его и закройте.

Задание 4.Создать новое приложение. Разместить на форме метку с надписью «Изменение цветов» и 2 кнопки «Изменить», «Восстановить». Цвета формы, метки и цвет шрифта на метке сохраняются в переменных целого типа, т.к. для обозначения цветов используется перечисленный тип (например, a:=Form1.Color). Сохранение исходных значений цветов происходит при создании формы. При нажатии на первую кнопку форму окрасить в голубой цвет (Form1.Color:=clBlue;), изменить цвет метки и шрифта на метке. При нажатии на вторую – восстановить.

Задание 5. Создайте проект, содержащий на форме две кнопки (Button) и метку (Label). При нажатии на кнопки их заголовки должны отображаться в метке.

Задание 6. Усовершенствуйте предыдущий проект, оформив заголовок метки выбранным Вами цветом фона, шрифтом, цветом символов и др.

Сделать вывод.

Лабораторная работа №2.Создание простейших приложений.

Цель:научиться создавать простейшие приложения с использованием простых компонентов для разработки приложений. Компоненты ввода-вывода.

Теория:

· TLabel служит для отображения текста на экране. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Вы увидите, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.

· TEdit - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы.

· TButton позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом.

Функции преобразования:

IntToStr Перевод целого числа в строковое
StrToInt Наоборот
FloatToStr Перевод вещественного числа в строку
StrToFloat Наоборот

Свойство является важным атрибутом компонента. Свойства служат двум главным целям. Во-первых, они определяют внешний вид формы или компонента. А во-вторых, свойства определяют поведение формы или компонента.

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

· Простые свойства - это те, значения которых являются числами или строками. Например, свойства Left и Top принимают целые значения, определяющие положение левого верхнего угла компонента или формы. Свойства Caption и Name представляют собой строки и определяют заголовок и имя компонента или формы.

· Перечислимые свойства - это те, которые могут принимать значения из предопределенного набора (списка). Простейший пример - это свойство типа Boolean, которое может принимать значения True или False.

· Вложенные свойства - это те, которые поддерживают вложенные значения (или объекты). Object Inspector изображает знак “+” слева от названия таких свойств. Имеется два вида таких свойств: множества и комбинированные значения. Object Inspector изображает множества в квадратных скобках. Если множество пусто, оно отображается как []. Установки для вложенных свойств вида “множество” обычно имеют значения типа Boolean. Наиболее распространенным примером такого свойства является свойство Style с вложенным множеством булевых значений. Комбинированные значения отображаются в Инспекторе Объектов как коллекция некоторых величин, каждый со своим типом данных. Некоторые свойства, например, Font, для изменения своих значений имеют возможность вызвать диалоговое окно. Для этого достаточно щелкнуть маленькую кнопку с тремя точками в правой части строки Инспектора Объектов, показывающей данное свойство.

Например:

1) Установить свойство Caption(название) у формы (Form1) -

Form1.Caption:=’Лабораторная работа № 10’;

2) Установить свойство Caption(название) у кнопки (Button) -

Form1. Button1.Caption:= ‘Выполнить’;

Задание 1Создать проект для перевода значения температуры, заданной в шкале Цельсия, в значения, соответствующие шкалам Фаренгейта, Кельвина и Ренкина.

Цель:научиться создавать простейшие приложения с использованием простых компонентов

Методические рекомендации:

- создать новый проект;

-использовать кнопку типа TButton и семь меток типа TLabel и один Edit типа TEdit со страницы Standart

- для кнопки и меток установить свойство Caption;

- для Edit очистить свойство Text;

- настроить метод OnClick для кнопки как показано ниже;

- сохранить проект в своей папке и запустить его на выполнение.

Интерфейс проекта:

Фрагмент программного кода:

procedure TForm1.Button1Click(Sender: TObject);

var Celsius: Extended;

begin

Celsius:=StrToFloat(Edit1.Text );

lblFahrenheit.Caption :=FloatToStr(1.8*Celsius+32);

lblKelvin.Caption := FloatToStr(Celsius+273.15);

lblRenkin.Caption := FloatToStr(1.8* Celsius+492);

end;

 

Задание 2Создать приложение для нахождениясуммы 2 чисел – целого и вещественного.

Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с компонентами ввода-вывода. Закрепить полученные на лекции знания. Написать и отладить программу

Методические рекомендации:

1. Открыть новое приложение File| New|Application , если новое приложение не создалось

2. Перенесите на пустую форму, кнопку TButton со страницы Standard палитры компонент. Затем щелкните курсором мыши в нужном месте формы. На форме появится кнопка, Delphi присвоит имя по умолчанию – Button1.

3. Так же перенесите 2 компоненты TEdit, 4 - TLabel.

4. Выделите на форме компонент Button1 – кнопку. Перейдите в Инспектор Объектов и измените свойство Caption (надпись), которое по умолчанию равно Button1 на «Выполнить»

5. Аналогично измените свойство Caption у компонет Label на : Label1 >> «Число1» , Label2 >> «Число 2», Label3 >> «Результат», а у компоненты Labe4 свойство Caption удалить.

6. Удалите в Edit1 и в Edit2 значение в свойстве Text.

7. Расположите компоненты как на рисунке

8. Теперь необходимо написать обработчик события при нажатии кнопки. Нажмите 2 раза на кнопке, появится редактор кода программы, напишите следующее не удаляя все. что за вас написал Delphi:

procedure TForm1.Button1Click(Sender: TObject);

var a :integer;

b,c :real;

begin

a:= StrToInt(Edit1.text); {ввод числа из компонеты Edit}

b:=StrToFloat (Edit2.Text); {и перевод из строки в число}

c:=a+b;

Label4.Caption:=FloatToStr(c); {вывод результата в Label4}

end;

  1. Запустите приложение Run | Run F9
  2. Введите числа в поля «Число 1» и «Число 2», а затем нажмите кнопку «Выполнить».
  3. Для завершения приложения нажмите «Х» на заголовке формы.
  4. Сохраните приложение File| Save Project as , создайте свою папку и нажмите «Сохранить»

 

Индивидуальные задания к лабораторной работе №2

1. Расстояние до ближайшей к Земле звезды Альфа Центавра 4,3 световых года. Скорость света принять 300 000 км/с. Скорость земного звездолета 100 км/с. За сколько лет звездолет долетит до звезды?

2. Вычислить количество прожитых составителем программы дней. Учесть, что в високосном году 366 дней.

3. Документ содержит текст из 32 строк по 60 символов в каждой и точечную черно-белую фотографию 10х15 см. Каждый квадратный сантиметр содержит 300 точек, любая точка описывается 4-мя битами. Каков общий информационный объем документа в Кбайтах?

4. Запросите у пользователя длину ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба.

5. Определить нормальный вес человека и индекс массы его тела по формулам: и , где h – рост человека (измеряемый в см в первой формуле и в метрах – во второй); t – длина окружности грудной клетки (в см); m – вес (в кг). Индекс массы тела принят Всемирной организацией здравоохранения и не должен превышать 25 пунктов.

6. Найти площадь кольца, внутренний радиус которого равен 20, а внешний – заданному числу r (r>20).

7. Напишите программу, запрашивающую высоту дома (в метрах), ускорение свободного падения g, и вычисляющую время падения кирпича t (в секундах) с крыши этого дома по формуле .

Сделать вывод.

 

Лабораторная работа №3.Создание простейших приложений. Разделяемый метод.

Цель:научиться создавать простейшие приложения с использованием простых компонентов для разработки приложений. Компоненты ввода-вывода.

Теория:

Задание 1.Создать новое приложение. Разместить на форме метку с надписью «Изменение размеров» и кнопку с надписью «Кнопка». Две кнопки изменения размеров «Увеличить размер», «Уменьшить размер» и четыре кнопки для перемещения «вверх», «вниз», «влево», «вправо», которые меняют свойства кнопки 1. Увеличивать или уменьшать надо в 1.1 раза, а передвигать на 10 пикселей.

Методические рекомендации:

- создать новый проект и разместить на форме семь кнопок типа TButton со страницы Standart и установить для них свойство Caption;

- разместить одну метку типа TLabel со страницы Standart, установить свойство Caption, Font-Style-fsBold (жирный шрифт), размер;

- настроить события OnClick для шести кнопок;

- Для увеличения и уменьшения размеров кнопки «Кнопка» использовать ее свойство Height и Width; При уменьшении размеров кнопки использовать функции Trunc или Round

Процедура увеличения будет выглядеть следующим образом

Button1.Width:= Trunc(Button1.Width * 1.1);

Button1.Height:= Round(Button1.Height * 1.1);

- При передвижении кнопки вверх или вниз использовать свойство Top;

Процедура перемещения вверх будет выглядеть следующим образом

Button1.Top:= Button1.Top - 10;

- При передвижении кнопки влево или вправо использовать свойство Left

Процедура перемещения влево будет выглядеть следующим образом

Button1.Left:= Button1.Left - 10;

Задание 2. Разделяемый метод

Создать приложение с использованием разделяемого метода.

- при выборе кнопки выдается сообщение ‘Это кнопка Button1’ или ‘Это кнопка Button2’

- при выборе метки выдается сообщение ‘Это метка Label1’

- при выборе кнопки выдается сообщение ‘Это редактор Edit1’

Методические рекомендации:

- Создать форму с необходимыми компонентами: 2 метки, 2 кнопки и 1 Edit;

- Настроить свойство OnClick для первой кнопки Button1

- настроить OnClick для остальных компонентов – Button1Click

- проверить созданное приложение.

Задание 3.Доработайте проект задания 1.

- при достижении левого края формы, кнопка «Передвигать влево» должна стать недоступной;

- при достижении правого края, кнопка «Передвигать вправо» должна стать недоступной. Здесь необходимо учитывать ширину кнопки «Это Я»;

- при достижении верхнего края формы, кнопка «Передвигать вверх» должна стать недоступной;

- при достижении нижнего края, кнопка «Передвигать вниз» должна стать недоступной. Здесь необходимо учитывать высоту кнопки «Это Я»;

- В других ситуациях все кнопки должны быть доступны.

Методические рекомендации: При выполнении этого задания используются свойства объектов Enabled. Для достижения независимости от размеров формы и исходного положения передвигаемой кнопки, учитываются размеры самой формы – свойства Height и Width и свойства кнопки Top, Left, Height и Width.

 

Индивидуальные задания к лабораторной работе №3

 

1. Определить номера подъезда и этажа по номеру квартиры девятиэтажного дома, считая, что на каждом этаже ровно 4 квартиры, а нумерация квартир начинается с первого подъезда.

2. Идет k-я секунда суток. Определить, сколько полных часов (h) и полных минут (m) прошло к этому моменту (например, h=3 и m=40, если k=13257=3*3600+40*60+57).

3. Присвоить целой переменной h третью от конца цифру в записи положительного целого числа k (например, если k=130985, то h=9).

4. Создайте проект, состоящий из формы с четырьмя командными кнопками. Кнопки расположены в углах формы. Когда пользователь щелкает на кнопке формы, она передвигается в соответствующую нажатой кнопке часть экрана. Результат сопровождается резюмирующими сообщениями в метке в центре формы.

Основная литература: 1[40-48, 49-95]

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

1. Используя какие свойства компонентов можно изменить размеры объектов?

2. В чем заключается разделяемый метод?

3. Как произвести конкатенацию строк?

Сделать вывод.

Лабораторная работа №4. Создание приложений с использованием компонента RadioGroup.

Цель работы:Изучение и применение на практике компонента TRadioGroup и оператора Case.

Теория.

Компонент TRadioGroup

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

RadioGroup – это панель, которая содержит радиокнопки, регулярно расположенные столбцами и строками. Каждая радиокнопка в группе наследует все свойства TRadioButton. При влючении какой-то кнопки все остальные выключаются.

Надпись в левом верхнем углу определяется свойством Capiton.

RadioGroup1.Capiton:=’Заголовок группы радиокнопок’;

Надписи кнопок и их количество определяются свойством Items. Во время проектирования задание свойства Items осуществляется вызываемым из инспектора объектов редактором списков строк. Сколько строчек вы запишите в нем, столько и будет кнопок. Во время выполнения программы формировать список Items можно, используя методы и свойства класса Tstrings.

Кнопки можно разместить в несколько столбцов (не более 17), задав свойство Columns. По умолчанию Columns = 1, т.е. кнопки размещаются друг под другом, в один столбец.

Определить какую из кнопок выбрал пользователь, можно по свойству ItemIndex, которое показывает индекс выбранной кнопки (индексы начинаются с 0). По умолчанию ItemIndex = -1, что означает отсутствие выбранной кнопки.

Основные свойства:

Caption: заголовок, надпись в левом верхнем углу панели;

Columns: Integer; устанавливает число столбцов с радиокнопками.

Itemlndex: Integer;- Индекс нажатой радиокнопки в группе определяется свойством:Индекс исчисляется от 0. Если он равен -1, то ни одна радиокнопка в группе не нажата.

Items: TStrings; Набор строк с заголовками радиокнопок

 

Условный оператор множественного выбора CASE.

Оператор CASE позволяет провести анализ значения некоторого выражения и в зависимости от его значения выполнить те или иные действия. В общем случае формат записи оператора case следующий:

case <выражение> of

< список значений 1 >:< оператор 1 >;

< список значений 2 >:< оператор 2 >;

< список значений n >:< оператор n >;

else

<оператор>

end;

 

В этой конструкции <выражение> должно иметь порядковый тип. Списки значений могут содержать одно или несколько разделенных запятыми возможных значений константных выражений. В зависимости от значения выражения и его соответствия одному из списков значений выполняется определённый оператор (возможен составной оператор). Если значение выражения не соответствует ни одному из перечисленных во всех списках, то выполняется оператор, следующий после ключевого слова else.

Задание 1.Написать программу изменяющую заголовок окна, на выбранный из списка.

1. Создаем новый проект.

2. Устанавливаем на форме компонент RadioGroup:

3. Устанавливаем на форме компонент Button:

4. Подгоняем размеры формы, смотрим результат:

5. Переходим в Object Inspector. В списке установленных компонентов выбираем RadioGroup1 и изменяем его свойство Capiton на «Список заголовков».

6. Здесь же переходим на свойство Items. Нажимаем на кнопку

и переходим в String List Editor.

7. Добавляем несколько строчек, будущих радиокнопок.

8. Нажимаем ok и смотрим что получилось:

9. В Object Inspector выбираем Button1 и меняем его свойство Capiton на «Сменить заголовок…»

10. Создаем событие ONClick кнопки Button1 и вводим следующий код:

Case RadioGroup1.ItemIndex of
0: Form1.Caption := RadioGroup1.Items[0];
1: Form1.Caption := RadioGroup1.Items[1];
2: Form1.Caption := RadioGroup1.Items[2];
3: Form1.Caption := RadioGroup1.Items[3];
else Form1.Caption := 'Заголовок не выбран...';
end;

 

Здесь оператор case в зависимости от значения RadioGroup1.ItemIndex (номер выделенного пункта из RadioGroup1) выбирает необходимое действие и выполняет его. (Form1.Caption – свойство отвечающее за заголовок формы Form1; RadioGroup1.Items[n] - возвращает текст (n-1) пункта RadioGroup1).

11. Программа готова. Смотрим результат (вид формы приведен выше): При нажатии кнопки, заголовок окна меняется на выбранный.

Задание 2.Создать проект для вычисления значений тригонометрических функций:

Методические рекомендации:

- Разместить на форме указанные компоненты. Для компонента Label4 очистить значение свойства Caption. Для компонента Edit12 очистить значение свойства Text.

- Используя свойство Items в окне String List Editor ввести список радио кнопок.

- Запрограммировать щелчок мышью по кнопке Вычислить (Button1):

- Запрограммировать щелчок мышью по кнопке Очистить (Button2):

Процедуры будут выглядеть следующим образом:

procedure TForm1.Button1Click(Sender: TObject);

 

var c:integer;

x : real;

begin

c:= RadioGroup1.ItemIndex;

x:=StrTofloat(Edit1.text);

if c= -1 then Label3.Caption:='Не выбрана функция!!!'

else

begin

case c of

0: Edit2.Text:=FloatToStr( sin(x));

1: Edit2.Text:=FloatToStr( cos(x));

2: Edit2.Text:=FloatToStr( sin(x)/cos(x));

3: if sin(x)=0 then Label3.Caption:='Вычисление не возможно!!!'

else

begin

Edit2.Text:=FloatToStr( cos(x)/sin(x));

end;

end;

end;

 

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

Edit1.Text:='';

Edit2.Text:='';

Label3.Caption:='';

end;

Индивидуальные задания к лабораторной работе №4

1.Дополнить предыдущий проект возможностью задания аргумента в градусах или в радианах.

2. Предусмотреть блокировку при вычислении tg и ctg при недопустимом значении аргумента с выводом соответствующего сообщения. При выводе сообщений используйте оператор Showmessage.

3. Создать тест на тему «Свойства компонентов Delphi», состоящий минимум из 5 вопросов. После выполнения теста должна быть выставлена оценка и процент качества ответов.

4. Создать тест на тему «Компоненты Delphi», состоящий минимум из 5 вопросов. После выполнения теста должна быть выставлена оценка и процент качества ответов.

5. Написать электронный учебник на несколько тем. Выбор темы осуществляется пользователем.

6. Составить программу «Обменный пункт», которая предусматривает выбор исходной и результирующей валют.

7. Создать меню ресторана. При выводе счета необходимо отображение всех выбранных блюд, их стоимость и общая стоимость.

8. Создать программу по комплектации компьютера. В результате отобразить список выбранных компонентов, их стоимость и общую стоимость. Предусмотреть установку скидки.

9. Создать программу по комплектации автомобилей. В результате отобразить список выбранных компонентов, их стоимость и общую стоимость. Предусмотреть установку скидки.

10. Составить программу по решению матриц. (сложение, перемножение, транспонирование и др.) Для выбора использовать RadioGroup.

11. Создать программу для сортировки массивов данных несколькими способами. Для выбора метода решения использовать RadioGroup.

Основная литература:1[165-182, 195-210]

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

1. Назначение управляющих кнопок Button, BitBtn и их свойства.

2. Назначение группы радиокнопок RadioGroup и их свойства.

Сделать вывод.

Лабораторная работа №5. Создание приложений с использованием компоненты ListBox, CheckListBoxиComboBox.

Цель работы:Изучение и применение на практике компоненты ListBox, CheckListBox и ComboBox.

Теория.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.