- •Теоретичні відомості
- •Хід роботи
- •Лабораторная работа n 3
- •Задача про обмен валюты
- •Теоретические сведения
- •Ход работы
- •Откажитесь от возможности изменять размеры окна программы, придав свойству формы BoderStyle значение bsDialog.
- •Вставьте в форму два объекта типа RadioButton (переключатели), как показано на рисунке 1.
- •Запрограммируйте кнопку «Конец».
- •Запрограммируйте кнопку «Вычислить».
- •Создайте exe файл вашей программы.
- •Продемонстрируйте созданную форму преподавателю. Задания
- •Лабораторная работа n 4
- •Программирование циклов.
- •Объекты: Memo, MainMenu, PopurMenu, CheckBox, GroupBox
- •Задача табулирования функции
- •Теоретические сведения
- •Ход работы
- •Замените Caption формы с “Form1” на «Табулирование функции».
- •Табулирование функции
- •Табулирование функции
- •20. Запустите созданную программу и исследуйте ее работу.
- •Задания
- •Табулирование функции
- •Английский язик - тестирование
- •После размещения рисунков!!!
- •Теоретические сведения
- •Ход работы
- •2.Замените заголовок (Caption) формы с "Forml" на "Английский язык — тестирование".
- •3.Откажитесь от всех системных кнопок формы, задав значение False во всех позициях свойства Bordericons: biSystemMenu, biMinimize, biMaximize и biHelp.
- •4.Расположите на форме объекты так, как показан на рис. 1.
- •5. Дважды щелкните на первом таймере и запрограммируйте мигание сообщения "Обязательно нажмите на кнопку "Готово" после размещения рисунков!!!" так:
- •6. Введите описание глобальных переменных программы:
- •7. Вставьте рисунки factory.Bmp, shipping.Bmp и finance.Bmp с папки
- •8. Запрограммируйте конструктор формы tForm1::tForm1 и функцию Result() сообщения результатов теста:
- •10. Аналогично запрограммируйте соответствующие события для перетягивания двух других рисунков.
- •11. Создайте функцию lmageInShape для проверки расположения рисунка (объекта Image) в середине некоторой геометрической фигуры (объекта Shape).
- •13. Запрограммируйте второй таймер, который обеспечивает индикацию времени выполнения от 100 до 0% со скоростью, обратно пропорциональной к числу в cSpinEdit1.
- •Сохраните программу и проект в рабочей папке.
- •Запустите программу. Перетягивайте мышью рисунки в середину соответствующих фигур. Закончите работу. Задания
- •Лабораторная работа n 6 объектно-ориентированное программирование в
- •Создания собственных классов. Наследование и виртуальные функции. Интерпретатор математических выражений.
- •Теоретические сведения
- •Ход работы
- •6. Введите математические выражения в поля Edit1 и Edit2 и очистите поля результатов Edit3 и Edit4. Запрограммируйте кнопку „Выход".
- •7. Задайте начальную точность вычислений, которая равна двум десятичным знакам.
- •8. Запрограммируйте кнопку „Вычислить” так:
- •9. Запрограммируйте функцию, которая будет выполняться после изменения числа в поле ComboBox1.
- •Задания
- •2. Вычислите значение функции от двух переменных f(X,y).
20. Запустите созданную программу и исследуйте ее работу.
Поэкспериментируйте с многострочным полем редактирования Memo1, вводя и корректируя в нем любой текст. Обратите внимание на то, что в этом окне можно выполнять такие же действия с текстом, как и в текстовом редакторе: выделять фрагмент текста, копировать, переносить или изымать этот фрагмент. Вытрите текст с помощью команды главного меню "Очистить поле вывода". Еще раз введите текст и вытрите его с помощью контекстного меню (для вызова контекстного меню формы нужно щелкнуть правой клавишей мыши на свободном месте формы). Закончите работу программы, щелкнув на команде меню "Конец".
21. Запрограммируйте команду "Протабулировать".
Свойство Lines объекта типа Memo есть комплексным, то есть также есть объектом со своими свойствами и методами. Результат работы этой программы - это таблица, которая состоит из нескольких строк. Чтобы прибавить в поле Memo1 новую строку таблицы, надо изменить значения комплексного свойства Lines (строки) с помощью его метода Append (вставить) с одним аргументом - символьной строкой: Memo1->Lines->Append (строка символов). Выполните команду "Протабулировать" из главного меню, щелкнув на ней один раз. Появится заготовка функции, которую заполните так:
void_fastcall TForm1::N3Click(TObject *Sender)
{
float x, y;
float а = StrToFloat(Edit1 -> Text); // Получаем числовое значение левой границы
float b = StrToFloat(Edit2 -> Text); // и правой границы
float h = StrToFloat(Edit3 -> Text); // Получаем числовое значение шага
Memo1 ->Lines->Append("X\tY"); // В объект Memo1
//вставляем строку с подписями столбцов //аргумента X и значения функции Y через //табулятор \t.
//Начинаем табулировать с левой границы,
// пока аргумент x не превысит правую //границу //с определенным допуском:
for (x = a; x < b + h / 2; x += h)
{
y = sin(x); // Вычисляем значение функции
if (CheckBox1 -> Checked) // Если стоит флажок "На экран"
// Формируем и вставляем в поле Memo1 символьные строки из аргумента
// и значения функции
Memo1 -> Lines -> Append(FloatToStrF(x, ffFixed, 2, 2) + '\t' +FloatToStrF( y, ffFixed, 2, 2));
}
22. Выполните программу и поэкспериментируйте с разными значениями левой, правой границы и шага аргумента. Закройте окно программы "Табулирование функции".
23. Сохраните созданную программу в своей папке.
24. Создайте exe-файл вашей программы.
25. Закройте C++ Builder, запустите созданную программу и выполните вычисления для разных начальных данных.
26. Продемонстрируйте созданную форму преподавателю. Закончите работу.
Задания
1. Прибавьте к контекстному меню команду "Конец" и запрограммируйте ее.
2. Создайте еще одно контекстное меню с командами "Снять все флажки", "Установить все флажки", "Установить инверсионно" и запрограммируйте его. Такое меню может появляться после щелканья правой кнопкой мыши на произвольном месте панели с флажками. Не забудьте "привязать" это меню (PopupMenu2) к панели с флажками.
3. Модифицируйте реализацию программы, предусмотрев возможность табулирования функции и ее производной. Выбор варианта табулирования (с производной или без нее) осуществите с помощью дополнительного флажка.
Подсказка. Выполните такие действия:
вставьте в форму объект типа CheckBox (флажок), свойству Caption просвойте значение «Производная»;
измените программный код команды «Протабулировать».
4. Определите количество элементов массива больших, чем 0,5, и меньших, чем 1.
5. Предусмотрите в созданной программе дополнительную возможность для определения максимального и минимального значений функции.
Подсказка. В теле функции Button1Click, что описывает программный код кнопки "Протабулировать", воспользуйтесь командами:
max = sin(a) + 1; // В начале функции:
...
if (max < у) max = у;// В цикле табулирования:
…
6. Измените функции команды "Протабулировать" так, чтобы для включенного флажка "В массив" вывод результатов выполнялся в одномерный массив.
7. Вставьте в форму объект Chart из закладки Aditional для построения графика функции: