Основы программирования в среде Builder C++

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

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 27.04.2015
Размер файла 756,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

При нажатии кнопки «Сохранить результаты» создается текстовый файл, в котором сохранится информация, выведенная в Memo1. Этот файл можно просмотреть в любом текстовым редакторе (блокноте, Word).

В текст программы включена пользовательская функция void Out(TZap, TMemo*); - для вывода в Memo1 одной записи.

Для создания результирующего текстового файла используется функция, SaveToFile(FileNameRez); позволяющая записать все содержимое Memo1 в файл с указанным именем.

Рис. 8.2

Текст программы может иметь следующий вид:

. . .

#include <stdio.h>

#include <io.h>

. . .

//---------------------------------------------------------------------------

struct TZap{

char FIO[30];

double s_b;

} Zap;

int size = sizeof(TZap);

FILE *Fz;

AnsiString File_Zap;

void Out(TZap, TMemo*);

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Edit1->Text=""; Edit2->Text="";

Memo1->Clear();

}

//------------------ Создать-----------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

OpenDialog1->Title="Создать новый файл";

if (OpenDialog1->Execute()){

File_Zap = OpenDialog1->FileName;

if ((Fz=fopen(File_Zap.c_str(),"wb"))==NULL) {

ShowMessage("Ошибка создания ФАЙЛА!");

return;

}

}

Memo1->Lines->Add("Создали новый файл: "+AnsiString(File_Zap));

fclose(Fz);

}

//----------------- Добавить-----------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Fz = fopen(File_Zap.c_str(),"ab");

strcpy(Zap.FIO, Edit1 -> Text.c_str());

Zap.s_b = StrToFloat(Edit2->Text);

Out(Zap, Memo1);

fwrite(&Zap, size, 1, Fz);

Edit1->Text=""; Edit2->Text="";

fclose(Fz);

}

//--------------------- Сортировать --------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

TZap st, *mas_Z;

Fz = fopen(File_Zap.c_str(),"rb");

int D_f = fileno(Fz); // Находим дескриптор файла

int len = filelength(D_f); // Находим размер файла

int i, j, kol;

kol = len/size; //Количество записей в файле

mas_Z = new TZap[kol];

// Считываем записи из файла в динамический массив

for (i=0; i < kol; i++)

fread((mas_Z+i), size, 1, Fz);

fclose(Fz);

Memo1->Lines->Add("Сортированные сведения");

for (i=0; i < kol-1; i++)

for (j=i+1; j < kol; j++)

if (mas_Z[i].s_b > mas_Z[j].s_b) {

st = mas_Z[i];

mas_Z[i] = mas_Z[j];

mas_Z[j] = st;

}

for (i=0; i<kol; i++)

Out(mas_Z[i], Memo1);

delete []mas_Z;

}

//------------------- Сохранить --------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

SaveDialog1->Title="Сохранить файл результатов";

if (SaveDialog1->Execute()) {

AnsiString FileNameRez = SaveDialog1->FileName;

Memo1->Lines->SaveToFile(FileNameRez);

}

}

//-------------------- Открыть ----------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

OpenDialog1->Title="Открыть файл";

if (OpenDialog1->Execute()) {

File_Zap = OpenDialog1->FileName;

if ((Fz=fopen(File_Zap.c_str(),"rb"))==NULL) {

ShowMessage("Ошибка открытия ФАЙЛА!");

return;

}

}

Memo1->Lines->Add("--------- Все сведения ---------");

while(1){

if(!fread(&Zap,size,1,Fz)) break;

Out(Zap, Memo1);

}

fclose(Fz);

}

//----------------- Очистка Memo -------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)

{

Memo1->Clear();

}

//----------------- Функция вывода одной записи -----------------------

void Out(TZap z, TMemo *Memo1)

{

Memo1->Lines->Add(AnsiString(z.FIO)+ " "+FloatToStrF(z.s_b, ffFixed,6,3));

}

8.3.2 Создание консольного приложения

Для создания текстового файла в консольном приложении используем функцию fprintf(). Текст программы может иметь следующий вид:

. . .

#include <stdio.h>

#include <io.h>

. . .

struct TZap{

char FIO[30];

double s_b;

} Zap;

int size = sizeof(TZap);

FILE *Fz, *Ft;

char File_Zap[] = "zapisi.dat";

char File_Rez[] = "rezult.txt";

void Out(TZap);

void main()

{

int kod, D_f, i=0, j, kol;

long len;

TZap st, *mas_Z;

Ft = fopen(File_Rez, "w");

while(true) {

puts("\n Create - 1\n Add - 2\n View - 3\n Sort - 4\n EXIT - 0");

scanf("%d", &kod);

switch(kod) {

case 1:

if ((Fz=fopen(File_Zap,"wb"))==NULL) {

puts("\n Create ERROR!");

return;

}

fclose(Fz);

printf("\n Create New File %s !\n",File_Zap);

break;

case 2:

Fz = fopen(File_Zap,"ab");

printf("\n F.I.O. - ");

fflush(stdin);

gets(Zap.FIO);

printf(" Ball - ");

scanf("%lf", &Zap.s_b);

fwrite(&Zap, size, 1, Fz);

fclose(Fz);

break;

case 3:

if ((Fz=fopen(File_Zap,"rb"))==NULL) {

puts("\n Open ERROR!");

return;

}

// Вывод на экран

printf("\n\t--------- Informations ---------");

// Запись такой же информации в текстовый файл Ft

fprintf(Ft,"\n\t--------- Informations ---------");

while(1) {

if(!fread(&Zap,size,1,Fz)) break;

Out(Zap);

}

fclose(Fz);

break;

case 4:

Fz = fopen(File_Zap,"rb");

D_f = fileno(Fz);

len = filelength(D_f);

kol = len/size;

mas_Z = new TZap[kol];

// Считываем записи из файла в динамический массив

for (i=0; i < kol; i++)

fread((mas_Z+i), size, 1, Fz);

fclose(Fz);

printf("\n\t----- S O R T -----\n");

fprintf(Ft,"\n\t----- S O R T -----\n");

for (i=0; i < kol-1; i++)

for (j=i+1; j < kol; j++)

if (mas_Z[i].s_b > mas_Z[j].s_b) {

st = mas_Z[i];

mas_Z[i] = mas_Z[j];

mas_Z[j] = st;

}

for (i=0; i<kol; i++)

Out(mas_Z[i]);

delete []mas_Z;

break;

case 0:

fclose(Ft);

return;

}

}

}

//----------------- Функция вывода одной записи на экран и в файл --------------------

void Out(TZap z)

{

printf("\n %20s , %6.3lf .", z.FIO,z.s_b);

fprintf(Ft, "\n %20s , %6.3lf .", z.FIO, z.s_b);

}

Первоначально выбав пункт «1», создаем файл с именем zapisi.dat, который будет располагаться в текущем каталоге (созданной папке). Затем, выбирая пункт «2», последовательно вводим 4 записи. Выбрав пункт «3», просматриваем содержимое файла, а сортированные записи выведем на экран (запишем в файл), выбрав пункт «4». Результаты выполнения программы могут иметь вид:

8.4 Индивидуальные задания

Написать программу обработки файла типа запись, содержащую следующие пункты меню: «Создание», «Просмотр», «Коррекция» (добавление новых данных или редактирование старых), «Решение индивидуального задания».

Каждая запись должна содержать следующую информацию о студентах:

- фамилия и инициалы;

- год рождения;

- номер группы;

- оценки за семестр: по физике, математике, информатике, химии;

- средний балл.

Организовать ввод исходных данных, средний балл рассчитать по введенным оценкам.

Содержимое всего файла и результаты решения индивидувльного задания записать в текстовый файл.

