Text: |
ФІО = Горбаченко В.А.
Запитання:// Лаба2. Вариант 5
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main(){
int nn,nk;
printf("Enter nn : "); // cout<<"Enter nn : ";
scanf("%i",&nn); // cin>>nn;
printf("Enter nk : "); // cout<<"Enter nk : ";
scanf("%i",&nk); // cin>>nk;
if ( !(0<=nn<=nk) ){ // Якщо не виконується умова 0<=nk<=nk
printf(" Ne vukonuetsa ymove 0<=nn<=nk. Vuhid. \\n"); // cout<<" Ne vukonuetsa ymove 0<=nn<=nk. Vuhid."<<endl;
system("PAUSE"); // затримка
exit(0);// виходимо
}
else
{
printf(" -> 0<=nn<=nk. 0k. \\n"); cout<<" -> 0<=nn<=nk. 0k. \\n";
}
float sum=0, ak=0; // створюємо дві змінні дійсного типу.
// ak - це значення самого виразу на кроці k (див знизу)
// sum - це наш "аккамулятор", тобто в цю змінну ми будемо приклюсовувати всі значення ak на проміжку [nn;nk]
for (int k=nn ; k<=nk ; k++) // створюємо цикл. прогонка выд nn по nk
// приймає три параметри. int k=nn -- яку змінну використовуємо і якому початковому значенню вона дорівнює
// k<=nk -- умова при якій виконується цикл
// k++ -- кроц, у даному випадку збільшується на одиницю
{
float temp; // тимчасова змінна, можна було б викорустовувати якісь там ??унарні?? операції... в конспекті не знайшов, а можна і так...
if ((k+1) % 2 == 0) // там є -1 в степені, то ми його одразу і порахуємо
temp=1; // якщо степінь парна - то 1
else
temp=-1; // якщо ні то -1
if (( temp*k*k+7) == 0 ){ // якщо знаменник дорівнює нулю, то не допускаємо помилки
printf("Error : Dilennya na nul pri k = %i !\\n",k); // виводимо повідомлення про помилку
ak=0;
}
else // якщо ділення на нуль в знаменнику не має
ak= ( k*k -1 )/( temp*k*k+7 );// рахуємо значення виразу на кроці k
sum+=ak;// плюсуємо до нашого "аккамулятора" значення ak на проці k
}
printf("Suma chislovogo ryada = %f",sum); // виводимо на екран суму цього ряду при вказаних початкових умовах
system("PAUSE"); // затримка
return 0; // вихід
}
====================================
|