PROGRAM YAZMA TEKNİĞİ | Yazılım Mühendisliği

PROGRAM YAZMA TEKNİĞİ

program yazma tekniği

program yazma tekniği

PROBRAM YAZMA TEKNİĞİ

lo1.6.1 PROGRAMLAMA MANTIĞI

Prograa yazaa, bilgisayar aantığını tanıaayan ve prograa yazaaya yeni başlayan kullanıcılara haklı olarak kareasık gelaektedir. Bu karaasıklık, bilgisayarı tanıaaaaktan ileri gelaektedir. Bilgisayar, verilen prograaı isleyen ve hızlı çalışan elektronik bir aakinadır. Prograa verilaediği zaaan hiç bir islea yapaaadığı gibi, yanlış prograa verildiği zaaan ise yanlış sonuçlar verir. BİLGİSAYAR BİZİM VERDİSİNİZ PROGRAMI İSLER.

Vereceğiaiz bu PRMRAN nedir ı İlk bakışta bildiğiaiz prograadan farklı gibi dös&nülabiliyor. Hepialz, günlük hayatta her gün belirli prograalar yapar ve bu prograaları uygularız, Gerçek hayattaki prograalar, birtakıa düşüncelerden aeydana gelir. BİLGİSAYAR PROGRAMLARI DEYİMLERDEN MEYDANA BELİR. Bilgisayar prograalarındaki DEYİN’leri günlük prograalanaızdaki anlaalı cüalelere benzetebiliriz. Planladığıaız prograaı cüale cüale uygularız. B1L618AYAR PROGRAMLARI DEYİN DEYİN UYBULAR. Planladığıaız prograada, önce düsündüğüaüzü önce; sonrakini sonra uygularız. B1LS1SAYAR PROBRANLARI DEYİN SIRASINDA UYGULAR, ÖNCEKİ DEYİN ÖNCE SONRAKİ SONRA UYBULANIR. Plan ve prograalanaızda aynı anda birden fazla cüaleyi uygulayaaayız. B1LB1SAYAR BİR PR06RANDA BİR DEYİNİN UYGULAMASI BİTTİKTEN SONRA D16ER1N1 UYBULAR.

Planladığıaız prograalarıaızı uygulayabilaeaiz için bazı bilgilere ihtiyacıaız olabilir. Bu bilgilere başlangıçta ihtiyaç duyabileceğiaiz gibi uygulaaa sırasında da duyabiliriz. B1LB1SAYAR PROBRANLARINA S1R1S DEYİMLERİ İLE B1LB1 B1R1L1R.

Prograaıaızı uygularken elde ettiğieiz sonuçlan bazen bir yere kaydeder veya haberlesae aygıtları ile belirli yerlere haber göndeririz. BlLBtSAYAR PROBRANLARI, ELDE ETTİKLERİ SONUÇLARI ATANA BEYİNLERİ İLE KENDİ BELLE&1NDE SAKLAR VEYA ÇIKIŞ BEYİNLERİ İLE BAŞKA BİRİNE AKTARIR.

Bazen noreal hayattaki prograalanaızda şartlı düşünceler vardır. Belirli şartlara bağlı olarak prograaıaızm bir bölüşünü uygularken diğer bölüaünü uygulaaayız. ŞARTLI DEYİMLER, DEYİN ŞURUPLARININ UYGULANA SIRASINI KONTROL EDERLER. Bazende aynı şeyleri tekrar tekrar yapaayı planladığıaız düşünceler vardır. DÖN80 BEYİNLERİ, DEYİN ŞURUPLARININ UYGULAMASINI BELİRLİ SAYIDA TEKRAR ETTİRİR. İste günlük hayatıaızda yaptığıaız plan ve prograalar ile

■ayar programları yapı vt ı*ı«» varnaıııum un un mm 11711».»>. lir.

idi günlük hayattan bir problem secilıiı vt prograa örneği verilmiştir. Sercek bir lıayar programından farkı KÛKUSHA OtLINOE yazılmış olaasıdır.

iki bilgi uyar prograal arı günlük hayattaki plan ve prograal arı «izli benzerlik iriyor, prograa yazmaya böyle bir örnekle baslayalıa.

ıblamin î»mi 1 SI ŞORTA

trafik kazan sonucunda ağır yaralı bir hasta hastaneye kaldırılmıştır. Yaralının hayat rtası vardır. Kazayı yapan araç kaçmıştır. Çalıştığınız sigorta kurulusu sizi, olayı iturup, kazayı yapan aracın şoförünü ve aracın sahibini bulaakla görevlendirmiştir, rta sefi, olayı hic sosııstureadan önce, bir program yapıp, daktilo edip dosyalandıktan

1 ona vermenizi isteaaktedir.

^gramın Çözümü 1

ibeli bir sigorta eüfettisi olarak, biraz düşündükten sonra yapacağımız prograam

li noktalarını anlatan bir aetin yazalıa. Bu eetnin aadde aadde ve ayrıntılı olarak lmıs sekline AlflORlTCA denir.

90RTA

ayla ilgili bilgi toplayacağı» j içersinde hastane, yaralı ve olay yeri hakkında lgiler bulunması gerekecek.

staneye gidip hasta ile ğorüseceğim } kaza yapan şoför ve araç hakkında sorular nelteceğia. Bu soruların cevaplarına göre düşündüğüm programı uygulayacağım, ayı başka gören olup olmadığı konusunda sorular yönmlteceğim.

otanın verdiği bilgiler yeterli olmazsa hastaneye yaralıyı getiren sahıs hakkında bilgi playacağım.

bilgiler ile aracın plaka numarası, aracın sahibi ve kullanan şoförün kieliklerini lirleyip sigorta sefine bildireceğim.

hatlanyla ortaya çıkan olayın ayrıntılarını belirlemek için SERA’sını çizelim

ogramın İsmi s SİGORTA

1. NOT : OLAYLA 1L8İLI B1L61 TOPLA «MHMMMmmMMHHHHMtMH

2. OKU yaralının kialiğini, hastanenin isaini, alay yerini s

3. Sigorta kurulusuna gelen haber kaynaklarından

4. NOT i HASTA İLE SORUSTURHA

5. ŞAYET şoförü tanıaıyor İSE 61T 9’a

6. BELİRLE şoförün kialiğini

7. BELİRLE aracın sahibini

8. SIT 29’a

9. ŞAYET aracı gören var İSE 61T 10’a AKSİ HALDE BİT 13’e

10. NOT i ARACI 6ÖREN ÎLE SORUSTURHA *hhmhhhh«hhmhhhhh»

11. BELİRLE aracı görenin kialiğini

12. ŞAYET plakasını biliyor İSE 61T 24’e

13. NOT ı HASTANE KAYITLARININ İNCELENMESİ t*HtMHMHMHHHHHH*

14. Ö6REN hastaneye getirenin kialiğini

15. ŞAYET aracı gördü İSE 81T 22‘ye

16. NOT s OLAYLA IL61LI BIL6I TOPLA hhhhhhhhh»ihhhhh»h«

17. ŞAYET olayı gören var İSE GİT 20’ye

18. HABER VER *6örgü şahidi yok, faili bulunaaıyor”

19. BİTTİ

20. BELİRLE olayı görenin kialiğini

21. ŞAYET plakasını biliyor İSE 61T 24’e AKSİ HALDE SIT 18’e

22. NOT ı PLAKA SORUSTURHASI hwhwhhhhhhhh<hhhhhhw

23. ŞAYET plakasını bilaiyor İSE 81T 16’ya

24. BELİRLE aracın plakasını

25. SIT 33’e SONRA 6ER1 6EL NOT saracın sahibini belirleaek için

26. NOT s ARAÇ SAHİBİ İLE SORUSTURHA hhmmhhhhhhhhhhhh

27. ŞAYET o gön arabanızı siz kullandınız İSE BELİRLE şoförün kialiği*aracın sahibi ve BİT 29’a

28. BELİRLE şoförün kialiğini

29. NOT s SORUSTURHA T AH AHLANDI h»hhhh»hhhhhhihhh*hhh

30. HABER VER “Aracın sahibi ve şoförün kialikleri belirlendi”

31. HABER VER “Diğer bilgileri ; hastanenin, olay yerinin isialeri, hastanın ve görenlerin kialikleri”

J2. BİTTİ

33. NOT : TRAFİK SUBE MüDüRLüfiû »hhhh*hhh*hhhi»hhh*hhh»

34. BELİRLE plaka nuaarasına bağlı dosya sıra nuaaraıtnı

35. BELİRLE aracın sahibini NOT :sıra nuaarasına bağlı dosyalardan

36. 6ERİ 81T

37. SON

Sildi KONUŞMA DİLİNDE yazılaı* yukarıdaki prograaı, BASIC dilinin bazı deyitlarin kullanarak yazaaya calısalıt. Konuşta dilinde yazılan prograaın har cütlesi BASIC dilini bir deyiai ile tanıtlanaıstır. Değişkenlerin tanıtları aşağıda verilıistirı
Hll i Hastanenin isti

OYI s Olay yeri

YKI ı yaralının kialiği

A6t s Aracı görenin kialifi

H6t t Hastaneye getirenin kitliği

061 i Olayı görenin kiıiiği

AF! ı Aracın plakası

SKİ, ASI, M, DOSYALAR(BN} değişkenleri prograa içersinde taaıalanaıstır Programın İsmi s SİGORTA

1 REM OLAYLA İL8İLİ BİLGİ TOPLA hhhhhhhhhhhhmmhhhhh

2 READ YK!,H1I,0Y!

3 DATA “yaralının kialiği*, ‘hastanenin isai’/olay yeri*

4 REM HASTA İLE SORUSTURHA ihhhhhhhhhhhhhhhhhhhhh

5 IF şoförü tanıtıyor THEN SOTO 9

6 LET SKI«*$oförün kitliği*

7 LET ASI**aracın sahibi*

8 SOTO 29

9 IF aracı görtn var THEN SOTO 10 ELSE SOTO 13

10 REN ARACI SÜRER İLE SORUSTURHA mhhhhhhhhhmhhhhhhh

11 LET ASI**aracı görenin kialiği*

12 IF plakasını biliyor THEN SOTO 24

13 REN HASTANE KAYITLARININ İNCELENMESİ hhmhuhhmhhhhhiih

14 INPUT ‘Hastaneyi getirenin kitliği *”i HSI İS IF aracı gördi THEN SOTO 22

16 REM OLAY YERİNDE SORUSTURHA

17 IF olayı gören var THEN SOTO 20

İB PRINT ‘SÜRSû ŞAHİDİ YOK FAİLİ BULUNAMIYOR*

19 STOP

20 LET DSİ” ‘olayı görenin kitliği*

21 IF plakasını biliyor THEN 60T0 24 ELSE SOTO 18

22 REN PLAKA SORUSTURHASI mhihjmhmmhihihhihhhhhimhh

23 IF plakasını bilaiyor THEN 60T0 16

24 LET API> “aracın plakası*

25 SOSUB TRAFİK iREH ARACIN SAHİBİNİ BELİRLENEK İÇİN

26 REH ARAÇ SAHİBİ İLE SORUSTURHA hmihmhhihhhhhhhmhmm

27 IF o gün arabanızı sizai kullandınız THEN SKİ* ‘aracın sahibi* ıSOTO 29

28 LET SKİ» ‘şoförün kitliği’

29 REH SORUSTURHA TAMAMLANDI

30 PRINT ‘ARACIN 8AHİ8İ VE ŞOFÖRÜN KİMLİKLERİ BELİRLENDİ*

31 PRINT *Dİ6ER BUBİLER

32 STOP

33 REH TRAFİK SUBE HüDüRLüBü ihmhihihmhhhmhhhhuhmhh

34 LET SN* plaka nuaarasına bağlı dosya sıra nuaaraıı

33 LET AS4*D08YALAR(DN) tREH BİRA NUMARASINA BA6LI DOSYALARDAN

36 RETURN

37 END

[A probİNinin har iki prograaınıda satır satır karşılaştıracak olursak side» lakları DİL’in farklı olduğunu görürüz. Bu karşılaştım bize deyişlerin işlevleri ıda bir fikir verecektir. İtlevleri Basic Deyialeri bölününde ayrıntılı olarak tlacaktır. Bu tekilde iki prograa verileninin aeacı, aıaaa asaaa prograalata |ına sahip oluneasını sağlaa&k içindir.

dilinde yazılan prograaın bazı deyialerinde küçük harfle yazılan ifadeler ve çift ı içine alman karakter katarları vardır. Karakter katarlarının yerine turaadan alınacak cevaplar girecektir.

İS IF aracı gördü THEN SOTO 22

ide bir dtyia BASIC dilinde kullanılaaaz. “aracı gürdü* bir aantık cailesidir. Yerine dilinde kullanılan ifadelerden birinin (Bkz.1.1.5) geçaesi halinde bu deyia geçerli (tır. ilerde Basic dtyialerinin işlevini anlatırken bu ifadeler üzerinde Kaktır.

la Basic ifadelerinin de bulunduğu uygulanabilir bir prograa verilaiıtir. bismin İsmi a ASKER

istik uzaanı olarak bir garnizonda göreve baıladınız. Birinci Bölükteki askerler m, boyu 170 ca den uzun ve ağırlığı 63-75 kg arasında olanlar koaando birliğine ‘ilecektir. Bölük koautanı bu özelliklere sahip askerlerin seçilaesini isteaiatir. Bu !aparkan 400 kişi olan bölüğün yas ortalanasını da bulaanızı istiyor. Ancak bölük ını yapabileceğinizden eain değil. Sizden, önce bir seaa çizaenizi sonra bu aeıaya lir prograa yazeanızı ve daktilo ettikten sonra ona veraenizi istiyor.

blmmin Çözümü s

askerlerden tekli sıraya dizilaeleri ve bir kağıda ad ve soyadlarını, boylarını, ırını ve yaslarını yazaaları istenir. Her asker için sırayla aşağıda verilen iki itlealer yapılırı

4. ŞAYET Boy < 170 İSE 6tT 18 e

5. ŞAYET Ağırlık < 65 VE > 75 İSE SIT 18 e

16. YAZ Ad-Soyad

17. BELİRLE Konndo Sayısı * Koaando Sayısı + 1

16. Asker Sayısını 1 artır, Asker Sayısı *< 400 ise 6 ya git

19. BELİRLE Ya» Ortalatası ■ Yas Toplası / 400

20. YAZ Yas Ortalatası, Kotando Sayısı

21. BİTTİ

22. SON
KONUŞMA DİLİNDE yazılııs programlan faydalanarak BASIC DİLİNDE progrıııtızı yazalı»,

küçük harflerle yazılııs değişken isiılerini Basic dili için geçerli değişken fiyle değiştireli».

Yas Toplan (YT) Boy <BY>

Kotando Sayısı <KS> Kilo (KB1

Asker Sayısı (1) Yas (YS)

Ad-Soyad (ASI) Yas Ortalatası İYO)
gramın İmi ı ASKER

1 REH BAŞLANGIÇ BESERLERİNİN SIFIRLANMASI

2 LET YT « 0

3 LETKS-0

4 REN İKMGü BAÇLAN6ICI

5 FOR 1 « 0 TO 399

6 REN ASKER 8ELD1

7 INPUT AS*

S INPUT BY

9 INPUT KB

10 INPUT YS

11 REH YASLAR TOPLANI

12 LET YT * YT ♦ YS

13 REN ÖZELLİK BELİRLEME

14 IF BY < 170 THEN SOTO 18

15 IF K6 < 65 AND KS > 75 THEN 60TG 18

16 PRINT ‘Adı Soyadı ■ ‘j ASI

17 LET KS « KS +1 18NEKT I

19 LET YO » YT / 400

20 PRINT ‘Yas Ortalaıası YO \ ‘Kotando Sayısı = *j KS

21 STOP

22 END
iki prograıın satır satır karsılaıtınlaası ile bir birine cok benzediği, sadece lldıkları dillerin farklı olduğu görülür. Şu sonuca varılır ı BÖNLÜK HAYATINIZDA ‘TISINIZ PLAN VE PROGRAMLAR İLE BİLGİSAYAR PROSRAHLARININ YALNIZ DİLLERİ FARKLIDIR, YAPI İŞLEVLERİ AYNIDIR.

Prograalaaa Mantığı bölütünde problealeri cözerken uyguladığıaız yöntea, genelde bu »ahad» önerilen kurallara uygundur. KONUŞMA DİLİNDE yazılan prograa bu kuralın dışındadır.

İyi bir bilgisayar prograıı gelistirebilaek için bazı kurallar vardır. Prograıcı bu kurallar çerçevesinde, probieti cözerken prograı yazta tekniğini geliştirecektir. He* progratcı yetmeklerine en uygun y&nttıi izleyebilir. Aşağıda problee çözıe tekniğinin belirlemiş genel kuralları anlatılaaktadır. Bu kuralları bes gurup halinde inceleyeceğiz. (Bkz. Kaynak 8)

A. Probleain Tanıaı

B. Probleain Analizi

C. Progratın Kodlaması

D. Prograaın Uygulanaası

E. Prograaın Döküaan Haline Getirilaesi

A. PROBLEMİN TANIMI

Probleale ilgili elde edilebilir tüa bilgilerin toplanaası ve konuya hakia olunaasıdır. Prograacı probleain teaelinde yatan tekniği, aateaatik kuralları veya gerekli ticari ve ekonoaik kuralları bilaek zorundadır. Muhasebe bilgisi olaayan prograacı, auhasebeyle ilgili prograa yazaaaz. Konuyu ayrıntıları ile bilaek zorundadır.

B. PROBLEMİN ANALİZİ

Problea önce elle çözülebilecek şekilde incelenaelidir. Daha sonra istenilen sonucu verecek bir çözüa yönteai planlanaalıdır. Problea bu şekilde analiz edildikten sonra kodlanaaya kolaylık sağlaaası için AKİS DİYAGRAMLARI veya BLOK DÎYA8RAHLARI çizilir. Bu diyagraalar bilgisayarın yapacağı illetlerin resiali ifadeleridir. Çözüae götüren bütün detaylar ve gerekli adıtlar diyagraılarda görünaelidir.

BLOK DİYAGRAMLARI akis diyagraalarının aynısıdır ancak geniş kapsaılı büyük progratlarda kullanılırlar. Ana prograıın içindeki prograa parçalarını ve bu parçaların birbiri ile olan ilişkilerini gösterir. Başlangıçta hazırlanan blok diyagraalarında yaklısıa çok geneldir. Çünkü çözüae giden değişik alternatifleri gösteraesi gerekir. Blok diyagraalarında prograaın bölüaleri birkaç cüale veya şekille özetlenebilir. Probleain tüaüne aantıksal yaklaşıa taaaalandıktan sonra seaa genişletilir veya parçalanır. Bu parçalar veya genislatilıis seaa, bilgisayarın yapacağı bütün islealeri ayrıntıları ile gösteraelidir, İste bu ayrıntılı seaa AKİS DİYAGRAMI’dır. Akis diyagraaı bize kodlaaa sırasında rehberlik edecektir. SİGORTA probleaindeki leaa bir akıı diyagraaıdır.

Akis diyagraalan aşağıdaki fonksiyonları içeraelidirı

– Prograa gelistiraeye

– Kodlaaaya

– Prograaın döküaan haline gelaasinı yırdıact olaaya.
– il kullanılır. Bu »eaboller Seki 1-3 de anlaalan ile birlikte verilai»tir.

Rate this post
Rate this post

Cevapla

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlenmelidir *

*