1. Распечатать анкетные данные студентов, сдавших сессию на 8, 9 и 10.

2. Распечатать анкетные данные студентов-отличников, фамилии которых начинаются с интересующей вас буквы.

3. Распечатать анкетные данные студентов-отличников из интересующей вас группы.

4. Распечатать анкетные данные студентов, фамилии которых начинаются с буквы А, и сдавших математику на 8 или 9.

5. Распечатать анкетные данные студентов, имеющих оценки 4 или 5 по физике и оценку больше 8 по остальным предметам.

6. Распечатать анкетные данные студентов интересующей вас группы. Фамилии студентов начинаются с букв В, Г и Д.

7. Распечатать анкетные данные студентов, не имеющих оценок меньше 4 по информатике и математике.

8. Вычислить общий средний балл всех студентов и распечатать список студентов со средним баллом выше общего среднего балла.

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

10. Распечатать анкетные данные студентов интересующей вас группы, имеющих неудовлетворительную оценку (меньше 4).

11. Распечатать анкетные данные студентов интересующей вас группы, имеющих оценку 9 или 10 по информатике.

12. Распечатать анкетные данные студентов, имеющих оценки 7 или 8 по физике и оценки 9 или 10 по высшей математике.

13. Вычислить общий средний балл студентов интересующей вас группы и распечатать список студентов этой группы, имеющих средний балл выше общего.

14. Распечатать анкетные данные студентов-отличников интересующей вас группы.

15. Распечатать анкетные данные студентов интересующей вас группы, имеющих средний балл выше введенного с клавиатуры.

16. Распечатать анкетные данные студентов интересующей вас группы, имеющих оценку 8 по физике и оценку 9 по высшей математике.

9. Построение графиков функций

Цель работы: изучить некоторые возможности построения графиков функций с помощью компонент Сhart и Image; научиться работать с графическими объектами; написать и отладить программу с использованием функций отображения графической информации.

9.1 Краткие теоретические сведения

Построение графиков с помощью компоненты Chart

Обычно результаты расчетов представляются в виде графиков и диаграмм. Система Builder имеет мощный пакет стандартных программ вывода на экран и редактирования графической информации, который реализуется с помощью компоненты Chart, находящейся на панеле компонет Additional - .

Построение графика (диаграммы) производится по вычисленным значениям координат точек х и y = f(x), которые с помощью метода AddXY передаются в специальный двухмерный массив Series[k] компоненты Сhart (k = 0,1,2,... - номер используемого графика).

Компонента Chart строит и размечает оси, рисует координатную сетку, подписывает название осей и самого графика, отображает переданные точки в виде графиков или диаграмм.

Установив компоненту Chart1 на форму, для изменения ее параметров двойным щелчком кнопкой мыши вызываем окно редактирования EditingChat1 (рис. 9.1). Для создания Series1 нажимаем кнопку Add на странице Series.

Рис. 9.1

В появившемся после этого окне TeeChart Gallery выбираем пиктограмму с надписью Line (график выводится в виде линий). Если нет необходимости представления графика в трехмерном виде, отключается независимый переключатель 3D. Для изменения названия нажимаем кнопку Title. Название графика вводится на странице Titles.

Данные по оси X автоматически сортируются, поэтому, если необходимо нарисовать, например, окружность, сортировку отключают функцией Order: Chart1->Series[0]->XValues->Order = loNone.

Нажимая различные кнопки меню, познакомьтесь с другими возможностями редактора EditingChat.

Использование класса Сanvas

Для рисования используется класс типа TСanvas, который является не самостоятельной компонентой, а свойством многих компонент, таких как Image, PaintBox, и представляет собой холст (контекст GDI в Windows) с набором инструментов для рисования. Каждая точка холста имеет свои координаты. Начало осей координат располагается в верхнем левом углу холста. Данные по оси Х увеличиваются слева направо, а по оси Y сверху вниз.

