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

IT_04_11

.pdf
Скачиваний:
2
Добавлен:
29.02.2016
Размер:
332.43 Кб
Скачать

Министерство образования и науки Республики Беларусь БЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТ

Кафедра "ЭП и АПУ"

Э

П

А П У

Курс "ИНформатика"

Методические указания по лабораторной работе №4

Программирование базовых конструкций алгоритмов

для студентов очной формы обучения

г. Могилев 2011

 

2

УДК 004

Абабурко В.Н.,

 

Корнеев А.П.

Программирование базовых конструкций алгоритмов. Методические указания к лабораторной работе №4 по дисциплине «Вычислительная техника и программирование». Для студентов дневной формы обучения специальности 53-1 05 01 «Автоматизированные электроприводы».

Методические указания рассмотрены и одобрены на заседании

кафедры “Электропривод и АПУ” “31” августа 2011 г., протокол №1.

В.Н. Абабурко, А.П. Корнеев 2011.

БЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТ

3

1 Цель работы

Целью лабораторной работы является:

а) изучение базовых конструкций алгоритмов решения задач; б) получение практических навыков по программированию базовых структур

алгоритмов в интегрированной среде программирования Borland C++Builder на персональном компьютере, работающих в составе локальной сети.

2 Ход работы

2.1 Получение индивидуального задания к задаче №1

Необходимо получить вариант индивидуального задания к задаче №1 у преподавателя проводящего лабораторную работу. Исходные данные и само задание описаны в разделе 6 данных указаний. Пример индивидуального задания:

Составить блок-схему алгоритма и написать текст программы на языке программирования С++ решения задачи с условным переходом. Исходными данными для программы являются переменные A и B, значения которых вводятся с клавиатуры. В которой необходимо рассчитать значение искомой переменной D по одному из двух альтернативных выражений в зависимости от значения переменной условия C, значение которого необходимо предварительно вычислить согласно заданной формуле. Значения переменной условия C и переменной результата D должны выводиться на экран. Все переменные имеют вещественный тип данных.

Данные1

Данные

2

Переменная

Условие

Условие не

условия

выполняется

выполняется

 

 

 

A = 1.5

B=2.2

 

C=(A3-B)<0

D = B·A -C2

D=A·C-B2

2.2 Составление схемы алгоритма решения задачи №1

Разработать алгоритм программы с ветвлением по индивидуальному заданию.

Результатом выполнения этапа является схема алгоритма программы.

 

В схеме алгоритма задачи необходимо реализовать:

 

а) вывод на экране приглашения для ввода значений переменных;

 

б) ввести значение переменных исходных данных;

 

в) вычислить значение переменной-условия;

 

г) в зависимости от величины переменной-условия следует

передать

управление в программе для вычисления значения переменной-результата

по одному

из двух альтернативных выражений;

 

д) вывести на экран значения исходных данных и результатов расчета.

2.3 Регистрация и начало работы с компьютером в локальной сети

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

2.4 Запуск среды системы программирования Borland C++Builder

Система программирования запускается с помощью ярлыка Borland C++Builder

на рабочем

столе Windows или с помощью файлового менеджера, выполнив файл

bcb.exe в

каталоге

d:\Program Flies\Borland\CBuilder5\bin. Следует сразу

настроить

параметры

среды Borland C++, таким образом, чтобы сохранять и

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

2.5 Создание файла для записи исходного текста программы задачи №1

Следует загрузить среду C++Builder с помощью стартового меню или ярлыка на Рабочем столе. В случае успешного запуска на экране раскроется окно среды Borland C++Builder соответствующей версии. Рекомендуется сразу закрыть отображаемый шаблон нового Window-проекта используя раздел меню File/Close All.

4

Рисунок 2.1 – Среда разработчика С++Builder

Рекомендуется сразу закрыть автоматически развернутую форму и проект Windows приложения с помощью раздела File/Close All.

Для создания проекта консольного приложения в среде Borland C++Builder следует нажать кнопку New или выбрать раздел системного меню File/New. После этого на экране раскроется окно New Item, вид которого показан на рисунке 2.2. В окне следует выбрать пиктограмму (ярлык) Console Wizard для создания консольного приложения. При этом на экране распахнется окно мастера Console Wizard, вид которого показа на рисунке 2.3. Где следует переместить маркер в группе Source Type на позицию C++ (рисунок 2.4) для написания текста приложения в стиле классического языка ANSII C++.

Рисунок 2.2 – Окно выбора типа нового элемента New Item

Рисунок 2.3 – Окно выбора языка программирования приложения

5

