Amaliy qism
#include
#include
using namespace std;
int main()
{
double Sum=0, y=8, z=2;
int i=1;
while (i>=7)
{
Sum=//твоя функция//;
Sum++;
i++;
}
cout<<"Сумма ряда = "<return 0;
}
#include
#include
using namespace std;
size_t factorial(size_t n){
size_t res = 1;
if( n > 1 )
res = n*factorial(n - 1);
return res;
}
int main(){
float y = 8;
float z = 2;
float S = 0;
float f = 0;
for( size_t i = 1; i <= 7; i++ ){
f = pow(factorial(i) + y, 1.0f / i);//sqrt[i](i! + y)
f = f - pow(z, i*1.0f);//f - z^i
S = S + f;
}
cout<<"S = "<return 0;
}
Topshiriqlar:
1.Qatorlar yig’indisini hisoblash algoritmini tuzing.
Javob
#include
using namespace std;
// Get the size m and n
#define m 4
#define n 4
// Function to calculate sum of each row
void row_sum(int arr[m][n])
{
int i,j,sum = 0;
cout << "\nFinding Sum of each row:\n\n";
// finding the row sum
for (i = 0; i < m; ++i) {
for (j = 0; j < n; ++j) {
// Add the element
sum = sum + arr[i][j];
}
// Print the row sum
cout
<< "Sum of the row "
<< i << " = " << sum
<< endl;
// Reset the sum
sum = 0;
}
}
// Function to calculate sum of each column
void column_sum(int arr[m][n])
{
int i,j,sum = 0;
cout << "\nFinding Sum of each column:\n\n";
// finding the column sum
for (i = 0; i < m; ++i) {
for (j = 0; j < n; ++j) {
// Add the element
sum = sum + arr[j][i];
}
// Print the column sum
cout
<< "Sum of the column "
<< i << " = " << sum
<< endl;
// Reset the sum
sum = 0;
}
}
// Driver code
int main()
{
int i,j;
int arr[m][n];
// Get the matrix elements
int x = 1;
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
arr[i][j] = x++;
// Get each row sum
row_sum(arr);
// Get each column sum
column_sum(arr);
return 0;
}
Nazorat savollari.
1. Qatorlar yig’indisi algoritmi qanday amalga oshiriladi.
2. Qatorlar yig’indisida hisoblash uchun qanday algoritmlardan foydalaniladi.
LABORATORIYA ISHI - 30
Mavzu: To’plam ostilari yig’indisini hisoblash
Ishdan maqsad. To’plam ostilari yig’indisini hisoblash
Qo’yilgan masala. To’plam ostilari yig’indisini hisoblash
Ish tartibi:
Tajriba ishi nazariy ma’lumotlarini o‘rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
Nazariy qism
Optimallashtirish bilan bog‘liq masalalar bu – muayyan miqdordagi qiymatni maksimal darajada oshirish yoki minimallashtirish kerak bo‘lgan masalalardi. NP – to‘liqlik haqida savol berishdan oldin bunday masalalar, ularni hal qilish masalalariga aylantirilishi kerak. Shunday qilib, masalan, grafdagi eng qisqa yo‘lni topish masalasida optimallashtirish masalasini yechish masalasidan ruxsat berish masalasiga o‘tdik va yo‘l uzunligiga cheklov qo‘shdik. Agar transformasiyadan keyin NP – to‘liq masalasi yuzaga kelsa, unda asl muammoning qiyinligi ham belgilanadi. Ma'lumotlar taqdimoti (ya'ni I to‘plamning elementi) algoritmga kiritishdan oldin ularning qanday qilib “kompyuterga qulay” tarzda taqdim etilishi to‘g‘risida kelishib olish kerak. Dastlabki ma'lumotlar bitlar ketma-ketligi bilan kodlangan deb qabul qilamiz. Formal aytganda, S to‘plamining elementlarini ifodalash bu S dan e ni bitli satrlar to‘plamlariga tushishidir. Masalan, (0, 1, 2, 3,...) – butun sonlarni, odatda (0, 1, 10, 11, 100, ...) – bitli satrlar bilan ifodalanadi. Taqdim qilingan ma'lumotlarni joylashtirb, mavhum masalani satrli ma'lumotga aylantiramiz, bu satirli ma'lumot uchun kirish ma'lumotlari, masalaning dastlabki ma'lumotlarini aks ettiruvchi bitli satir bo‘ladi. Kirish ma'lumotlari (bitli satr) n – uzunlikda bo‘lganida, algoritmning ishlash vaqti O(T(n)) – bo‘lsa, algoritm satirli masalani O(T(n)) vaqtda yechadi desak bo‘ladi. Agar k konstanta va O(T(n)) vaqt ichida bu masalani yechadigan algoritm mavjud bo‘lsa, satirli masala polinomial' deb ataladi. Murakkablik P sinfi – bu barcha satirli masalalar bo‘lib, polonomia' vaqt ichida yechilishi mumkin, ya'ni, O(nk) vaqt ichida yechilishi mumkin, bu yerda k kirishga bog‘liq bo‘lmaydi.Polinomial abstrakt masalasining konsepsiyasini aniqlashni istagan holda, biz turli xil ma'lumotlarni taqdim etish mumkinligiga duch kelamiz. Xar bir taqdim qilingan e to‘plam uchun, I kirishlari bo‘lgan Q abstrakt masalaning satirli masalasini olamiz.Biroq, amalda (asosi 1 bo‘lgan raqamli tizim kabi “qimmat” vakillik usullarini istisno qilsak), tabiiy vakillik usullari odatda ekvivalentdir, chunki ularni bir-biriga ko‘p jihatdan aylantirish mumkin. A polinomial algoritmi mavjud bo‘lsa, f:{0,1}*→{0,1}* funksiyasi polinimial vaqt ichida hisoblab chiqiladi, u har qanday x∈ {0,1}* uchun f(x) natijani beradi.Ixtiyoriy abstrakt masala uchun I to‘plami sharitlarini ko‘rib chiqamiz. I to‘plamning е1 va е2 elementlari polinomial' bog‘langan deyiladi, agar polinomial' vaqtda hisoblash mumkin bo‘lgan ikkita f12(e1(i)) = e2(i) va f21(e2(i)) = e1(i), i ∈ I funsiyalar mavjud bo‘lsa. Bunday hollarda, polinomial' bog‘langan ikkita elementdan qaysi birini tanlash muhim emas.P, NP, NP-complete (NP-to‘liklik masalalari) sinflar orasidagi munosabatlar, NP-hard (NP-murakkab masalalar), P≠NP va P=NP bo‘lgan xollarda.
NP- tuliklik masalasi — algoritmlar nazariyasida NP – sinfdagi «ha» yoki «yo‘k» javobli masalani shu sinfdagi boshka masalaga polinomial' vakt oralgida moslashtirish mumkin (yani, boshlangich ma'lumotlar xajmiga boglanganlik darajasi ma'lum polinimdan katta bulmagan amallar yordamida bajariladi).
Shunday qilib, NP -to‘liq masalalar, ma'lum ma'noda, NP sinfidagi “tipik” masalalar to‘plamini shakllantiradi: agar ularning ba'zilari uchun "tezkor" yechim algoritmi topilsa, NP sinfidagi har qanday boshqa masalani xuddi shu tarzda hal qilish mumkin.
Amaliy qism
#include
#include
using namespace std;
int main()
{
double Sum=0, y=8, z=2;
int i=1;
while (i>=7)
{
Sum=//твоя функция//;
Sum++;
i++;
}
cout<<"Сумма ряда = "<return 0;
}
#include
#include
using namespace std;
size_t factorial(size_t n){
size_t res = 1;
if( n > 1 )
res = n*factorial(n - 1);
return res;
}
int main(){
float y = 8;
float z = 2;
float S = 0;
float f = 0;
for( size_t i = 1; i <= 7; i++ ){
f = pow(factorial(i) + y, 1.0f / i);//sqrt[i](i! + y)
f = f - pow(z, i*1.0f);//f - z^i
S = S + f;
}
cout<<"S = "<return 0;
}
Do'stlaringiz bilan baham: |