Algoritma Örnekleri.

Slides:



Advertisements
Benzer bir sunumlar
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Advertisements

Değişken , Veri Türleri ve Operatörler
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
VERİ TİPLERİ VE DEĞİŞKENLER
OOP4 LAB.
ALGORİTMA VE AKIŞ ŞEMALARI.
Algoritma ve Akış Diyagramları
ALGORİTMA ve PROGRAMLAMA
Görsel C# ile Windows Programlama
Bilgisayar Programlama
Formüller Mustafa AÇIKKAR.
Bilgisayar Programlama Güz 2011
3. DEĞİŞKENLER Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir.
Bilgisayar Programlama Dersi KTÜ Jeodezi ve Fotogrametri Müh. Böl
BPR151 ALGORİTMA VE PROGRAMLAMA - I
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Temel tanımlar ve işleyiş
C ile Programlamaya Giriş
VERİ TİPLERİ VE DEĞİŞKENLER
ALGORİTMA.
C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1.
VİSUAL BASİCTE KULLANILAN VERİ TÜRLERİ.
BİL 102 BİLGİSAYAR PROGRAMLAMA DERS 1. PROGRAM GELİŞTİRME AŞAMALARI 1- Probleme ilişkin veriler nelerdir? 2- Çözüm yöntemi nasıl olacaktır? 3- Çözüm sonucunda.
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
2. HAFTA 2. Hafta.
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Algoritma Mantığı ve Akış Diyagramları
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
Adım Adım Algoritma.
ALGORİTMA NEDİR? İster bilgisayarda, ister matematikte, isterse günlük hayatta karşımıza çıkan her problemin çözüm yolu vardır. Örneğin yemek yerken farkında.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Bilgisayar Programlama Dersi KTÜ Harita Müh. Böl. 2015/2016Bahar Dönemi Doç. Dr. Oğuz Güngör Yrd. Doç. Dr. Emine Tanır Kayıkçı Yrd. Doç. Dr. Esra TUNÇ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
Hesaplama Tabloları (MS For Mac Excel -2) Öğr.Gör. Mehmet Akif Barış.
BÖLÜM 2 ALGORİTMA.
BÖLÜM 3 AKIŞ DİYAGRAMI.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
BİLGİSAYAR PROGRAMLAMA DERSİ
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
PROGRAMLAMA TEMELLERİ Burak UZUN Bilişim Teknolojileri Öğretmeni Burak UZUN.
Algoritma ve Akış Şemaları
3. DEĞİŞKENLER Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir.
T.C. ÖMER HALİSDEMİR ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ EĞİTİMDE BİLİŞİM TEKNOLOJİLERİ – 2 DERSİ ALGORİTMALAR.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
ALGORİTMA VE AKIŞ ŞEMASI
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMA DİLLERİ Bilgisayarları kullanabilmek için onlarla iletişim kurmak gerekir. Bu iletişimi kurabilmek programlamanın amacıdır. Program, bilgisayara.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
VERİ TÜRLERİ.
PROGRAMLAMA VE KODLAMAYA GİRİŞ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Algoritmanın Hazırlanması
Veri Tipleri 12/4/2018.
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Problemi Çözme Adımları
Bilgisayar Programlamasına ve Veri Analizine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Akis diyagramı Örnekleri
Algoritma ve Akış Diyagramları
NİŞANTAŞI ÜNİVERSİTESİ
Aritmetik Operatörler
Sunum transkripti:

Algoritma Örnekleri

Örnek: İki sayının toplamını bulan programın algoritması 1. Çözüm : A1. Başla A2. üç sayı tanımla A3. İki sayı gir A4. Girilen sayıları topla A5. Sonucu ekrana yaz A6. Bitir 2. Çözüm : A2. a,b ve t tanımla A2. a ve b sayılarını oku A3. t=a+b işlemini yap A4. t’yi ekrana yaz A5. Bitir

Örnek: Klavyeden girilen 2 sayının aritmetik ortalamasını hesaplayan programın algoritması 1. Çözüm : A1. Başla A2. Sayıları oku A3. Girilen 2 sayıyı topla A4. Toplamı 2’ye böl A5. Sonucu ekrana yazdır A6. Bitir 2. Çözüm : A2. Sayılar S1, S2, Toplam T olsun A3. S1 v e S2’yi gir A4. T=S1+S2 A5. O=T/2 A6. O’yu ekrana yazdır A7. Bitir

Örnek: Kenar uzunlukları verilen dikdörtgenin alan hesabını yapan programa ait algoritmanın hazırlanması. Dikdörtgenin kısa kenarı: a Dikdörtgenin uzun kenarı: b Dikdörtgenin alanı: Alan Çözüm Algoritma: A1. Başla A2. a, b, Alan A3. a değerini gir A4. b değerini gir A7. Alan = a*b A8. Alan değerini ekrana yaz A9. Bitir.

Örnek 5: Bir öğrenci bir dersten aldığı iki sınav notunu klavyeden giriyor. Öğrencinini ortalamasını hesaplayıp, 50 geçme barajına göre “Geçtiniz” veya “Kaldınız” mesajı veren programın algoritmasını hazırlayınız. Çözüm: A1. Başla A2. snv1, snv2, Ort tanımla A3. Snv1’i gir A4. Snv2’i gir A5. Ort= (Snv1 + Snv2) / 2 A6. Ort’yı ekrana yaz A7. Eğer (Ort > 50) ise A8. Ekrana “Geçti” yaz A9. Değilse “Kaldı” yaz A10. Bitir

Örnek: Çapraz döviz kuru hesabi yapan programın algoritmasının oluşturulması. Bu algoritmanın oluşumunda veriler; 1 Amerikan dolarının TL karşılığı, hesaplanacak $ miktarı, çıkış ise verilen $'in TL karşılığı olacaktır. Doların değeri: dol_deg Girilen Dolar miktarı: dolar TL karşılığı: tl Çözüm Algoritma: A1. Başla A2. dol_deg, dolar, tl A3. dol_deg'i gir A2. dol_deg<0 ise 3. adimi tekrarla A3. dolar’ı gir A4. dolar<0 ise 5.adimi tekrarla A5. tl = dol_deg*dolar A6. tl değerini ekrana yaz A7. Bitir

Örnek: Kullanıcının ard arda gireceği 15 sayının toplamını ve ortalamasını veren programa ait algoritmanın oluşturulması Çözüm : A1. Başla A2. Top = 0, Sayaç = 0, X A3. X'i gir A4. Top = Top+X A5. Sayaç = Sayaç +1 A6. Eğer Sayaç <15 ise A3'ye git A7. Ort = Top/15 A8. Top ve Ort değerlerini yaz A9. Bitir.

Örnek: Klavyeden girilen Ad ve Soyad bilgisini 20 defa ekrana yazdıran programın algoritması 1. Çözüm A1. Başla A2. ad, soyad, sayac A3. Sayaç’ı 0 yap A4. Ad Soyad bilgisini oku A5. Ad soyadı ekrana yaz A6. Sayıcı bir artır A7. Eğer sayaç 20’den küçükse A5’e git A8. Bitir 2. Çözüm A1. Başla A2. ad, soyad, sayac A3. Sayaç = 0 A4. Ad Soyad bilgisini oku A5. Ad soyadı ekrana yaz A6. sayac=sayac+1 A7. sayaç < 5 ise A5’e git A8. Bitir

Örnek: Kullanıcının gireceği bir sayının faktöriyelini hesaplayan programın algoritmasının oluşturulması. Sayının faktöriyeli: Fk Faktöriyeli hesaplanacak sayı: Y Sayaç : X Çözüm 1 (Sayaç ile): A1. Başla A2. Fk = 1, X = 0, Y A3. Y'i gir A4. X = X+1 A5. Fk = Fk*X A6. X <= Y ise A4’e geri dön A7. Fk değerini yaz A8. Bitir. Sayının faktöriyeli: Fk Faktöriyeli hesaplanacak sayı: Y Çözüm 2 (Sayaçsız): A1. Başla A2. Fk = 1, Y A3. Y'i gir A4. Y = Y - 1 A5. Fk = Fk * Y A6. Y > 1 ise A4’e geri dön A7. Fk değerini yaz A8. Bitir.