После выполненных операций раскроется окно редактора cpp-модуля проекта консольного приложения, который будет включать несколько файлов. Текст программы записывается в файле-модуле с расширением .cpp, вид которого показан на рисунке

2.4.

Рисунок 2.4 - Вид окна редактора модуля консольного проекта Следует сразу сохранить модуль и весь проект консольного приложения в

отдельном подкаталоге внутри собственного каталога студента на жестком диске компьютера. Для этого используется кнопка Save All или раздел меню File/Save All. Переписывать проект на сетевой диск или флэш-драйв следует только по завершении работы со средой C++Builder с помощью файлового менеджера MS Windows Explorer или иного.

2.6 Подключение заголовочных файлов в программе задачи №1

Вначале программы следует подключить заголовочные файлы, в которых содержаться определенные программные ресурсы. Для организации ввода-вывода данных следует использовать файл iostream.h, для использования математических функций – math.h. Заголовочные файлы подключаются в начале программы с помощью конструкции

#include <имя h-файла>

 

 

 

Пример

 

 

 

#include <iostream.h>

// модуль потоков

консольного ввода-вывода

#include <math.h>

//

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

функции

#include <conio.h>

//

для приостановки закрытия экрана

2.7 Описание головной программы

Головная программа описывается внутри функции с именем main, которая возвращает код ошибки. Тело головной программы описывается внутри символов {}. Символы начала и конца тела рекомендуется располагать на отдельных строках. Текст заголовка функции и возврат кода выполнения генерируется средой программирования автоматически. Пример

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

{

return 0;

}

2.8 Объявления глобальных переменных программы

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

тип’ ‘переменная; Пример описания четырех действительных переменных float A, B, C, D;

6

2.9 Программная реализация ввода исходных данных

Ввод-вывод исходных данных в С++ рекомендуется выполнять с помощью операторов cin (ввод данных с потока ввода) и cout (вывод данных). Ввод данных с клавиатуры для консольных приложений рекомендуется выполнять в два приема:

1) сначала вывести на экран запрос на ввод данных с помощью cout, например cout << “\n А =”;

2) ввести данные переменной с клавиатуры с помощью потока cin, например cin >> A;

2.10 Расчет значения переменной условия

Расчет переменной условия выполняется с помощью оператора присваивания (=). В левой части которого записывается имя вычисляемой переменной, а в правой выражения расчета с учетом синтаксиса языка. Знак умножения в языке C++ (*) нужно ставить обязательно, в отличие от математической записи. Для возведения в степень следует использовать функция pow(основание,степень).

Пример расчета переменной D: C=pow(A,3)-B;

2.11 Программная реализация алгоритма ветвления

Условный переход в программе определяется с помощью оператора if. Структура условного оператора:

if (условие) оператор_утвердительного_выбора (ветвь_Да); else оператор_отрицательного_выбора (ветвь_Нет);

Пример расчета значений переменной E в зависимости от условия значения переменной D большей нуля.

if (C<0) D=B*A-pow(C,2); else D=A*C-pow(B,2);

2.12 Программная реализация вывода результатов

Вывод полученных значений переменных условия и помощью операторов cout. При выводе данных следует комментария с именем выводимой переменной, а затем Формат следующий

сout << “\n комментарий ” << переменная; Пример:

cout << "\nC=" << C;

результата производится с сначала записать строку отобразить ее значения.

cout << "\nD=" << D;

В конце операторной части главной функции main, перед оператором возврата кода успешного завершения return следует, вызвать функцию ожидания нажатия клавиши на клавиатуре getch.

getch();

2.13 Отладка и выполнение программы задачи №1

На

основе изложенного выше получен текст программы задачи №1

#include

<iostream.h>

// Подключение заголовочных файлов

#include

<math.h>

 

#include

<conio.h>

 

#pragma hdrstop

 

#pragma argsused

 

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

{ float A, B, C, D;

// Описание переменных

cout << "\nA=";

// Вывод запроса на ввод переменной А

cin >>

A;

// Ввод с клавиатуры переменной А

cout << "\nB=";

// Вывод запроса на ввод переменной А

cin >>

B;

// Ввод с клавиатуры переменной B

C = pow(A,3)-B;

// Расчет переменной С

 

7

 

if (C<0)

// Условие ветвления

 

D=B*A-pow(C,2);

// Расчет при выполнении условия

else D=C*A-pow(B,2);

// Расчет при не выполнении условия

cout << "\nC = " << C;

// Вывод переменной

условия С

cout << "\nD = "<<D;

// Вывод переменной результата

getch();

// Приостановка

закрытия окна

return 0;

// Возврат кода

завершения программы

}//---------------------------------------------------------------------------

