Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

г. Нефтекумск

НРПК

Министерство образования Ставропольского края

ГОУ СПО «Нефтекумский региональный

политехнический колледж»

Практические работы по дисциплине

«С++ »

Часть 1

2009 г

. Практические работы по дисциплине «Программирование на языке С++»

Методические рекомендации составлены с учетом использования современных средств вычислительной техники.

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

Литература

Информатика. Базовый курс. СПб.: Питер, 2002 г

2.  Стивен Поттс, Монк. Воrland C++ в примерах. ― Минск: Попури, 1996 г

3.  Бруно Бабэе. Просто и ясно о Borland C++. ― М.: Бином, 1995 г

4.  , , . Программирование на С и С++. Практикум. ― М.: Радио и связь, 1997 г

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

//

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

//

void __fastcall TForm2::BitBtn1Click(TObject *Sender)

{

Form2->Visible=false;

}

//

Таблица 2. Результаты работы программы

Входное данное X

Ожидаемый результат

Результат работы программы

10

≈ 6,16

6,

- 3

Сообщение об ошибке

Сообщение "Х больше или равно 1 !!!"

Задание 2

Составить программу для расчета функции , ОДЗ х ≤ - 5 или х ≥ 3. Протестировать программу по методам эквивалентного разбиения на основе ОДЗ.

НЕ нашли? Не то? Что вы ищете?

Задание 3

Составить программу для расчета функции , ОДЗ x<-3 или х ≥ 2/3. Протестировать программу по методам эквивалентного разбиения на основе ОДЗ.

22

Рецензент , инженер-программист -Информ»

Учебное пособие позволяет студентам разобраться с системой программирования на языке С++, отработать навыки создания форм и редактирования командного кода.

Учебное пособие студенты могут использовать для самостоятельного изучения языка программирования С++.

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

3

Практическая работа 1

Структура программы. Типы данных

Цель: составить программу линейной структуры.

Порядок выполнения.

1.  Загрузить среду Borland C++Builder 6

2.  Создать новую программу (File /New).

3.  Набрать текст программы.

4.  Выполнить проверку синтаксиса и компиляцию программу (F9 или пункты меню Run\Run).

5.  Выполнить программу для двух наборов тестовых входных данных.

Задание 1

Даны вещественные числа a, b. Используйте директиву #define для нахождения наибольшего из двух чисел и вычислите значение С = max ( 2 а2 - 8а +7, b2 – 4)

Тестовые примеры

1. При а = 2, b = 3, C = max (2∙4-8∙2+7, 9-4) = (-1,5) = 5

2. При а = 7, b = -3, C = max (2∙49-8∙7+7, 9-4) = max (49, 5) = 49

Текст программы:

#define max(x, y) (x>y)?(x):(y)

{ double a, b, c;

a = Edit1->Text. ToDouble();

b = Edit2->Text. ToDouble();

c = max(2*a*a-8*a+7,b*b-4);

Edit3->Text=c;

}

4

Файл soob. h

//

#ifndef soobH

#define soobH

//

#include <Classes. hpp>

#include <Controls. hpp>

#include <StdCtrls. hpp>

#include <Forms. hpp>

#include <Buttons. hpp>

//

class TForm2 : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TBitBtn *BitBtn1;

void __fastcall BitBtn1Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TForm2(TComponent* Owner);

};

//

extern PACKAGE TForm2 *Form2;

//

#endif

Файл soob. cpp

//

#include <vcl. h>

#pragma hdrstop

#include "soob. h"

//

21

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//

void __fastcall TForm1::Button1Click(TObject *Sender)

{

float x, y;

//преобразование строки AnsiStirng в вещественное число

x=StrToFloat(Edit1->Text);

if (x>=1)

{ y=sqrt(x)+sqrt(x-1);

//преобразование вещественного числа в строку AnsiStirng

Edit2->Text=FloatToStr(y);

}

else

{ Form2->Visible=true; Edit2->Text=" Ошибка! "; }

}

//

