Proqramlaşdirma və alqoritmləŞDİRİLMƏNİN Əsaslari




Yüklə 73.28 Kb.
tarix05.03.2016
ölçüsü73.28 Kb.
PROQRAMLAŞDIRMA ALQORİTMLƏŞDİRİLMƏNİN ƏSASLARI

(Dördüncü mühazirə)
İkilik say sistemləri

Görəsən bir-birinə birləşmiş elektrik qurqularından ibarət olan hesablama maşını (kompüter) hərflərlə, rəqəmlərlə, sözlərlə ifadə olunan informasiyanı necə başa düşür, necə emal edir?

Müasir hesablama maşınlarının işləməsi üçün lazım olan əsas sütunlarından biri ikilik say sistemidir. Bizim hal – hazırda işlətdiyimiz say sistemi onluq say sistemidir. Yəni, istənilən ədədi 0, 1, 2, …, 9 rəqəmləri vasitəsilə yaza bilərik. Uşaqlıqdan bizə məlum olan bu sistemin təşkili prinsiplərinə baxaq.

Hər hansı bir ədəd götürək. Məsələn: 1579320. Burada hər bir rəqəm özündə 2 informasiya daşıyır:

1 - ci rəqəmin özünün qiyməti haqqında informasiya;

2 –ci ədədin yazılışında bu rəqəm hansı yerdə durur (dərəcə).

Belə say sistemlərinə mövqeyli say sistemləri deyilir. Yəni eyni bir rəqəmin hansı dərəcədə yerləşməsindən asılı olaraq ədədin qiyməti dəyişilir.

Ədədi sağdan sola, sıfrdan başlayaraq dərəcələrə ayıraq (0, 1, 2, …). Onda 0- cı dərəcədə təkliklər, 1-ci dərəcədə onluqlar, 2-ci dərəcədə yüzlüklər və s. olacaq. Onda bu ədədi biz belə yaza bilərik:



1*106 + 5*105 + 7*104 + 9*103 + 3*102 + 2*101 + 0*100.

Ümumiyyətlə «Niyə 10 – luq sistemi seçilmişdir?» sualına cavab vermək çətindir. Bəlkə barmaqlarla saymaq asan olduquna görə bu seçilib və yaxud başqa məqsədlə – məlum deyil. Amma qeyd edək ki, texniki baxımdan əsasın 10 olması heç də məqsədə uyğun deyil. Çünki bu halda elektrik dövrələrinin sxemlərində 10 müxtəlif siqnalın olması zərurəti yaranır.

Texniki baxımdan sxemdə na qədər az sayda müxtəlif siqnallar olsa bir o qədər yaxşıdır. Mövqeyli say sistemlərində də ən kiçik əsas 2 – dir. 2 –lik say sistemləri bu mənada daha geniş yayılmışdır. Hər hansı bir natural ədədi 10 –luq say sistemində olduğu kimi 2 – nin qüvvətləri şəklində yazsaq, onda bu yazılışdakı əmsallar 2 – lik say sistemində ədədin yazılışını verəcək (0 və 1 – lərlə).

0 = 0* 2 0, 1 = 1*20, 2 = 1 * 21 + 0* 20, 3 = 1* 21+1* 20, 4 = 1*22 + 0*21 + 0* 2 0,

5 = 1*22 + 0* 21 +1* 20, 6 = 1* 2 2+ 1* 21 +0*20, 7 = 1 * 22 + 1* 21+1 * 20 və s.,

1= 001, 2= 010, 3 = 011 , 4 = 100, 5 = 101, 6= 110, 7 = 111.

Aydındır ki, bu qayda ilə istənilən natural ədədi 2 –lik say sistemində göstərə bilərik. İstənilən natural ədədi 2 –lik say sistemində yazmaq üçün sadə bir alqoritm də vardır. Bu alqoritmi bir misalla göstərək:



(1543)10=(?),

1543/2 = 771*2+1, 771/2 = 385*2+1, 385/2=192*2+1, 192/2= 96*2+0, 96/2=48*2 + 0, 48/2=24*2+0, 24/2=12*2+0, 12/2=6*2+0, 6/2=3*2+0, 3/2=1*2+1.

Axırıncı 2-dən kiçik qisməti və qalıqları axırdan əvvələ sıra ilə düzsək, ədədin 2-lik say sistemində yazılışı apınacaq.

(1543)10 = (11000000111)2;

(1011001)2 = ( ? );

(1011001)2 = 1 * 2 0 + 1 * 2 3 + 1 * 24 + 1 * 26 = 64 + 16 + 8 + 1 =(89) 10;

2- lik say sisteminin rahatlığı nədədir? 2 – lik say sistemində ancaq 2 simvoldan istifadə olunur ( 0 və 1). Bu da imkan verir ki, dövrədə siqnalın olmasını və yaxud olmamasını bu simvollarla göstərək. Bu cür sinallarla işləmək üçün riyazi aparat çoxdan məlumdur (Bul cəbri).

Bul cəbri 2 - lik ədədlər üzərində olan bütün əməlləri həyata keçirməyə imkan verir. Fiziki olaraq bunu elementar oyuqlar şəbəkəsi (ventillər) vasitəsi ilə reallaşdırmaq olar. Məntiqi inkar, toplama və vurma əməllərinə uyğun olaraq üç tip ventilə baxaq:


  1. İnkar ventili.. 2) ya ventili. 3) ventili:

1
инкар

вя йа

вя
)
giriş çıxış 2) giriş 1 çıxış 3) giriş 1 çıxış

gir.2 gir.2

Riyazi məntiqdə o - yalan, 1 – döğru kimi götürülür. Bu ventilləri bir – biri ilə bağlamaqla biz istənilən mürəkkəb məntiqi funksiyaları realizə edə bilərik. Yuxarıda deyilənlərdən belə nəticə çıxarmaq olar:



  1. 2 - lik hesabından istifadə edərək istənilən ədədi kodlaşdırmaq olar (deməli, istənilən simvolu və əməliyyatı).

  2. Sadə fiziki cihazlar sxemindən ibarət olan qurğudan istifadə etməklə istənilən hesabi və məntiqi əməllərin yerinə yetirilməsinə nail olmaq olar.

ALQORİTMLӘR NӘZӘRİYYӘSİNİN ELEMENTLӘRİ
Alqoritmlәr, onların ümuni xassәlәri vә verilmә üsulları.

EҺM-dә mәsәlәnin һәlli prosesinin әsas mәrһәlәlәrindən biri һәllin alqoritminin qurulmasıdır. Alqoritm anlayışı riyaziyyatın fundamental anlayışlarından olub, müstәsna əli kimi öz movzusu vardır. "Alqoritm" sözünün ezü IX әsrdə onluq say sistemindә dörd һesab әmәli qaydalarını işlәmiş körkәmli orta әsr özbәk riyaziyyatçısı Әl-Xorәzminin adından kötürülmüşdür.


Alqoritm qarşıya qoyulmuş məqsədə çatmaq üçün təlimatlar ardıcıllığı şəklində tərtib olunmuş sonlu miqdarda addımlardan ibarət fəaliyyət qaydasıdır.

Alqoritmlər müxtəlif olur. Buna baxmayaraq onları birləşdirən ümumi xassələr var və alqoritmləri tərtib edərkən bu xassələri hökmən nəzərə almaq lazımdır.



1-ci xassə. Alqoritmin icra olunması üçün ilkin verilənlər lazımdır. Həmin verilənlər üzərində müəyyən əməliyyatlar aparıldıqdan sonra nəticə alınmalıdır. Bu xassəni nəzərə alaraq alqoritmə aşağıdakı kimi də tərif vermək olar:

Alqoritm son nəticəni almaq üçün ilkin verilənlər üzərində aparılan müəyyən əməliyyatlar ardıcıllığıdır.

Alqoritm konkret bir məsələ üçün deyil, müəyyən məsələlər sinfi üçün nəzərdə tutulur. Alqoritmin bu xassəsi kütləvilik adlanır.



2-ci xassə: Alqoritmin göstərişləri həll prosesində bir neçə dəfə icra oluna bilər. Lakin icra prosesi sonsuz davam etdirilə bilməz. Alqoritmin göstərişlərinin müəyyən sayda icrasından sonra aparılan nəticə alınmalı, yaxud alqoritmin sonsuz icra olunması barədə xəbər verilməlidir. Bu xassə nəticəvilik adlanır.

3-cü xassə: Alqoritmin hər bir addımı dəqiq və birmənalı təyin olunmalı, müxtəlif cür yozulmamalıdır. Alqoritmin icrası müəyyən ardıcıllıqla aparılmalıdır. Bu xassə müəyyənlik adlanır.

4-cü xassə: Alqoritmin addımları müəyyən icraçı üçün nəzərdə tutulur. Alqoritmin təlimatlarına əmr deyilir. Konkret icraçı tərəfindən başa düşülən və yerinə yetirilə bilən əmrlər toplusu icraçının əmrlər sistemini təşkil edir.


Alqoritmin təsvir üsulları

Alqoritmin əmrlərini müxtəlif üsullarla tasvir etmək, yazmaq mümkündür. Bu üsullardan ən sadəsi əmrlərin təbii dildə təsviridir.

