Məzmuna keç
Educora

1Kompüter: informasiya, aparat və proqram təminatıBaşlanğıc

İnformasiya, onun növləri və informasiya prosesləri

Dərsə keç

Kompüterin quruluşu: prosessor, yaddaş və sistem lövhəsi

Dərsə keç
N = f · t
burada:
  • Ntaktların sayı
  • ftakt tezliyi, Hs (1 GHs = 1000 MHs = 10⁹ Hs)
  • tvaxt, saniyə

Hers «saniyədə bir dəfə» deməkdir: tezlik saniyədə neçə takt olduğunu göstərir.

N = 2ⁿ
burada:
  • nünvan şininin mərtəbəsi (bitlərin sayı)
  • Nmüraciət oluna bilən yaddaş xanalarının (baytların) sayı

Hər xana 1 bayt olduqda N baytlıq yaddaşa müraciət etmək olar.

Daxiletmə və xaricetmə qurğuları

Dərsə keç
N = a · b
burada:
  • Nekrandakı piksellərin sayı
  • a, büfüqi və şaquli istiqamətdə piksellərin sayı (ayırdetmə qabiliyyəti a × b)

Piksellərin sayı ayırdetmə qabiliyyətinin iki ədədinin hasilidir.

d (sm) = d (düym) · 2,54
burada:
  • dekranın diaqonalı

Düymü santimetrə çevirmək üçün 2,54-ə vurun.

t = N / vt = N / v
burada:
  • tçap vaxtı, dəqiqə
  • Nsəhifələrin sayı
  • vprinterin sürəti, səh/dəq

İki printer birlikdə işləyəndə sürətlər toplanır.

Fayl sistemləri və diskdə tutulan yer

Dərsə keç
k = ⌈V / c⌉, Vdisk = k · ck = ⌈V / c⌉, Vdisk = k · c
burada:
  • Vfaylın informasiya həcmi (ölçüsü)
  • cklaster ölçüsü (V ilə eyni vahidlə)
  • kfaylın tutduğu klasterlərin sayı
  • ⌈ ⌉yuxarı yuvarlaqlaşdırma: kəsr hissə varsa, növbəti tam ədəd götürülür
  • Vdiskfaylın diskdə tutduğu yer

Diskdə tutulan yer — ölçüdən böyük və ya ona bərabər olan ən kiçik klaster misli.

ΔV = Vdisk − V
burada:
  • ΔVfaylın son klasterində istifadəsiz qalan yer

Hər fayl üçün boş yer 0 ilə c − 1 bayt arasındadır; orta hesabla təxminən yarım klaster.

2Mətn və cədvəl prosessorlarıBaşlanğıc

Mətn prosessorları: redaktə, formatlama və klaviş əməliyyatları

Dərsə keç

Elektron cədvəl: ünvanlar, diapazonlar və düsturlar

Dərsə keç
N = (S₂ − S₁ + 1) · (R₂ − R₁ + 1)
burada:
  • Ndiapazondakı xanaların sayı
  • S₁, S₂ilk və son sütunun sıra nömrəsi (A = 1, B = 2, …)
  • R₁, R₂ilk və son sətrin nömrəsi

Sütunların sayı × sətirlərin sayı. «+1»-i unutma: B-dən F-ə qədər 5 sütun var, 4 yox.

Sütun′ = Sütun + Δs, Sətir′ = Sətir + Δr
burada:
  • Δsdüsturun neçə sütun sağa (+) və ya sola (−) köçürüldüyü
  • Δrneçə sətir aşağı (+) və ya yuxarı (−) köçürüldüyü

Qayda ünvanın hər hissəsinə ayrıca tətbiq olunur. Qarşısında $ olan hissə dəyişmir. Kəsib yapışdıranda (Ctrl+X → Ctrl+V) isə düsturdakı ünvanlar ümumiyyətlə dəyişmir.

Elektron cədvəldə funksiyalar

Dərsə keç
AVERAGE(D) = SUM(D) / COUNT(D)AVERAGE(D) = SUM(D) / COUNT(D)
burada:
  • Ddiapazon (və ya arqumentlər siyahısı)
  • COUNT(D)D-dəki ədədlərin sayı — boş və mətnli xanalar sayılmır

Ədədi orta cəmin xanaların hamısının sayına yox, ədəd olan xanaların sayına bölünməsidir.

TIME(s; d; san) = s/24 + d/1440 + san/86400TIME(s; d; san) = s/24 + d/1440 + san/86400
burada:
  • s, d, sansaat, dəqiqə, saniyə
  • 24, 1440, 86400sutkadakı saatların, dəqiqələrin və saniyələrin sayı

TIME sutkanın hissəsini qaytarır (0-dan 1-ə qədər). Onu 24-ə vursan saat, 24 · 60-a vursan dəqiqə alarsan.

RADIANS(α) = α · π / 180RADIANS(α) = α · π / 180
burada:
  • αdərəcə ilə bucaq
  • π / 180π / 1801°-nin radianla qiyməti ≈ 0,01745

180° = π radian. Tərs çevirmə üçün Excel-də DEGREES funksiyası var.

=RAND()*(b − a) + a → a ≤ x < b
burada:
  • a, baralığın uclarıdır; RAND() · (b − a) uzunluğu dəyişir, + a aralığı sürüşdürür

Tam ədəd lazımdırsa, tam hissə funksiyası INT əlavə olunur: =INT(RAND()*6)+1 zər kimi 1-dən 6-ya qədər ədəd verir.

Elektron cədvəldə diaqramlar və onların elementləri

Dərsə keç
p = x / S · 100%, α = x / S · 360°p = x / S · 100%, α = x / S · 360°
burada:
  • xsektora uyğun xananın qiyməti
  • Sdiapazondakı bütün qiymətlərin cəmi
  • psektorun payı, faizlə
  • αsektorun mərkəzi bucağı

Bütün sektorların faizləri cəmi 100%, bucaqları cəmi 360° edir. Bir qiymət dəyişəndə S də dəyişir, ona görə bütün faizlər dəyişir.

3İnformasiyanın kodlaşdırılması və ölçülməsiOrta

İnformasiyanın ölçülməsi: bit, bayt və vahidlər

Dərsə keç
N = 2ⁱ
burada:
  • Nkodlaşdırılan müxtəlif variantların sayı (simvollar, rənglər, səviyyələr…); əlifba üçün — əlifbanın gücü
  • ibir variantın kodundakı bitlərin sayı — bir variantın (simvolun) daşıdığı informasiya miqdarı

i bitlə 2ⁱ müxtəlif kod yazmaq olar. N məlumdursa, i = log₂N; N 2-nin qüvvəti deyilsə, i yuxarı yuvarlaqlaşdırılır.

1 Kbayt = 2¹³ bit 1 Mbayt = 2²³ bit 1 Gbayt = 2³³ bit
burada:
  • 2³ = 8bayt ilə bit arasındakı vuruq
  • 2¹⁰ = 1024qonşu vahidlər arasındakı vuruq (bayt → Kbayt → Mbayt → Gbayt)

Bitlə yazılışda üstlər 3, 13, 23, 33, 43-dür: hər növbəti vahiddə üst 10 artır.

I = K · i
burada:
  • Iməlumatın informasiya həcmi (bit)
  • Kməlumatdakı simvolların sayı
  • ibir simvolun informasiya həcmi (bit); N = 2ⁱ

Səhifələrdən ibarət mətn üçün K = səhifələrin sayı · bir səhifədəki sətirlər · bir sətirdəki simvollar.

I = v · t
burada:
  • Iötürülən informasiyanın həcmi (bit)
  • vötürmə sürəti (bit/san)
  • tötürmə vaxtı (san)

Buradan t = I / v və v = I / t. Əvvəlcə həcmi bitə, vaxtı saniyəyə çevir.

Mətn informasiyasının kodlaşdırılması

Dərsə keç
I = K · 8 bit (ASCII) I = K · 16 bit (UNICODE)
burada:
  • Imətnin informasiya həcmi
  • Kmətndəki bütün simvolların sayı: hərflər, rəqəmlər, boşluqlar, durğu işarələri

Bu, I = K · i düsturunun xüsusi halıdır: ASCII-də i = 8, UNICODE-da i = 16. Eyni mətn UNICODE-da ASCII-dəkindən 2 dəfə çox yer tutur.

