- •Часть 1
- •Содержание
- •Общие требования к оформлению контрольной работы
- •Лабораторная работа №1. Линейный вычислительный процесс
- •1.1. Общие теоретические сведения
- •Декларация объектов
- •Директивы препроцессора
- •Стандартные функции ввода информации
- •1.2. Создание консольного приложения
- •Стандартные функции вывода информации
- •Ввод-вывод в потоке
- •1.3. Создание оконного приложения Настройка формы
- •Компонента Edit
- •Основные функции преобразования строк
- •Компонента Label
- •Компонента Memo
- •Обработка событий
- •Функция-обработчик FormCreate
- •Функция-обработчик нажатия кнопки (Button*Click)
- •Запуск и работа с программой
- •1.4. Пример выполнения задания
- •1.4.1. Создание консольного приложения
- •1.4.2. Создание оконного приложения
- •1.5. Индивидуальные задания
- •Лабораторная работа №2. Реализация разветвляющихся алгоритмов
- •2.1. Общие теоретические сведения Оператор условной передачи управления if
- •Оператор выбора switch
- •2.2. Создание оконного приложения
- •2.3. Пример выполнения задания
- •2.3.1. Реализация примера оконного приложения
- •Компонента СheckBox
- •Компонента RadioGroup
- •2.3.1. Пример написания программы консольного приложения
- •2.4. Индивидуальные задания
- •Лабораторная работа №3. Реализация циклических алгоритмов
- •3.1. Общие теоретические сведения
- •3.2. Пример выполнения задания
- •3.2.1. Пример создания оконного приложения
- •3.2.2. Пример создания консольного приложения
- •3.3. Индивидуальные задания
- •Лабораторная работа №4. Функции пользователя
- •4.1. Краткие теоретические сведения
- •4.2. Пример выполнения задания
- •4.2.1. Создание оконного приложения
- •4.2.2. Создание консольного приложения
- •4.3. Индивидуальные задания
- •Лабораторная работа №5. Обработка одномерных массивов
- •5.1. Общие теоретические сведения
- •5.2. Создание оконного приложения Компонента StringGrid
- •5.3. Пример выполнения задания
- •5.3.1. Пример создания оконного приложения
- •Настройка компоненты StringGrid
- •5.3.2. Пример создания консольного приложения
- •5.4. Индивидуальные задания
- •Лабораторная работа №6. Обработка двухмерных динамических массивов
- •6.1. Краткие теоретические сведения Особенности применения указателей
- •Связь указателей с массивами
- •Декларация многомерного массива:
- •Указатели на указатели
- •Динамическое размещение данных
- •4.3.2. Пример создания консольного приложения
- •6.3. Индивидуальные задания
- •Лабораторная работа №7. Использование строк
- •7.1. Общие теоретические сведения Строки как одномерные массивы символов
- •7.2. Создание оконного приложения
- •Компонента ListBox
- •Компонента ComboBox
- •Компонента-кнопка BitBtn
- •Обработка событий
- •7.3. Пример выполнения задания
- •7.3.1. Создание оконного приложения
- •7.3.2. Создание консольного приложения
- •7.4. Индивидуальные задания
- •Лабораторная работа №8. Обработка структур с использованием файлов
- •8.1. Теоретические сведения
- •Работа с файлами
- •8.2. Создание оконного приложения Компоненты OpenDialog и SaveDialog
- •8.3. Пример выполнения задания
- •8.3.1. Создание оконного приложения Настройка компонент OpenDialog и SaveDialog
- •Работа с программой
- •8.3.2. Создание консольного приложения
- •8.4. Индивидуальные задания
- •Лабораторная работа №9. Построение графиков функций
- •9.1. Краткие теоретические сведения Построение графиков с помощью компоненты Chart
- •Использование класса Сanvas
- •9.2. Пример создания оконного приложения
- •Настройка формы
- •9.3. Индивидуальные задания
- •Приложение 1. Операции и основные математические функции
- •Стандартные математические функции
- •Приложение 2. Описание общих структур файлов проекта
- •Общая структура файла текста программы Unit*.Cpp
- •Структура заголовочного файла Unit*.H
- •Общая структура файла проекта Project*.Cpp
- •Литература
Запуск и работа с программой
Перед запуском программы на обработку следует сохранить программу, для чего нужно выбрать в меню File пункт Save All.
Запустить
программу можно, нажав Run в главном
меню Run, или клавишу F9, или
пиктограмму
.
При этом происходит трансляция и, если
нет ошибок, компоновка программы и
создание единого загружаемого файла с
расширением exe. На экране
появляется активная форма программы
(см. рис.1.3).
Завершить работу программы можно, нажав кнопку на форме или выбрав ProgramReset в главном меню Run.
1.4. Пример выполнения задания
Cоставить программу вычисления арифметического выражения для заданных значений x, y, z :
.
1.4.1. Создание консольного приложения
Чтобы создать проект в консольном приложении, выполняем следующую последовательность действий: File Close All File New Other Console Wizard Ok. Закрываем все окошки, кроме 5 (см. рис 1.1), которое в консольном приложении будет иметь вид
Текст программы может иметь следующий вид:
//---------------------------------------------------------------------------
#include <iostream.h>
#include <conio.h>
#include <math.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
double x, y, z, a, b ,c, res;
cout << "\n\tx,y,z = " << endl;
cin >> x >> y >>z;
a = pow(tan(x+y),2);
b = exp(y-z);
c = sqrt(cos(x*x)+sin(z*z));
res = a-b*c;
cout << "\nx=“ << x << “\ny=“ << y << “\nz=“ << z << “\nResult=“
<< res << endl;
cout << " Press any key ... " << endl;
getch();
return 0;
}
Для исходных данных x = 3,4; y = 7,410-2; z = 1,943102, результат выполнения программы выглядит следующим образом (скриншот результатов):
1.4.2. Создание оконного приложения
В оконном режиме панель диалога программы создать в виде, представленном на рис. 1.2.
Рис. 1.2
Для создания проекта необходимо выполнить следующие действия.
1. Запускаем С++ Builder. Создаем в разрешенной для Пользователя папке (d:\work\ или c:\work\) папку с номером группы (\610101\), открыв ее, сохраняем предлагаемые файлы Unit1.cpp и Project1.cpp (рекомендуем без изменения).
2. Оформляем окно формы, заменив заголовок Form1 на нужный текст. Помещаем на форму необходимые компоненты Label1, Label2, Label3, Label4 (вставляя в Caption соответствующие тексты), Edit1, Edit2, Edit3, Memo1 c полосами прокрутки (см. п. 1.3), Button1 (заменив в Caption текст).
Используя свойство Font, выбираем стили выводимых текстов.
3. Оформляем листинг программы (Unit1.cpp). Двойным щелчком кнопкой мыши по свободному месту формы создаем функцию FormCreate и заполняем ее (см. пример). Переходим на форму (F12), щелкаем дважды по кнопке «ВЫПОЛНИТЬ» и заполняем созданную функцию Button1Click (см. пример).
4. Перед запуском программы на обработку, сохраняем все.
5. Запускаем проект на выполнение, исправляем ошибки.
Текст программы может иметь следующий вид (наклонным шрифтом выделен текст, редактировать который не рекомендуется):
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text = "3,4";
Edit2->Text = "7,4e-2";
Edit3->Text = "1,943e2";
Memo1->Clear();
Memo1->Lines->Add("Лабораторная работа № 1");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x, y, z, a, b ,c, rez;
x = StrToFloat(Edit1->Text);
y = StrToFloat(Edit2->Text);
z = StrToFloat(Edit3->Text);
a = pow(tan(x+y),2);
b = exp(y-z);
c = sqrt(cos(x*x)+sin(z*z));
rez = a-b*c;
Memo1->Lines->Add("При х = "+FloatToStrF(x,ffFixed,7,3)
+ "; y = "+FloatToStrF(y,ffFixed,7,3)+"; z = "+FloatToStrF(z,ffFixed,7,3));
Memo1->Lines->Add("Результат = "+FloatToStr(rez));
}
Внимание! В строковых константах разделитель целой и дробной частей – запятая: Edit1->Text = "3,4"; в отличие от числовых констант в тексте программы.
В результате должно получиться рабочее окно (рис. 1.3). Если щелкнуть мышью по кнопке «ВЫПОЛНИТЬ», в окне Memo1 появится соответствующий текст (результат). Далее в окошках Edit* можно изменять исходные значения и, нажимая кнопку «ВЫПОЛНИТЬ», получать новые результаты.
Рис. 1.3
