Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Algoritma ve Programlama Mantığı

Algoritma ve Programlama Mantığı

Published by Bilişim Hocası, 2022-10-11 20:59:26

Description: Algoritma ve Programlama Mantığı

Keywords: Algoritma ve Programlama Mantığı,Algoritma,Programlama,isa gürbüz,Programlama Mantığı

Search

Read the Text Version

MOD ( KALAN ) OPERATÖRÜ: ARİTMETİK ARTTIRMA OPERATÖRÜ: (++)

ARİTMETİK AZALTMA OPERATÖRÜ: (++) TOPLA VE ATA OPERATÖRÜ: (+=)

ÇIKAR VE ATA OPERATÖRÜ: (-=) ÇARP VE ATA OPERATÖRÜ: (*=)

BÖL VE ATA OPERATÖRÜ: ( /= )

MANTIKSAL OPERATÖRLER:

FONKSİYON VE METOT KULLANIMI Genel amaçları sıklıkla hesaplanması gereken işlemlerin gruplanmasını sağlamaktır. Aynı zamanda iş bölümü sağladıkları için de kullanılırlar. Geri dönüşüm yapan ve yapmayan olarak temelde ikiye ayırabiliriz. Bir program yazıyor olalım ve programda sıklıkla kullanılan iki sayının toplamını yaptığımızı düşünelim. Bu noktada toplama işlemlerini kullanılacağı her yerde tek tek yazmaktansa gruplamak, yani bir alt program halinde getirmek daha mantıkklı bir işdir. { //işlemler return [veri]; }

FONKSİYON VE METOT KULLANIMI Geri Dönüş Tipi: Geri dönecek değerin tipi burada belirtilir. Eğer yazılan bir alt program geri dönüş yapmıyorsa, geri dönüş tipi olarak void anahtar kelimesi yazılır. Örneğin iki sayıyı çarpan bir alt programın geri dönüş tipi int olacaktır. Fonksiyon/Metot İsmi: Alt programa verilecek isim burada belirtilir. Aynı isimde başka bir alt program olmamalıdır. Örneğin, Topla. Parametreler: Parametreler virgül yardımıyla ayrılır. Aynı isme sahip iki parametre olamaz. Örneğin dışarıdan iki adet parametre alınacaksa bu durumda parametreler kısmına int sayi1, int sayi2 gibi bir bildirim yapılmalıdır. Veri: Hesaplamanın yapıldığı ve geri döndürülmesini istediğimiz veri buradan bildirilir. Return edilen veri çağrıldığı noktaya gönderilir ve bu noktada alt programın görevi sonlandırılır. ! Fonksiyonlar ve metotlarda return değişiminden sonra yazılacak kodlar işlemezler.

JAVA İLE METOT YAZMA Public anahtar kelimesi metodun her yerden ulaşılabilmesini sağlar. Static anahtar kelimesi ise bu metoda direk ulaşılabilmesini sağlar.



KARAR YAPILARI Üretilecek değerlerin doğruluğu, aralığı vb. gibi özellikler kontrol edilmek istendiğinde kullanılır. İf blokları sayesinde gerçekleştirilir. Else ise koşullar sağlanmadığında kullanılır. Else if karar yapıları da birden fazla karar yapısının alt alta yazılarak kullanımına verilen isimdir. IF KARAR YAPISI Yazım sitili 1: ! Parantez olmadan if bloklarında sadece ilk satır if(koşul) çalışır. koşulsağlandıysayapılacakişlemler; Yazım sitili 2: if(koşul) { koşulsağlandıysayapılacakişlemler; }





SWITCH-CASE KARAR YAPISI İf ile aynı işlemi görür ancak daha okunabilir olduğu için tercih edilirler. İç yapısı nedeniyle büyüklük ve küçüklük gibi kontrollere izin vermez. Sadece eşitliğin sağlandığı durumları kontrol etmede kullanılabilirler. Yazım sitili : ! Double ve Float gibi ondalık sayılarda veri kaybı switch(değişken) olabileceğinden kullanılamazlar. { case[deger1]: yapılacakişlemler1; break; case[deger2]: yapılacakişlemler2; break; … case[degerN]: yapılacakişlemlerN; break; }



! İf yapılarında hiçbir koşul sağlanmadığında durumu en sondaki else ile yakalıyorduk. Switch case de ise aynı görevi default bloğu yapabiliyoruz.

! Bunun gibi bazı durumlarda akışın diğer bir durumdan devam etmesi için break koyulmaz.

RECURSIVE KULLANIMI ( ÖZ YİNELEME ) Programlamada kendi kendini çağıran metot ve fonksiyon olarak tanımlanırlar. İki kısımdan oluşur. Birinci kısım koşulun sağlanıp sağlanmadığını kontrol eder. İkinci kısım ise koşul sağlanmamışsa fonksiyonun tekrar çağrılma işlemini yapar. Recursive metot ya da fonksiyonların kullanıldığı problemler recursion olarak adlandırılır. Programlama da bu yöntem sıklıkla kullanılır. Yazım sitili : … [geri dönüş tipi] [metot/fonksiyon ismi] ([parametre]) { if(koşul) {return[sonuç]; } else { return [metot/fonksiyon ismi] (yeni parametre); }} }

Gelen sayı 1 ise geriye 1 döndür, değilse sayının 1 eksiğini çarparak döndür. ( Faktöriyel Hesaplama )

DÖNGÜLER Programlamada bazı işlemlerin belirlenen bir sayı kadar tekrar edilmesi gerekir. Bunun gibi durumlarda döngü yapıları kullanılır. Döngülerde if de ki gibi koşul alanları vardır. Koşul sağlanana kadar işlem tekrar eder. Döngüler az ve verimli kod yazılmasını sağlarlar. Örneğin klavyeden girilecek 20 tane sayının toplamını hesaplayan bir program yazıyor olalım. Bunu 20 ayrı değişken tanımlamaya 20 ayrı okuma kodunu alt alta yazmaya gerek kalmadan yapabiliriz. WHILE DÖNGÜSÜ Yazım sitili : while(koşul) { yapılacakişlemler; }

1Kaç adet sayının girildiğini kontrol etmek için sayaç adında değeri olan değişken 0tanımladık. Toplam sonucu içinde ilk değeri olan bir toplam değişkeni topladık. Klavyeden girilecek sayı için ise sayi adında bir değişken tanımladık ve operatör olarak topla ve ata += operatörünü kullandık. Sayaç değişkenini her defasında 1 artırarak ++ döngü olmasını sağladık.

DO WHILE DÖNGÜSÜ Tek farkı do while döngüsünün koşul ifadeleri kodlar işletildikten sonra kontrol etmesidir. Koşullar hiç Yazım sitili : sağlanmazsa do while döngüsü en az bir kere çalıştırılır. do ! do-while döngüsünün sonuna noktalı virgül konulması { zorunludur. yapılacakişlemler; } while(koşul);

Dikkatlice bakarsak sayi değişkeni döngünün dışında tanımlanmıştır. Bunun nedeni bu değişkenin koşul cümlesinde kullanılmasıdır. Eğer değişkeni döngü içerine tanımlamış olsaydık koşul cümlesinin yazıldığı yerde bu değişkene ulaşamazdık.

FOR DÖNGÜSÜ Yazım sitili : for(sayaçtanımlamaları ; koşulifadeleri ; sayaçartışazalışifadeleri) { yapılacak işlemler; } Düzgün artış ya da azalışa sahip uygulamalarda, daha sade ve kod okunabilirliği rahat olduğu için FOR döngüsü tercih edilir.



Bazı problemler tek döngü ile çözülemez. Bu durumlarda iç içe geçmiş döngüler kullanılır. Program çalıştığında i değişkeni 0 değerini alır ve bir kere çalışarak ekrana * yazar. İçteki döngü koşul sağlandığında sona erer. Bu nedenle konsol ekranında bir satırlık boşluk bırakır. 2.adımda i değeri 1 değerini alır ve 2 defa döneceği için ** yazar ve yine konsolda 1 satır boşluk bırakarak 1.döngünün 2.adımını tamamlar. Aynı işlemler 3.adım içinde yapılır ve döngü sona erer.

BREAK ANAHTAR KELİMESİ Döngülerde bazı koşullar sağlandığı durumda döngünün sonlandırılması gerekebilir. Bunun gibi durumlarda break anahtar kelimesi kullanılır. Döngü içerisinde break anahtar kelimesi çalıştırıldığı anda, döngü tamamen sonlandırılır.