Akış Diyagramları Geliştirilecek olan yazılımın genel yapısının şematik gösterimine akış diyagramı adı verilir. Akış diyagramları, yazılımı oluşturacak program parçalarını ve bu parçaların birbirleri ile olan ilişkilerini belirler. Bir bilgisayar programının oluşturulmasında akis diyagramlarının hazırlanması, algoritma oluşturma aşamasından sonra gelmektedir. Bilgisayar programının oluşturulması sırasında algoritma aşaması atlanarak, doğrudan akis diyagramlarının hazırlanmasına başlanabilir. Programlama tekniğinde önemli ölçüde yol almış kişiler bu aşamayı da atlayarak direkt olarak programın yazımına geçebilirler. Akış diyagramlarının algoritmadan farkı, adımların simgeler seklinde kutular içinde yazılmış olması ve adımlar arasındaki ilişkilerin (iş akışı) oklar ile gösterilmesidir. Akis diyagramlarında kullanılan semboller, anlamları ve kullanış amaçları aşağıda verilmiştir.

Akış Diyagramları

Programlamada kullanılan mantıksal yapılar

Karar Yapısı (Koşullu Yapı)

Tekrarlı Yapı (Döngü) Tekrarlı Yapı

Örnek 1: Dışardan girilen bir sayıyı okuyup bu sayıyı tekrar yazdıran programın akış şemasını çiziniz. Algoritma Akış Diagramı A1. Başla A2. Sayı x olsun A3. x’i gir A4. x’i akrana yaz A5. Bitir.

Örnek 2: Dışarıdan girilen iki sayıyı toplayıp sonucu ekrana yazan programın akış şemasını çiziniz. Algoritma Akış Diyagramı A1. Başla A2. Sayılar X ve Y toplam T olsun A3. X’i gir A4. Y’i gir A5. T = X + Y A6. T’yi ekrana yaz A7. Bitir

Örnek 3: Yarıçap uzunluğu girilen dairenin alanını ve çevresini hesaplayıp sonucunu ekrana yazdıran programın akış semasını çiziniz. Algoritma Akış Diagramı A1. Başla A2. Yarı çap r Alan al, Çevre cev, pi=3,14 olsun A3. r’yi gir A4. al = pi * r * r A5. cev = 2 * pi * r A6. al ve cev ekrana yaz A5. Bitir.

Algoritma Akış Diyagramı Örnek 4: Dolar miktarı ve günlük kur girildiğinde TL miktarını hesaplayan program. Bu algoritmanın oluşumunda girişler; 1 Amerikan dolarının TL karşılığı, hesaplanacak $ miktarı, çıkış ise verilen $'in TL karşılığı olacaktır. Girişlerin 0’dan büyük olması gerekmektedir. Algoritma Akış Diyagramı A1. Başla A2. dol_deg, dolar, tl A3. dol_deg'i gir A4. dol_deg<0 ise 3. adimi tekrarla A5. dolar’ı gir A6. dolar<0 ise 5.adimi tekrarla A7. tl = dol_deg*dolar A8. tl değerini ekrana yaz A9. Bitir

Algoritma Akış Diyagramı Örnek 5: Kullanıcının klavyeden girdiği vize ve final notlarına göre ortalamayı hesaplayıp ekrana yazan, 60 barajına göre “Geçtiniz” veya “Bütünlemeye Kaldınız” mesajı veren programın akış diyagramını hazırlayınız. Algoritma Akış Diyagramı A1. Başla A2. vz, fnl, Ort tanımla A3. vz’i gir A4. fnl’i gir A5. Ort= (vz * 0,4) + (fnl * 0,6) A6. Ort’yı ekrana yaz A7. Eğer (Ort > 60) ise A8. Ekrana “Geçti” yaz A9. Değilse “Bütünlemeye Kaldınız” yaz A10. Bitir

