Adım Adım Algoritma.

Slides:



Advertisements
Benzer bir sunumlar
OPERATÖRLER.
Advertisements

BPR151 ALGORİTMA VE PROGRAMLAMA - I
PHP ile Lab Örnekleri Lab Çalışması.
Değişken , Veri Türleri ve Operatörler
mantIKSAL OPERATÖRLER
JAVASCRİPT VERİ TÜRLERİ
OPERATÖRLER Programlama dillerinde tanımlanmış sabit ve değişkenler üzerinde işlemler yapmayı sağlayan karakter ya da karakter topluluklarına operatör.
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
Bölüm 2: Program Denetimi
TEMEL BİLGİSAYAR BİLİMLERİ
VERİ TİPLERİ VE DEĞİŞKENLER
OOP4 LAB.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Operatörler.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
Yapısal Program Geliştirme – if, if-else
OPERATÖRLER.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
MANTIKSAL OPERATÖRLER
Görsel C# ile Windows Programlama
Bilgisayar Programlama
Formüller Mustafa AÇIKKAR.
İnternet Programcılığı II
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Temel tanımlar ve işleyiş
C ile Programlamaya Giriş
DEĞİŞKENLER, VERİ TÜRLERİ VE OPERATÖRLER
DEĞİŞKENLER VE VERİ TİPLERİ
DEĞİŞKENLER.
C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme
Temel Kavramlar, İşlemler, Operatörler
Mantıksal Operatörler ve Denetim Yapıları
BİL 102 BİLGİSAYAR PROGRAMLAMA
C# Veri Tipleri ve Değişkenler
VERİ TİPLERİ VE DEĞİŞKENLER
İnternet Programlama - 2
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Nesne Tabanlı Programlama 2
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
2. HAFTA 2. Hafta.
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Değişkenler Programda Değişken Tanımlama. Değişken nedir? (Variables) Program içinde kullanılan veri(data)nin tutulduğu alanın adıdır. Her veri bir tür.
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
- 1 - Bütün formüller “ = “ işareti ile başlamak zorundadır
Programlama Dersi Öğretim üyesi : Prof. Dr. Raşit KÖKER
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Hesaplama Tabloları (MS For Mac Excel -2) Öğr.Gör. Mehmet Akif Barış.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
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İ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
Algoritma ve Akış Şemaları
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
VERİ TÜRLERİ.
OPERATÖRLER + / = <= MOD = = > < > AND
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bilgisayar Programlamasına ve Veri Analizine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Akis diyagramı Örnekleri
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Adım Adım Algoritma

Başla… Bitir : Algoritmanın başladığını ve bittiğini belirtmek için kullanılır. 1. Adım => Başla 2. Adım => 3. Adım => 4. Adım => 5. Adım => 6. Adım => 7. Adım => 8. Adım => Bitir

Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan ayrılır. Bu bellek bölgesine okuma ve yazma işlemleri ise değişken ismi üzerinden sağlanır. Genel olarak değişkenler aşağıdaki şekilde tanımlanır. <veri tipi> <değişken adı>;

Sayısal, Metin, Karakter, Mantıksal : Kullanılacak değişkenin türünü belirlemek için kullanılır. 1. Adım => Başla 2. Adım => 3. Adım => 4. Adım => 5. Adım => 6. Adım => 7. Adım =>… 8. Adım => Bitir Hafıza Alanı(RAM) ________________________________________________________ Sayısal sayi1 sayi1 adres Metin adres Karakter deger Mantıksal s1 Sayısal d5 deger d5 s1

= : Değişkenlere değer(veri) atamak için kullanılır. 1. Adım => Başla 2. Adım => 3. Adım => 4. Adım => 5. Adım => 6. Adım => 7. Adım => 8. Adım => Bitir Hafıza Alanı ________________________________________________________ Sayısal sayi1 sayi1 adres Metin adres 45 8 2 Konya adres = “Konya” sayi1 = 45 sayi1 = 2 sayi1 = sayi1 + 6

Yaz : Ekranda bilgi veya sonuç göstermek için kullanılır. Hafıza Alanı __________________________________________________ s1 1 6 1. Adım => Başla 2. Adım => Sayısal s1 3. Adım => s1 = 6 4. Adım => Yaz; “sayınız ” 5. Adım => Yaz; s1 sayınız 6. Adım => s1 = s1 - 5 6 7. Adım => Yaz; “5 eksiği =” & s1 5 eksiği = 1 8. Adım => Bitir

3. Adım => Yaz; “iki sayı giriniz” 4. Adım => Oku; a Oku : Kullanıcı girişi için kullanılır. Kullanıcının yazdığı veri okunduktan sonra belirtilen değişkene aktarılır. Hafıza Alanı ________________________________________________________ a b c 8 12 20 1. Adım => Başla 2. Adım => Sayısal a, b, c 3. Adım => Yaz; “iki sayı giriniz” 4. Adım => Oku; a İki sayı giriniz 5. Adım => Oku; b 8 6. Adım => c = a + b 12 Toplam : 20 7. Adım => Yaz; “Toplam : ” & c 8. Adım => Bitir

3. Adım => Yaz; “iki sayı giriniz” 4. Adım => Oku; s1 Oku : Kullanıcı girişi için kullanılır. Kullanıcının yazdığı veri okunduktan sonra belirtilen değişkene aktarılır. Hafıza Alanı ________________________________________________________ s1 s2 s3 23 7 30 1. Adım => Başla 2. Adım => Sayısal s1, s2, s3 3. Adım => Yaz; “iki sayı giriniz” 4. Adım => Oku; s1 İki sayı giriniz 5. Adım => Oku; s2 23 6. Adım => s3 = s1 + s2 7 Toplam : 30 7. Adım => Yaz; “Toplam : ” & s3 8. Adım => Bitir

Algoritmamızın başlangıcını belirtir. 1. Adım => Başla Algoritmamızın başlangıcını belirtir.

Kullanılacak değişkenin türü belirlenir. 2. Adım => Sayısal sayi1, sayi2, sonuc Kullanılacak değişkenin türü belirlenir. Her bir değişken küçük bir depo alanıdır. İçinde sayılar, kelimeler, harfler saklanabilir.

2. Adım => Sayısal sayi1 Hafıza Alanı ________________________________________________________ sayi1

2. Adım => Sayısal sayi1, sayi2 Hafıza Alanı ________________________________________________________ sayi1 sayi2

2. Adım => Sayısal sayi1, sayi2, sonuc Hafıza Alanı ________________________________________________________ sayi1 sayi2 sonuc

3. Adım => Yaz; “İki sayı giriniz” Hafıza Alanı ________________________________________________________ İki sayı giriniz sayi1 sayi2 sonuc

3. Adım => Yaz; “İki sayı giriniz” Hafıza Alanı ________________________________________________________ İki sayı giriniz sayi1 sayi2 sonuc 5

4. Adım => Oku; sayi1 Hafıza Alanı İki sayı giriniz 5 5 sayi1 sayi2 ________________________________________________________ İki sayı giriniz 5 sayi1 sayi2 sonuc 5

4. Adım => Oku; sayi1 Hafıza Alanı İki sayı giriniz 5 5 8 sayi1 ________________________________________________________ İki sayı giriniz 5 sayi1 sayi2 sonuc 5 8

5. Adım => Oku; sayi2 Hafıza Alanı İki sayı giriniz 5 5 8 8 sayi1 ________________________________________________________ İki sayı giriniz sayi1 sayi2 sonuc 5 5 8 8

6. Adım => sonuc = sayi1 + sayi2 Hafıza Alanı ________________________________________________________ İki sayı giriniz sayi1 sayi2 sonuc 5 5 8 13 8 sayi1 + sayi2 sonuc = 13 5 + 8

7. Adım => Yaz; “Toplam değer: ” & sonuc

7. Adım => Yaz; “Toplam değer: ” Hafıza Alanı ________________________________________________________ İki sayı giriniz sayi1 sayi2 sonuc 5 5 8 13 8 Toplam değer:

7. Adım => Yaz; “Toplam değer: ” & sonuc Hafıza Alanı ________________________________________________________ İki sayı giriniz sayi1 sayi2 sonuc 5 5 8 13 8 Toplam değer: 13

Algoritmamızın bittiğini belirtir. 8. Adım => Bitir Algoritmamızın bittiğini belirtir.

7. Adımda sonuç değişkeni aşağıdaki şekilde yazılmış olsaydı.!!! 7. Adım => Yaz; “Toplam değer: ” & “sonuc” Hafıza Alanı ________________________________________________________ İki sayı giriniz sayi1 sayi2 sonuc 5 5 8 13 8 Toplam değer: sonuc

2. Adım => Sayısal sayi1, sayi2, sonuc Klavyeden girilen iki sayının farkını bulan ve sonucunu gösteren algoritmayı yazınız. Hafıza Alanı ________________________________________________________ sayi1 sayi2 sonuc 1. Adım => Başla 23 20 3 2. Adım => Sayısal sayi1, sayi2, sonuc 3. Adım => Yaz; “iki sayi giriniz” 4. Adım => Oku; sayi1 İki sayı giriniz 5. Adım => Oku; sayi2 23 6. Adım => sonuc = sayi1 - sayi2 20 Fark : 3 7. Adım => Yaz; “Fark : ” & sonuc 8. Adım => Bitir

Klavyeden adı girilen kullanıcının ismini ekrana “Selam, ……… Klavyeden adı girilen kullanıcının ismini ekrana “Selam, ……….., ” yazısı ile gösteren programı yazınız.

3.Adım => Yaz; “İsminizi giriniz” Hafıza Alanı ___________________________________________ 1.Adım => Başla Ad 2.Adım => Metin Ad Büşra Gökşen 3.Adım => Yaz; “İsminizi giriniz” 4.Adım => Oku; Ad İsminizi giriniz 5.Adım => Yaz; “Selam, ” & Ad Büşra Gökşen 6.Adım => Bitir Selam, Büşra Gökşen

Önemli olan algoritmadaki her durumu sezebilmek ve bu durumlar için mantık yürütebilmektir. Bahsettiğimiz mantık ve sezgiler program yazdıkça gelişir. Bir çok kişi tarafından programlamanın yetenek işi olduğu söylense bile (ki gerçekte doğrudur) bu yeteneği edinmek resim yapma yeteneğini edinmekten ya da güzel sanatlara karşı bir yeteneği edinmekten çok daha kolaydır. Dikkat Dikkat !!!

DEĞİŞKENLER

Bir değişken küçük bir depo alanıdır Bir değişken küçük bir depo alanıdır. İçinde sayılar, kelimeler, harfler saklanabilir.

Değişken belirlemede kurallar 1. Kural Büyük küçük harfle yazım fark eder. Mesela: IlkNot ile ILKNOT farklıdır. 2. Kural Değişken ismi içinde boşluk,Türkçe karakter ya da özel karakterler yer alamaz. (*,#,&,%,$,ş,ç,ı,İ gibi) 3. Kural İlk karakter mutlaka bir harf olmalıdır. Başka bir önemli nokta, değişken ve sabitlerin adlandırılmasıdır. Bilgisayar sizin değişkenlere ne isim verdiğinizi umursamasa da, hem sizin hem de diğer programcılar için kolay anlaşılacak şekilde isimlendirilme çok önemlidir.

Değişken türleri Sayısal => 45,98,2….. Metin =>”Amasya”,”isim”,”büyük” Karakter =>”b”,”r”,”h”….. Mantıksal =>evet-hayır, doğru-yanlış

Değişkenlerde atama işlemi

Bir değişkene doğrudan veya kullanıcı girişi ile değer atanabilir. Oku; sayi1 yedek = sayi1 sonuc = sayi1 + sayi2 sayi = 45 isim = “Ayşe” Başka bir değişkenin veya hesaplamanın değerini aktarmak Sabit bir değer aktarmak sayi = 45 yedek = sayi1 isim = “Ayşe” sonuc = sayi1 + sayi2

Doğrudan değer atama "=" ile yapılır ve yönü sağdan sola() doğrudur. sonuc = sayi1 + sayi2 sayi1 + sayi2 sonuc = 13 5 + 8

a = 5 => a’nın değeri 5 olur a = a + 5 => a’nın eski değerine 5 eklenir a = a + 1 => a’nın eski değerine 1 eklenir sayi 7 8 6 4 + + - 1 3 2 1.Adım => Başla 2.Adım => sayısal sayi 3.Adım => sayi = 4 4.Adım => sayi = sayi+3 5.Adım => sayi =sayi+1 6.Adım => sayi =sayi-2 9.Adım => Bitir

Klavyeden girilen bir sayının küpünü bulan ve sonucunu gösteren algoritmayı yazınız. Hafıza Alanı __________________________________________________ sayi1 sonuc 2 8 1. Adım => Başla 2. Adım => Sayısal sayi1, sonuc 3. Adım => Yaz; “bir sayı giriniz” 4. Adım => Oku; sayi1 bir sayı giriniz 5. Adım => sonuc = sayi1 * sayi1 * sayi1 2 6. Adım => Yaz; “sayının küpü: ” & sonuc Sayının küpü: 8 7. Adım => Bitir

Klavyeden girilen bir sayının küpünü bulan ve sonucunu gösteren algoritmayı yazınız. Hafıza Alanı __________________________________________________ sayi1 sonuc 5 125 1. Adım => Başla 2. Adım => Sayısal sayi1, sonuc 3. Adım => Yaz; “bir sayı giriniz” 4. Adım => Oku; sayi1 bir sayı giriniz 5. Adım => sonuc = sayi1 * sayi1 * sayi1 5 6. Adım => Yaz; “sayının küpü: ” & sonuc Sayının küpü: 125 7. Adım => Bitir

Matematiksel işlemler İşlem Operatör Örnek Sonuç _________________________________________________________ Toplama + 2 + 4 6 Çıkarma – 3 – 4 –1 Bölme / 4 / 2 2 Çarpma * 3 * 5 15 Üs alma ^ 2 ^ 3 8 Mod (kalan) alma % 5 % 2 1

Matematiksel işlemlerde genel olarak şunlara dikkat ediniz: İşlem önceliği Bir formülde eğer varsa, üs (^) işlemi ilk önce yapılır. Sonra varsa, çarpma (*) ve bölme(/) yapılır. Sonra varsa, toplama(+) ve çıkarma(-) yapılır. Eğer aynı tür işleçler var ise, sol taraftaki önce hesaplanır.

1. Adım: Önce üs işlemi yapılır 2. Adım: Soldaki bölme çarpmadan önceliklidir. 3. Adım: Çarpma ilk önceliğe sahip oldu 4. Adım: Sol taraftaki toplama çıkarma işlemine göre öncelik sahibi 5. Adım: son işlem adımı

Parantez Kullanmak deger = 3 + 4 ^ 5 Önce 4 üzeri 5 işlemi yapılır deger = (3 + 4) ^ 5 Önce 3 ile 4 toplanır Birden fazla parantez kullanabiliriz. Bu durumda da önce içteki parantez yapılır. Parantez kalmayana dek tüm parantezler hesaplanır. Daha sonra da normal öncelikli işlemle yapılır.

ifadesinin algoritma dilindeki karşılığı sonuc = a + b – c + 2 * a * b * c – 7 ifadesinin bilgisayar dilindeki karşılığı: sonuc = (a ^ 2 + b ^ 2) / (2 * a * b)

İlişkisel işlemler < > <= >= == <> İşlem Operatör Örnek Sonuç doğru,true,evet 2 < 4 küçük < yanlış,false,hayır 15 < 7 6 > 14 doğru,true,evet büyük > 4 > 1 yanlış,false,hayır 6<=9 doğru,true,evet <= 7<=7 doğru,true,evet küçükeşit 5<=3 yanlış,false,hayır 8>=4 doğru,true,evet >= 6>=6 doğru,true,evet büyükeşit 7>=9 yanlış,false,hayır 5==5 doğru,true,evet eşit == 4==7 yanlış,false,hayır 3<>6 doğru,true,evet <> eşit değil 4<>4 yanlış,false,hayır

Mantıksal işleçler: Ve(And) Veya(Or) Değil(Not)

Metin işlemleri Çift tırnak içine alınan metinlerin içine istediğimizi yazabiliriz Fakat "3*4“ gibi bir ifade yazsak, hesaplama işlemi yapılmadığı için, bize sonucunu vermez. Çünkü algoritma çift tırnak içindeki değeri sayı olarak değil, metin olarak algılar.

Metinler + veya & işleci ile birleştirilerek tek bir metne dönüşebilirler. Birleşik olarak yan yana görüntülenmemeleri için aralarına bir boşluk (“ “) eklemeyi unutmayınız.

“sonuc” ve sonuc ifadeleri arasındaki fark Hafıza Alanı __________________________________________________ sayi1 sonuc 5 125 1. Adım => Başla 2. Adım => Sayısal sayi1, sonuc 3. Adım => Yaz; “bir sayı giriniz” 4. Adım => Oku; sayi1 bir sayı giriniz 5. Adım => sonuc = sayi1 * sayi1 * sayi1 5 6. Adım => Yaz; “sayının küpü: ” & “sonuc” Sayının küpü: sonuc 7. Adım => Bitir

2. Adım => Sayısal sayi1, sayi2, yas Hafıza Alanı _____________________________________________________________________ 1. Adım => Başla 2. Adım => Sayısal sayi1, sayi2, yas sayi1 sayi2 yas 3.Adım => Metin ad, soyad, isim 8 20 32 32 4.Adım => sayi1 = 8 5.Adım => ad = “Ayşe” ad soyad isim 6.Adım => soyad = “Nerede” Ayşe Nerede Ayşe32yaşında Ayşe-Nerede AyşeNerede Ayşe yas Ayşe Nerede Ayşe 7.Adım => sayi2 = sayi1 * 4 8.Adım => yas = sayi2 9.Adım => sayi2 = sayi2 - 12 10.Adım => isim = ad 11.Adım => isim = ad & soyad Yaşı= 32 12.Adım => isim = ad & “ “ & soyad Ayşe yas 13.Adım => isim = ad & “-“ & soyad AyşeNerede32yaşında 14.Adım => isim = ad & yas & “yaşında” Ayşe Nerede32yaşında 15.Adım => isim = ad & “ “ & “yas” 16. Adım => Yaz; “yaşı= ” & yas 17. Adım => Yaz; isim 18. Adım => Yaz; ad & soyad & yas & “yaşında” 19. Adım => Yaz; ad & “ “ & soyad & yas & “yaşında” 20. Adım => Bitir

Değerlendirme Soruları

KONTROL DEYİMLERİ

Şimdiye kadar yapılan örnekler sadece bir kere çalıştırılıyordu, tek seçenekleri vardı. Bizim girdiğimiz veriye göre akışı değişen bir yapısı yoktu. Bu tür programlar genelde pek bir işe yaramaz. Bilgisayara davranış kazandırmanın yolu “kontrol deyimleri”ni kullanmaktır. İçinde bulunulan duruma göre çalıştırılacak adımlar belirlenmelidir.

Eğer ise – Değilse Komutu Bir karar vermemiz gerektiğinde soruyu sorar, cevabına göre işlemler yaparız. Cevap; EVET ( doğru = true = var = 1 ) veya HAYIR ( yanlış = false = yok = 0 ) olabilir. Şartlara göre algoritma akışının değişmesinde kullanılır. Belirtilen şart doğruysa …… adımdan devam et değilse veya yanlışsa …… adımdan devam et.

Eğer (buraya yazılan şart doğru) ise Komut satırı Komut satırı Komut satırı Eğer bitti Komut satırı Komut satırı Eğer (buraya yazılan şart yanlış) ise Komut satırı Komut satırı Komut satırı Eğer bitti Komut satırı Komut satırı

Eğer (buraya yazılan şart doğru) ise Komut satırı Komut satırı Komut satırı Değilse Komut satırı Komut satırı Eğer bitti Eğer (buraya yazılan şart yanlış) ise Komut satırı Komut satırı Komut satırı Komut satırı Değilse Komut satırı Komut satırı Eğer bitti Komut satırı

Eğer (buraya yazılan şart doğru) ise Komut satırı Komut satırı Komut satırı Değilse Eğer (buraya yazılan şart …….) ise Komut satırı Eğer bitti Komut satırı Eğer (buraya yazılan şart yanlış) ise Komut satırı Komut satırı Değilse Eğer (buraya yazılan şart doğru) ise Komut satırı Komut satırı Eğer bitti Komut satırı