Funksiyalar — презентация
logo
Funksiyalar
  • Funksiyalar.
  • Funksiyalar
  • Funksiyalar
  • General form of a function
  • Funksiyani e’lon qilish : < Qaytariluvchi_tur > < Funksiyani_nomi > ( ma’lumot_turi o’zgaruvchi_nomi ) { operator1; operator2; operatorN, return Qiymat ; }
  • Funksiyalar
  • Funksiyalar
  • Funksiyalar
  • Funksiyada void tipining qo’llanilishi
  • Funksiyalar
  • Funksiyalar
  • Funksiyalar
  • Funksiyalar
  • Funksiyalar
  • Funksiyalar
  • Топшириқ
  • Lokal va global o‘zgaruvchila r
  • O’zgaruvchilarning k o‘rinish ( amal qilish ) sohasi.
  • Funksiyalar
  • Quyidagi dastur da main() va sum() funksiyalarida bir xil nomdagi o‘zgaruvchilarni ishlatish ko‘rsatilgan. Dastur da ikkita sonning yig‘indisi hisoblanadi va
  • Global o‘zgaruvchilar programma matnida funksiya aniqlanishidan tashqarida e’lon qilinadi va e’lon qilingan joyidan boshlab programma oxirigacha amal qiladi.
  • Функцияни қайта юклаш
  • Funksiyalar
  • Rekursiv Funksiya
  • Funksiyalar
  • Funksiyalar
  • Funksiyalar
  • Shundan keyin «teskari» jarayon boshlanadi - stekda saqlangan qiymatlar ketma-ket olinadi va ko‘paytiriladi: oxirgi qiymat - aniqlangandan keyin (1), u undan
  • Funksiyalar
  • Funksiyalar
  • ( X n ) X ning n chi darajaga ko’tarish funksiyasi
  • EKUBini topuvchi dastur tuzing
  • Funksiyalar
  • Funksiyalar
  • Funksiyalar
1/35

Первый слайд презентации: Funksiyalar

Изображение слайда

Слайд 2

funksiya. funksiyani hosil qilish Lokal va global o’zgaruvchilar Rekursiv funksiya.

Изображение слайда

Слайд 3

Dastur lashda shunday holatlar kuzatiladiki, unda dastur lning turli joylarida mazmunan bir xil algoritmlarni bajarishga to‘g‘ri keladi. Algoritmning bu bo‘laklari asosiy y echilayotgan masaladan ajratib olingan qandaydir masala ostini y echishga mo‘ljallangan bo‘lib, y etarlicha mustaqil qiymatga (natijaga) egadir. Bunday algoritm bo’laklarini “ Funksiya ” deb ataymiz.

Изображение слайда

Слайд 4: General form of a function

[type] name([ declaration_list ]) // Function header { // Beginning . . What will be done // Function block . . } // End

Изображение слайда

Слайд 5: Funksiyani e’lon qilish : < Qaytariluvchi tur > < Funksiyani nomi > ( ma’lumot turi o’zgaruvchi nomi ) { operator1; operator2; operatorN, return Qiymat ; }

Изображение слайда

Слайд 6

Parametrlar soni istalgancha miqdorda bo’lishi mumkin shuningdek parametrsiz ham bo’lishi mumkin. Parametrlar vergul (,) bilan ajratiladi. Parametr bo’yicha funksiya o’zgaruvchi ( argument ) ni qabul qiladi va bu qabul qilingan o’zgaruvchi funksiyada ‘ lokal o’zgaruvchi ’ vazifasini bajaradi.

Изображение слайда

Слайд 7

#include < iostream > using namespace std ; int add (int a, int b){ return a + b; } int main(){ cout << add (15, 25); return 0; }

Изображение слайда

Слайд 8

#include <iostream> using namespace std; int add (int, int); //F unksi ya prototipi int main( ){ int x = 1, y = 3; cout << add (x, y);; return 0; } int add (int a, int b) { return a + b; }

Изображение слайда