Örnek: 1’den 100’e kadar olan sayıların toplamını hesaplayıp ekrana yazan program Algoritma A1: Başla A2: say, top, ort A3: say=0, top=0 A4: say=say+1 A5: top=top+say A6: say<=100 ise A4’e git A7: ort = top / 100 A8: top ve ort’u ekrana yazdır A9: Bitir

Örnek 7: Kullanıcının gireceği bir sayının faktöriyelini hesaplayan programın algoritmasının oluşturulması. Sayının faktöriyeli: Fak Faktöriyel değişkeni: X Faktöriyeli hesaplanacak sayı: Y Algoritma A1. Başla A2. Fak = 1, X = 0, Y A3. Y'i gir A4. Y<0 ise 2. adimi tekrarla A5. X = X+1 A6. Fak = Fak*X A7. X<Y ise A4’e geri dön A8. Fak değerini yaz A9. Bitir.

VERİ YAPILARI VE VERİ TİPLERİ Her programlama dilinde çeşitli veri yapıları ve veri tipleri mevcuttur. Programcının dilin imkanlarına daha iyi hakim olabilmesi için bu yapıları tanıması zorunludur.      SABİTLER(CONSTANTS) Program içinde değeri değiştirilemeyen, çeşitli tipteki veri yapılarıdır. Örneğin          1234 şeklindeki bir sabit , bir tam sayı sabittir. "5666" sabiti veya "Türkiye" sabiti ise string türü sabitler, çift tırnak sembolleri içinde yazılırlar ve matematiksel işlemlere sokulmazlar.

DEĞİŞKENLER(VARIABLES)        Programın akışı içerisinde, değerleri sürekli olarak değişebilen veri yapısıdır. Örneğin; x=23 y=12         x=x+3 y=y+x        Bu değişkenlere yeni bir değer atanırsa, bu değişkenin önceki değeri silinecektir.       DEĞİŞKENLERE İSİM VERME       İsim vermek için aşağıdaki kurallar geçerlidir.       1- Değişken isminin ilk karakteri bir harf olmalıdır.       2- Değişken ismi oluşturulurken, diğer karakterler, harf, rakam ya da alt çizgi (-) sembolü olabilir.       3- Kullanılan harflerin küçük ya da büyük harf olmasının önemi yoktur.       4- Değişken isim uzunlukları 255 karaktere kadar olabilir.       5- Değişken isimleri içinde diğer semboller(+,-,/ ,boşluk vb)bulunmamalıdır.      

ÖRNEK: Geçerli Değişken İsimleri                    MAAŞ                    Yaş1                    NetMaas                    Genel_Toplam Geçersiz Değişken İsimleri                     1X                     A-1                    Brut Maaş

DEĞİŞKEN TÜRLERİ     INTEGER(TAM SAYI): Bir değişkenin sonunda % sembolü varsa bu değişkenin türü integer olacaktır. Integer değişkenler, bellekte 2 Byte yer kaplar ve alacakları değerler -32768 ile +32767 aralığında olabilir. Integer türü değişkenlerle daha hızlı hesaplama yapılır.       ÖRNEK Deflnt A,B       D%=5678       A=789       B=50000' Hatalı atama        LONG INTEGER (UZUN TAM SAYI)        Sonundaki sembol & sembolü olan ya da Deflng sözcüğü ile tanımlanmış olan değişkenlerdir. Bellekte 4 byte yer kaplarlar. Alabilecekleri değerler, -2,147,483,648 ile +2,147,483,647 aralığında olabilir.        Örnek: DefLng A-C Bu örnekte, DefLng A,B veya C olan tüm değişkenler        A=234555566 Long integer olarak tanımlanmıştır.        B=567777777         

SINGLE PRECISION(TEK DUYARLIKLI) Değişkenin sonunda SINGLE PRECISION(TEK DUYARLIKLI)         Değişkenin sonunda ! sembolü varsa, veya DefSng bildiri deyimi ile tanımlanmışsa bu değişken tek duyarlıklı tipte değişkendir. Bu tip değişkenler, bellekte 4 Byte yer kaplar. Değer aralığı negatif sayılar için -3.402823E-38 ile 3. 402823E-45 arasındadır. Pozitif sayılar içinse bu aralık 1.401298E-45 ile 3. 402823E38 arasındadır. İlk 7 haneye kadar hassastırlar. X!=12390638.234 şeklindeki bir atamada,sonraki 8.234 kısmı yuvarlanacaktır.   DOUBLE PRECISION(ÇİFT DUYARLIKLI)           İsmi sonundaki sembol # sembolü olan ya da DefDbl bildiri sözcüğü ile tanımlanmış olan değişkenlerdir.           STRİNG(KARAKTER ZİNCİRİ)           Sonunda $ sembolü bulunan yada DefStr bildiri sözcüğü tanımlanmış olan değişkenlerdir. Genellikle metin bilgileri için kullanılır.           ÖRNEK X$=Text12.Text

CURRENCY (PARASAL FORMAT)           Değişken ismi sonundaki sembol @ sembolü olan ya da DefCur bildiri sözcüğü ile tanımlanmış olan değişkenlerdir. Ondalık noktadan önce 15 ve ondalık noktadan sonra 4 hane olacak şekilde formatlanmıştır.           DATE(TARİH)           Tarih ve zaman türündeki bilgileri saklamak için kullanılan değişkenlerdir. 1 Ocak 100 ile 31 Ocak 9999 arasındaki zamanlar için kullanılır.           ÖRNEK: DefDate T           Tar=#February 3,1996#           BYTE           Byte değişken türü, 0 ile 255 arasındaki işaretsiz tam sayıları saklamak için kullanılır. DefByte bildiri sözcüğü ile tanımlanır.          

BOOLEAN DefBool olarak tanımlanır BOOLEAN          DefBool olarak tanımlanır. Sadece Doğru (True) Yanlış(False) değerlerinden birini alabilir.    VARİANT          DefVar olarak tanımlanmıştır. Bir değişken için hiçbir tip bildiriminde bilinilmamışsa, tipi Variant olarak kabul edilir. Her türlü bilgi (Date,numerik,string)yüklenebilir. Variant tipi bir değişken içine hangi tip veri yüklendiği ise IsNumeric,IsDate vb gibi kontrol edilebilir.

Matematiksel işlemlerin öncelik sıraları 1. Parantez 2. Hazır fonksiyonlar 3. Üs alma işlemi (^) 4. Eksi ( negatifi saptayan işaret ) 5. Çarpma (*) ve Bölme işlemi (/) 6. Toplama (+) ve Çıkarma (-) işlemi Yukarıdaki sıralamada, ortak öncelikte gösterilenlerin öncelikleri, solda bulunan işlemin önce yapılacak olma kuralına bağlıdır. Örneğin toplama ve çıkarma işlemi yukarıdaki tabloda aynı sırada gösterilmiştir. Buna göre aynı işlemde yan yana hem toplama ve hem de çıkarma işlemi varsa, bunlardan solda olanı önce işlem görür. Ayrıca bu sıralamadan farklı olarak parantez içine alınmış olan işlemler her zaman önce işlem görür, parantez içine alınmış yan yana iki işlem varsa, bunlardan da solda olan parantezli işlem önce işleme girer.

Matematiksel Eşitliklerin Yazılışları Matematiksel eşitlikler yukarıda verilen matematiksel operatörler yardımıyla yazılırlar. Burada dikkat edilmesi gereken husus, açılan parantezlerin mutlaka kapatılması gerektiğidir. Eşitliklerin gösterilmesinde mutlaka yuvarlak parantez ( ) kullanılmalıdır, köşeli parantez [ ] kullanılmamalıdır. Matematiksel gösterim Visual Basic gösterimi A=(3*Y)/E HY =R T 3 HY=(RT^3)/23 23

Atama Deyimi( hesaplama) Değişken = aritmetik ifade B = A + 1 AD$ = “1234”, AD$ = “ANKARA”