O’zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali “ tt va kt ” fakulteti dasturlash fanidan tayyorlagan 1-Mustaqil



Yüklə 19,41 Kb.
səhifə1/5
tarix27.12.2023
ölçüsü19,41 Kb.
#162138
  1   2   3   4   5
1.mustaqil ishRavshanov.A

O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI “ KI” FAKULTETI KI 11-22S guruh talabasi DASTURLASH FANIDAN TAYYORLAGAN 1-Mustaqil ish 

Bajardi: Ravshanov.A

Qabul qildi: Nosirov.B

Reja:


1. Chiziqli jarayonlarni tashkil etish (algoritm va dastur)
2. Tarmoqlanuvchi jarayonlarni tashkil etish(algoritm va dastur)
3. Takrorlanuvchi jarayonlarni tashkil etish(algoritm va dastur)
4. Massivlarni tashkil etish.
5. Matritsalarni tashkil etish.

Chiziqli jarayonlarni tashkil etish (algoritm va dastur)

  • Har qanday murakkab algoritmni ham uchta asosiy struktura yordamida tasvirlash mumkin. Bular ketma-ketlik, tarmoqlash va takrorlash strukturalaridir. Bu strukturalar asosida chiziqli, tarmoqlanuvchi va takrorlanuvchi hisoblash jarayonlarining algoritmlarini tuzish mumkin. Algoritmlarni shartli ravishda quyidagi turlarga ajratish
  • Chiziqli jarayonlar (line drawing) tashkil etish uchun ikkita chiziqli algoritm, ya'ni Bresenham va DDA (Digital Differential Analyzer) algoritm, mashhur. Bu algoritmalar ikkala tanasi, ekran (koordinata o'qida) bo'yicha ikki nuqta (boshlang'ich va tugagan) orasidagi chiziqli jarayonlarni chizish uchun ishlatiladi. Shuni eslatish kerakki, bu yerda yozilgan dastur quyidagi dasturni Python dasturlash tillaridan foydalanib yaratilgan bo'lib, Python dasturlarini o'rnating va ishlatishingiz mumkin.

Bresenham algoritmi:
import matplotlib.pyplot as plt
def draw_line_bresenham(x1, y1, x2, y2):
dx = abs(x2 - x1)
dy = abs(y2 - y1)
x, y = x1, y1
sx = -1 if x1 > x2 else 1
sy = -1 if y1 > y2 else 1
if dx > dy:
err = dx / 2.0
while x != x2:
plt.plot(x, y, 'ro') # 'ro' qizil nuqta bilan chizish
err -= dy
if err < 0:
y += sy
err += dx
x += sx
else:
err = dy / 2.0
while y != y2:
plt.plot(x, y, 'ro')
err -= dx
if err < 0:
x += sx
err += dy
y += sy
plt.plot(x, y, 'ro') # Oxirgi nuqta
plt.show()
# Misol
draw_line_bresenham(2, 3, 9, 8)

Yüklə 19,41 Kb.

Dostları ilə paylaş:
  1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə