Программирование >>  Динамические структуры данных 

1 2 [ 3 ] 4 5 6 ... 38


7. При использовании стандартных функций или классов требуется с помощью директивы #inclucle подключить к программе соответствующие заголовочные файлы. Установить, какой именно файл необходим, можно с помощью справочной системы*.

8. Не смешивайте в одной прохрамме ввод/вывод с помощью классов (в стиле С++) и с помощью функций библиотеки (в стиле С).

9. Отдавайте предпочтение локальным переменным перед глобальными. Переменная должна иметь минимальную из возможных областей действия.

10. Данные при вводе разделяйте пробелами, символами перевода строки или табуляции.

Задания

Напишите программу для расчета по двум формулам. Предварительно подготовьте тестовые примеры по второй формуле с помощью калькулятора (результат вычисления по первой формуле должен совпадать со второй). Список математических функций библиотеки С++ приведен в Учебнике на с. 410. Для их использования необходимо подключить к программе заголовочный файл <niath. h>.

Вариант 1

Z, = 2 sin (Зл - 2а) cos (5л + 2а)

1 1 .

Z, =---sm

4 4

-л-8а 2

Вариант 2

Z, =cosa+sina+cos3a+sin3a =2-s/2cosa-sin

- + 2а 4

Вариант 3

sin 2а+sin 5а - sin За cosa+l-2sin 2а

Z, =

Z2 =2sina

Например, в VC или ВС для этого требуется установить курсор на имя функции и нажать F1 или CTRL-F1 соответственно.

Вариант 4

sin 2а+sin 5а - sin За

Z, -

cos а - cos За+cos 5а 2 =tg3a

Вариант 5

Z, =l--sin2a+cos2a 4

Zj =cosa+cosa

Вариант 6

z, = cos а+cos 2a+cos 6a+cos 7a

z, =4cos- cos-acos4a 2 2

Вариант 7

z, - cos

>/2 . a z, =-sm - 2 2

Вариант 8

fll a

-cos

-я+-

1 4j

z, =cosx+sin>+-sin2jc-l 4

Zj = sin(>+jc) sin(> - jc)

Вариант 9

z, = (cos a - cos P) - (sin a - sin a-6

Zj = -4 sin - cos(a+P)



Вариант 10

z, =

l-sin(3a-7t) 22 = ctg

Г5 3 1 4 2

Вариант 11

l-2sina

z, =

z, =

1 +sin 2a 1-tga

1 + tga

Вариант 12

z, =

sin 4a cos 2a

l+cos4a l + cos2a

22 = ctg

-л-а 2

Вариант 13

sina + cos(2p-a) cosa-sin(23-a)

l+sin2p cos2P

Вариант 14

z, =

cosa + sma cos a-sin a

Zj =tg2a + sec2a

Вариант 15

yl2b + 2ylb-4

л1ь-4+Ь + 2 1

z, =

л/б + 2

Вариант 16

jc42jc-3 + (x-H)Vx-9 jc-2x-3+(x-l)Vx-9

z, =

z, =

jc+3

Вариант 17

yli3m + 2f-24m

z, -

3yfm-jr=sr Z2 =-yfm

Вариант 18

z, =

a + 2 a 2 \ -Ja-ypj yf2a >j2a+2 a-yf2a J a + 2

z, =

лй+>/2

Вариант 19

z, =

l+a + a l-a+a + 2-

z, =

2a+fl2

2a-fl

(5-2a)

Вариант 20

z, =

yfm-Jn

z, =



СЕМИНАР 2

Разветвляющиеся программы. Циклы

Разветвляющиеся программы

Теоретический материал: с. 40-44.

В линейной программе все операторы выполняются последовательно, один за другим. Для того чтобы в зависимости от исходных данных обеспечить выполнение разных последовательностей операторов, применяются операторы ветвления if и switch. Оператор i f обеспечивает передачу управления на одну из двух ветвей вычислений, а оператор switch - на одну из произвольного числа ветвей. Рассмотрим сначала задачи с применением оператора if.

Задача 2.1. Вычисление значения функции, заданной графически

Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика (рис. 2.1).



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

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

О, х<-2

-х-2,-2<х<-1

У = \Х, -1 < JC < 1

-JC + 2, 1<х<2 О, х>2

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

1. Ввести значение аргумента х.

2. Определить, какому интервалу из области определения функции оно принадлежит.

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

4. Вывести значение у.

Детализировать этот алгоритм уже практически некуда, поэтому сразу же смело напишем первый вариант программы:

#include <iestream.h> int main(){ float X. y:

cout Введите значение аргумента endl: cin x:

-x - 2: x:

-x + 2: 0:

значение функции у = у endl:

if ( х < -2 ) у -

if ( X -2 && х < -1 ) у =-

if ( х >--:&& X < 1 ) у -

if ( X 1 && X < 2 ) у = if ( X >= 2 ) у =-

cout Для X = X return 0:

Рис. 2.1. Функция для задачи 2.1



1 2 [ 3 ] 4 5 6 ... 38

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика