Dasturiy injiniring sohasida ma’lumotlarni vizuallashtirish












![II.Amaliy qism
1.Funksional dasturlash.
1.1. Quyidagi ikkita ruyxatdan list hosil qiling:
Dastur kodi:
keys = ['ten' , 'twenty' , 'thirty']
values = [10 , 20 , 30]
dic = dict(zip(keys,values))
print(dic)
Natija:
1.2 Istalgancha sonlarni qabul qilib, ularning ko'paytmasini qaytaruvchi
funksiya yozing.
Dastur kodi:
def num(*args):
s = 1
for x in args:
s= s*x
return s
print(num(12,13,4,6,78))
Natija:](/data/documents/02cae873-96bb-4664-a58a-c8a73c5bb452/page_13.png)


![Dastur kodi:
import numpy as np
nilufar = np.arange(27).reshape(3,3,3)
print(nilufar)
nilufar = np.delete(nilufar,[12,13,14,15,16])
print('___________________')
print(nilufar)
Natija:
3.Pandas.
Dastur kodi:
import matplotlib.pyplot
import numpy as ny
import pandas as pd
data1 = pd.read_csv(‘car_details24.csv’,index_col=0)
data.head(10)](/data/documents/02cae873-96bb-4664-a58a-c8a73c5bb452/page_16.png)
![Natija:
4.Matplotlib.
Y=-3x +lg(x 2
) funksiyaning grafik dasturi tuzilsin.
Dastur kodi:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
plt.figure(figsize=(15,10))
x = np.linspace(-5,5,100)
y = -3*x+np.log10(x**2)
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')](/data/documents/02cae873-96bb-4664-a58a-c8a73c5bb452/page_17.png)



MAVZU: Dasturiy injiniring sohasida ma’lumotlarni vizuallashtirish REJA: Kirish. Nazariy qism: 1. Funksional dasturlash. 2. Numpy. 3. Pamdas. 4. Matplotlib. Amaliy qism: Amaliy topshiriqlar ustida ishlash. Xulosa. Foydalanilgan adabiyotlar .
Kirish. Og'zaki til va og'zaki toifalar bo'shliqni qurish, uni talqin qilish yoki u bilan biron bir harakatni amalga oshirish uchun o'ta ibtidoiy vositalarni o'z ichiga oladi. Ushbu maqsad tasvirlar tili va idrok harakatlar tizimi tomonidan amalga oshiriladi, uning yordamida odam atrofdagi voqelikning obrazini yaratadi va unga yo'naltiriladi. Ushbu tizim idrok deb ataladi. Idrok ob'ektning tuzilishi va xususiyatlarining birligini aks ettiruvchi yaxlit tasvir sifatida tavsiflanadi. Vizual idrok etish ob'ektlari - bu kosmos, harakat, shakl, to'qima, rang, yorqinlik va boshqalar toifalarida bo'linishi va tasvirlanishi mumkin bo'lgan atrofdagi dunyoning ob'ektlari, jarayonlari va hodisalari. odam bor. Vizual idrok asosida yaratilgan tasvirlar so'zlardan ko'ra ko'proq assotsiativ kuchga ega. Ehtimol, shuning uchun ular xotirada mukammal saqlanadi. Bir necha ming rasmni bir marta ko'rgandan keyin ham kuzatuvchilar ularning 90 foizini to'g'ri aniqlay olishadi. Vizual tasvir juda moslashuvchan. Ushbu xususiyat tasvir jihatidan vaziyatni umumlashtirilgan baholashdan tez o'tishda namoyon bo'ladi batafsil tahlil uning elementlari. Tasvirda aks ettirilgan ob'ektlarning har xil harakatlanishi, ularning siljishi, aylanishi, shuningdek ko'payishi, kamayishi, istiqbolli buzilishi va normallashishi mumkin. Vizual tizimning bunday manipulyatsiya qobiliyati vaziyatni to'g'ridan-to'g'ri va teskari nuqtai nazardan taqdim etishga imkon beradi. Tasvirlarni manipulyatsiya qilish va ularni to'ldirish samarali his qilish va vizual fikrlashning eng muhim vositasidir.
Nazariy qism. 1.Fuksional dasturlash. Real murakkab dasturlash ta’minoti o’zida monolit dasturlarni emas. Balki dasturlash tizimlarini namoyon qiladi. Dasturlash tizimi- bu gi’shtlardan—tizim komponentlaridan quriluvchi konstruksiyadir. Bunday komponentlarni qurish metodikasi har xi bo’lishi mumkin. Shu kabi metodlardan biri , modul dasturlash deb nomlangan yondashuvga asoslangan. Modullardan quriladigan dasturlash tizimida— modul sistemada—har bir modul umumiy konstruksiyaning g’ishtchasi sifatida, formal bo’lmagan holda o’zining belgilanishi bilan, formal holda esa o’zining interfeysi bilan xarakterlanadi. Modul belgisini qoida bo’yicha, modul tizim uchun modul bo’lib realizatsiya qilinadigan funksiyalarni formal bo’lmagan holda, tabiiy tillarida yoziladi псевдоестественном. Modul interfeysi modul bo’lib realizatsiya qilinadigan va bu moduldan tashqari modul tizimni boshqa modullarida ham qo’llaniladigan obyektlar spetsifikatsiyasida izga tushadi. Modul eksporti bu— umumiy modul tizim uchun modul berilganlari namoyish bo’luvchidir, import esa- modulni modul tizimlarni boshqa modullaridan talab qilinayotgan narsasidir. Modul eksportida eksportirlanadigan obyektlar kiritiladi. (turlar, o’zgarmaslar, o’zgaruvchi va dasturostilar). Dasturiy tizim uzoq vaqt va xodimlar kollektivi bilan yaratilishi mumkin, shuning uchun modul shunday tizimni komponentasi kabi qayta ishlashni erkinligi va nazorati talabini qoniqtirishi kerak. modulni interfeysi va belgilari fiksirlangandan so’ng, uning realizatsiyasi boshqa modullar realizatsiyasiga halaqit qilmasligi kerak. modul xatoligi ham boshqa modullar xatoligi bilan shartlanmagan bo’lishi kerak— xatolik vaqtida, modul o’zini belgisini to’g’ri realizatsiya qilayotganiga va o’zining obyektlarini interfeys bilan mos ravishda eksportlayotganiga ishonch hosil qilish kerak, importga kelsak, u holda xatolik vaqtida importlanayotgan obyektlar xossalar interfeysida fiksirlanganlarni qoniqtiruvchi oddiy psevdoaylana yaratish mumkin.
Modul modul sistemaning qurilayotgan elementi sifatida, uni turli hil modul tizimlarda foydalana olish mumkin bo’lishi kerak, faqatgina uni belgisi va interfeysi ushbu modul tizimda uni qo’llanilishiga mos bo’lsa bas. Eksportlanayotgan obyekt realizatsiya uchun kerak bo’lgan lokal obyektlarga ham ega bo’lishi mumkinligidan— ular boshqa modullardan yashirin va ularda qo’llanila olmaydi. Foydalanuvchi modullarini yozish va ularning obyektlarini dasturlarda qo’llash quyidagi sabablarga ko’ra effektiv dasturlashni usullaridan biri hisoblanadi. Birinchidan, modulda ba’zi “predmetli” sohani bazaviy tushunchalarini olib o’tuvchisi hisoblangan obyektlar aniqlanadi, va shu modul bu predmetli sohaga kontekst beradi. Shuning uchun bu saohada ishlab chiqishni turli algoritmlarini bajaruvchi dasturlar, tayyorlardan va muhimi bazaviy obyektlarni bir xil aniqlanishlaridan foydalanishlari mumkin. Demak, masalan Graph tizimli modulida, bir qancha o'nlab elementar grafik amallarni realizatsiya qiluvchi grafik funksiyalar va jarayonlar va bir qancha o’nlab xatolarni, rang va chiziq ko’rinishi va hk kodini bildiruvchi o’zgarmaslar aniqlandi. Ikkinchidan, modullar ham, dasturlarda qatnashuvchilar ham bog’liq bo’lmagan ravishda kompilyatsiya qilinadi. (modul u dasturda qo’llanilishidan avval kompilyatsiya qilingan bo’lishi kerak). Ushbu kompiliyatsiya yordamida katta dasturlar sezilarli qisqaradi, muhimi ularni ko’p marta kompiliyatsiya qilishda xatoliklarda. Modulning uchinchi asosiy xossasi, ular eksportlayotgan obyektlarni realizatsiyasi va namoyishini berkitadi va “inkapsulyatsiya” qiladi, shunday ekan ularning modulda bo’lishi mumkin bo’lgan o’zgarishi, foydalanuvchi dasturini hech qanday qayta ishlanishini talab qilmaydi.
Barcha modullar, ular tomonidan aniqlanadigan o’zgarmaslar, o’zgaruvchilar, turlar va dasturostilar uchun ularni belgilarini tushunish va esda saqlashni yengillashtiradigan mnemonik nomlarni qo’llaydi. 2.Numpy. NumPy Pythonda ilmiy hisoblash uchun asosiy to'plamdir. Bu Python kutubxonasi bo lib, u ko p o lchovli massiv obyekti, turli hosila ob yektlari (masalan,ʻ ʻ ʻ ʼ niqoblangan massivlar va matritsalar) hamda massivlar ustida tezkor operatsiyalar, jumladan, matematik, mantiqiy, shakllarni manipulyatsiya qilish, saralash, tanlash, kiritish/chiqarish uchun tartiblar assortimentini taqdim etadi. , diskret Furye o'zgarishlari, asosiy chiziqli algebra, asosiy statistik operatsiyalar, tasodifiy simulyatsiya va boshqalar. NumPy paketining o'zagida ndarray ob'ekti joylashgan. Bu bir hil ma'lumotlar turlarining n o'lchovli massivlarini qamrab oladi, ko'plab operatsiyalar ishlash uchun kompilyatsiya qilingan kodda amalga oshiriladi. NumPy massivlari va standart Python ketma-ketliklari o'rtasida bir nechta muhim farqlar mavjud: NumPy massivlari Python ro'yxatlaridan farqli o'laroq (dinamik ravishda o'sishi mumkin) yaratilayotganda qat'iy belgilangan hajmga ega. Ndarray o'lchamini o'zgartirish yangi massivni yaratadi va asl nusxani o'chiradi. NumPy massividagi elementlarning barchasi bir xil turdagi ma'lumotlarga ega bo'lishi kerak va shuning uchun xotirada bir xil o'lchamda bo'ladi. Istisno: (Python, shu jumladan NumPy) ob'ektlar massivlariga ega bo'lishi mumkin, bu esa turli o'lchamdagi elementlarning massivlarini yaratishga imkon beradi. NumPy massivlari katta miqdordagi ma'lumotlar bilan ilg'or matematik va boshqa turdagi operatsiyalarni osonlashtiradi. Odatda, bunday operatsiyalar Python- ning o'rnatilgan ketma-ketliklaridan foydalanish mumkin bo'lganidan ko'ra samaraliroq va kamroq kod bilan amalga oshiriladi.