2-Amaliy ish Mavzu: Chiziqli tuzilmalarning algoritmlari va ularning dasturi. Ishdan maqsad. Python dasturlash tilida dastur tuzilishi va alifbosi, ma`lumotlarning asosiy turlari bilan tanishish, kiritish-chiqarish operatorlari, matematik funksiyalar va konstantalardan foydalanishni o’rganish.
Nazariy qism. Odatda tabiat yoki jamiyatda uchraydigan turli muammo, masala yoki jarayonlarni o‘rganishni kompyuter yordamida olib borish uchun, birinchi navbatda, qaralayotgan masala, jarayon - obyektning matematik ifodasi, ya’ni matematik modelini ko‘rish kerak bo‘ladi. Qaralayotgan obyektning matematik modelini yaratish juda murakkab jarayon bo‘lib, o‘rganilayotgan obyektga bog‘liq ravishda turli soha mutaxassislarining ishtiroki talab etiladi. Umuman, biror masalani kompyuter yordamida yechishni quyidagi bosqichlarga ajratish mumkin. Qo‘yilgan chiziqli masalani kompyuterda yechish uchun, avval uning matematik modelini, keyin algoritmini va dasturini tuzish kerak bo‘ladi. Har qanday murakkab algoritmni ham uchta asosiy struktura yordamida tasvirlash mumkin. Bular chiziqli, tarmoqlanuvchi va takrorlash strukturalaridir. Bu strukturalar asosida chiziqli, tarmoqlanuvchi va takrorlanuvchi hisoblash jarayonlarining algoritmlarini tuzish mumkin.
Faqat ketma-ket bajariladigan amallardan tashkil topgan algoritmlarga-chiziqli algoritmlar deyiladi. Bunday algoritmni ifodalash uchun ketma-ketlik strukturasi ishlatiladi. Strukturada bajariladigan amal mos keluvchi shakl bilan ko’rsatiladi. Chiziqli algoritmlarning blok- sxemasini umumiy strukturasini quyidagi ko’rinishda ifodalash mumkin.
PYTHON tilida turli tipdagi o‘zgaruvchilardan foydalanish mumkin, shu sababli, har bir tipdagi o‘zgaruvchilar qanday tavsiflanishini bilish zarur. PYTHON tilidа bittа o‘zgаruvchini dаstur bаjаrilishi dаvоmidа sаtr yoki sоn sifаtidа ishlаtish mumkin. Shu bilаn birgа PYTHON tilidа o‘zgаruvchilаr bilаn ishlаngаndа оshkоr ko‘rsаtilishi mumkin bo‘lgаn аsоsiy mа’lumоtlаr tiplаri to‘plаmi mаvjud
Butun (integer) sonlar – Sonning kasr bo‘lmagan son bo‘lib, ularda sonning asosi (10 lik), o‘n oltilik (asosi 16-prefiksga ega) yoki sakkizlik (asosi 8- prefiksli) sanoq sistemalar ko‘rsatiladi.
Haqiqiy (float) sonlar – sonning kompyuterda amalga oshiriladigan eksponentsiol yozuvi. Xuddi shuningdek, “ikkilangan aniqlikga” ega bo‘lgan son ham mavjud.
Satr (string) – simvollar ketma – ketligidan iborat bo‘lib, unda har bir simvol bir bayt o‘lchamdan, toki maksimal uzunlik 216 gacha bo‘lgan joyni egallaydi. Yakka qavslarga olingan satrlar literallar sifatida qaraladi, ayni paytda 28 ikkilangan qavslar ichidagi satrlar esa (maxsus belgilar, o‘zgaruvchilarning qiymatlari va shu kabilar) sifatida talqin qilinadi.
Bool (boolean) tipi - Mantiqiy ifoda bo‘lib, uning qiymati faqat rost (True) yoki yolg‘on (False) dan iborat.
Kompleks (complex) tipi – Sonning birinchi argument sifatida haqiqiy qism, ikkinchi argument sifatida mavhum qism uzatiladi.
Massiv (array) – bir nechta qiymatlarning tartiblashtirilgan xaritasi bo‘lib, undagi kalitlar qiymatlarga mos keladi. Kalitlar – bu indeks nomerlari (ular so‘zsiz tushuniladi) yoki aniq ko‘rsatilgan nishonlar. misol
Ob’ekt– bu berilganlarning xossalarini saqlovchi va berilganlarni qayta ishlash metodlaridan iborat bo‘lgan sinf.
Resurs – tashqi resursga havola bo‘lib, ular maxsus funksiyalar tomonidan yaratiladi va saqlanadi.
NULL – qiymatga ega bo‘lmagan o‘zgaruvchi. Bu o‘zgaruvchi, shakllantirilmagan bo‘ladi (unga hech bir qiymat berilmagan bo‘ladi), agar unga NULL o‘zgarmasi ta’minlangan bo‘lsa yoki unset() funksiyasi yordamida bekor qilinmagan bo‘lsa.
Pythonning matematik funksiyalar kutubxonasi trigonometrik hisoblashlar, sonli shakl almashtirishlar va sonli almashtirishlarni bajaradi. Trigonometrik funksiyalar argumentlari radianlarda beriladi, hamda graduslarni radianga va aksincha almashtiruvchi funksiyalar ham mavjud. Matematik operatorlar bilan bir qatorda Pythonda ko‘p sonli matematik funksiyalar ham nazarda tutilgan. Bular quyidagilar:
abs()
sonning absolyut qiymati
acos()
radianda ifodalangan arkkosinus
acosh()
radianda ifodalangan giperbolik arkkosinus
asin()
radianda ifodalangan arksinus
asinh()
giperbolik arksinus
atan()
radianda ifodalangan arktanges
atanh()
giperbolik arktanges.
atan2()
arktangens y/x ni, y va x kvadratlar ishorasi bilan aniqlanuvchi natijaviy kvadrat bilan qaytariladi.
ceil()
sonni o‘zidan katta butun songa yaxlitlash
cos()
radianda ifodalangan kosinus
cosh()
giperbolik kosinus
exp()
berilgan sonning eksponentasini hisoblash
floor() -
sonni o‘zidan kichik butun songa yaxlitlash
fmod() -.
ikki son x ni y ga bo‘lgandagi qoldiqni hisoblaydi
hypot()
- to‘g‘ri burchakli uchburchakda ikki katet bo‘yicha gipotenuzani hisoblash.
log10()
o‘nlik logarifm
log()
natural logarifm
pi()
π sonining qiymatini aniqlaydi
pow(x,y).
x sonini y darajaga ko‘tarish
sin()
radianda ifodalangan sinus
sinh()
radianda ifodalangan geperbolik sinus
sqrt(x)
x sonining kvadrat ildizi
tan() -
radianda ifodalangan tangens
tanh()
- radianda ifodalangan giperbolik tangens
% -
birinchi argumentni ikkinchi argumentga bo‘lgandagi qoldiq
factorial(num) –
sonning faktorialini hisoblaydi
degrees(rad) –
radiandan gradusga o‘tkazadi
radians(grad) –
gradusdan radianga o‘tkazadi
fabs(x) –
x ning absolyut raqam
ldexp(m,i)=m*(2**i).-.
m ni, 2 ni i daragacha tartibda qaytaradi
modf(x)-
(y,q) juftlikda x ning butun va q kasr qismini qaytaradi.
trunc(x)-
x haqiqiy sonning butun qismini qaytaradi.
tau
– tau konstantasi
e
e konstantasi
gamma
x sonining gamma qiymati
int([object],[sanoq sistemasi asosi])
butun sonni berilgan sanoq sistemasidan o‘nlik sanoq sistemasiga o‘tkazadi
bin(x)
butun sonni ikkilik sanoq sistemasiga o‘tkazadi
hex(x)
butun sonni o‘n oltilik sanoq sistemasiga o‘tkazadi