Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Метода(c++)

.pdf
Скачиваний:
28
Добавлен:
04.06.2022
Размер:
1.77 Mб
Скачать

МИНОБРНАУКИ РОССИИ

______________________________________

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

______________________________________

Лабораторные работы по программированию в среде С++ Builder 6.0

Санкт-Петербург

2017

1

Авторы: Андреева О. М., Григорьев Е. Б., Маркелов О. А., Хачатурян А. Б. Лабораторные работы по программированию в среде С++ Builder 6.0: учебнометодическое пособие. СПбГЭТУ «ЛЭТИ», 2017. 77 с.

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

Предназначены для студентов бакалавриата, обучающихся по направлениям 11.03.01 "Радиотехника" и 11.03.02 "Инфокоммуникационные технологии и системы связи", а также студентов специалитета, обучающихся по специальности 11.05.01 "Радиоэлектронные системы и комплексы".

Одобрено Методической комиссией факультета радиотехники и телекоммуникаций

в качестве учебно-методического пособия

©СПбГЭТУ «ЛЭТИ», 2017

2

Введение

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

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

Каждое последующее упражнение или пример предполагает, что учащийся использует знания, полученные при выполнении предыдущих лабораторных работ или упражнений. В некоторых примерах и упражнениях авторами сознательно внесены ошибки в указаниях к выполняемым действиям. Нахождение подобных ошибок и самостоятельное их исправление является признаком достойной проработки излагаемого материла и приветствуется. В связи с этим крайне не рекомендуется пропускать теоретический материал: учащемуся следует сначала изучить теоретический фрагмент, и лишь после этого переходить к выполнению практической части.

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

Ряд лабораторных работ предполагает использование заранее подготовленных электронных материалов (файлов). В случае самостоятельного выполнения лабораторных работ вне учебной лаборатории для получения материалов-заготовок следует обратиться к преподавателю.

3

ЛАБОРАТОРНАЯ РАБОТА №1. ЗНАКОМСТВО СО СРЕДОЙ ПРОГРАММИРОВАНИЯ,

СОЗДАНИЕ КОНСОЛЬНОГО ПРИЛОЖЕНИЯ, ОРГАНИЗАЦИЯ ПРОСТЕЙШЕГО ВВОДА/ВЫВОДА, ЛИНЕЙНЫЙ ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС.

Цель работы: знакомство с интерфейсом среды программирования, составом проекта, этапами создания приложения. Освоение принципа создания консольного приложения; знакомство с операторами консольного ввода/вывода; программирование линейного вычислительного процесса.

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

I. Для создания консольного приложения в среде C++ Builder необходимо:

1.Запустить среду программирования или через главное меню

системы

(кнопка «Пуск») или двойным щелчком по ярлычку

на

рабочем

столе (если ярлычок есть).

 

2.Выполнить команды меню File New Other…

3.В появившемся окне выбрать значок (двойной щелчок или выделить и нажать кнопку ОК).

4.В появившемся окне, ничего не меняя, нажать кнопку ОК. Стандартный вид среды программирования C++ Builder 6.0 в этом

случае представлен на рис. 1. Часть возможностей среды при создании консольного приложения не используется, поэтому некоторые неиспользуемые в работе окна (например, Object TreeView на рис. 1) можно будет закрыть вручную.

II. Состав проекта.

Каждая программа в С++ Builder представляет собой так называемый проект.

Для каждого консольного проекта C++ Builder автоматически создает следующие файлы:

головной файл проекта (*.bpr)

текстовый файл проекта (*.cpp)

файл модуля проекта (*.cpp). ЕГО ИМЯ ДОЛЖНО ОТЛИЧАТЬСЯ ОТ ИМЕНИ ФАЙЛА ПРОЕКТА!!!!

двоичный файл ресурсов *.res.

4

Панель инструментов

 

 

Палитра компонентов

 

 

 

 

 

 

 

 

 

Редактор кода

Рис. 1. Возможный вид интерфейса среды программирования

В 99% случаев эти файлы не подлежат коррекции пользователем.

Однако, можно просмотреть головной

файл

проекта,

выполнив

Project View Source.

 

 

 

 

 

Каждый проект состоит из модулей. Каждый модуль содержит

исходный текст логического блока программы на языке C++ и

представляет собой файл с расширением *.срр. Для каждого модуля

среда C++ Builder автоматически создают еще

один

отдельный файл

с расширением *.h. Это так называемый

заголовочный файл модуля.

Как правило, все изменения в заголовочный файл и файл проекта

вносятся средой C++ Builder автоматически.

 

 

 

При создании нового консольного проекта один модуль создается

автоматически.

Остальные

модули

добавляются

по

желанию

пользователя в процессе работы над проектом.

 

 

 

Для создания нового проекта: File New Application.

Для открытия существующего проекта: File Open Project.

Для открытия существующего модуля: File Open….

 

Для сохранения файла модуля: File Save.

 

 

 

 

5

 

 

 

 

Для сохранения файла модуля с другим именем: File Save Аs….

Для сохранения головного файла проекта с другим именем или для сохранения вновь созданного головного файла проекта: File

Save Project As….

III. При создании нового консольного приложения в файле модуля находится минимальная программа, созданная мастером консольного приложения. Пользовательский код программы вводится как дополнение к этому минимальному коду.

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

Для консольного приложения выполнение программы начинается с первого оператора, находящегося в теле функции main. Из этой функции могут вызываться другие функции программы, которые могут находиться как в этом же, так и в других модулях. Завершается выполнение программы, как правило, в конце функции main по оператору return, хотя по разным причинам оно может завершаться и в других местах программы.

IV. Если функция описана в другом модуле, то, для ее использования модуль должен быть подключен к текущему модулю. Для подключения модуля используемся директива #include. Формат директивы:

#include <ИмяФАйла>

V. Для организации ввода/вывода информациии при работе с консольным приложением на лабораторных занятиях будут использоваться встроенные объекты ввода/вывода, описанные в модуле iostream.h (поставляется вместе со средой программирования). Соответственно, этот файл будет необходимо подключать к каждому создаваемому консольному приложению (см. п.

IV).

При подключении этого файла в программе автоматически создаются виртуальные каналы связи cin (читается как «си-ин») – для ввода с клавиатуры и cout (читается как «си-аут») - для вывода на экран, а также операции помещения в поток << и чтения из потока >>.

Формат команды для ввода значения переменной с клавиатуры:

6

cin >> ИмяПеременной;

Если необходимо ввести значения несколько переменных, допустимо многократно повторять вышеприведенную команду, или спользовать следующий формат команды ввода:

cin >> ИмяПеременной1> >> ИмяПеременной2 >> … >> ИмяПеременнойk; Формат команды для вывода текстовой информации на экран:

сout << «выводимая информация»;

выводимый текст должен быть заключен в кавычки!!!

Формат команды для вывода значения переменной на экран: cout << ИмяПеременной;

VI. Перед запуском приложения на исполнение автоматически производится его компиляция. Если процесс компиляции окончился благополучно, на диске появляется файл с расширением *.exe и именем, совпадающим с именем файла проекта, кроме того, автоматически управление передается на первый оператор в теле функции main и начинается выполнение программы. Для запуска

приложения используется кнопка или клавиша F9.

VII. Как правило, перед первым запуском на исполнение нового проекта необходимо сохранять как все его модули, так и сам проект. При последующих запусках сохранения не требуется, даже если в модулях были проведены какие-либо изменения. Напоминания о необходимости сохранить модуль в силу его изменений тоже отсутствуют, поэтому следует обязательно сохранять измененные модули самостоятельно.

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

1.Запустить среду Borland C++ Builder 6.0 и создать новый консольный проект

2.Открыть менеджер проекта, выполнив View Project Manager и просмотреть состав проекта.

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

4.Переключиться в файл модуля и просмотреть автоматически сгенерированные строки.

