Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Методические указания к лабораторным работам 1-2.pdf
Скачиваний:
114
Добавлен:
09.06.2015
Размер:
521.7 Кб
Скачать
Рисунок 15. Блок-схема алгоритма расчета значения функции y

блок-схему программы;

исходный код программы;

таблицу тестовых данных и ожидаемых результатов;

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

выводы.

6.4. Рекомендации по выполнению работы

6.4.1. Разработка алгоритма

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

Рассмотрим процесс составления алгоритма программы на следующем примере. Пусть дана функция y=f(a,b):

a + b, при a < 0

y = a , при a 0

b

В соответствии с постановкой задачи значения аргументов

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

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

40

проверку значения аргумента a. Если значение аргумента a меньше нуля, то функция y должна рассчитываться по

формуле y = a + b . В противном случае, функция y

будет рассчитываться по формуле y = a . b

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

Извлечение квадратного корня не может быть выполнено из отрицательного числа. Поэтому на ветви (1) (рисунок 15) требуется проверка того, что подкоренное значение является неотрицательным. Если проверка возвращает истинное значение, то программа рассчитывает значение y и выводит результат на экран (ветвь 1.1). В противном случае, на экран выводится сообщение об ошибке (ветвь 1.2).

На ветви (2) возможно возникновение ошибки в том случае, если значение аргумента b равно нулю (деление на ноль).

6.4.2. Подготовка тестовых данных

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

Таблица 14. Таблица тестовых данных

a

b

Ветвь

y

алгоритма

-4

8

1.1

2

-4

2

1.2

10

2

2.1

5

3

0

2.2

На основе блок-схемы алгоритма (рисунок 15) составим таблицу тестовых данных для нашей программы (таблица 14).

6.4.3. Реализация операций ввода-вывода

Для осуществления операций ввода-вывода в языке С++ используются специальные объекты cin и cout.

41

Объект cin обеспечивает ввод данных со стандартного устройства ввода (таковым по умолчанию является клавиатура). Чтобы ввести значение определенной переменной с клавиатуры, используйте следующую инструкцию:

cin >> имя_переменной;

Например:

double a; cin >> a;

Объект cout обеспечивает вывод данных в стандартное устройство вывода (таким устройством по умолчанию является экран компьютера). Чтобы вывести значение определенной переменной или заданную константу на экран, используйте следующую инструкцию:

cout << выводимое значение;

Например:

double y = 10+20;

cout << “Результат:\n”;

cout << “Y = ” << y << “\n”;

Объекты cin и cout реализованы в стандартной библиотеке С++ и объявлены в заголовочном файле iostream в специальном пространстве имен std. Для использования этих объектов необходимо подключить к программе файл iostream, используя директиву препроцессора #include:

#include <iostream>

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

using namespace std;

6.4.4. Выполнение математических расчетов

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

42

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

Математические функции реализованы в стандартной библиотеке С++ и определены в заголовочном файле math.h. Для использования данных функций необходимо подключить к программе файл math.h, используя директиву препроцессора #include:

#include <math.h>

Основные математические функции представлены в таблице 15:

Таблица 15. Математические функции

Функция

Описание

Предназначение

pow

double pow(double x,

Возведение

числа

x в

 

double y);

степень y

 

 

log

double log(double x);

Натуральный

логарифм

 

 

числа x

 

 

log10

double log10(double x);

Десятичный

логарифм

 

 

числа x

 

 

sqrt

double sqrt(double x);

Квадратный

корень

 

 

числа x

 

 

sin

double sin(double x);5

Синус числа x

 

cos

double cos(double x);

Косинус числа x

 

tan

double tan(double x);

Тангенс числа x

 

sinh

double sinh(double x);

Гиперболический

синус

 

 

числа x

 

 

cosh

double cosh(double x);

Гиперболический

 

 

 

косинус числа x

 

tanh

double tanh(double x);

Гиперболический

 

 

 

тангенс числа x

 

asin

double asin(double x);

Арксинус числа x

 

5 Углы в тригонометрических функциях указываются в радианах.

43