i = I / K, N = 2ⁱi = I / K, N = 2ⁱ
burada:
  • ibir simvolun bitlərinin sayı
  • Imətn hissəsinin həcmi (bit); şəkillərin həcmi əvvəlcə çıxılır
  • Ksimvolların sayı
  • Nəlifbanın gücü

Tərs məsələlərin açarı: əvvəlcə mətnin həcmini ayır, sonra simvolların sayına böl.

Kompüter qrafikası: rastr və vektor təsvirlərin kodlaşdırılması

Dərsə keç
N = 2ⁱ
burada:
  • Npalitradakı rənglərin (rəng çalarlarının) sayı
  • irəng dərinliyi — bir pikselin kodundakı bitlərin sayı

Palitra 2-nin qüvvəti deyilsə, i yuxarı yuvarlaqlaşdırılır: 100 rəng üçün 7 bit (2⁷ = 128). DİM-in ifadəsi belədir: «hər rəng mümkün minimal bit sayı ilə kodlaşdırılır».

V = W · H · i
burada:
  • Vrastr təsvirin informasiya həcmi (bit)
  • Wendəki piksellərin sayı
  • Hhündürlükdəki piksellərin sayı (tapşırıqlarda bəzən «uzunluq» deyilir)
  • irəng dərinliyi (bit), N = 2ⁱ

Əvvəlcə i-ni palitradan tap, sonra vur və bitləri lazım olan vahidə çevir: 2¹³ bit = 1 Kbayt, 2²³ bit = 1 Mbayt.

V₂ / V₁ = (W₂ / W₁) · (H₂ / H₁) · (i₂ / i₁)V₂ / V₁ = (W₂ / W₁) · (H₂ / H₁) · (i₂ / i₁)
burada:
  • W₂ / W₁, H₂ / H₁W₂ / W₁, H₂ / H₁en və hündürlüyün neçə dəfə dəyişdiyi
  • i₂ / i₁i₂ / i₁rəng dərinliklərinin nisbəti — palitraların nisbəti deyil!

Palitra 2ᵏ dəfə azalanda rəng dərinliyi k bit azalır, həcm isə 2ᵏ dəfə deyil, i₁ / (i₁ − k) dəfə azalır.

Səs və video informasiyasının kodlaşdırılması

Dərsə keç
V = f · i · t · k
burada:
  • Vsəs faylının həcmi (bit)
  • fdiskretləşdirmə tezliyi (Hs)
  • ikodlaşdırma dərinliyi (bit)
  • tyazının müddəti (san)
  • kkanalların sayı: mono 1, stereo 2

Əslində bu, «ölçmələrin sayı × bir ölçmənin bitləri» düsturudur: f · t · k ölçmə, hər biri i bit.

V = W · H · i · n · t
burada:
  • W · H · ibir kadrın həcmi (bit), rastr təsvirdəki kimi
  • nkadr tezliyi (kadr/san)
  • tvideonun müddəti (san)

Səs yolu varsa, onun f · i · t · k həcmi də əlavə olunur. Bu düstur sıxılmamış videonu verir.

k = V₀ / Vk = V₀ / V
burada:
  • ksıxma əmsalı — fayl neçə dəfə kiçildi
  • V₀sıxmadan əvvəlki həcm
  • Vsıxılmış faylın həcmi

Axınla ötürülən səs və video üçün həcmlərin yerinə bit/san-la sürətləri də müqayisə etmək olar.

4Say sistemləri və məntiqOrta

Say sistemləri: mövqeli sistemlər və ikilik say sistemi

Dərsə keç
N = aₖ·bᵏ + aₖ₋₁·bᵏ⁻¹ + … + a₁·b + a₀
burada:
  • Nədədin onluq say sistemindəki qiyməti
  • bsay sisteminin əsası (b ≥ 2)
  • aᵢi-ci mərtəbədəki rəqəm, 0 ≤ aᵢ ≤ b − 1
  • kən yüksək mərtəbənin nömrəsi: rəqəmlərin sayı − 1

Ədədin açıq yazılışı. Mərtəbələr sağdan sola 0-dan başlayaraq nömrələnir. Bu cəmi hesablamaq istənilən əsasdan onluq sistemə keçid deməkdir.

Nₘₐₓ = bᵏ − 1, Nₘᵢₙ = bᵏ⁻¹
burada:
  • krəqəmlərin sayı
  • bsay sisteminin əsası

Əsası b olan sistemdə ən böyük və ən kiçik k-rəqəmli ədədlər. Belə ədədlərin sayı bᵏ − bᵏ⁻¹ = (b − 1)·bᵏ⁻¹-dir.

N = b·q + r, 0 ≤ r ≤ b − 1
burada:
  • qtam qismət
  • rqalıq — ədədin b-lik yazılışının son rəqəmi

Bölmə üsulu istənilən əsas üçün işləyir: b-yə bölürük. Buradan qısa nəticə: ikilik ədəd 0 ilə bitirsə cüt, 1 ilə bitirsə təkdir.

2ⁿ = 100…0₂ (1 və n sıfır), 2ⁿ − 1 = 11…1₂ (n vahid)
burada:
  • nqüvvət göstəricisi

0-ların sayı = rəqəmlərin sayı − 1-lərin sayı. Məsələn, 2⁹ − 1 = 511 = 111111111₂ — doqquz vahid.

2ᵏ⁻¹ ≤ N < 2ᵏ
burada:
  • Nnatural ədəd
  • kN-in ikilik yazılışındakı rəqəmlərin sayı

Bu şərt ödənirsə, N ikilikdə düz k rəqəmlidir. Məsələn, 512 ≤ 1000 < 1024 olduğu üçün 1000 = 1111101000₂ on rəqəmlidir.

Səkkizlik və onaltılıq say sistemləri

Dərsə keç
N = aₖ·8ᵏ + … + a₂·64 + a₁·8 + a₀, 0 ≤ aᵢ ≤ 7
burada:
  • Nədədin onluq qiyməti
  • aᵢi-ci mərtəbədəki səkkizlik rəqəm

Səkkizlik ədədin açıq yazılışı. Əks keçiddə ədəd 8-ə bölünür, qalıq son rəqəmdir.

N = aₖ·16ᵏ + … + a₂·256 + a₁·16 + a₀, 0 ≤ aᵢ ≤ 15
burada:
  • aᵢonaltılıq rəqəm: 0–9 və ya A = 10, …, F = 15

Onaltılıq ədədin açıq yazılışı. Onluqdan keçiddə 16-ya bölünür; 10–15 qalıqları bir hərflə yazılır.

b = 2ᵐ ⇒ b əsaslı 1 rəqəm = m bit: 8 = 2³ → 3 bit, 16 = 2⁴ → 4 bit
burada:
  • mbir rəqəmə düşən bitlərin sayı

Eyni qayda 4 = 2² üçün də işləyir: 4-lük sistemdə bitlər cüt-cüt qruplaşdırılır.

n bit → ⌈n/3⌉ səkkizlik rəqəm, ⌈n/4⌉ onaltılıq rəqəmn bit → ⌈n/3⌉ səkkizlik rəqəm, ⌈n/4⌉ onaltılıq rəqəm
burada:
  • nikilik yazılışdakı rəqəmlərin sayı
  • ⌈x⌉x-dən kiçik olmayan ən kiçik tam ədəd

n 4-ə (3-ə) bölünürsə, yuvarlaqlaşdırmaya ehtiyac yoxdur: 2²⁴ bit → 2²⁴ : 2² = 2²² onaltılıq rəqəm.

Müxtəlif say sistemlərində hesab əməlləri

Dərsə keç
s = q·b + r → mərtəbəyə r yazılır, q növbəti mərtəbəyə keçirilir
burada:
  • smərtəbədəki rəqəmlərin və köçürmənin cəmi
  • bsay sisteminin əsası
  • ryazılan rəqəm, 0 ≤ r ≤ b − 1
  • qköçürmə

Toplamada s ≤ 2(b − 1) + 1, ona görə köçürmə həmişə 0 və ya 1 olur; vurmada isə q daha böyük ola bilər.

a < c olduqda: rəqəm = a + b − c, soldakı mərtəbə 1 azalır
burada:
  • aazalanın rəqəmi
  • cçıxılanın rəqəmi
  • bsay sisteminin əsası

İkilikdə ən çox rast gəlinən hal: 10₂ − 1₂ = 1₂, yəni 2 − 1 = 1.

N·bᵏ: sağa k sıfır yazılır; N : bᵏ: son k rəqəm atılır və qalığı göstərir
burada:
  • Nb əsaslı sistemdə yazılmış ədəd
  • ksürüşdürmə (mərtəbələrin sayı)

Onluqdakı 37·100 = 3700 qaydasının ümumi forması. İkilikdə 2-yə vurmaq bir mərtəbə sola, 2-yə bölmək bir mərtəbə sağa sürüşdürmədir.

saxlanan nəticə = (a + c) mod 2ⁿ
burada:
  • a, ctoplananlar (işarəsiz tam ədədlər)
  • nyuvadakı bitlərin sayı
  • modbölmədən alınan qalıq

Cəm 2ⁿ − 1-dən böyük deyilsə, daşma olmur və nəticə düzgündür.

Say sistemləri: naməlum əsas məsələləri

Dərsə keç
aₖ…a₁a₀ₓ = aₖ·xᵏ + … + a₁·x + a₀, x > ən böyük rəqəm
burada:
  • xnaməlum əsas — natural ədəd, x ≥ 2
  • aᵢədədin rəqəmləri

Rəqəm şərti: əsas bərabərlikdəki bütün rəqəmlərdən böyük olmalıdır. Tənliyin bu şərti ödəməyən kökləri atılır.

N = b·q + r, 0 ≤ r < b ⟹ b | (N − r), b > r
burada:
  • rN-in b-lik yazılışının son rəqəmi (qalıq)
  • b | MM ədədi b-yə qalıqsız bölünür

Son rəqəm = N-in əsasa bölünməsindən qalıq.

bᵏ⁻¹ ≤ N < bᵏ
burada:
  • kN-in b-lik yazılışındakı rəqəmlərin sayı

Bu qoşa bərabərsizliyi ödəyən bütün natural b ≥ 2 əsasları seçilir.

mm…mₙ (k rəqəm) = nᵏ − 1, m = n − 1
burada:
  • nsay sisteminin əsası
  • msistemin ən böyük rəqəmi

Məsələn, mmₙ = (n − 1)·n + (n − 1) = n² − 1: 77₈ = 63, 66₇ = 48.

2ⁿ − 2ᵐ = 11…1 00…0₂ (n − m vahid, m sıfır), n > m
burada:
  • n, mqüvvət göstəriciləri

Məsələn, 2⁸ − 2³ = 256 − 8 = 248 = 11111000₂: beş vahid, üç sıfır.

(2ᵃ + 2ᶜ)² = 2²ᵃ + 2ᵃ⁺ᶜ⁺¹ + 2²ᶜ, a − c ≥ 2
burada:
  • a, cqüvvət göstəriciləri, a > c

a − c ≥ 2 olduqda üç qüvvət müxtəlifdir, ona görə kvadratın ikilik yazılışında düz üç 1 olur; rəqəmlərin sayı 2a + 1-dir.

5ModelləşdirməOrta

Modellər və modelləşdirmə

Dərsə keç
S = S₀ · (1 + p/100)ⁿS = S₀ · (1 + p/100)ⁿ
burada:
  • S₀ilkin məbləğ (manat)
  • pbankın illik faizi (%)
  • nillərin sayı
  • Sn ildən sonra hesabdakı məbləğ

Bank əmanətinin riyazi modeli: hər il məbləğ (1 + p/100) dəfə artır.

h = h₀ − g · t² / 2h = h₀ − g · t² / 2
burada:
  • h₀başlanğıc hündürlük (m)
  • gsərbəstdüşmə təcili, ≈ 9,8 m/s²
  • tdüşmə başlayandan keçən vaxt (s)
  • ht anındakı hündürlük (m)

Sərbəst düşmənin dinamik modeli; fərziyyə: havanın müqaviməti nəzərə alınmır.

Cədvəl informasiya modeli: məntiqi məsələlərin cədvəllə həlli

Dərsə keç
n · (n − 1) / 2n · (n − 1) / 2
burada:
  • nobyektlərin (kəndlərin, komandaların) sayı

n obyektin müxtəlif cütlərinin sayı: simmetrik cədvəldə məhz bu qədər müxtəlif ədəd lazımdır; sıfırdan fərqli xanalar isə iki dəfə çoxdur — n · (n − 1).

hər sətirdə düz bir «+» · hər sütunda düz bir «+»

Birə-bir uyğunluq qaydası: n × n cədvəldə sonda n dənə «+» və n · (n − 1) dənə «–» olur.

sətir cəmlərinin cəmi = sütun cəmlərinin cəmi = «+» işarələrinin sayı

Yoxlama cəmi: məsələn, 6 nəfərin hər biri 2 əşya alıbsa, sütunların cəmi də 6 · 2 = 12 olmalıdır.

(a₁ + a₂ + … + aₙ) / n(a₁ + a₂ + … + aₙ) / n
burada:
  • a₁, …, aₙədədlər (səhifələrin sayı, ballar)
  • nədədlərin sayı

Ədədi orta. Onu tapıb hansı obyektə uyğun gəldiyini müəyyən etmək sıralama məsələsinin ilk addımı olur.

Ağac informasiya modeli

Dərsə keç
m = n − 1
burada:
  • nağacın düyünlərinin sayı
  • mtillərin (budaqların) sayı

Kökdən başqa hər düyünü valideyninə düz bir til bağlayır, ona görə tillər düyünlərdən bir ədəd az olur.

disk:\qovluq₁\qovluq₂\…\ad.genişlənmə
burada:
  • disk:\diskin kök qovluğu, məsələn C:\
  • qovluq₁ … qovluqₖkökdən fayla qədər yolda olan qovluqlar, yuxarıdan aşağıya
  • ad.genişlənməfaylın adı və genişlənməsi

Faylın tam adı: kökdən fayla gedən yeganə yol.

n = 1 + k + k² + … + kʰ, yarpaqlar = kʰ
burada:
  • khər daxili düyünün övladlarının sayı (bütün daxili düyünlərdə eyni)
  • hağacın hündürlüyü; bütün yarpaqlar h səviyyəsindədir
  • ndüyünlərin ümumi sayı

Dolu ağac: hər səviyyədə düyünlər k dəfə artır. k = 2 olduqda n = 2ʰ⁺¹ − 1.

Qraf informasiya modeli: qonşuluq matrisi və yolların sayı

Dərsə keç
deg(A₁) + deg(A₂) + … + deg(Aₙ) = 2 · m
burada:
  • deg(Aᵢ)i-ci təpənin dərəcəsi
  • mtillərin sayı

«Əl sıxma» qaydası: hər til iki təpəyə aiddir və dərəcələrin cəmində iki dəfə sayılır. Deməli, dərəcələrin cəmi həmişə cüt ədəddir.

m = n · (n − 1) / 2m = n · (n − 1) / 2
burada:
  • ntəpələrin sayı
  • mtam qrafda tillərin sayı

Tam qraf: hər iki təpə til ilə birləşib (məsələn, hər komanda hər komanda ilə bir dəfə oynayır).

istiqamətsiz qraf: N₁ = 2 · m istiqamətlənmiş qraf: N₁ = m
burada:
  • N₁qonşuluq matrisindəki «1»-lərin sayı
  • mtillərin (oxların) sayı

İstiqamətlənmiş qrafda X → Y oxu yalnız bir xanada, X sətri ilə Y sütununun kəsişməsində «1» verir; belə matris adətən simmetrik olmur.

N(X) = N(Y₁) + N(Y₂) + … + N(Yₖ), N(A) = 1
burada:
  • N(X)A-dan X-ə gedən müxtəlif yolların sayı
  • Y₁, …, YₖX-ə ox (birbaşa yol) göndərən bütün təpələr

Başlanğıc təpəyə 1 yazılır; hər təpənin ədədi ona daxil olan oxların başlanğıcındakı ədədlərin cəmidir.

N(A → K, D-dən keçməklə) = N(A → D) · N(D → K)
burada:
  • N(A → D)A-dan D-yə gedən yolların sayı
  • N(D → K)D-dən K-ya gedən yolların sayı (D-yə 1 yazıb yenidən hesablanır)

Verilmiş təpədən keçən yollar: yolun birinci hissəsinin hər variantı ikinci hissənin hər variantı ilə birləşir, ona görə saylar vurulur.

6AlqoritmlərOrta

Alqoritm, onun xassələri və təsvir üsulları

Dərsə keç
dəyişən = ifadə
burada:
  • dəyişənyeni qiymətin yazıldığı yer; köhnə qiymət silinir
  • ifadədəyişənlərin cari qiymətləri ilə hesablanır

Mənimsətmə qaydası: əvvəl sağ tərəf hesablanır, sonra nəticə soldakı dəyişənə yazılır

Budaqlanan alqoritmlər

Dərsə keç
D = b² − 4·a·c
burada:
  • Ddiskriminant: D > 0 — iki kök, D = 0 — bir kök, D < 0 — həqiqi kök yoxdur
  • a, b, ca·x² + b·x + c = 0 tənliyinin əmsalları (a ≠ 0)

Üç halı iki romb ayırır: əvvəl D > 0, sonra D = 0

(il % 4 = 0 və il % 100 ≠ 0) və ya il % 400 = 0
burada:
  • %bölmənin qalığı; «il % 4 = 0» — il 4-ə bölünür
  • ≠bərabər deyil

Qriqorian təqvimində uzun il (kəbisə ili, 366 gün) qaydası — mürəkkəb şərtin klassik nümunəsi

Dövri alqoritmlər və izləmə cədvəli

Dərsə keç
S = S + x; P = P · x; k = k + 1
burada:
  • Scəm; başlanğıc qiyməti 0
  • Phasil; başlanğıc qiyməti 1 (0 olsa, hasil həmişə 0 qalar)
  • ksay (sayğac); başlanğıc qiyməti 0

Dövrün üç «yığıcı» dəyişəni və onların başlanğıc qiymətləri

r = n % 10, n = n // 10
burada:
  • n % 10ədədin son rəqəmi (10-a bölmədən qalıq)
  • n // 10son rəqəmi atılmış ədəd (tam bölmə)

Rəqəmlər üzrə dövr: n > 0 olduqca son rəqəmi götür və onu at

a₀ + p·k ≥ b₀ − q·k ⇒ k = ⌈(b₀ − a₀) / (p + q)⌉a₀ + p·k ≥ b₀ − q·k ⇒ k = ⌈(b₀ − a₀) / (p + q)⌉
burada:
  • a₀, b₀dəyişənlərin başlanğıc qiymətləri (a₀ < b₀)
  • p, qhər addımda a-nın artımı və b-nin azalması
  • k«a < b» dövrünün təkrarlarının sayı
  • ⌈ ⌉yuxarı yuvarlaqlaşdırma: 10,875 → 11

Dövr ilk dəfə a ≥ b olanda dayanır: məsafə hər addımda p + q qədər azalır

Blok-sxemin qurulması: yazılı tapşırıqlar

Dərsə keç
S = 1 − 1/3 + 1/5 − 1/7 + … , aᵢ = k / (2·i − 1), k = −kS = 1 − 1/3 + 1/5 − 1/7 + … , aᵢ = k / (2·i − 1), k = −k
burada:
  • ihəddin nömrəsi, 1-dən N-ə qədər
  • 2·i − 1i-ci həddin məxrəci: 1, 3, 5, 7, …
  • kişarə: 1 ilə başlayır və hər addımda −k olur (1, −1, 1, …)

Növbəli işarəli sıranın ümumi həddi: işarə ayrıca dəyişəndə saxlanılır

y = 2·x + 5, əgər x < 3; y = x² − 4, əgər x ≥ 3
burada:
  • xdövrün hər addımında daxil edilən tam ədəd
  • yfunksiyanın qiyməti: rombla iki düsturdan biri seçilir

Tapşırıq: n ədəd üçün y-ləri hesablayıb 20-dən böyük olanların cəmini çap edin

Çeşidləmə alqoritmləri

Dərsə keç
K = n(n − 1) / 2K = n(n − 1) / 2
burada:
  • Kən pis halda müqayisələrin sayı
  • nsiyahıdakı elementlərin sayı

7Proqramlaşdırma: Python (məktəb kursu)Orta

Proqramlaşdırma dilləri və Python: dəyişənlər, daxiletmə və xaricetmə

