
- •Задачи к срезу по дисциплине «Конструирование программ и языки программирования»:
- •Вызов функции:
- •File *file;
- •Char s[50];
- •Fputs("My string",file);
- •Fclose(file);
- •Fgets(s,50,file);
- •Printf("String:%s", s);
- •Fclose(file);
- •Getch();
- •Понятие конструктора.
- •Правила построения конструкторов:
- •Class Parent {....}; class Child : [модификатор наследования] Parent {....};
Понятие конструктора.
Объясните правила построения конструкторов.
Составить программу решения задачи: Создать класс с данными: товар, количество, цена и методами: конструктор инициализации, вывод значений полей. Создать объект указанного класса, задав список инициализации, произвести вывод на экран информации о товаре с использованием метода вывода.
Конструктор – метод класса, который вызывается компилятором всегда, когда создается новый представитель класса. Обычное назначение конструктора заключается в инициализации элементов данных объекта.
Правила построения конструкторов:
Определяют конструктор внутри программы так же, как и любой метод класса.
Конструктор имеет то же имя, что и класс.
Для конструктора не объявляется тип возвращаемого значения.
Конструктор с параметрами используется для задания начальных значений переменных класса. Тогда при объявлении объекта можно передавать параметры конструктору: class_name object(valuel, value2, value3)
Если в классе не определен никакой конструктор, компилятор генерирует конструктор по умолчанию (не имеющий параметров).
Можно создать конструктор с параметрами по умолчанию. Если пользователь не указывает каких-либо параметров, конструктор будет использовать значения по умолчанию.
#include<iostream.h>
#include<string.h>
#include<conio.h>
class tovar
{
public:
char name[64];
float k;
float cena;
tovar(char *n, float kol, float price)
{
s
trcpy(name,n);
k=kol;
cena=price;
};
void show()
{
cout << "tovar:" << name << "," ;
cout << "kolichestvo:" << k << ",";
cout << "cena:" << cena;
}
};
main()
{
tovar t("Milk",10,5000);
t.show();
getch();
}
Понятие наследования.
Объясните механизм наследования.
Составить программу решения задачи: Создать производный класс на основе базового. Базовый класс включает информацию о производителе (наименование) и методы реализации ввода и вывода. Производный класс включает информацию о товаре: наименование товара, его производитель, и методы ввода и вывода сведения о товаре. Создать объект производного класса, произвести ввод и вывод на экран всех сведений о товаре с использование методов класса.
Наследование — один из важнейших механизмов объектно-ориентированного программирования, позволяющий описать новый класс на основе уже существующего, при этом свойства и функциональность родительского класса заимствуются новым классом.
Говорят, что один класс является базовым, а другой (который наследует первому) — производным. Еще их называют соответственно классом-предком и классом-потомком.
Новый класс строится на базе уже существующего с помощью конструкции следующего вида:
Class Parent {....}; class Child : [модификатор наследования] Parent {....};
Класс-потомок может добавить собственные методы и свойства, а также пользоваться родительскими методами и свойствами.
Модификатор наследования определяет видимость наследуемых переменных и методов для пользователей и возможных потомков самого класса-потомка:
public - поле/метод с таким модификатором доступно отовсюду (из самого класса, из его потомков, из глобальных функций).
private - доступно только из самого класса.
protected - доступно из самого класса и производных от него, но недоступно извне.
#include <iostream.h>
#include <conio.h>
class proizv
{
private:
char name[ 20 ];
public:
void get ()
{ cout << " Proizvoditel: ";
cin >> name; }
void put ()
{ cout << "\n Proizvoditel: " << name; }
};
class tovar : proizv
{
private:
char t[30];
public:
void getdata ()
{ cout << " Tovar: "; cin >> t;
proizv::get ( ); }
void putdata ()
{ cout << "\n Tovar: " << t;
proizv::put ( ); }
};
main ( )
{
tovar m;
m.getdata ( );
m.putdata ( );
getch();
}
Понятие перегрузки функций.
Объясните правила построения перегруженных функций.
Составить программу решения задачи: С помощью перегрузки функций организуйте вывод на экран: стандартной строки «Hello, World!» (без параметров) и одной символьной строки (один параметр).
Перегрузка функций это специальная техника, позволяющая создавать несколько функций с одинаковыми именами в одной области имен.
В процессе компиляции C++ принимает во внимание количество и тип аргументов, используемых каждой функцией, и затем вызывает именно требуемую функцию.
Обычно перегрузку используют в тех случаях, когда приходится выполнять однотипные действия с разными объектами или разными типами данных.
Правила:
• Для перегрузки функций просто нужно определить несколько функций с одним и тем же именем, которые отличаются количеством параметров или их типом.
#include <iostream.h>
#include <conio.h>
void show(void)
{
cout << "Hello, World! " << endl;
}
void show(char *s)
{
cout << s << endl;
}
void main()
{
char string[10];
show();
cout << "Input string:";
cin >> string;
show(string);
getch();
}
Структура приложения, разработанного в интегрированной среде C++Builder.
Опишите порядок разработки приложения
Составить
Windows-приложение
решения задачи: Вычислить значение
функции
.
Значения x, y ввести в поля ввода, результат
вывести на форму.
Для каждого приложения C++ Builder создается один файл проекта, один make-файл и один файл ресурсов. Если в процессе разработки приложения добавляются формы и модули, C++ Builder обновляет файл проекта.
Первым шагом в разработке приложения C++ Builder является создание проекта - пункт меню File/New Application. C++ Builder создает файл проекта с именем по умолчанию Project1.cpp, а также make-файл с именем по умолчанию Project1.mak.
Проект или приложение обычно имеют несколько форм. Добавление формы к
проекту создает следующие дополнительные файлы:
. Файл формы с расширением .DFM, содержащий информацию о ресурсах окон
для конструирования формы
. Файл модуля с расширением .CPP, содержащий код на C++.
. Заголовочный файл с расширением .H, содержащий описание класса формы.
Затем на форме размещаются необходимые компоненты и в окне инспектора объектов Object Inspector задаются их свойства.
Затем нужно добавить обработчик событий, для этого выбрать на форме компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть на колонке значений рядом с событием.
При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Далее нужно ввести код, который должен выполняться при наступлении события.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float x,y,z;
x=StrToFloat(Edit1->Text);
y=StrToFloat(Edit2->Text);
z=exp(x-sin(y))+sqrt(pow(x,2)+pow(y,4));
Label3->Caption="Результат z="+FloatToStr(z);
}
Назначение стандартных компонентов Label, Edit.
Опишите правила работы с ними.
Составить
Windows-приложение
решения задачи: Вычислить значение
функции
.
Исходные данные ввести в поле ввода,
результат вывести на форму в поле
надписи.
Label - используется для создания надписей на форме. Тип данных String.
Основные свойства:
Name – имя компонента
Caption – текст надписи
Color – цвет надписи
Font – шрифт надписи и др.
При использовании в качестве поля вывода программно:
Label3->Caption="c="+FloatToStr(c);
Edit – поле ввода. Тип данных String. Основные свойства:
Name – имя компонента
Text – текст поля
Font – шрифт текста и др.
Считывание информации из поля ввода:
a=StrToFloat(Edit1->Text);
Запись информации в поле ввода:
Edit1->Text = IntToStr(x);
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float a,b,c;
a=StrToFloat(Edit1->Text);
b=StrToFloat(Edit2->Text);
if (a<-5) c=b*a;
else if (a<10) c=sin(a)+b;
c=cos(a)*b;
Label3->Caption="c="+FloatToStr(c);
}
Назначение стандартных компонентов CheckBox, RadioButton.
Опишите правила работы с ними.
Составить
Windows-приложение
решения задачи: Ввести значения
произвольных вещественных переменных
a и b. Вычислить значение выражения
или
(выбор зависит от переключателя на
форме). Результат вывести в поле формы.
Назначение компонентов Button, BitBtn.
Опишите правила работы с ними.
Составить
Windows-приложение
решения задачи: Вычислить значение
функции
.
Исходные данные ввести в поле ввода,
вычисление и вывод результата по нажатию
кнопки.
Назначение компонента StringGrid.
Опишите правила работы с ними.
Составить Windows-приложение решения задачи: Дан массив размера 5 на 5. Ввести элементы массива в компоненте StringGrid с клавиатуры, вычислить сумму всех элементов, результат вывести на форму.
Назначение компонентов SaveDialog, OpenDialog.
Опишите правила работы с ними.
Составить Windows-приложение решения задачи: Создать приложение для создания текстовых документов в формате rtf. Разместите на нем компонент RichEdit и кнопки открытия и сохранения документа.
Понятие псевдонима базы данных.
Опишите порядок создания псевдонима.
Составить Windows-приложение для работы с базой данных, содержащей информацию о работниках: табельный номер, фамилия имя отчество, дата рождения и должность. В окне формы реализуйте просмотр содержимого базы данных в таблице. Для перемещения по записям таблицы используйте компонент DBNavigator.