Слайд 9: Funksiyada void tipining qo’llanilishi

#include <iostream> using namespace std; void hello (){ cout << "salom"; } int main( ){ hello ( ); return 0; }

Изображение слайда

Слайд 10

#include <iostream> using namespace std; int yuza (int a, int b) { int s ; s = a*b; return s ; } double f1(double x) { return -1*x; } int main ( ) { int a1,a2; double d1,d2; cin>>a1>>a2; cout << “ Yuza : " << yuza (a1,a2) << endl; cin>>d1; d2 = f1(d1); cout << d2; return 0; }

Изображение слайда

Слайд 11

Функцияни типи сифатида белгили, бутун ва ҳақиқий типлар олиниши мумкин: char, int, long, float, double lon g double. Бундан ташқари бу ерда signed ва unsigned ларни ҳам ишлатиш мумкин. Агар функцияни типи кўрсатилмаган бўлса, у ҳолда унинг типи int деб қабул қилинади. Натижани қайтармайдиган функциялар С++да мавжуд. Бу ҳолда уларни олдига void қўйилади. Функци яни типлари acm.tuit.uz/forum

Изображение слайда

Слайд 12

Формал параметрлар рўйхати бир-биридан вергул билан ажратилган идентификаторлар наборидан иборат, яъни Функци яни формал параметрлари acm.tuit.uz/forum < формал параметрлар рўйхати > :: = (< идентификатор >, < идентификатор > < идентификатор >, < идентификатор >... < идентификатор >)

Изображение слайда

Слайд 13

Функци яни стандарт таърифи < натижа типи > < функция номи > ( < формал параметрлар спецификацияси > ) { < объектларни аниқлаш > ; < бажариладиган операторлар > ; } acm.tuit.uz/forum

Изображение слайда

Слайд 14

Дастур int main() { int a, b, с ; cout<<“Ikkita son kiriting \n" ; cin>>a>>b; c = Max ( a, b ); cout<<“Katta son “<< c ; } int Max ( int a, int b ) { ... } маълум ўзгарувчилар Функцияни чақириш формал ўзгарувчилар acm.tuit.uz/forum

Изображение слайда

Слайд 15

acm.tuit.uz/forum 15 Дастур #include <iostream.h> #include <conio.h> #include <stdio.h> int Max ( int a, int b ) { if ( a > b ) return a ; else return b ; } int main() { int a, b, c; cout<<“Ikkita son kiriting \n" ; cin>>a>>b; c = Max(a, b); cout<<"Katta son "<<c; getch(); return 0; } Funksiya Funksiyani ishlatilishi

Изображение слайда

Слайд 16: Топшириқ

1 д ан N гача бўлган сонлар йиғиндисини топувчи функция тузинг ва фойдаланиш мисолини келтиринг. Масалан : Сон киритинг : 1 00 1 д ан 100 гача сонлар йиғиндиси = 5050

Изображение слайда

Слайд 17: Lokal va global o‘zgaruvchila r

O‘zgaruvchilar funksiya tanasida yoki undan tashqarida e’lon qilinishi mumkin. Funksiya ichida e’lon qilingan o‘zgaruvchilarga lokal o‘zgaruvchilar deyiladi. Bunday o‘zgaruvchilar xotiradagi programma stekida joylashadi va faqat o‘zi e’lon qilingan funksiya tanasida amal qiladi. Boshqaruv asosiy funksiyaga qaytishi bilan lokal o‘zgaruvchilar uchun ajratilgan xotira bo‘shatiladi (o‘chiriladi).

Изображение слайда

Слайд 18: O’zgaruvchilarning k o‘rinish ( amal qilish ) sohasi

H ar bir o‘zgaruvchi o‘zining amal qilish sohasi va yashash vaqti h ususiyatlari bilan xarakterlanadi. O‘zgaruvchi amal qilish sohasi deganda o‘zgaruvchini ishlatish mumkin bo‘lgan dastur sohasi (qismi) tushuniladi. Bu tushuncha bilan o‘zgaruvchining ko‘rinish sohasi uzviy bog‘langan. O‘zgaruvchi amal qilish sohasidan chiqqanda ko‘rinmay qoladi.

Изображение слайда

Слайд 19

O‘zgaruvchining yashash vaqti deb, u mavjud bo‘lgan programma bo‘lagining bajarilishiga ketgan vaqt intervaliga aytiladi. Lokal o‘zgaruvchilar o‘zlari e’lon qilingan funksiya yoki blok chegarasida ko‘rinish sohasiga ega. Blokdagi ichki bloklarda h uddi shu nomdagi o‘zgaruvchi e’lon qilingan bo‘lsa, ichki bloklarda bu lokal o‘zgaruvchi ham amal qilmay qoladi. Lokal o‘zgaruvchi yashash vaqti - blok yoki funksiyani bajarish vaqti bilan aniqlanadi. Bu turli funksiyalarda bir-biriga umuman bog‘liq bo‘lmagan bir h il nomdagi lokal o‘zgaruvchilarni ishlatish mumkin.

Изображение слайда

Слайд 20: Quyidagi dastur da main() va sum() funksiyalarida bir xil nomdagi o‘zgaruvchilarni ishlatish ko‘rsatilgan. Dastur da ikkita sonning yig‘indisi hisoblanadi va chop etiladi:

#include <iostream> int sum(int a, int b); // funksiya prototipi int main( ) { int x= 1 ; int y=4; // lokal o‘zgaruvchilar std:: cout<< sum(x, y); return 0; } int sum(int a, int b) { int x=a+b; // lokal o‘zgaruvchi return x; }

Изображение слайда

Слайд 21: Global o‘zgaruvchilar programma matnida funksiya aniqlanishidan tashqarida e’lon qilinadi va e’lon qilingan joyidan boshlab programma oxirigacha amal qiladi

# include < iostream.h > int Test = 200; // Test global o’zgaruvchisini e’lon qilish void Print ( void ); // Funksiya prototipi int main ( ){ int Test = 10; // Test lokal o’zgaruvchisini e’lon qilish Print ( ); // Funksiyani chaqirish : cout << “Local: " << Test << ‘\n’ ; return 0; } void Print ( void ) { cout << " Глобальная : " << Test << ' \n'; }

Изображение слайда

Слайд 22: Функцияни қайта юклаш

C++ bir xil nomli funksiyalarni bir necha bor yaratish imkonini beradi, lekin bunda yaratilayotgan funksiya qaytarish tipi turlicha bo’lishi lozim. Bir nomga ega bunday funksiyalar “ Funksiyani qayta yuklanshi ” deyiladi.

Изображение слайда

Слайд 23

#include < iostream > using namespace std ; int max ( int a, int b) { if (a>b) return a; return b; } double max (double a, double b) { if (a>b) return a; return b; } int main( ){ cout << max(24.8, 31.2) << endl ; cout << max(14, 48) << endl ; }

Изображение слайда

Слайд 24: Rekursiv Funksiya

O’z-o’ziga murojaat qiladigan funksiya rekursiv funksiya deb ataladi. Rekursiv funksiyalardan agar funksiya parametrlari bilan biror amal bajarib yandi parametrlar bilan huddi shunday amal bajariladigan bo’lsa foydalanamiz. Bunday masalalarni rekursiyasiz ham yechish mumkin. Lekin rekursiya dastur tushinarliligini oshiradi va uni yozishni osonlashtiradi. Masala1. Rekursiyadan foydalanib n! ning qiymatini hisoblovchi dastur tuzing. n! = n*(n-1)!

Изображение слайда

Слайд 25

10! = 1*2*3*4*5*6*7*8*9*10 = 9! * 10; 9! = 9*8!; 8! = 8*7!; …. 1! = 1*0! 0! = 1;

Изображение слайда

Слайд 26

long Fact ( int n) { if (n==0) return 1; else return n*Fact(n-1); }

Изображение слайда

Слайд 27

Agar faktorial funksiyasiga n>0 qiymat berilsa, quyidagi holat ro‘y beradi: shart operatorining else shoxidagi qiymati (n qiymati) stekda eslab qolinadi. Hozircha qiymati noma’lum n-1 faktorialni hisoblash uchun shu funksiyaning o‘zi n-1 qiymati bilan bilan chaqiriladi. O‘z navbatida, bu qiymat ham eslab qolinadi (stekka joylanadi) va yana funksiya chaqiriladi va hakoza. Funksiya n=0 qiymat bilan chaqirilganda if operatorining sharti (!n) rost bo‘ladi va «return 1;» amali bajarilib, ayni shu chaqirish bo‘yicha 1 qiymati qaytariladi.

Изображение слайда

Слайд 28: Shundan keyin «teskari» jarayon boshlanadi - stekda saqlangan qiymatlar ketma-ket olinadi va ko‘paytiriladi: oxirgi qiymat - aniqlangandan keyin (1), u undan oldingi saqlangan qiymatga 1 qiymatiga ko‘paytirib F(1) qiymati hisoblanadi, bu qiymat 2 qiymatiga ko‘paytirish bilan F(2) topiladi va hakoza. Jarayon F(n) qiymatini hisoblashgacha «ko‘tarilib» boradi. Bu jarayonni, n=4 uchun faktorial hisoblash sxemasini 1 -rasmda ko‘rish mumkin

Изображение слайда

Слайд 29

Изображение слайда

Слайд 30

Rekursiv funksiyalarni to‘g‘ri amal qilishi uchun rekursiv chaqirishlarning to‘xtash sharti bo‘lishi kerak. Aks holda rekursiya to‘xtamasligi va o‘z navbatida funksiya ishi tugamasligi mumkin. Faktorial hisoblashida rekursiv tushishlarning to‘xtash sharti funksiya parametri n=0 bo‘lishidir ( shart operatorining rost tarmog’i ). Har bir rekursiv murojaat qo‘shimcha xotira talab qiladi - funksiyalarning lokal ob’ektlari ( o‘zgaruvchilari ) uchun har bir murojaatda stekdan yangidan joy ajratiladi. Masalan, rekursiv funksiyaga 100 marta murojaat bo‘lsa, jami 100 lokal ob’ektlarning majmuasi uchun joy ajratiladi.

Изображение слайда

Слайд 31: ( X n ) X ning n chi darajaga ko’tarish funksiyasi

double step (double x, int n) { if(!n) return 1; else return x*step (x, n-1); }

Изображение слайда

Слайд 32: EKUBini topuvchi dastur tuzing

Ikkita a va b sonlari berilgan ularning EKUBini topuvchi dastur tuzing. EKUB inglizchada Greatest common divisor qisqacha gcd (a, b). Masalan gcd (25, 20) = 5; gcd (60, 70)=10.

Изображение слайда

Слайд 33

Eramizdan oldingi 325 yilda tug’ilgan. Grek matematigi, geometriyaning otasi. Evklid algoritmi eng qadmgi algoritmlardan biri. Evklid Evklid algoritmi bo’yicha : gcd (a, b) = Masalan : gcd (124, 36) a=124,b=36,b≠0. gcd (124,36)= gcd (36,124%36)= gcd (36, 16) a=36, b=16, b≠0. gcd (36, 16)= gcd (16, 36%16)= gcd (16, 4) a=16, b=4, b≠0. gcd (16, 4)= gcd (4, 16%4)= gcd (4, 0) a=4, b=0. gcd (4, 0) = 4; Demak gcd (124, 36)=4.

Изображение слайда

Слайд 34

int gcd ( int a, int b) { if (b==0) return a; return gcd (b, a % b); }

Изображение слайда

Последний слайд презентации: Funksiyalar

E’tiboringiz uchun rahmat

Изображение слайда

Похожие презентации

Ничего не найдено