Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА Цымбалюк.doc
Скачиваний:
6
Добавлен:
29.08.2019
Размер:
2.1 Mб
Скачать
  1. Напишите функцию для:

  1. Нахождения наименьшего числа из трёх вещественных чисел.

  2. Нахождения наибольшего числа из трёх вещественных чисел.

  3. Замены двух переменных местами.

  4. Вычисления факториала заданного чиста N.

  5. Вычисление площади круга по заданному радиусу.

  6. Площади треугольника по трём сторонам.

  7. Вычисление длины гипотенузы прямоугольного треугольника по катетам.

  8. Нахождения корней квадратного уравнения.

  9. Нахождения суммы цифр заданного трёхзначного числа.

  10. Вычисления расстояния между двумя точками.

  11. Изменение порядка десятичных чисел (например, 1235 в 5321).

  12. Вычисления количества дней между двумя датами текущего года.

Сдайте работу преподавателю

Вопросы для контроля и самоконтроля:

  1. Определение пользовательской функции. Аргументы, возвращаемое значение и тело функции. Пример.

  2. Функции без аргументов. Примеры.

  3. Вызов функции и возврат из неё. Оператор return. Пример.

  4. Использование переменных в функциях. Локальные и глобальные переменные.

Глава 2. Объектно-ориентированное программирование в С++ Builder

Задание №1. Создание программ с использованием компонентов: tEdit, tButton, tLabel

Цель занятия: Научиться программировать простейшие приложения

Студенты должны знать: свойства и методы компонентов TEdit, TButton, TLabel

уметь: создавать приложения с использованием компонентов

Задание.

  1. Выберите в меню Пуск – Программы - CodeGear RAD Studio 2009 - C++Builder 2009

  2. Создание новое VCL – приложение (FileNew – VCL Forms Application).

    1. Проектирование интерфейса приложения:

      1. Добавьте на форму три метки, два окна ввода/вывода и две кнопки.

      2. Разместите добавленные компоненты согласно рисунка:

    1. Программирование приложения

      1. Написание процедуры для контроля ввода значения в поле Цена на событие onKeyPress для окна Edit1.

Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)

{

if ((Key >= '0') && (Key<='9')) return;

if (Key==VK_BACK) return; //клавиша Backspace

if (Key == DecimalSeparator) { //содержит символ, используемый в качестве разделителя

if ((Edit1->Text).Pos(DecimalSeparator) !=0) Key=0; //разделитель введён

return;

}

if (Key==VK_RETURN)

// клавиша Enter

{

Edit2->SetFocus();

return;

}

Key=0;

//остальные клавиши не отображать

}

      1. Аналогичным образом напишите процедуру для контроля ввода данных в поле Курс.

      2. Добавьте ещё одну метку для вывода значения.

      3. Напишите программу для вычисления цены в рублях:

Void __fastcall tForm1::Button1Click(tObject *Sender)

{

float usd; //цена в долларах

float k; //курс

float rub; //цена в рублях

//проверка введены ли данные в поля Цена и Курс

if (((Edit1->Text).Length()==0)||((Edit2->Text).Length()==0)) {

MessageDlg("Введите цену и курс", mtInformation, TMsgDlgButtons() << mbOK,0);

if ((Edit1->Text).Length()==0) Edit1->SetFocus();

else Edit2->SetFocus();

return;

}

usd=StrToFloat (Edit1->Text);

k=StrToFloat (Edit2->Text);

rub = usd * k;

Label4->Caption = FloatToStrF (usd, ffGeneral, 7,2)+ "$ = "+ FloatToStrF(rub,ffGeneral,7,2)+ "руб.";

}

      1. Напишите программу для завершения приложения.

  1. Задание для самостоятельного выполнения. Предусмотрите, что нажатие кнопки Перерасчёт доступно, только если пользователь ввёл исходные данные!

Создайте проект для решения задачи:

  1. Перерасчёт веса из фунтов в килограммы. Указания к выполнению: 1 кг = 0,4995 фунтов.

  2. Напишите программу для вычисления длины окружности по введённому радиусу.

  3. Напишите программу для перевода температуры по шкале Кельвина (К) в температуру по шкале Цельсия (С). K=C-T0, где T0=-273.

  4. Напишите программу для вычисления площади окружности по введённому радиусу.

  5. Напишите программу для вычисления оплаты за междугородние переговоры по введённым продолжительности и стоимости за минуту.

  6. Напишите программу для вычисления площади треугольника по формуле Герона по введённым значениям трёх сторон треугольника. Условие существования треугольника: если сумма любых двух сторон больше третей стороны.

  7. Напишите программу для вычисления времени движения по введённым расстоянию и скорости движения. Учитывайте, что делить на 0 нельзя!

  8. Напишите программу для вычисления периода обращения вокруг Земли спутника, находящегося на круговой орбите на расстоянии R от поверхности.

  9. Напишите программу для расчета силы тока при введённых напряжении (u) и сопротивлении (r). Указания к выполнению сила тока (i) равна i=u/r; Учитывайте, что делить на 0 нельзя!

  10. Напишите программу для вычисления суммы оплаты за электроэнергию по введённым показаниям счётчика (предыдущее показание и текущее), а также цены в рублях за 1 кВт.

  11. Создайте программу Калькулятор для вычисления (+,-,*,/) двух чисел.

  12. Создайте программу Инженерный Калькулятор для вычисления (+,-,*,/) чисел.

Сдайте работу преподавателю

Вопросы для контроля и самоконтроля:

  1. Компоненты страницы Standart. Основные свойства. Обращение к свойствам на языке С++.

  2. Что означает DecimalSeparator?

  3. Что будет выполнено в результате инструкции Edit1->SetFocus()

  4. Для каких целей используется return в функции?