MAVZU: C++ dasturlash tilida Fibbonachi sonlar va ularning xossalarini aniqlovchi dasturiy vosita ishlab chiqish
R E J A.
Kirish……………………….…………………………………………..
1. Fibonacci sonlari | C++ boshlang'ich……………………………..
2. C++ dasturlash tilida satrlar………………………………………
3. Belgilar massivi bilan ishlovchi standart funksiyalar……………
4. C++ dasturlash tili tarkibida grafik muhitni yaratish va undan foydalanish…………………………………………………………….
Xulosa……………………………………………………………………
Foydalanilgan adabiyotlar ro‘yxati………………………….…………..
KIRISH
Fibonachchi sonlari (ketma-ketligi) tabiatda eng koʻp uchraydigan ketma-ketliklardan boʻlib, quyidagicha taʻriflanadi:
Fibonachchi sonlari - 1, 1, 2, 3, 5, 8, 13,... sonli ketma-ketlikning elementlari. Bu ketma-ketlikning 1 va 2 xadlari 1 ga tent, qolgan hadlari esa t/+1 =!/_,+£/ rekurrent munosabat bilan aniklanadi. Fibonachchi sonlarining birinchi 14 tasi Leonardo Pizanskiy (Fibonachchi) ning 1228-yil dagi qo'lyozmasida keltirilgan. Fibonachchi sonlari uzluksiz kasrlar nazariyasida, hisoblash mat.sida keng tatbiq etiladi.
Avvalgi ikki elementi 1 ga teng boʻlib, 3-elementidan boshlab "har bir element oʻzidan oldingi 2 element yigʻindisiga teng" qonuniyati asosida tuzilgan ketma-ketlikka Fibonachchi ketma-ketligi, bu sonlarga esa, Fibonachchi sonlari deyiladi.
F0
|
F1
|
F2
|
F3
|
F4
|
F5
|
F6
|
F7
|
F8
|
F9
|
F10
|
F11
|
F12
|
F13
|
F14
|
F15
|
F16
|
F17
|
F18
|
F19
|
F20
|
0
|
1
|
1
|
2
|
3
|
5
|
8
|
13
|
21
|
34
|
55
|
89
|
144
|
233
|
377
|
610
|
987
|
1597
|
2584
|
4181
|
6765
|
Kungaboqar gulidagi qatorlarning tartibi.
Fibonachchi „oltin“ spirali.
Chig'anoq.
Fibonacci sonlari | C++ boshlang'ich
n - fibonacci soni n-1 va n-2 fibonacci sonlari yig'indisiga teng.
dastlabki 2 ta fibonacci sonlar 0 va 1 ga teng.
Dastlabki 10 ta fibonacci sonlarni hisoblab chop etadigan dastur tuzing.
int a = 0, b = 1, c = a + b;
cout << a << " " << b << " " << c << " ";
Keyingi fibonacci sonni hisoblab topish uchun so'ngi ikkita fibonacci sonlar b va cni qo'shish kerak.
Lekin bu usul optimal kod emas, chunki yuqoridagi algoritm reusable emas. Ya'ni yuqoridagi algoritmni qaytarish orqali keyingi fibonaccini topib bo'lmaydi.
Quyidagi kodga qarang:
b = c;
a = b;
c = a + b;
cout << c << " ";
Yuqoridagi kod optimal algoritm. Keyingi fibonaccini topish uchun yuqoridagi kodni shunchaki copy/paste qilish kifoya.
Barcha kod
int a = 0, b = 1, c = a + b;
cout << a << " " << b << " " << c << " "; // dastlabki 3 ta fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 4-fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 5-fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 6-fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 7-fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 8-fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 9-fibonacci
b = c;
a = b;
c = a + b;
cout << c << " "; // 10-fibonacci
C++ dasturlash tilida satrlar
Oldingi mavzularda deyarli har bir dasturimizda satrlar bilan ishladik. Aniqrogʻi, satrli konstantalarni ekranda chop etdik. Bu esa " " belgilari orasida joylashgan belgilar ketma-ketligi. Biz tez-tez ekranda u yoki bu ma‟lumotlarni koʻrsatishga majbur boʻldik. Masalan:
cout<<"Bu oddiy matn";
Ushbu berilgan satr konstanta hisoblandi. Qoʻshtirnoqlar satr konstantasining boshi va oxirini aniqlash uchun ishlatiladi va uning tarkibiy qismi emas.
Koʻpincha, dastur davomida ba‟zi bir qisqa xabarlarni chop etishgina emas, balki ma‟lum bir matn bilan ishlash, uni biron bir joyda saqlash, unga murojaat qilish va kerak boʻlsa tahrirlash zarur. Dasturda, masalan, yuqorida yozilgan satrga doimiy kira olmaymiz (masalan, uning nomini ham, xotiradagi manzilini ham bilmaymiz). Endi siz C++ da satrlar bilan ishlash usullaridan biri haqida bilib olasiz. Keyinchalik yana bir usul - string sinfidan foydalanish bilan tanishamiz.
Shunday qilib, birinchisi haqida: C++ da satrlarni saqlash uchun belgilar massivi ishlatiladi. Bular bir xil massivlardir, chunki biz C++ dagi massivlar haqida maqolada koʻrib chiqdik, ammo ular raqamli ma‟lumotlarni emas, balki belgilar ma‟lumotlarini saqlaydi. Siz qoʻshni xotira yacheykalarida ketma-ket joylashtirilgan bunday massivning belgilarini tasavvur qilishingiz mumkin - har bir yacheyka bitta belgini saqlaydi va bitta baytni egallaydi. Bir bayt joy egallashining sababi belgilar massivining har bir elementi char tipida ekanligidadir. Har bir bunday satrning oxirgi belgisi '\0' belgisi (nol belgi). Masalan:
Do'stlaringiz bilan baham: |