Для поиска ошибок в программе производится компиляция программы нажатием клавиш <Alt> + <F9>. Если ошибки обнаружены, то необходимо их устранить. Запуск программы на выполнение производится нажатием клавиш <Ctrl>+<F9>. ввод нескольких значений исходных данных следует производить набором в командной строке через пробел и нажатием в конце <Enter>.

Для поиска ошибок в программе производится компиляция программы нажатием клавиши F9 или кнопки Run. Если ошибки обнаружены, то необходимо их устранить. Окно редактора кода при этом имеет вид рисунка 2.5. Курсор переводится на строку, где обнаружена ошибка, а в низу окна появляется описание ошибки. Для получения дополнительной информации по ошибке следует нажать клавишу F1.

Рисунок 2.5 – Окно редактора при обнаружении ошибки

Запуск отлаженной программы на выполнение производится нажатием клавиш F9 или выбором раздела меню Run/Run. После этого на экране раскрывается окно консольного приложения. Ввод значений исходных данных следует производить набором в командной строке через пробел и нажатием в конце <Enter>.

2.14 Получение индивидуального задания к задаче №2

Необходимо получить номер варианта индивидуального задания на вторую задачу у преподавателя, проводящего лабораторную работу. Согласно номера варианта задания из таблицы 6.2 выписываются имена используемых переменных и расчетные выражения, а также значения исходных данных.

2.15 Составление схемы алгоритма решения задачи №2

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

1)вывод на экране приглашения для ввода значений переменных исходных данных задачи;

2)ввод значение переменных исходных данных с клавиатуры;

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

4)задание начального значения переменной аргумента;

5)организация цикла с предусловием (или постусловием) для переменной аргумента, которое должно быть меньше или равно конечному значению;

6)вычислить значение переменной функции для текущего значения переменной аргумента;

7)вывести на экран текущих значений переменных аргумента и значения

функции;

8

8)увеличить текущее значение переменной аргумента на величину шага изменения;

9)проверить условие выхода из цикла и если оно выполняется, то закончить программу, а в противном случае алгоритм решения возвращается на пункт (6).

Пример схемы алгоритма решения задачи №2 показан на рисунке 4.18.

2.16 Создание нового проекта для записи текста программы №2

Предварительно следует закрыть другие проекты с помощью раздела File/Close All. Для создания проекта консольного приложения в среде Borland C++Builder следует нажать кнопку New или выбрать раздел системного меню File/New. После этого на экране раскроется окно New Item, вид которого показан на рисунке 2.2. В окне следует выбрать пиктограмму (ярлык) Console Wizard для создания консольного приложения. При этом на экране распахнется окно мастера Console Wizard, вид которого показа на рисунке 2.3. Где следует переместить маркер в группе Source Type на позицию C++ (рисунок 2.4) для написания текста приложения в стиле классического языка ANSII C++.

2.17 Подключение заголовочных файлов

Для организации ввода-вывода данных следует использовать заголовочный файл iostream.h, для использования математических функций – math.h. Для подключения следует использовать директиву препроцессора #include <имя h-файла>

Пример

#include <iostream.h> #include <math.h> #include <conio.h>

2.18 Объявление головной программы

Текст головной программы среда C++Builder генерирует автоматически. Пример int main(int argc, char* argv[])

{

return 0;

}

2.19 Описание переменных программы

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

Пример

float

// Описание переменных программы

Xn,

// Начальное значение аргумента

Xk,

// Конечное значение аргумента

Hx,

// Шаг изменения значение аргумента

X,

// Текущее значение аргумента

Y;

// Текущее значение функции

2.20 Программирование ввода исходных данных

Ввод-вывод исходных данных в С++ рекомендуется выполнять с помощью операторов cin (ввод данных с потока ввода) и cout (вывод данных). Необходимо ввести с клавиатуры после соответствующих запросов переменные исходных данных. Например

cout << "\nXn=";

// Вывод запроса на ввод переменной Xn

cin >> Xn;

// Ввод с клавиатуры переменной Xn

cout << "\nXk=";

// Вывод запроса на ввод переменной Xk

cin >> Xk;

// Ввод с клавиатуры переменной

Xk

cout << "\nHx=";

// Вывод запроса на ввод переменной Hx

cin >> Hx;

// Ввод с клавиатуры переменной

Hx

9

2.21 Программная реализация разработанного циклического алгоритма

Составляется операторная часть программы с использованием операторов и процедур языка программирования C++ реализации схемы алгоритма решения задачи. При написании текста программы следует использовать комментарии для пояснения назначений операторов.

2.21.1 Инициализация начального значения аргумента

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

X = Xn;

