Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3 С++.doc
Скачиваний:
2
Добавлен:
15.11.2019
Размер:
213.5 Кб
Скачать

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

Задайте точность вычислений eps=0.00001

Введите переменную x=0.9

y=0.64185 при x=0.9 eps=1e-05

Пример 2. Вычислить значение функции при n =8,

где a0=1, ha=1.2 – соответственно начальное значение и шаг изменения переменной а.

Листинг программы

//Пример_2

#include <iostream.h>

#include <math.h>

void main()

{

float a,a0,h; int n;

cout<<"Введите значение n"<<endl;

cout <<"n=";cin>>n;

cout<<"Введите начальное значение a0"<<endl;

cout<<"a0=";cin>>a0;

cout<<"Введите шаг h"<<endl;

cout <<"h=";cin>>h;

int k=1; double s=0; //Инициализация параметров цикла while

while (k<=n)

{

a=a0; //Задание начального значения a для цикла for

for (int m=0;m<=k;m++)

{

s+=k/(1+pow(a,m+k)); //Накопление суммы

a+=h; //Изменение параметра a на h

}

k++; //Постпрефиксный инкремент

}

cout<<"Сумма ряда s="<<s

<<"\n при a0="<<a0<<" h="<<h<<" n="<<n;

}

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

Введите значение n

n=8

Введите начальное значение a0

a0=1

Введите шаг h

h=1.2

Сумма ряда s=18.6548

при a0=1 h=1.2 n=8

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

  1. Номер, название и цель лабораторной работы.

  2. Задание на выполнение работы (исходная задача).

  3. Словесно-формульный алгоритм решения задачи.

  4. Блок-схема алгоритма.

  5. Листинг отлаженной программы и результаты решения задачи.

Контрольные вопросы

  1. Из каких операций в общем случае состоит циклический вычислительный процесс?

  2. Охарактеризуйте операторы while и do…while?

  3. Зарисуйте блок-схему оператора for и поясните правила записи выражений в его заголовке.

  4. Что подразумевается под операциями инициализация и модификация?

  5. Поясните по блок-схемам принципы действия операторов с предусловием и постусловием.

  6. Поясните сущность процесса зацикливания.

  7. С помощью каких операторов можно выйти из цикла при возникновении зацикливания? Дайте им характеристику.

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

  9. Какие составные операции присваивания Вы знаете? Приведите примеры.

  10. В каких случаях можно применять операцию множественного присваивания?

  11. Что такое вложенные циклы и какие требования к ним предъявляются?

  12. Как преобразовать цикл for в цикл while и наоборот?

Библиографический список

  1. Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2001 – 464 с.:ил., с. 44 ÷ 51.

  2. Киммел П. и др. Borland C++5: Пер. с англ. – СПб.: БХВ – Петербург, 2001. – 976 с.: ил., с. 35 ÷ 56, 231 ÷ 237.

  3. Подбельский В.В. Язык Си++: Учеб. пособие. – 4-е изд. – М.: Финансы и статистика, 1999. – 560 с.: ил., с. 31 ÷ 53, 96 ÷ 107.

  4. Программирование на С++: Учебное пособие/Под ред. проф. А.Д. Хомоненко. – СПб.: КОРОНА принт, 1999.- 256 с.: ил., с.33 ÷ 40.

Приложение Математические функции

Таблица 6

Функция

Краткое описание действий

abs(x)

int abs(int х) – возвращает абсолютное значения целого аргумента типа int

acos(x)

double acos(double x) – арккосинус при |x| ≤ 1

asin(x)

double asin(double x) – арксинус при |x| ≤ 1

atan(x)

double atan(double x) – арктангенс

atan2(y,x)

double atan2(double y, double x) - арктангенс от значения y/x

сos(x)

double cos(double x) – функция косинуса (аргумент задается в радианах )

exp(x)

double exp(double x) – возвращает значение ех

fabs(x)

double fabs(double x) – возвращает абсолютное значение аргумента типа double

labs(x)

long fabs(long x) – возвращает абсолютное значение аргумента типа long

log(x)

double log(double x) – возвращает значение натурального логарифма ln(x)

log10(x)

double log10(double x) – возвращает значение десятичного логарифма log(x)

pow(x,у)

double pow(double x, double y) – возвращает значение xy

pow10(p)

double pow10(int p) – возвращает значение 10р

sin(x)

double sin(double x) – функция синуса (аргумент задается в радианах)

sqrt(x)

double sqrt(double x) – возвращает положительное значение квадратного корня

tan(x)

double tan(double x) – функция тангенса (аргумент задается в радианах )

Таблица приоритетов операций

Таблица7

Приоритет

Знак операции

Действие

1

! + - ++ --

логическое НЕ, плюс, минус, инкремент, декремент

2

* /

умножение, деление

3

+ -

сложение, вычитание

4

< > <= >=

меньше, больше, меньше или равно, больше или равно

5

== !=

равно, не равно

6

&&

логическое И

7

||

логическое ИЛИ

8

? :

условная операция

9

= *= /= += -=

присваивание, арифметические операции с присваиванием

10

,

операция "запятая"