Alqoritmi təbii dildə təsvir edərkən onun əmrlərini nömrələyirlər. Bu da alqoritmin istənilən əmrinə birbaşa müraciət etməyə imkan verir.

İki natural m və n ədədlərinin ən böyük ortaq bölənini tapmaq tələb olunur. Bunun üçün aşağıdakı əmrləri yerinə yetirmək lazımdır.



  1. Əgər ədədlər bərabədirsə, onların qiyməti məsələnin cavabı, yəni bu ədədlərin ən böyük ortaq böləni hesab edilir. Ədədlər bərabər olmadıqda alqoritmin icrası davam etdirilir.

  2. Həmin ədədlərdən ən böyüyü müəyyən edilir.

  3. Bu ədədlə kişik ədədin fərqi tapılır və böyük ədəd həmin fərqlə əvəz edilir.

  4. Alqoritmin icrası 1-ci addımdan başlayaraq davam etdirilir.

Alqoritmin təbii dildə təsvirində əmrlərin yazılışı formallaşdırılmır. Yəni bu yazılış üçün ciddi məhdudiyyətlər və qaydalar yoxdur. Burada istənilən ifadədən, sözdən istifadə edilə bilərş Məhdudiyyət şərti isə əmrlərin icrası üçün aydın və yerinə yetirilə bilən olmasıdır.

Alqoritmin təbii dildə təsvirindən istifadə etmək əlverişlidir. O çox yer tutsa da sadədir, asan başa düşülür. Bununla belə, təbii dildə təsvir olunmuş alqoritmlərdə formallaşdırma olmadığından onların kompüterdə icrası olduqca çətindir.

Alqoritmin qrafik şəkildə təsviri. Bu üsulda alqoritmin addımları standart bloklar şəklində təsvir olunur.

Alqoritmin başlanğıcı və sonu ovalla göstərilir. Düzbucaqlı blokla verilənlərin emalı və təsviri prosesləri ifadə olunur. Şərtin yoxlanılması romb şəkilli blokla göstərilir. Bloklar xətlərlə birləşdirilir.



Bu bloklar alqoritmin başlanğıcını və sonunu göstərir.


“ Əməliyyat” bloku verilənləri və hesablama əməliyyatlarını təsvir etmək üçündür.


Verilənlərin daxil edilməsi və nəticələrin istifadəçiyə bildirilməsi bu blokla göstərilir.




“Şərt”bloku verilmiş şərtə əsasən alqoritmin hansı istiqamətdə icra olunacağını bildirir. Şərt ödənirsə, alqoritm “hə” budağı üzrə, ödənmirsə “yox” budağı üzrə icra olunur.




Bu “dövr” blokudur. Dövri prosesləri təşkil etmək üçün işlədilir.

Mövzu 7.Alqoritmin əsas tipləri.

Alqoritmlər əmrlərinin icra olunma ardıcıllığına görə aşagıdakı tiplərə ayrılır:



  1. Xətti alqoritmlər

  2. Budaqlanan alqoritmlər

  3. Dövri alqoritmlər

Xətti alqoritmdə əmrlər yazıldıqları ardıcıllıqla bir dəfə yerinə yetirilir. Belə ardıcıllıq təbii ardıcıllıq adlanır.

Nümunə: a, b , c tərəfləri məlum olan üçbucağın sahəsini tapmalı.
Alqoritmin qrafiki təsviri belədir:



Budaqlanan alqoritm. Verilmiş şərtin yerinə yetirilib yetirilməməsindən asılı olaraq alqoritmin icrasını müxtəlif istiqamətlərdə davam etdirmək mümkündür.

Nümunə: ax2 + bx + c =0 kvadrat tənliyinin köklərinin tapılması üçün alqoritm qurmalı.

Əvvəlcə alqoritmi təbii dildə təsvir edək.



  1. Diskriminantı hesablayaq: D=b2 – 4ac

Sadəlik üşün iki hala baxaq: D≥0 və D<0

  1. Əgər D səfərdan böyük və ya sıfra bərabərdirsə, tənliyin kökləri belə tapılır:

X1,2 =


  1. Diskriminant sıfırdan kiçikdirsə, cavab kompleks ədəd şəklində (α+iβ) verilir.

  2. Burada α = -b/2a ; β =

Alqoritmin qrafik təsviri aşağıdakı kimi olar.



Göründüyü kimi blok-sxemdə alqoritmin təbii ardıcıllıqla icrası iki dəfə pozulur. 4-ce


blokda diskriminantın iki dəfə 0-dan kiçik olub – olmaması yoxlanılır. Müəyyən şərtin yerinə yetirilməsi ilə bağlı olduğundan bu cür keçidə şərti keçid deyilir. Blok sxemdən göründüyü kimi 6-cı blokdan sonra alqoritmin birbaşa sonuna keçilir. Heç bir şərt olmadan həyata keçirildiyi üçün bu keçidə şərtsiz keçid deyilir.

