- •Самарский государственный технический университет
- •Утверждено на заседании кафедры электротехники, информатики и компьютерных технологий 29.11.02.
- •For (инициализация; условие; модификация) операторы
- •Инкремент, декремент и составные операции присваивания
- •Составные операции присваивания
- •Порядок выполнения работы
- •Задание на выполнение лабораторной работы
- •Примеры составления прогамм
- •Листинг программы
- •Результат выполнения программы
- •Листинг программы
- •Результат выполнения программы
- •Содержание отчета
- •Контрольные вопросы
- •Библиографический список
- •Приложение Математические функции
- •Типы данных
Результат выполнения программы
Задайте точность вычислений 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
Содержание отчета
Номер, название и цель лабораторной работы.
Задание на выполнение работы (исходная задача).
Словесно-формульный алгоритм решения задачи.
Блок-схема алгоритма.
Листинг отлаженной программы и результаты решения задачи.
Контрольные вопросы
Из каких операций в общем случае состоит циклический вычислительный процесс?
Охарактеризуйте операторы while и do…while?
Зарисуйте блок-схему оператора for и поясните правила записи выражений в его заголовке.
Что подразумевается под операциями инициализация и модификация?
Поясните по блок-схемам принципы действия операторов с предусловием и постусловием.
Поясните сущность процесса зацикливания.
С помощью каких операторов можно выйти из цикла при возникновении зацикливания? Дайте им характеристику.
В чем заключается сущность префиксных и постпрефиксных операций инкремента и декремента? Приведите примеры.
Какие составные операции присваивания Вы знаете? Приведите примеры.
В каких случаях можно применять операцию множественного присваивания?
Что такое вложенные циклы и какие требования к ним предъявляются?
Как преобразовать цикл for в цикл while и наоборот?
Библиографический список
Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2001 – 464 с.:ил., с. 44 ÷ 51.
Киммел П. и др. Borland C++5: Пер. с англ. – СПб.: БХВ – Петербург, 2001. – 976 с.: ил., с. 35 ÷ 56, 231 ÷ 237.
Подбельский В.В. Язык Си++: Учеб. пособие. – 4-е изд. – М.: Финансы и статистика, 1999. – 560 с.: ил., с. 31 ÷ 53, 96 ÷ 107.
Программирование на С++: Учебное пособие/Под ред. проф. А.Д. Хомоненко. – СПб.: КОРОНА принт, 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 |
, |
операция "запятая" |