Компонента Image находится на странице Additional, а PaintBox - System.

Основные свойства класса Canvas:

Pen - перо (определяет параметры линий),

Brush - кисть (определяет фон и заполнение замкнутых фигур),

Font - шрифт (определяет параметры шрифта).

Некоторые методы класса Canvas:

Ellipse(х1,у1, х2,у2) - чертит эллипс в охватывающем прямоугольнике (х1, у1), (х2, у2) и заполняет внутреннее пространство эллипса текущей кистью;

MoveTo(х,y) - перемещает карандаш в положение (х,y);

LineTo(х,y) - чертит линию от текущего положения пера до точки (х,y);

Rectangle(х1,у1, х2,у2) - вычерчивает и заполняет прямоугольник (х1,у1), (х2, у2). Для вычерчивания без заполнения используйте FrameRect или Polyline;

Polygon(const TPoint* Points, const int Points_Size) - вычерчивает многоугольник по точкам, заданным в массиве Роints размера Points_Size. Конечная точка соединяется с начальной и многоугольник заполняется текущей кистью. Для вычерчивания без заполнения используется метод Polyline.

TextOut(х, у, const AnsiString Text) - выводит строку Техt так, чтобы левый верхний угол прямоугольника, охватывающего текст, располагался в точке (х, у).

9.2 Пример создания оконного приложения

Написать программу отображения графика выбранной функции с помощью компонент Сhart и Image.

Настройка формы

Панель диалога программы с получеными результатами представлена на рис. 9.2.

Рис. 9.2

Текст программы, реализующий поставленную задачу, может иметь следующий вид:

. . .

//---------------------------------------------------------------------------

double a,b,h,y_min,y_max;

int n;

typedef double (*Tfun)(double);

Tfun f;

double fun0(double);

double fun1(double);

double fun2(double);

//----------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Edit1->Text="-3,1416"; // a

Edit2->Text="3,1416"; // b

Edit3->Text="50"; // n

RadioGroup1->ItemIndex = 0;

}

//----------------- Задать начальные значения ------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

double x, r;

a=StrToFloat(Edit1->Text);

b=StrToFloat(Edit2->Text);

n=StrToInt(Edit3->Text);

h = (b-a)/n;

switch(RadioGroup1->ItemIndex) {

case 0: f = fun0; break;

case 1: f = fun1; break;

case 2: f = fun2; break;

}

y_min = y_max = f(a);

for (x = a+h; x<=b; x+=h) {

r = f(x);

if(y_min>r) y_min = r;

if(y_max<r) y_max = r;

}

}

//------------------------ Построить график в Chart ----------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Chart1->Series[0]->Clear(); // Очистка графика

for(double x=a; x<=b; x+=h)

Chart1->Series[0]->AddXY(x,f(x));

}

//--------------------- Копировать в буфер ----------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Chart1->CopyToClipboardMetafile(True);

}

//--------------------- Построить график в Image ---------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

int xmax, ymax, xt, yt, y0, x0;

double hx,hy,x;

Image1->Canvas->Pen->Color=clBlack; // Установка цвета пера

// Поиск координат правого нижнего угла холста Image

xmax = Image1->Width; ymax = Image1->Height;

// Закрашивание холста Image текущей белой кистью

Image1->Canvas->Rectangle(0,0,xmax,ymax);

// Поиск середины холста

y0=ymax/2; x0=xmax/2;

// Вычерчивание координатных линий

Image1->Canvas->MoveTo(0,y0);

Image1->Canvas->LineTo(xmax,y0);

Image1->Canvas->MoveTo(x0,0);

Image1->Canvas->LineTo(x0,ymax);

Image1->Canvas->Pen->Color=clRed; // Установка цвета пера

Image1->Canvas->Pen->Width=2; // Установка ширины пера

// Поиск шагов по х и у с масштабированием

hx=(b-a)/xmax; hy=(y_max-y_min)/ymax;