5.Переключиться в файл модуля и ввести код, представленный на рис. 2 (следите за тем, чтобы автоматически сгенерированные строки не

дублировались!): Сохранить модуль в папке своей группы с именем

UnitLab1.

7

//программа простейших вычислений

//служебные команды с++

#include <vcl.h> #pragma hdrstop #pragma argsused

//подключение библиотек

#include <iostreаm.h>

int main(int argc, char* argv[])

{

//объявление переменных

float a, b;// исходные данные float t; //рабочая переменная

//ввод исходных данных

cout << “Vvedite dannye dla arifmeti4eskih deystvij\n”; cout << “а=”; cin >> a;

cout << “b=”; cin >> b;

//расчет и вывод результата t=a+b;

cout << “a+b=” << t << endl;

t=a-b;

cout << “a−b=”; cout << t; cout “\n”;

t=a*b;

cout << “a*b=” << t << endl;

t=a/b;

cout << “a:b=” << t << endl;

cout << “Nagmite 0 dla vyhoda”; cin >> a;

return 0;

}

Рис. 2. Код модуля

8

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

UnitLab1.cpp.

7.Переключиться в среду С++ Builder 6.0 и просмотреть изменения в окне менеджера проекта.

8.Сохранить проект с именем ProjectLab1 в папке своей группы.

9.Просмотреть изменения в окне менеджера проекта.

10.Переключится в «Проводник» (или запустить его при необходимости) и

убедиться в появлении файлов ProjectLab1.bpr, ProjectLab1.bpf, ProjectLab1.res.

11.Вернуться в среду С++ Builder 6.0 и запустить проект (Run Run или клавиша F9 или кнопка на панели инструментов). Если ошибок нет, программа запуститься на выполнение. При наличии ошибок в наборе – устранить их и вновь выполнить п. 11.

12.Пронаблюдать выполнение программы, вводя различные исходные данные (для каждых новых исходных данных выполнять п. 11).

13.В блоке расчета и вывода результата убрать все символы «<< endl», запустить программу, просмотреть результат, сделать вывод о цели этих символов. Вернуть строки блока вывода результат в исходное состояние.

14.В блоке ввода исходных данных в строке cout << “Vvedite dannye dla arifmeti4eskih deystvij\n”; убрать символы «\n», запустить программу, просмотреть результат, сделать вывод о цели этих символов. Вернуть строку cout << “Vvedite dannye dla arifmeti4eskih deystvij\n”.

15.Сравнить способ вывода суммы и разности, выбрать наиболее удобный для себя.

16.Сохранить файл модуля.

Упражнение 2. Второе консольное приложение

1.Создать новый консольный проект.

2.В файле модуля набрать код, представленный на рис. 3 (следите за тем, чтобы автоматически сгенерированные строки не дублировались!).

3.Нарисовать схему алгоритма программы.

4.Сохранить проект с именем ProjectUpr2, а файл модуля с именем

UnitUpr2.

9

//программа вычисления высот треугольника со сторонами a, b, c //служебные команды с++

#include <vcl.h> #pragma hdrstop #pragma argsused

//подключение библиотек

#include <iostraem.h>

#include <math.h> //необходим для вычисления квадратного корня

int main(int argc, char* argv[])

{

//объявление переменных

float a, b, c;// исходные данные - стороны треугольника float p; // периметр треугольника

float t; //рабочая переменная

float ha, hb, hc //искомые высоты треугольника

//ввод исходных данных

cout << “Vvedite storony treugolnika\n”; cout << “а=”; cin >> a;

cout << “b=”; cin >> b; cout << “c=”; cin >> c;

//расчет p=(a+b+c)/2;

t=2*sqrt(p*(p-a)*(p-b)*(p-c))) ha=t/a; hb=t/b;

//вывод результатов

cout << “Resultat rasheta:”; cout << “hа=” << ha << endl; cout << “hb=” << hb << endl; cout << “hc=” << ha << endl; cout << “Nagmite 0 dla vyhoda” cin >> a;

return 0;

}

Рис. 3. Код модуля

10

Соседние файлы в предмете Информатика