Dərsə keç
a = b · (a // b) + a % b, 0 ≤ a % b < b
burada:
  • abölünən (tam ədəd)
  • bbölən, b > 0
  • a // bnatamam qismət
  • a % bqalıq

Qalıqlı bölmə: // və % həmişə cüt işləyir. Yoxlama: qisməti bölənə vurub qalığı əlavə etsən, bölünən alınmalıdır.

( ) → ** → * / // % → + −2 ** 3 ** 2 = 2 ** 9 = 512

Əməllərin prioriteti (soldan sağa azalır). Eyni səviyyəli * / // % əməlləri soldan sağa icra olunur, ** isə sağdan sola: 2 ** 3 ** 2 = 2 ** 9 = 512. ** birhədli mənfidən güclüdür: -2 ** 2 = −4.

n = 100·a + 10·b + c ⇒ a = n // 100, b = n // 10 % 10, c = n % 10
burada:
  • nüçrəqəmli natural ədəd
  • ayüzlüklər rəqəmi
  • bonluqlar rəqəmi
  • ctəkliklər (son) rəqəm

n % 10 həmişə son rəqəmi, n // 10 isə son rəqəmi atılmış ədədi verir. Dövrlə istənilən uzunluqlu ədədin rəqəmləri «Ədədlər üzərində əməllər: rəqəmlər, bölənlər və sadə ədədlər» dərsində işlənir.

Şərt operatoru: if, elif, else və mürəkkəb şərtlər

Dərsə keç
hesab əməlləri → == != < > <= >= → not → and → or

Prioritet soldan sağa azalır: əvvəl hesab əməlləri, sonra müqayisələr, sonra not, and və ən axırda or. Şübhə olanda mötərizə qoy — proqram həm düzgün, həm də oxunaqlı olur.

Dövr operatorları: for, while, dövr addımı, break, continue və iç-içə dövrlər

Dərsə keç
N = ⌈(b − a) / d⌉N = ⌈(b − a) / d⌉
burada:
  • Niterasiyaların sayı; ifadə 0-dan kiçik və ya ona bərabərdirsə, dövr heç icra olunmur
  • abaşlanğıc qiymət
  • bson qiymət (daxil deyil)
  • daddım (mənfi də ola bilər)
  • ⌈x⌉x-i yuxarıya, ən yaxın tam ədədə yuvarlaqlaşdırmaq

range(a, b, d)-də iterasiyaların sayı. Dövr dəyişəninin son qiyməti a + (N − 1) · d-dir. Addım 1 olanda sadəcə N = b − a; [a; b] parçasındakı bütün tam ədədlər üçün range(a, b + 1) yazılır və N = b − a + 1.

K = b // m − (a − 1) // m
burada:
  • K[a; b] parçasında m-ə bölünən natural ədədlərin sayı
  • a, bparçanın ucları (natural ədədlər)
  • mbölən

Dövrsüz sayma: [1; b]-də m-ə bölünənlər b // m qədərdir, [1; a − 1]-dəkiləri çıxırıq. Böyük aralıqlı dövrləri izləmək əvəzinə məhz belə sayırıq.

N = N₁ · N₂
burada:
  • Ndaxili gövdənin ümumi icra sayı
  • N₁xarici dövrün iterasiyaları
  • N₂daxili dövrün bir keçiddəki iterasiyaları

Daxili dövr xarici dəyişəndən asılı deyilsə, hasil düsturu işləyir. Asılıdırsa, hər xarici iterasiya üçün daxili sayı ayrıca tapıb toplayırıq.

Ədədlər üzərində əməllər: rəqəmlər, bölənlər və sadə ədədlər

Dərsə keç
d = n % 10 n = n // 10
burada:
  • dson rəqəm (0…9)
  • %bölmədən qalıq
  • //tam bölmə: kəsr hissə atılır, ədəd bir rəqəm qısalır

Rəqəm dövrünün iki əsas əmri. Dövr while n > 0: şərti ilə işləyir.

n // pow(10, k) % 10 n % pow(10, k) n // pow(10, k)
burada:
  • n // pow(10, k) % 10sağdan k-cı rəqəm (k = 0 — təkliklər, 1 — onluqlar, 2 — yüzlüklər)
  • n % pow(10, k)son k rəqəmdən düzələn ədəd
  • n // pow(10, k)son k rəqəm atılandan sonra qalan ədəd

Dövrsüz istənilən rəqəmi götürmək olar: 5682 // 100 % 10 = 6, 5682 % 100 = 82, 5682 // 1000 = 5.

r = r * 10 + n % 10
burada:
  • rtərs ədəd; başlanğıcda r = 0
  • n % 10növbəti son rəqəm

Tərs ədəd: 5682 üçün r = 2, 28, 286, 2865. Palindrom yoxlaması: dövrdən sonra r == m (m — ilkin ədədin nüsxəsi).

a * pow(10, c) + n n * 10 + a
burada:
  • cn-in rəqəmlərinin sayı (rəqəm dövrünün sayğacı)
  • aəlavə olunan rəqəm

a rəqəmini ədədin əvvəlinə və sonuna yazmaq.

n % i == 0, i = 1, 2, …, n
burada:
  • iyoxlanılan namizəd bölən
  • c == 2bölənlərin sayı 2-dirsə, n sadədir

Bölən dövrü: for i in range(1, n + 1): və içində if n % i == 0:.

pow(a, 0.5) == int(pow(a, 0.5))
burada:
  • pow(a, 0.5)a-nın kvadrat kökü, kəsr tipli ədəd (49 ** 0.5 → 7.0)
  • int(…)kəsr hissəni atır

Kök tam ədəddirsə, a tam kvadratdır. DİM həllərində a ** (1/2) yazılışı da işlənir — eyni şeydir.

ƏBOB(a; b) = ƏBOB(b; a % b), ƏBOB(a; 0) = a
burada:
  • a % ba-nın b-yə bölünməsindən qalıq
  • b = 0qalıq 0 olanda dayanırıq: cavab a-dır

Evklid alqoritmi. Dərsliklərdə çıxma variantı da var: ədədlər bərabərləşənə qədər böyükdən kiçiyi çıx.

ƏKOB(a; b) = a · b / ƏBOB(a; b)ƏKOB(a; b) = a · b / ƏBOB(a; b)
burada:
  • a · biki ədədin hasili

Ən kiçik ortaq bölünən ƏBOB-dan dərhal alınır.

S = 1 + 1/2 + 1/3 + … + 1/n n! = 1 · 2 · 3 · … · nS = 1 + 1/2 + 1/3 + … + 1/n n! = 1 · 2 · 3 · … · n
burada:
  • s = s + 1 / is = s + 1 / icəmin dövrdəki şablonu
  • p = p * ifaktorialın şablonu (başlanğıcda p = 1)

i dövr dəyişənidir: for i in range(1, n + 1):.

Proqramın analizi: nəticədən giriş qiymətinə

Dərsə keç
n = n₀ + k · d s = s₀ · qᵏ
burada:
  • n₀, s₀dövrdən əvvəlki qiymətlər
  • dhər addımda əlavə olunan ədəd (n = n + d)
  • qhər addımda vurulan ədəd (s = s * q)
  • kiterasiyaların sayı

Toplama arifmetik, vurma isə həndəsi silsilə verir.

şərt(x₍ₖ₋₁₎) — doğru, şərt(xₖ) — yalan
burada:
  • xₖdövr dəyişəninin k iterasiyadan sonrakı qiyməti, girişlə ifadə olunur (məsələn, s₀ + k · m)

Dövrün düz k dəfə işləməsinin şərti.

x // q = y ⇔ q · y ≤ x ≤ q · y + q − 1
burada:
  • qbölən (a = a // q)
  • ytam bölmənin nəticəsi

Tam bölmədə geriyə addım: ən kiçik x = q · y, ən böyük x = q · y + q − 1.

say = R − L + 1 1 + 2 + … + k = k(k + 1) / 2say = R − L + 1 1 + 2 + … + k = k(k + 1) / 2
burada:
  • L, Rən kiçik və ən böyük uyğun giriş
  • k(k + 1) / 2k(k + 1) / 2ilk k natural ədədin cəmi

Parçadakı tam ədədlərin sayı və dəyişən addımlı cəm.

Sətirlər və onlar üzərində əməllər

Dərsə keç
s[i] s[-1] = s[len(s) - 1]
burada:
  • s[i]i indeksli simvol (özü də sətirdir)
  • len(s)sətirdəki simvolların sayı; son indeks len(s) − 1-dir

s[len(s)] xəta verir (IndexError): belə indeks yoxdur.

s[a:b:c]
burada:
  • abaşlanğıc indeks (daxildir); yazılmasa — əvvəldən
  • bson indeks (daxil deyil); yazılmasa — sona qədər
  • caddım; yazılmasa 1-dir; mənfi addım sağdan sola gedir

Kəsik a-dan b − 1-ə qədər c addımla gedir. s[::-1] — tərs sətir; c = 1 olduqda kəsikdə b − a simvol olur.

Siyahılar və onlar üzərində əməllər

Dərsə keç

Funksiya: def, parametrlər və return

Dərsə keç

Proqram yazmaq: yazılı tapşırıqların həlli

Dərsə keç
NBa = (Dkod + 2 · Dyazılı) · 100 / 33NBa = (Dkod + 2 · Dyazılı) · 100 / 33
burada:
  • NBaaçıq tapşırıqlar üzrə nisbi bal
  • Dkoddüzgün kodlaşdırılmış cavabların sayı (0–5)
  • Dyazılıyazılı tapşırıqlara verilən balların cəmi (0–3)

Qapalı hissə buna 100/33 · (Dq − Yq/4) əlavə edir; fənn üzrə maksimum 100-dür. Yazılı tapşırıq iki kodlaşdırılan tapşırıq qədər çəkiyə malikdir.

8Verilənlər bazasıİrəli

Verilənlər bazası: modellər, VBİS və əlaqəli cədvəllər

Dərsə keç

Verilənlər bazasında sorğular, axtarış və çeşidləmə

Dərsə keç
M(A AND B) = M(A) ∩ M(B)
burada:
  • M(A)A şərtinə cavab verən yazıların nömrələri
  • ∩kəsişmə: hər iki çoxluqda olanlar

AND — hər iki şərt ödənməlidir: ortaq nömrələr qalır.

M(A OR B) = M(A) ∪ M(B)
burada:
  • ∪birləşmə: ən azı bir çoxluqda olanlar

OR — ən azı bir şərt ödənməlidir: nömrələr birləşdirilir, təkrar yazılmır.

M(NOT A) = U \ M(A)
burada:
  • Ucədvəlin bütün yazıları
  • \fərq: U-dan M(A)-nı çıxırıq

NOT — şərt ödənməyən yazılar qalır.

NOT (A AND B) = (NOT A) OR (NOT B) · NOT (A OR B) = (NOT A) AND (NOT B)
burada:
  • A, Bistənilən şərtlər

De Morqan qanunları: NOT mötərizəyə daxil olanda AND ↔ OR yer dəyişir.

9Şəbəkələr, internet və informasiya təhlükəsizliyiİrəli

İnternetdə axtarış: axtarış sistemləri və sorğular

Dərsə keç
n(A OR B) = n(A) + n(B) − n(A AND B)
burada:
  • n(A), n(B)A və B sorğuları üzrə tapılan səhifələrin sayı
  • n(A AND B)hər iki sözün olduğu səhifələrin sayı
  • n(A OR B)sözlərdən heç olmasa birinin olduğu səhifələrin sayı

İki çoxluq üçün daxiletmə–çıxarma düsturu. Dörd kəmiyyətdən üçü məlumdursa, dördüncüsü tapılır.

n(A AND NOT B) = n(A) − n(A AND B)
burada:
  • n(A AND NOT B)A sözü olan, amma B sözü olmayan səhifələrin sayı

A dairəsindən ortaq hissə çıxılır — B-nin hamısı yox!

n(A OR B OR C) = n(A) + n(B) + n(C) − n(A AND B) − n(A AND C) − n(B AND C) + n(A AND B AND C)
burada:
  • n(A AND B AND C)üç sözün hamısının olduğu səhifələrin sayı (mərkəz, 7-ci hissə)

Üç çoxluq üçün daxiletmə–çıxarma düsturu: cütlərin kəsişmələri çıxılanda mərkəz üç dəfə çıxılır, ona görə bir dəfə geri əlavə olunur.

Kibertəhlükəsizlik: parollar, fişinq və məxfilik

Dərsə keç
C = Aᴸ
burada:
  • Cmümkün parolların sayı
  • Aəlifbanın ölçüsü — istifadə oluna bilən müxtəlif simvolların sayı
  • Lparolun uzunluğu (simvolların sayı)

Birinci dərsdəki N = 2ⁱ düsturu bunun xüsusi halıdır: orada əlifbada cəmi 2 simvol (0 və 1) var idi.

İnformasiyanın qorunması və kriptoqrafiya

Dərsə keç
y = (x + k) mod n
burada:
  • xaçıq mətndəki hərfin nömrəsi
  • yşifrmətndəki hərfin nömrəsi
  • kaçar — sürüşdürmə əmsalı
  • nəlifbadakı simvolların sayı (26, 32 və ya 10)
  • mod nn-ə bölünmədən alınan qalıq: əlifbanın «dövrə vurması»

Şifrləmə: k mövqe sağa.

x = (y − k) mod n

Deşifrləmə: k mövqe sola. Mənfi ədəd alınsa, n əlavə edin: məsələn, (1 − 3) mod 26 = −2 + 26 = 24.

k = (y − x) mod n; k = (k₁ + k₂) mod n
burada:
  • x, yaçıq mətnin və şifrmətnin uyğun hərflərinin nömrələri
  • k₁, k₂ardıcıl iki şifrləmənin açarları

Açarı tapmaq üçün bir hərf kifayətdir; iki sürüşdürmə toplanır. Sola k sürüşdürmə sağa n − k sürüşdürmədir.

10Veb-proqramlaşdırmaİrəli

Veb-proqramlaşdırma: saytın hazırlanması, HTML teqləri və siyahılar

Dərsə keç

HTML-də cədvəllər, rəng sxemi, şəkillər və istinadlar

Dərsə keç
N = 256 · 256 · 256 = 2²⁴ = 16 777 216
burada:
  • #RRGGBBrəng kodu: üç onaltılıq cüt — qırmızı, yaşıl, göy
  • 256bir cütün qiymətlərinin sayı: 00…FF = 0…255
  • Nyazıla bilən rənglərin sayı

Hər rəng 3 bayt = 24 bitlə kodlaşdırılır — rastr qrafikadakı True Color ilə eynidir.

h₂ = h₁ · w₂ / w₁h₂ = h₁ · w₂ / w₁
burada:
  • w₁, h₁şəklin öz eni və hündürlüyü (piksel)
  • w₂width atributunda yazılan en
  • h₂brauzerin göstərdiyi hündürlük

Yalnız width (və ya yalnız height) verilsə, brauzer tərəflərin nisbətini saxlayır.

11Alqoritmlər və verilənlər strukturlarıUniversitet

Alqoritmin mürəkkəbliyi və O-işarələməsi

Dərsə keç
1 + 2 + … + (n − 1) = n(n − 1) / 21 + 2 + … + (n − 1) = n(n − 1) / 2
burada:
  • ngiriş verilənlərinin ölçüsü (elementlərin sayı)

Qauss cəmi: «hər element hər biri ilə bir dəfə» tipli iç-içə dövrlərin əməliyyat sayı.

f(n) = O(g(n)) ⇔ ∃ c > 0, ∃ n₀: 0 ≤ f(n) ≤ c · g(n) ∀ n ≥ n₀
burada:
  • f(n)alqoritmin əməliyyat sayı
  • g(n)müqayisə funksiyası (n, n², n log n …)
  • cmüsbət sabit
  • n₀bərabərsizliyin ödəndiyi başlanğıc ölçü
f(n) = Ω(g(n)) ⇔ ∃ c > 0, n₀: f(n) ≥ c · g(n) ∀ n ≥ n₀; f(n) = Θ(g(n)) ⇔ f = O(g) və f = Ω(g)

Ω — aşağı sərhəd, Θ — həm yuxarı, həm aşağı sərhəd (iki sabit arasında «sıxılma»).

T(n) = 2T(n/2) + cn ⇒ T(n) = cn · log₂ n + n · T(1) = Θ(n log n)T(n) = 2T(n/2) + cn ⇒ T(n) = cn · log₂ n + n · T(1) = Θ(n log n)
burada:
  • T(n)n elementli giriş üçün iş vaxtı
  • 2T(n/2)2T(n/2)iki yarının rekursiv emalı
  • cnbölmə və birləşdirmə işi (xətti)

Rekursiya ağacı: k-cı səviyyədə hər biri n/2ᵏ ölçülü 2ᵏ alt məsələ var, səviyyənin ümumi işi 2ᵏ · c · n/2ᵏ = cn. Səviyyələrin sayı log₂ n olduğundan cəm cn · log₂ n-dir.

T(n) = a · T(n/b) + Θ(nᵈ)T(n) = a · T(n/b) + Θ(nᵈ)
burada:
  • arekursiv çağırışların sayı (a ≥ 1)
  • bölçünün neçə dəfə kiçildiyi (b > 1)
  • dbölmə və birləşdirmə işinin qüvvət göstəricisi (d ≥ 0)

Master teoremi (sadələşdirilmiş forma): a ilə bᵈ-ni müqayisə et. a < bᵈ → Θ(nᵈ); a = bᵈ → Θ(nᵈ · log n); a > bᵈ → Θ(nᵖ), burada p = log a / log b.

Massivlər, əlaqəli siyahılar, stek və növbə

Dərsə keç
addr(A[i]) = base + i · s
burada:
  • basemassivin başlanğıc ünvanı (A[0]-ın ünvanı)
  • ielementin indeksi (0-dan başlayır)
  • sbir elementin ölçüsü, bayt

İndeksin 0-dan başlamasının səbəbi də budur: i elementin başlanğıcdan neçə addım uzaqda olduğunu göstərir.

(n + 1 + 2 + 4 + … + 2ᵏ) / n < (n + 2n) / n = 3, 2ᵏ < n(n + 1 + 2 + 4 + … + 2ᵏ) / n < (n + 2n) / n = 3, 2ᵏ < n
burada:
  • nəlavə edilən elementlərin sayı
  • 1 + 2 + … + 2ᵏbütün genişlənmələrdə köçürülən elementlərin cəmi (< 2n)

Amortizasiyalı dəyər: n əlavə etmənin ümumi işi 3n-dən azdır, deməli, bir əlavə etmə orta hesabla O(1)-dir — ayrı-ayrı «bahalı» genişlənmələrə baxmayaraq.

tail = (head + size) mod m, next(i) = (i + 1) mod m
burada:
  • headnövbənin ilk elementinin indeksi
  • sizenövbədəki elementlərin sayı
  • mmassivin tutumu
  • tailnövbəti elementin yazılacağı indeks

Heş cədvəlləri

Dərsə keç
h(s) = (s₀ · pᵏ⁻¹ + s₁ · pᵏ⁻² + … + sₖ₋₁ · p⁰) mod m
burada:
  • s₀ … sₖ₋₁sətrin simvollarının ədədi kodları
  • pəsas (adətən kiçik sadə ədəd, məsələn, 31)
  • ksətrin uzunluğu
  • msəbətlərin sayı

Polinomial heş simvolların həm qiymətindən, həm də sırasından asılıdır: «ab» və «ba» fərqli heş alır.

P(toqquşma yoxdur) ≈ e^(−k(k − 1) / (2m))
burada:
  • kyerləşdirilən açarların sayı
  • msəbətlərin sayı

m = 365, k = 23: k(k − 1)/2 = 253, 253/365 ≈ 0,693, e^(−0,693) ≈ 0,5. Toqquşmanın başlaması üçün təxminən √m açar kifayətdir.

α = n / mα = n / m
burada:
  • αdoluluq əmsalı (load factor)
  • ncədvəldəki açarların sayı
  • msəbətlərin sayı

Zəncirləmədə α zəncirin orta uzunluğudur və 1-dən böyük ola bilər; açıq ünvanlamada həmişə α < 1.

E(zəncirləmə) = 1 + α; E(xətti yoxlama) ≈ ½ · (1 + 1 / (1 − α)²)E(zəncirləmə) = 1 + α; E(xətti yoxlama) ≈ ½ · (1 + 1 / (1 − α)²)
burada:
  • Euğursuz axtarışda (açar yoxdur) gözlənilən yoxlama sayı

Bərabər paylanan heş fərziyyəsi ilə. Xətti yoxlama üçün düstur Knutun analizidir; α → 1 olanda yoxlamalar kəskin artır.

Ağaclar və yığınlar (heap)

Dərsə keç
n ≤ 2ʰ⁺¹ − 1 ⇒ h ≥ ⌈log₂(n + 1)⌉ − 1 ≈ log₂ n
burada:
  • ndüyünlərin sayı
  • hağacın hündürlüyü (tillərlə)

d dərinliyində ən çoxu 2ᵈ düyün ola bilər: 1 + 2 + 4 + … + 2ʰ = 2ʰ⁺¹ − 1. Deməli, n düyünlü ikili ağacın hündürlüyü log₂ n-dən kiçik ola bilməz, amma n − 1-ə qədər böyük ola bilər.

left(i) = 2i + 1, right(i) = 2i + 2, parent(i) = ⌊(i − 1) / 2⌋left(i) = 2i + 1, right(i) = 2i + 2, parent(i) = ⌊(i − 1) / 2⌋
burada:
  • idüyünün massivdəki indeksi (0-dan)

Ağac səviyyə-səviyyə massivə yazılır; tam ağac olduğu üçün boşluq qalmır və hündürlük ⌊log₂ n⌋-dir.

T(build-heap) ≤ ∑ₕ (n / 2ʰ⁺¹) · h = (n/2) · ∑ₕ h / 2ʰ ≤ (n/2) · 2 = n = O(n)T(build-heap) ≤ ∑ₕ (n / 2ʰ⁺¹) · h = (n/2) · ∑ₕ h / 2ʰ ≤ (n/2) · 2 = n = O(n)
burada:
  • hdüyünün yarpaqlardan hündürlüyü
  • n / 2ʰ⁺¹n / 2ʰ⁺¹hündürlüyü h olan düyünlərin sayı (təxminən)

heapify massivi aşağıdan yuxarı yığına çevirir: düyünlərin yarısı yarpaqdır (0 iş), dörddə biri 1 addım batır və s. ∑ h/2ʰ = 2 olduğundan cəm O(n)-dir, O(n log n) yox. Yığınla çeşidləmə isə n çıxarma ilə O(n log n) edir.

Qraflar və qraf alqoritmləri

Dərsə keç
∑ deg(v) = 2|E|, |E| ≤ |V| · (|V| − 1) / 2∑ deg(v) = 2|E|, |E| ≤ |V| · (|V| − 1) / 2
burada:
  • deg(v)v təpəsinin dərəcəsi
  • |V|, |E|təpələrin və tillərin sayı

«Əl sıxma lemması»: hər istiqamətsiz til iki ucunda iki dərəcə verir. İkinci bərabərsizlik sadə istiqamətsiz qrafda tillərin maksimal sayıdır.

dist[v] ← min(dist[v], dist[u] + w(u, v)); T = O((V + E) · log V)
burada:
  • dist[v]mənbədən v-yə indiyədək tapılmış ən qısa məsafə
  • w(u, v)u–v tilinin çəkisi (≥ 0)
  • Tikili yığınla iş vaxtı

Rekursiya və dinamik proqramlaşdırma

Dərsə keç
n! = n · (n − 1)!, 0! = 1
burada:
  • n · (n − 1)!rekursiv addım
  • 0! = 1baza halı
T(n) = T(n − 1) + T(n − 2) + O(1) = Θ(φⁿ), φ = (1 + √5) / 2 ≈ 1,618T(n) = T(n − 1) + T(n − 2) + O(1) = Θ(φⁿ), φ = (1 + √5) / 2 ≈ 1,618
burada:
  • T(n)sadə rekursiv fib(n)-in iş vaxtı
  • φqızıl nisbət

Memoizasiya ilə hər fib(k) bir dəfə hesablanır: n + 1 alt məsələ × O(1) iş = O(n). Eksponensialdan xəttiyə!

dp[i][c] = max(dp[i − 1][c], dp[i − 1][c − wᵢ] + vᵢ), dp[0][c] = 0
burada:
  • dp[i][c]ilk i əşya ilə c tutumunda əldə edilən ən böyük qiymət
  • wᵢ, vᵢi-ci əşyanın çəkisi və qiyməti (ikinci variant yalnız wᵢ ≤ c olanda)

Vaxt və yaddaş O(n · W). Bu, psevdopolinomialdır: W ədədinin bitlərinin sayına görə eksponensialdır.

L[i][j] = L[i − 1][j − 1] + 1, əgər aᵢ = bⱼ; əks halda L[i][j] = max(L[i − 1][j], L[i][j − 1])
burada:
  • L[i][j]a-nın ilk i və b-nin ilk j simvolunun LCS uzunluğu
  • L[0][j] = L[i][0]0 (boş sətirlə ortaq heç nə yoxdur)

Vaxt O(m · n): uzunluqları 1000 olan iki sətir üçün cəmi 10⁶ xana, halbuki bütün altardıcıllıqları yoxlamaq 2¹⁰⁰⁰ variant deməkdir.

coins[x] = 1 + min { coins[x − c] : c ≤ x }, coins[0] = 0
burada:
  • coins[x]x məbləğini yığmaq üçün ən az sikkə sayı
  • cmövcud sikkə nominalı

Effektiv çeşidləmə alqoritmləri

Dərsə keç
T(n) = 2T(n/2) + cn = Θ(n log n)T(n) = 2T(n/2) + cn = Θ(n log n)
burada:
  • 2T(n/2)2T(n/2)iki yarının rekursiv çeşidlənməsi
  • cnbirləşdirmə (ən çoxu n − 1 müqayisə)

log₂ n səviyyənin hər birində birləşdirmələrin cəmi ≤ n müqayisədir → ≤ n log₂ n. Bu ən pis, orta və ən yaxşı halda eynidir. Əlavə yaddaş O(n); alqoritm stabildir (bərabər elementlər sırasını saxlayır).

ən pis hal: T(n) = T(n − 1) + (n − 1) = n(n − 1)/2; orta hal: ≈ 2n ln n ≈ 1,39 n log₂ nən pis hal: T(n) = T(n − 1) + (n − 1) = n(n − 1)/2; orta hal: ≈ 2n ln n ≈ 1,39 n log₂ n
burada:
  • T(n − 1)pivot həmişə minimum və ya maksimum olanda qalan hissə
  • n − 1bir bölmənin müqayisə sayı

Balanslı bölmələrdə quicksort merge sort kimi T(n) = 2T(n/2) + n → Θ(n log n) olur; hər dəfə ən pis bölmədə isə Θ(n²).

h ≥ log₂(n!) ≥ log₂((n/2)^(n/2)) = (n/2) · log₂(n/2) = Ω(n log n)h ≥ log₂(n!) ≥ log₂((n/2)^(n/2)) = (n/2) · log₂(n/2) = Ω(n log n)
burada:
  • hən pis halda müqayisələrin sayı (ağacın hündürlüyü)
  • n!n elementin mümkün düzülüşlərinin sayı

n! hasilindəki n/2-dən böyük n/2 vuruğun hər biri ≥ n/2 olduğu üçün n! ≥ (n/2)^(n/2). Stirlinq düsturu ilə daha dəqiq: log₂(n!) ≈ n log₂ n − 1,44n.

12Kompüter sistemləri və nəzəriyyəUniversitet

Kompüter arxitekturası

Dərsə keç
t = N · CPI / ft = N · CPI / f
burada:
  • tproqramın prosessor vaxtı, san
  • Nicra olunan əmrlərin sayı
  • CPIbir əmrə düşən orta takt sayı
  • ftakt tezliyi, Hs

Prosessor performansının «əsas tənliyi»: sürəti artırmaq üçün ya daha az əmr (yaxşı alqoritm və kompilyator), ya daha kiçik CPI (konveyer, keş), ya da daha yüksək tezlik lazımdır.

AMAT = thit + m · tmiss
burada:
  • AMATyaddaşa orta müraciət vaxtı
  • thitkeşdə tapılanda müraciət vaxtı
  • mburaxılma (miss) payı
  • tmissburaxılmanın əlavə qiyməti (növbəti səviyyəyə müraciət)
−x = (NOT x) + 1; n bit: −2ⁿ⁻¹ … 2ⁿ⁻¹ − 1
burada:
  • NOT xx-in bütün bitlərinin tərsinə çevrilməsi
  • nbitlərin sayı (8 bit: −128 … 127)
x = (−1)ˢ · 1,m₂ · 2^(e − 127)
burada:
  • sişarə biti (1 bit)
  • esürüşdürülmüş tərtib (8 bit, sürüşmə 127)
  • mmantissanın kəsr hissəsi (23 bit; qabaqdakı 1 yazılmır)

32 bitlik (single) format. 64 bitlik double: 1 + 11 + 52 bit, sürüşmə 1023, təxminən 15–16 onluq rəqəm dəqiqliyi. Python float — double-dır.

Əməliyyat sistemləri

Dərsə keç
W = (1 / n) · ∑ (Cᵢ − Aᵢ − Bᵢ)W = (1 / n) · ∑ (Cᵢ − Aᵢ − Bᵢ)
burada:
  • Worta gözləmə vaxtı
  • Cᵢi prosesinin bitmə anı
  • Aᵢgəlmə anı
  • Bᵢprosessor işinin uzunluğu (burst)
p = ⌊VA / P⌋, d = VA mod P, PA = frame(p) · P + dp = ⌊VA / P⌋, d = VA mod P, PA = frame(p) · P + d
burada:
  • VA, PAvirtual və fiziki ünvan
  • Psəhifənin ölçüsü, bayt
  • p, dsəhifə nömrəsi və səhifə daxilində sürüşmə

P = 2ᵏ olanda bölmə sadəcə bitləri ayırmaqdır: 4 KB = 2¹² səhifədə aşağı 12 bit sürüşmə, qalanları səhifə nömrəsidir.

Kompüter şəbəkələri: dərindən

Dərsə keç
Nhost = 2^(32 − n) − 2, network = IP AND mask, broadcast = network OR (NOT mask)
burada:
  • nprefiksin uzunluğu (/n)
  • Nhostqurğulara verilə bilən ünvanların sayı
  • maskn ədəd 1 və 32 − n ədəd 0 (məs., /26 → 255.255.255.192)
d = L / R + D / s; throughput_TCP ≤ W / RTTd = L / R + D / s; throughput_TCP ≤ W / RTT
burada:
  • L / RL / Rötürmə gecikməsi: paketin ölçüsü L (bit) / kanalın sürəti R (bit/s)
  • D / sD / syayılma gecikməsi: məsafə D / siqnalın sürəti s (optik lifdə ≈ 2 · 10⁸ m/s)
  • W, RTTTCP pəncərəsinin ölçüsü və gediş-gəliş vaxtı

Verilənlər bazaları nəzəriyyəsi

Dərsə keç
π[first_name](σ[city = 'Bakı'](students)) ≡ SELECT first_name FROM students WHERE city = 'Bakı'
burada:
  • σseçmə (selection): şərtə uyğun sətirlər — WHERE
  • πproyeksiya: lazımi sütunlar — SELECT siyahısı
  • ⋈birləşmə (join): iki münasibətin ortaq atribut üzrə birləşdirilməsi — JOIN
h = ⌈log N / log f⌉h = ⌈log N / log f⌉
burada:
  • hB-ağacı indeksinin hündürlüyü (axtarışda oxunan səhifələr)
  • Ncədvəldəki sətirlərin sayı
  • fbudaqlanma: bir səhifəyə sığan açarların sayı

Hesablama nəzəriyyəsi

Dərsə keç
M = (Q, Σ, δ, q₀, F), δ: Q × Σ → Q
burada:
  • Qvəziyyətlərin sonlu çoxluğu
  • Σgiriş əlifbası (məs., {0, 1})
  • δkeçid funksiyası
  • q₀, Fbaşlanğıc vəziyyət və qəbuledici vəziyyətlər çoxluğu
L requlyardır ⇒ ∃ p: ∀ w ∈ L, |w| ≥ p: w = xyz, |xy| ≤ p, |y| ≥ 1, xyⁱz ∈ L ∀ i ≥ 0
burada:
  • ppampinq uzunluğu (avtomatın vəziyyət sayı)
  • yistənilən qədər «şişirdilə» və ya silinə bilən boş olmayan hissə

Pampinq lemması: uzun söz avtomatda mütləq hansısa vəziyyətdən iki dəfə keçir (Dirixle prinsipi), bu dövrü istənilən qədər təkrarlamaq olar.

Proqram təminatı mühəndisliyi

Dərsə keç
C = n(n − 1) / 2C = n(n − 1) / 2
burada:
  • Ckomandada cüt-cüt ünsiyyət kanallarının sayı
  • nkomanda üzvlərinin sayı

5 nəfər → 10 kanal, 10 nəfər → 45 kanal. Bu, Bruks qanununun izahıdır: gecikən layihəyə yeni insanlar əlavə etmək onu çox vaxt daha da gecikdirir. Scrum komandaları ona görə kiçik saxlanılır (adətən 10 nəfərə qədər).

M = E − N + 2P (= qərarların sayı + 1)
burada:
  • MMakkeybin tsiklomatik mürəkkəbliyi: müstəqil yolların sayı
  • E, Nidarəetmə axını qrafının tilləri və düyünləri
  • Pəlaqəli komponentlərin sayı (bir funksiya üçün 1)

M — bütün budaqları əhatə etmək üçün lazım olan testlərin minimal sayının yaxşı təxminidir. M > 10 olan funksiyanı adətən kiçik hissələrə bölürlər.

Kriptoqrafiya və informasiya təhlükəsizliyi

Dərsə keç
C = E(K, M), M = D(K, C)
burada:
  • M, Caçıq mətn və şifrələnmiş mətn
  • Khər iki tərəfdə olan eyni gizli açar
  • E, Dşifrələmə və deşifrələmə alqoritmləri (məs., AES)

Kerkhoffs prinsipi: alqoritm hamıya məlum ola bilər, təhlükəsizlik yalnız açarın gizliliyinə əsaslanmalıdır.

A = gᵃ mod p, B = gᵇ mod p, s = Bᵃ mod p = Aᵇ mod p = gᵃᵇ mod p
burada:
  • p, ghamıya məlum sadə ədəd və əsas
  • a, btərəflərin gizli ədədləri
  • sortaq gizli açar — şəbəkə ilə heç vaxt ötürülmür

Diffie–Hellman açar mübadiləsi: dinləyici p, g, A, B-ni görür, amma s-i hesablamaq üçün diskret loqarifmi tapmalıdır.

n = p · q, φ(n) = (p − 1)(q − 1), e · d ≡ 1 (mod φ(n)), c = mᵉ mod n, m = cᵈ mod n
burada:
  • p, qiki böyük gizli sadə ədəd (real həyatda hər biri ≈ 1024 bit)
  • (n, e)açıq açar
  • dgizli açar: e-nin φ(n) moduluna görə tərsi
  • m, cmesaj (0 ≤ m < n) və şifr

RSA (Rivest, Shamir, Adleman, 1977). d-ni tapmaq üçün φ(n), onun üçün isə n-in vuruqları lazımdır — təhlükəsizlik faktorizasiyanın çətinliyinə əsaslanır.

H = L · log₂ N
burada:
  • Htəsadüfi parolun entropiyası, bit
  • Lparolun uzunluğu
  • Nəlifbanın ölçüsü (kiçik hərflər 26, bütün çap simvolları 94)

Hər əlavə bit kor-koranə axtarışı iki dəfə uzadır. Düstur yalnız həqiqətən təsadüfi parollar üçündür: «Baku2026!» kimi parollar lüğət hücumları ilə çox tez tapılır.