Image1->Canvas->MoveTo(ceil(x0+a/hx),ceil(y0-f(a)/hy));

for(x=a; x<=b; x+=h)

Image1->Canvas->LineTo(ceil(x0+x/hx),ceil(y0-f(x)/hy));

}

//------------------------------------------------------------

double fun0(double r) {

return sin(r);

}

double fun1(double r) {

return r*r;

}

double fun2(double r) {

return r*r*r;

}

9.3 Индивидуальные задания

Написать программу вывода графиков функции (лабораторная работа №3) Y(x) и ее разложения в ряд S(x) для аргумента x, изменяющегося от a до b с шагом h (вводятся с клавиатуры) с использованием компоненты Сhart и графика функции Y(x) с использованием компоненты Image.

Приложения

Приложение 1

Операции и основные математические функции

1. Операции приведены в порядке убывания приоритета, операции с разными приоритетами разделены чертой.

Операция

Краткое описание

Использование

Выполне-ние

Первичные (унарные) операции

.

Доступ к члену

объект . член

Слева

направо

->

Доступ по указателю

указатель -> член

[ ]

Индексирование

переменная [выражение]

( )

Вызов функции

ID(список)

Унарные операции

++

Постфиксный инкремент

lvalue++

Справа

налево

--

Постфиксный декремент

lvalue--

sizeof

Размер объекта (типа)

sizeof(ID или тип)

++

Префиксный инкремент

++lvalue

--

Префиксный декремент

--lvalue

~

Побитовое НЕ

~выражение

!

Логическое НЕ

!выражение

- (+)

Унарный минус (плюс)

- (+)выражение

*

Разадресация указателя

*выражение

&

Адрес

&выражение

()

Приведение типа

(тип)выражение

Бинарные и тернарная операции

*

Умножение

выражение * выражение

Слева

направо

/

Деление

выражение / выражение

%

Получение остатка

выражение % выражение

+ ( - )

Сложение (вычитание)

выражение + (-) выражение

<<

Сдвиг влево

выражение << выражение

>>

Сдвиг вправо

выражение >> выражение

<

Меньше

выражение < выражение

<=

Меньше или равно

выражение <= выражение

>

Больше

выражение > выражение

>=

Больше или равно

выражение >= выражение

==

Равно

выражение == выражение

!=

Не равно

выражение != выражение

&

Побитовое И

выражение & выражение

^

Побитовое исключ. ИЛИ

выражение ^ выражение

|

Побитовое ИЛИ

выражение | выражение

&&

Логическое И

выражение && выражение

||

Логическое ИЛИ

выражение || выражение

Операция

Краткое описание

Использование

Выполне-ние

?:

Условная операция (тернарная)

выражение ? выражение : выражение

Справа

налево

=

Присваивание

lvalue = выражение

*=

Умножение с присваиванием

lvalue *= выражение

/=

Деление с присваиванием

lvalue /= выражение

%=

Остаток от деления с присв-м

lvalue %= выражение

+=

Сложение с присваиванием

lvalue += выражение

- =

Вычитание с присваиванием

lvalue -= выражение

<<=

Сдвиг влево с присваиванием

lvalue <<= выражение

>>=

Сдвиг вправо с присваиванием

lvalue >>= выражение

&=

Поразрядное И с присваив-м

lvalue &= выражение

|=

Поразрядное ИЛИ с присв-м

lvalue |= выражение

^=

Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ с присваиванием

lvalue ^= выражение

,

Последовательное вычисление

выражение, выражение

Слева направо

Стандартные математические функции

Для использования математических функций необходимо подключить файл math.h. Параметры и возвращаемые результаты большинства математических функций имеют тип double.

Аргументы тригонометрических функций задаются в радианах. Напомним, что 2 (рад) равно 360о (град).

Математическая функция

ID функции

Математическая

функция

ID функции

sqrt(x)

arcsin(x)

asin(x)

|x|

fabs(x)

arctg(x)

atan(x)

ex

exp(x)

arctg(x/y)

atan2(x,y)

xy

pow(x, y)

sh Синус гиперболический, а в следующей строке - косинус гиперболический.(x)=1/2 (ex-e-x)

sinh(x)

ln(x)

log(x)

ch(x)=1/2 (ex+e-x)

cosh(x)

lg10(x)

log10(x)

tgh(x)

tanh(x)

sin(x)

sin(x)

Остаток от деления x на y

fmod(x,y)

cos(x)

cos(x)

Округление к большему

ceil(x)

tg(x)

tan(x)

Округление к меньшему

floor(x)

Приложение 2

Описание общих структур файлов проекта

До тех пор пока вы не научились основным действиям, необходимым для изменения настроек и свойств элементов, входящих в проект, советуем не изменять имен файлов и других элементов, присвоенных им автоматически.

Внимание! Не изменять и не удалять, уже имеющиеся в указанных файлах тексты.

Общая структура файла текста программы Unit*.cpp

// Директивы препроцессора

#include <vcl.h> // Подключение файла библиотеки VCL

#pragma hdrstop // Установки компилятора

#include "Unit1.h" // Подключение заголовочного файла

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1; // Объявление объекта формы

//--------------------------- Вызов конструктора формы --------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

// Описания глобальных объектов Пользователя

// Набор функций-обработчиков, использующихся в проекте

Структура заголовочного файла Unit*.h

// Директивы препроцессора

#ifndef Unit1H

#define Unit1H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

// Объявление класса формы

class TForm1 : public TForm

{

Окончание прил. 2

// Компоненты, размещенные на форме

__published:// IDE-managed Components

TLabel *Label1;

TEdit *Edit1;

TMemo *Memo1;

TButton *Button1;

private: // User declarations

// Объявления функций, типов переменных, доступных только в данном модуле

public: // User declarations

// Объявления функций, типов и переменных, доступных в проекте

__fastcall TForm1(TComponent* Owner);

};

extern PACKAGE TForm1 *Form1;

// Объявления элементов, которые не включаются в данный класс

#endif

Общая структура файла проекта Project*.cpp

// Директивы препроцессора

#include <vcl.h>

#pragma hdrstop

/* - директива #pragma служит для установки параметров компилятора. Эти установки могут быть определены и другим способом, - используя диалог Project Options. */

// Подключение файлов форм и файлов ресурсов

USEFORM("Unit1.cpp", Form1);

USEFORM("Unit2.cpp", Form2);

// Главная программа

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

// Инициализация

Application->Initialize();

// Создание объектов форм

Application->CreateForm(__classid(TForm1), &Form1);

Application->CreateForm(__classid(TForm2), &Form2);

// Выполнение программы

Application->Run();

}

Литература

1. Березин, Б. И. Начальный курс С и С++ / Б. И. Березин, С. Б. Березин. - М.: Диалог - МРТИ, 1999.

2. Демидович, Е. М. Основы алгоритмизации и программирования. Язык СИ / Е. М. Демидович. - Минск : Бестпринт, 2001.

3. Керниган, Б. Язык программирования СИ / Б. Керниган, Д. Ритчи. - М.: Финансы и статистика, 1992.

4. Касаткин, А. И. Профессиональное программирование на языке СИ: от Турбо-С до Borland С++ / А. И. Касаткин, А.Н. Вольвачев: Справочное пособие. Минск : Выш. шк., 1992.

5. Страуструп, Б. Язык программирования C++ / Б. Страуструп: 2-е изд.: В 2 т. - Киев: ДиаСофт, 1993.

6. Больски, М. Н. Язык программирования СИ / М. Н. Больски: Справочник. - М.: Радио и связь. 1988.

7. Архангельский, А. Я. Программирование в С++ Builder 6 / А. Я. Архангельский. - М.: ЗАО “Издательство БИНОМ”, 2002.