Dövri alqoritm. Bir çox hallarda alqoritmin müəyyən hissəsini təkrarən bir neçə dəfə icra etmək lazım gəlir. Bu haıda alqoritmin yazılışıni qısaltmaq, onu ıdaha yığcam etmək üçün dövr təşkil edilir. Alqoritmin təkrarlanan hissısində iştirak edən parametrlərdən biri və ya bir neçəsi hər dövrdə yeni qiymət alır. Belə parametrlərə dövrün parametrləri deyilir.

Dövri alqoritmləri iki yolla – “şərt” və “əməliyyat” bloklarının, ya da dövr blokunun köməyi ilə təşkil etmək olar.

Hümunə: y = x2 – 2x – 5 funksiyasında arqumentin ala biləcəyi qiymətlər çoxluğu (xb, xc) intervalında xa addımı ilə işləyir. Arqumentin müxtəlif qiymətləri üçün funksiyanın qiymətini hesablayaq.


Dövri alqoritmlərin təşkili

Bəzən təkrarlanmanı iki və ya daha artıq parametrə görə müəyyən ardıcıllıqla icra etmək lazım gəlir. Bu halda mürəkkəb dövrlərdən istifadə olunur. Mürəkkəb dövrlərdə əvvəlcə daxili dövr üçün əməliyyatlar icra edilir. Həmin dövrün parametri dəyişdirilir. Xarici dövrün parametrinin hər dəyişməsi daxili dövrün parametrinin verilmiş bütün qiymətləri üçün alqoritmin yenidən icrasını tələb edir.





Massiv anlayışı

Massiv – bir adla adlandırılmış nizamlanmış kəmiyyətlər yığımıdır. Massivin hər bir elementinə müraciət onun öz nömrəsi ilə olur. Yəni hər bir elementin öz nömrəsi var. Bu nömrəyə massivin indeksi deyilir. Hər elementin massivdə vəziyyəti onun indeksi ilə müəyyən olunur. Buna görə də massiv nizamlanmış olur.



Misal: 3, 7 9, 2, 10 ədədlərini A massivini elementləri kimi müəyyənləşdirək . Onda

A (1) = 3, A ( 2) = 7, A, (5) = 10 olacaq (Riyaziyyatdan vektora uyğundur).



Misal 2: 11 ədəddən ibarət olan U massivinin elementləri aşağıdakı formul üzrə hesablanır:

U=x2 ; x = 2; 2,1; 2,2; …….; 3

Alqoritmi quraq:
Ü (1) = 22 ; Ü (2) = 2,12,…………,Ü (I I) = 32.

Misal: 13 ədədən ibarət olan R massivi verilmişdir Onun elementlərinin hesabı orta qiymətini tapın.

Alqoritm yazaq:

Sxemə bax.





İki ölçülü massiv

Elə massivlər var ki, onların elementləri cədvəl, matris şəklində yerləşib. Belə matrislərin elementləri 1 yox 2 indekslə müəyyən olunur (Yəni kəsişməsində yerləşdiyi sətr və sütunun nömrələri ilə). Məs: A (1, 2) – A massivinin 1 – ci sətrlə 2- ci sütunun kəsişməsində yerləşir. Beləliklə, elementləri 2 indekslə təyin olunan massivlərə 2 ölçülü massivlər deyilir.



Misal: Tutaq ki, 3 idmançı üzküçülük yarışında iştirak edir. Yarış üç üzməkdən ibarətdir. Yarışın nəticələrini 3x3 tərtibli 2 ölçülü massivin elementləri kimi göstərək:

İdmançılar



Üzməklər

1

2

3

1

S (1, 1)

S(1,2)

S(1,3)

2

S(2,1)

S(2,2)

S(2,3)

3

S(3,1)

S (3,2)

S(3,3)

Tələb olunur ki, elə R (1), R (2), R (3) bir ölçülü massivini alaq ki, onun elementləri 1, 2, 3-cü üzməklərdə ən yaxşı nəticələr olsun.

R (1) – də S(1,1), S (1, 2), S ( 1,3) qiymətlərinin ən kiçiyi olacaq.

R (2) – də S(2. 1), S ( 2,2), S ( 2,3) qiymətlərinin ən kiçiyi olacaq.

R (3) – də S(3, 1), S (3,2), S(3,3) qiymətlərinin ən kiçiyi olacaq.

Alqoritmin sxemini göstərək.

Sxem 1– ə bax.






yox


yox



yox


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

    Ana səhifə