- •Практикум
- •Г. Петропавловск-Камчатский
- •Введение
- •Задание №1. Операции ввода-вывода. Арифметические операции.
- •Int a;b;c; double X,
- •Int a,b,c; float a,b,c;
- •Float X; scanf (“%f”,X);
- •Задание №2. Операторы условного перехода if-case
- •Int main(int argc, char* argv[])
- •Найдите синтаксические и логические ошибки в инструкциях (если есть)
- •Задание №3. Оператор цикла for
- •Int main(int argc, char* argv[])
- •Задание №4. Одномерные и многомерные массивы
- •Задание №5. Алгоритмы поиска и сортировки данных
- •Найдите синтаксические и логические ошибки в инструкциях
- •Сформулируйте одной фразой, какое действие выполняет фрагмент:
- •Задание №6. Массивы символов
- •Int _tmain(int argc, _tchar* argv[])
- •Написать программу для решения задачи:
- •Написать программу для решения задачи:
- •Класс string
- •Функции работы со строками Задание №7. Функции
- •Void fill_screen (void)
- •Напишите функцию для:
- •Задание №1. Создание программ с использованием компонентов: tEdit, tButton, tLabel
- •Проектирование интерфейса приложения:
- •Программирование приложения
- •Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Задание №2. Создание программ с использованием компонентов: tComboBox, tListBox
- •Задание №3. Создание программ с использованием компонента Timer
- •Создайте приложение «Угадай число»
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Void __fastcall tForm1::CheckBox1Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Задание №4. Написание программ для выполнения операций с файлами
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •If (FileExists("meteo.Txt"))
- •Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
- •Задание для самостоятельного выполнения:
- •Задание №5. Использование компонентов tRichEdit, tMainManu, tOpenDialog и др.
- •Проектирование интерфейса приложения
- •Программирование приложения
- •Void __fastcall tForm1::imOpenClick(tObject *Sender)
- •Void __fastcall tForm1::imSaveClick(tObject *Sender)
- •Void __fastcall tForm1::imToolBarClick(tObject *Sender)
- •Void __fastcall tForm1::AboutClick(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Задание №6. Работа с графикой. Вывод текста. Программа Приветствие
- •Напишите процедуру при изменении размера формы:
- •Void __fastcall tForm1::FormResize(tObject *Sender)
- •Void __fastcall tForm1::Button4Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button5Click(tObject *Sender)
- •Задание №8. Базы данных. Создание приложения Записная книжка
- •Создание базы данных.
- •Проектирование интерфейса приложения
- •Программирование приложения
- •Void __fastcall tForm1::BitBtn1Click(tObject *Sender)
- •Задание №9. Ежедневник
- •Void __fastcall tForm1::FormShow(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button3Click(tObject *Sender)
- •Задание №10. Будильник
- •Int cHour, cMinute;
- •Int alrHour, alrMinute;
- •Void __fastcall CreateTrayIcon (int n, AnsiString Tip);
- •Void __fastcall DeleteTrayIcon (int n);
- •Void __fastcall tForm1::CreateTrayIcon (int n, AnsiString Tip)
- •Void __fastcall tForm1::DeleteTrayIcon (int n)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Задание №11. Часы
- •Int ahr, amin, asec;
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Задание №12. Очистка диска
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Рекомендуемая литература
Напишите функцию для:
Нахождения наименьшего числа из трёх вещественных чисел.
Нахождения наибольшего числа из трёх вещественных чисел.
Замены двух переменных местами.
Вычисления факториала заданного чиста N.
Вычисление площади круга по заданному радиусу.
Площади треугольника по трём сторонам.
Вычисление длины гипотенузы прямоугольного треугольника по катетам.
Нахождения корней квадратного уравнения.
Нахождения суммы цифр заданного трёхзначного числа.
Вычисления расстояния между двумя точками.
Изменение порядка десятичных чисел (например, 1235 в 5321).
Вычисления количества дней между двумя датами текущего года.
Сдайте работу преподавателю
Вопросы для контроля и самоконтроля:
Определение пользовательской функции. Аргументы, возвращаемое значение и тело функции. Пример.
Функции без аргументов. Примеры.
Вызов функции и возврат из неё. Оператор return. Пример.
Использование переменных в функциях. Локальные и глобальные переменные.
Глава 2. Объектно-ориентированное программирование в С++ Builder
Задание №1. Создание программ с использованием компонентов: tEdit, tButton, tLabel
Цель занятия: Научиться программировать простейшие приложения
Студенты должны знать: свойства и методы компонентов TEdit, TButton, TLabel
уметь: создавать приложения с использованием компонентов
Задание.
Выберите в меню Пуск – Программы - CodeGear RAD Studio 2009 - C++Builder 2009
Создание новое VCL – приложение (File – New – VCL Forms Application).
Проектирование интерфейса приложения:
Добавьте на форму три метки, два окна ввода/вывода и две кнопки.
Разместите добавленные компоненты согласно рисунка:
Программирование приложения
Написание процедуры для контроля ввода значения в поле Цена на событие 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;
//остальные клавиши не отображать
}
Аналогичным образом напишите процедуру для контроля ввода данных в поле Курс.
Добавьте ещё одну метку для вывода значения.
Напишите программу для вычисления цены в рублях:
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 кг = 0,4995 фунтов.
Напишите программу для вычисления длины окружности по введённому радиусу.
Напишите программу для перевода температуры по шкале Кельвина (К) в температуру по шкале Цельсия (С). K=C-T0, где T0=-273.
Напишите программу для вычисления площади окружности по введённому радиусу.
Напишите программу для вычисления оплаты за междугородние переговоры по введённым продолжительности и стоимости за минуту.
Напишите программу для вычисления площади треугольника по формуле Герона по введённым значениям трёх сторон треугольника. Условие существования треугольника: если сумма любых двух сторон больше третей стороны.
Напишите программу для вычисления времени движения по введённым расстоянию и скорости движения. Учитывайте, что делить на 0 нельзя!
Напишите программу для вычисления периода обращения вокруг Земли спутника, находящегося на круговой орбите на расстоянии R от поверхности.
Напишите программу для расчета силы тока при введённых напряжении (u) и сопротивлении (r). Указания к выполнению сила тока (i) равна i=u/r; Учитывайте, что делить на 0 нельзя!
Напишите программу для вычисления суммы оплаты за электроэнергию по введённым показаниям счётчика (предыдущее показание и текущее), а также цены в рублях за 1 кВт.
Создайте программу Калькулятор для вычисления (+,-,*,/) двух чисел.
Создайте программу Инженерный Калькулятор для вычисления (+,-,*,/) чисел.
Сдайте работу преподавателю
Вопросы для контроля и самоконтроля:
Компоненты страницы Standart. Основные свойства. Обращение к свойствам на языке С++.
Что означает DecimalSeparator?
Что будет выполнено в результате инструкции Edit1->SetFocus()
Для каких целей используется return в функции?