// Инициализация переменной аргумента

2.21.2 Запись оператора цикла

В программе следует использовать цикл с предусловием while, где в качестве условия выполнения расчета указывается неравенство «текущий аргумент меньше конечного значения» , который имеет формат

while (условие_продолжения) { тело цикла

 

}

 

 

 

Пример

 

while

(X<=Xk)

// Цикл с условием

{

 

// Место для тела цикла

}

 

 

 

2.21.3 Расчет текущего значения функции

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

{Y = pow(X,3)+pow(X,2)+X+1; // Расчет функции для текущего аргумента

2.21.4 Вывод текущей точки на экран

Полученное значение функции и соответствующее ему значение аргумента выводятся на экран с помощью оператора cout. Пример

cout << "\nX = "<< X << " Y=" << Y; // Вывод точки результата

В конце операторной части главной функции main, перед оператором возврата кода успешного завершения return следует, вызвать функцию ожидания нажатия клавиши на клавиатуре getch.

getch();

2.21.5 Изменение аргумента

Для продолжения расчета функции слеует увеличить значение переменной аргумента на значение шага. Для этого используется оператор присваивания следующего формата

перменная_аргумента = переменная_аргумента + переменная_шага; Или сокращенная форма

перменная_аргумента += переменная_шага;

Пример выполнения

 

X += Hx;

// Переход на следующую точку аргумента

Далее следует закрыть тело цикла и тело операторной части функции main.

2.22 Отладка и выполнение программы №2

Для поиска ошибок в программе производится пошаговое выполнение программы с помощью клавиш F7 и F8. Если ошибки обнаружены, то необходимо их устранить. Запуск программы на выполнение производится нажатием клавиши <F9>. Ввод нескольких значений исходных данных следует производить набором в командной строке через пробел и нажатием в конце <Enter>. Пример текста программы:

#include <iostream.h>

// Подключение заголовочных файлов

#include <math.h>

 

#include <conio.h>

 

#pragma hdrstop

 

 

10

 

#pragma argsused

 

 

int main(int argc, char* argv[]) // головная функция программы

 

{ float Xn, Xk, Hx, X, Y;

// Описание переменных

 

cout << "\nXn=";

// Вывод запроса на ввод переменной

Xn

cin >> Xn;

// Ввод с клавиатуры переменной Xn

 

cout << "\nXk=";

// Вывод запроса на ввод переменной

Xk

cin >> Xk;

// Ввод с клавиатуры переменной

Xk

cout << "\nHx=";

// Вывод запроса на ввод переменной

Hx

cin >> Hx;

// Ввод с клавиатуры переменной

Hx

X = Xn;

// Инициализация переменной аргумента

 

while (X<=Xk)

// Цикл расчета точек функции

 

{Y = pow(X,3)+pow(X,2)+X+1; // Расчет функции для текущего аргумента

cout << "\nX = "<< X << " Y=" << Y; // Вывод точки результата

X

+= Hx;

// Переход на следующую точку аргумента

} //

конец while

 

getch(); return 0;

}//-----------------------------------------------------------------

2.23 Выход из интегрированной среды Borland C++Builder

Перед выходом из программы следует сохранить проект в свой рабочий каталог на персональном компьютере. Окончание работы с программой производится одновременным нажатием клавиш <Alt>+<F4>, выбором раздела File/Exit или нажатием кнопки «Закрыть» в заголовке окна.

После выхода из среды следует с помощью файлового менеджера удалить загрузочные и отладочные файлы проекта, которые имею расширения exe, obj, tds, а так же старые версии модулей (расширение которых начинается с символа ~).

2.24 Оформление отчета

Отчет оформляется согласно требованиям раздела 3 данных методических указаний. При этом следует вставить тексты программы для задач 1 и 2 в файл отчета вместе с рисунками схем алгоритмов.

2.25 Окончание сеанса работы с компьютером в локальной сети

При работе в Windows XP следует нажать кнопку «Пуск» и выбрать в стартовом меню раздел «Выход из системы» и подтвердить выход из сети нажатием кнопки «Да».

3 Содержание отчета

Отчет по лабораторной работе выполняется на листах формата А4 в соответствии с требованиями ГОСТ 2.105-95. В состав отчета входят:

а) титульный лист; б) текст индивидуального задания задачи №1;

в) блок схема алгоритма решения задачи №1; г) распечатка текста программы №1;

д) значения переменных исходных данных и результата расчета для задачи №1; е) текст индивидуального задания задачи №2; ж) блок схема алгоритма решения задачи №2; и) распечатка текста программы №2;

к) значения переменных исходных данных и результата расчета для задачи №2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]