void __fastcall TForm1::FormCreate(TObject *Sender)

{

}

//

Форма soob.

20

Результаты работы

Задание 2

Даны целые числа x, y. Рассчитайте значение D по формуле

D = x2 – у2

Задание 3

Составьте программу с директивой препроцессора define. Даны целые числа х, у и z, рассчитайте значение S по формуле

S = max (x+y+z/2,z) – max(y2,z2)

5

Задание 4

Составьте программу с директивой препроцессора define.

Даны целые числа а и b, рассчитайте значение P по формуле

Р=min(a+7b, 3a) + (a2 –b)min(3a-b, 22)

Задание 5

Составьте программу с директивой препроцессора define. Даны целые числа а и b, рассчитайте значение P по формуле

P=min((2a+b, 4(a2-b)) ∙ min(a-b, 22)

Практическая работа № 2

Условные операторы. Циклы

Цели: 

•  проверить навыки составления программ линейной структуры

•  составить программу содержащую циклы или условные операторы.

Порядок выполнения.

1.  Загрузить среду Borland C++Builder 6

2.  Создать новую программу (File /New).

3.  Создать новую форму

4.  Набрать текст программы.

5.  Выполнить проверку синтаксиса и компиляцию программу (F9 или пункты меню Run\Run)

6.  Выполнить программу для двух наборов тестовых входных данных.

6

#include <ExtCtrls. hpp>

#include <Graphics. hpp>

//

class TForm1 : public TForm

{

__published: // IDE-managed Components

TImage *Image1;

TLabel *Label1;

TLabel *Label2;

TEdit *Edit1;

TEdit *Edit2;

TButton *Button1;

void __fastcall Button1Click(TObject *Sender);

void __fastcall FormCreate(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TForm1(TComponent* Owner);

};

//

extern PACKAGE TForm1 *Form1;

//

#endif

Файл proba. cpp

//

#include <vcl. h>

#pragma hdrstop

#include "proba. h"

#include <math. h>

#include <stdlib. h>

#include "soob. h"

//-

19

т. к. результаты работы программы совпали с тестовыми примерами.

Задание.

Создать приложение для расчета функции , ОДЗ функции x ≥ 1

Программа состоит из двух форм.

Рисунок 1. Форма proba

Код формы proba.

Файл proba. h

//

#ifndef probaH

#define probaH

//

#include <Classes. hpp>

#include <Controls. hpp>

#include <StdCtrls. hpp>

#include <Forms. hpp>

18

Задание 1

Составить программу для расчета выражения: m = (log2x+logcy)/logc+2(x+y)

Примечание:

Для расчета logab используется формула: logab=lgb/lga В программе logab записывается в форме lg(b, a) и необходимо добавить библиотеки:

#include<iostream. h>

# include<iostream. h>

#include<math. h> и директиву

#define LG(b, a) log(b)/log(a)

Текст программы:

{

float x, y, c;

float z;

x = Edit1->Text. ToDouble();

y = Edit2->Text. ToDouble();

c = Edit3->Text. ToDouble();

z = (LG(x, 2) + LG(y, c)) / LG(x+y, c+2);

Edit4->Text = z;

}

Задание 2

Вычислить:

У =

Задание 3

Составить программу для начисления процентов по вкладу, в зависимости от категории вклада.

Если категория счета = 1, то начисляем 20%

7

если категория счета = 2, то 17,5%

в остальных случаях 10%

Задание 4

Найти сумму квадратных корней четных чисел в диапазоне от а до b.

Задание 5

Найти сумму кубов целых чисел в диапазоне от а до b.

Практическая работа 3

Функции. Использование локальных и глобальных переменных. Способы передачи данных

Цель: составить программу, содержащую функции.

Порядок выполнения

1.  Загрузить среду Borland C++Builder 6

2.  Создать новый файл.

3.  Создать новую форму

4.  Набрать программу.

5.  Выполнить проверку синтаксиса и компиляцию программу (F9 или пункты меню Run\Run)

6.  Выполнить программу для двух наборов тестовых входных данных

Задание 1.

Составить программу для вычисления значения функции

Z =

8

26.  Разместите на форме сообщение "Х больше или равно 1 !!!"

27.  Разместите на форме кнопку Ok. Для этого воспользуйтесь инструментом BitBtn. Установите в свойстве Kind значение BkOk. В событии OnClick укажите Form2->Visible=false;

28.  Уменьшите размер формы.

29.  Сохраните форму в Вашем каталоге под именем soob (File/Save as).

30.  Добавьте созданную форму в проект (Project/Add to Project), выберите Вашу форму и нажмите кнопку "Добавить".

31.  Пропишите форму, которая выдает сообщение в главной форме. Для этого добавьте в начало файла proba. cpp директиву препроцессора: #include "soob. h"

32.  Запустите форму на выполнение (Run/Run или комбинация клавиш Cntrl+F9).

33.  Рассчитаем тестовые примеры.

Пусть x=10

Пусть x = -3 тогда не существует

34.  Выполните программу, сравните полученные результаты с тестовыми значениями. Данные занесите в таблицу:

Таблица 1.

Входное данное X

Ожидаемый результат

Результат работы программы

10

≈ 6,16

6,

- 3

Сообщение об ошибке

Сообщение "Х больше или равно 1 !!!"

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

17

вид надписей по Вашему усмотрению (свойство +Font)

7.  Разместите на форме поле ввода (компонент TEdit). Этот компонент будет использован для ввода х. Очистите его свойство Text

8.  Разместите на форме второе поле ввода. Оно будет использовано для вывода y. Очистите его свойство Text. Установите в свойстве ReadOnly значение True. В свойстве Color установите значение ClBtnFace.

9.  Разместите на форме кнопку (компонент TButton). В свойство Caption впишите Вычислить. В событии OnClick укажите

10.  void __fastcall TForm1::BitBtn1Click(TObject *Sender)

11.  {

12.  float x, y;

13.   

14.  //преобразование строки AnsiStirng в вещественное число

15.  x=StrToFloat(Edit1->Text);

16.  if (x>=1)

17.  { y=sqrt(x)+sqrt(x-1);

18.  //преобразование вещественного числа в строку AnsiStirng

19.  Edit2->Text=FloatToStr(y);

20.  }

21.  else{ Form2->Visible=true; Edit2->Text=" Ошибка "; }

}

22.  Подключите библиотеки math. h и stdlib. h. Для этого добавьте в начало файла, отвечающего за форму, директивы препроцессора

23.  #include <math. h>

#include <stdlib. h>

Сохраните форму и проект в Вашем каталоге, для этого выберете File/Save All. Сначала укажите имя формы, пусть форма называется proba, а затем имя проекта (proba1).

25.  Создайте новую форму (File/New Form). Измените ее заголовок на "Внимание!"

16

Решение:

#include<math. h>

{

float x, y;

{

float z;

x=Edit1->Text. ToDouble();

y=Edit2->Text. ToDouble();

z=sqrt(x*x+y*y);

Edit3->Text=z;

}

}

Задание 2.

Даны вещественные числа а, в, с. Составьте программу для вычисления (а+в+с),

Задание 3.

а – сторона правильного треугольника. Составьте функцию, которая рассчитает площадь и периметр, если:

Задание 4

Даны два вещественных числа а, в, составьте функцию, которая помещает в а min(a, b) в b max(a, b)

Задание 5

а, в – катеты прямоугольного треугольника. Составьте функцию, которая рассчитывает периметр треугольника по формуле:

9

Практическая работа 4

Массивы и указатели

Цель: составить программу, использующую массивы.

Порядок выполнения

1.  Загрузить среду Borland C++Builder 6

2.  Создать новый файл.

3.  Создать новую форму

4.  Набрать текст программы.

5.  Выполнить проверку синтаксиса и компиляцию программу (F9 или пункты меню Run\Run)

Выполнить программу для двух наборов тестовых входных данных

Задание 1

Написать программу для расчета разности максимального и минимального элементов квадратной матрицы размера 3х3

Тестовые примеры.

1.  При n=3 и

А =

Максимальный элемент = 9, минимальный = 1

Разность максимального и минимального элементов = 8

Текст программы

#include <iostream. h>

#include<math. h>

//#define max(x, y) (x>y)? (x):(y)

10

3.Используйте автоматически созданную форму для формирования приложения:

4.Измените заголовок формы. Для этого в свойство Caption для формы впишите

Расчет функции: Вариант....

5.Разместите на форме рисунок формата bmp с надписью , для этого:

1.  откройте редактор Paint;

2.  нарисуйте рисунок, используйте светло-серый фон;

3.  сохраните в файле в Вашей папке, пусть имя файла (r1.bmp);

4.  закройте редактор Paint;

5.  разместите на форме компонент Image (расположен на вкладке Additional);

6.  укажите в свойстве Рicture Ваш файл r1.bmp (нажмите на кнопку Load, укажите Ваш файл, нажмите Ok)

6. Разместите на форме две надписи X= и Y=. Для создания надписи используйте компонент Label, текст надписи пишется в свойстве Caption. Измените внешний

15

Задание 2

Составьте схему программы

Вычислить:

У =

Задание 3

Составьте схему программы, которая содержит оператор while, для расчета суммы целых чисел в диапазоне от а до b.

Задание 4

Составьте схему программы, которая содержит оператор while, для расчета произведения целых чисел в диапазоне от а до b.

Задание 5

Составьте схему программы, которая содержит оператор while, для расчета произведения нечетных чисел в диапазоне от а до b.

Практическая работа № 6

Система визуального объектно-ориентированного программирования С++ Builder

Цель: создать приложение для расчета функции , ОДЗ функции x≥1.

Порядок выполнения

1.Создайте каталог для Вашего приложения.

2.  Запустите C++ Builder.

14

main()

{ int a[3][3];

double Maximum=0;

double Result;

//double maxAr=0;

a[0][0]=Edit1- >Text. ToDouble();

a[0][1]= Edit2- >Text. ToDouble();

a[0][2]= Edit3- >Text. ToDouble();

a[1][0]= Edit4- >Text. ToDouble();

a[1][1]= Edit5- >Text. ToDouble();

a[1][2]= Edit6- >Text. ToDouble();

a[2][0]= Edit7- >Text. ToDouble();

a[2][1]= Edit8- >Text. ToDouble();

a[2][2]= Edit9- >Text. ToDouble();

double Minimum=a[0][0];

for (int i=0; i<3; i++)

for (int j=0; j<3; j++)

{

Maximum = (a[i][j]>Maximum) ? a[i][j] : Maximum;

Minimum = (a[i][j] <Minimum) ? a[i][j] : Minimum;

}

Result=Maximum – Minimum;

Edit10- >Text =(double)Result;

}

Задание 2

Написать программу для увеличения каждого элемента квадратной матрицы размера 3х3 на 3.

Задание 3

Составить программу, в которой

- организовать ввод квадратной матрицы размера nxn из целых чисел;

- изменить элементы главной диагонали заменив их квадратами

11

Задание 4

Составить программу, в которой

- организовать ввод матрицы размера nxn из целых чисел;

- умножить элементы второй строки матрицы на значение минимального элемента матрицы

Задание 5

Составить программу, в которой

- организовать ввод матрицы размера nxn из целых чисел;

- вычесть из элементов первого столбца матрицы значение максимального элемента матрицы;

- переставить элементы первого столбца в обратном порядке.

Практическая работа 5

Условные обозначения для построения схем алгоритмов, программ, систем

Цель: составить схемы программы и данных.

Порядок выполнения.

1.  Составить схему программы.

2.  Составить схему данных.

Задание 1

Составьте схему программы, которая находит сумму квадратных корней четных чисел в диапазоне от a до b.

12

Рисунок 1

а, b - диапазон значений,

S - сумма квадратных корней

x - целое число в диапазоне от а до b

13