8. Юлин, В. А. Приглашение к СИ / В. А. Юлин, И. Р. Булатова. - Минск : Высш.шк., 1990.

9. Шилд, Г. Программирование на Borland С++ / Г. Шилд. - Минск : ПОПУРРИ, 1999.

10. Тимофеев, В. В. Программирование в среде С++ Builder 5 / В. В. Тимофеев. - М.: БИНОМ, 2000.

Св. план 2004, поз. 40

Бусько Виталий Леонидович,

Карцев Виктор Тимофеевич,

Кривоносова Татьяна Михайловна,

Навроцкий Анатолий Александрович

Основы программирования в среде C++ Builder

Лабораторный практикум по курсу

«Основы алгоритмизации и программирования»

для студентов 1 - 2-го курсов БГУИР

В 2-х частях

Часть 1

Редактор Е. Н. Батурчик

Подписано в печать. Формат 60x84 1/16 Бумага офсетная.

Печать ризографическая. Гарнитура «Times» Усл. печ. л.

Уч. изд. л. Тираж 500 экз. Заказ

____________________________________________________________________________

Издатель и полиграфическое исполнение:

Учреждение образования

«Белорусский государственный университет информатики и радиоэлектроники»

Лицензия ЛП №156 от 05.02.2001.

Лицензия ЛП №509 от 03.08.2001.

220013, Минск, П. Бровки, 6

Размещено на Allbest.ru


Подобные документы

  • Разработка приложения "Ведомость начисления заработной платы" в среде программирования C++Builder. Алгоритм и сценарий работы программы. Проектирование интерфейса пользователя. Написание программных модулей и результаты тестирования данной программы.

    курсовая работа [597,4 K], добавлен 31.01.2016

  • Визуальное проектирование и событийное программирование. Повышение производительности программиста при использовании RAD-систем. Составление алгоритмов, разработка приложения для решения прикладных задач на примере консольных приложений C++ Builder 6.

    курсовая работа [258,7 K], добавлен 30.10.2013

  • Организация файлов и доступ к ним. Файловые операции. Программирование с использованием встроенных функций ввода-вывода; линейных, разветвляющихся и циклических вычислительных процессов с использованием If-else, оператора выбора Case; массивов и матриц.

    курсовая работа [5,8 M], добавлен 24.05.2014

  • Основные операции над матрицами. Формирование матрицы из файла. Ввод матрицы с клавиатуры. Заполнение матрицы случайными числами. Способы формирования двухмерных массивов в среде программирования С++. Произведение определенных элементов матрицы.

    курсовая работа [537,0 K], добавлен 02.06.2015

  • Понятие массива и правила описания массивов в программах на языке С. Рассмотрение основных алгоритмов обработки одномерных массивов. Примеры программ на языке С для всех рассмотренных алгоритмов. Примеры решения задач по обработке одномерных массивов.

    учебное пособие [1,1 M], добавлен 22.02.2011

  • Основные типы циклов программирования. Методы применения специальных функций break, continue и цикла while. Обработка массивов информации. Условия применения циклических алгоритмов на языке программирования С++. Инициализация одномерного массива.

    курсовая работа [1,7 M], добавлен 06.01.2014

  • Разработка и реализация типовых алгоритмов обработки одномерных массивов на языке Delphi. Максимальный и минимальный элемент массива. Значение и расположение элементов массива. Элементы массива, находящиеся перед максимальным или минимальным элементом.

    лабораторная работа [12,8 K], добавлен 02.12.2014

  • Ознакомление с особенностями программной реализации алгоритмов преобразования одномерных массивов. Исследование развития вычислительной техники, которое подразумевает использование компьютерных и информационных технологий. Изучение интерфейса программы.

    курсовая работа [1,0 M], добавлен 02.06.2017

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

    учебное пособие [1,5 M], добавлен 10.12.2010

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

    курсовая работа [1,1 M], добавлен 24.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.