CONTINUE ANAHTAR KELİMESİ Kendisinden sonra gelen kodlara bakmaksızın döngünün bir sonraki adımla devam edilmesini sağlar.

DİZİLER Aynı türden birçok veriyi, bir arada tutmaya yarayan nesnelerdir. Çok sayıda değişken içeren problemlerin çözümünde oldukça kullanışlıdır. Derli toplu ve kod okunabilirliği yüksek programlar yazmamızı sağlar. Yazım sitili : public static void main(String[] args) { int[] dizi={ 4,8,15,16,23,42 }; }

Diziler üzerinde değiştirme ve atama işlemleri yapılırken sıklıkla döngüler kullanılır. Bunun en büyük nedeni ise; dizilerin başlangıç ve bitiş değerlerinin belli olması ve bu değerleri bir döngü üzerinde koşul kullanarak tüm işlemlerin pragmatik bir şekilde yapılabilmesidir.

ALIŞTIRMALAR İKİ SAYI ÜZERİNDE TEMEL DÖRT MATEMATİKSEL İŞLEM 1. Başla 2. İlk sayı (a) oku 3. İkinci sayı (b) oku 4. T=a+b 5. F=a-b 6. C=a*b 7. X=a/b 8. Yaz T,F,C,X 9. Dur



GİRİLEN SAYININ ÇİFT Mİ TEK Mİ OLDUĞUNU BULMA 1. Başla 2. Oku s 3. Eğer s%2=0 ise «çift» yaz 4. Değilse «tek» yaz 5. Dur



KARENİN ÇEVRESİNİ VE ALANINI HESAPLAMA 1. Başla 2. Oku a 3. Cevre=4*a 4. Alan=a^2 5. Yaz Cevre, Alan 6. Dur



DİKDÖRTGENİN ÇEVRESİNİ VE ALANINI HESAPLAMA 1. Başla 2. Oku kisak ve uzunk 3. Cevre=2*(kisak+uzunk) 4. Alan=kisak*uzunk 5. Yaz Cevre, Alan 6. Dur



KÜRENİN HACMİNİ VE ALANINI HESAPLAMA 1. Başla 2. Tanımla, pi=3.14 3. Oku r 4. Alan=4*pi*(r^2) 5. Hacim=(4/3)*pi*(r^3) 6. Yaz Alan, Hacim 7. Dur



KİLOMETREYİ MİLE ÇEVİRMEK 1. Başla 2. Oku km 3. Mil= 0.621*km 4. Yaz mil 5. Dur



BİR ÜÇGENDE PİSAGOR TEOREMİ İLE HİPOTENÜS HESAPLAMA 1. Başla 2. Oku kenar1, kenar2 3. hipotenus=(kenar1^2+kenar2^2)^(1/2) 4. Yaz hipotenus 5. Dur



ÜÇGENİN ALANINI HESAPLAMA 1. Başla 2. Oku h, t 3. Alan=h*t/2 4. Yaz Alan 5. Dur



İKİ SAYIYI KARŞILAŞTIRMA 1. Başla 2. Oku a,b 3. Eğer a>b ise yaz a büyüktür 4. Eğer b>a ise yaz b büyüktür 5. Eğer a==b ise yaz eşittir 6. Dur

DİZİYE SAYI AKTARMA 1. Başla 2. Dizi [10] 3. i=0,9,1 4. Dizi [i] 5. Dur

ÜS KUVVETİNİ HESAPLAMA 1. Başla 2. Oku taban,kuvvet 3. sonuç=1 tanımla 4. i=1,kuvvet,1 5. sonuç*=taban 6. sonuc yazdır 7. Dur

ASAL SAYI KONTROLÜ 1. Başla 2. t=0 tanımla 3. Oku sayi 4. i=1,sayi,1 5. Eğer i ye bölümden kalan 0 ise t++ yap 6. Değilse adım 4 e git 7. Eğer t==2 ise «asal sayıdır» yaz 8. Değilse «asal sayı değildir» yaz 9. Dur

SAYILARIN BÖLÜMÜNDEN KALANLARI HESAPLAMA 1. Başla 2. Tanımla, a,b, 3. Oku a,b 4. Yaz, (a%b) 5. Eğer a!=0 ise git 3 6. Dur


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook