Bölüm 7 İfadeler ve atamalar.

Slides:



Advertisements
Benzer bir sunumlar
İfadeler ve Atama İfadeleri
Advertisements

Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
SAYISAL DEVRELER BÖLÜM-2 Sayı Sistemleri ve Kodlar
% A10 B20 C30 D25 E15 Toplam100.  Aynı grafik türü (Column-Sütun) iki farklı veri grubu için de kullanılabilir. 1. Sınıflar2. Sınıflar A1015 B20 C3015.
3. HAFTA 03 Mart MATEMATİKSEL İŞLEMLER Aritmetik Islemlerde Öncelik Durumu.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
BİLGİSAYAR PROGRAMLAMA MATLAB Yrd.Doç.Dr. Cengiz Tepe.
Örnek 1 Kullanıcının girdiği bir sayının karesini hesaplayan bir program yazınız.
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
DİYARBAKIR 2008.
BSE 207 Mantık Devreleri Sayı sistemleri Sakarya Üniversitesi.
Bağlama ve Kapsam Kavramları
ARDA KIRTASİYE. İ nsano ğ lunun ilk hesap makinesi abaküsdür ve abaküse benzeyen ilk araçlar bundan 3,000 sene önce kullanılmı ş tır. Otomatik hareketlerden.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Bölüm 5 Döngü Komutları while Komutu while Komutu Diğer Operatörler (Bileşik atama, artırma ve azaltma operatörleri ) Diğer Operatörler (Bileşik atama,
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Komut Türleri  8051’de de kullanılan komutlar 8-bit opkoda sahiptir.  8-bit opkod 2 8 =256 farklı komuta imkan tanır ve 8051’de toplam 255 komut tanımlıdır.
ÇOK BOYUTLU SİNYAL İŞLEME
Pazarlama İlkeleri.
BİLGİSAYAR PROGRAMLAMA DERSİ
Excel 2007.
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.
Fonksiyonel Programlama
11. SINIF: ELEKTRİK ve MANYETİZMA ÜNİTESİ Alternatif Akım 1
C Programlama Dili Çağdaş Hakan Aladağ.
BM-103 Programlamaya Giriş Güz 2016 (3. Sunu)
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
Bilgisayar Donanım ve Sistem Yazılımı
Bölüm 4 KAPALI SİSTEMLERİN ENERJİ ANALİZİ
1. Bernoulli Dağılımı Bernoulli dağılımı rassal bir deneyin sadece iyi- kötü, olumlu-olumsuz, başarılı-başarısız, kusurlu-kusursuz gibi sadece iki sonucu.
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H05
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Ünite 8: Olasılığa Giriş ve Temel Olasılık Hesaplamaları
Algoritma ve Programlamaya Giriş
Algoritma ve Programlamaya Giriş
NBP103 Programlama Temelleri Öğr. Gör. Mahmut Kılıçaslan
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bilgisayar Mühendisliğine Giriş
Bölüm1 İlk Bilgiler.
BİLGİSAYAR programlama II
Meriç ÇETİN Pamukkale Üniversitesi Bilgisayar Mühendisliği Bölümü
İfadeler ve Aritmetik İşlemler
NİŞANTAŞI ÜNİVERSİTESİ
Benzetim 11. Ders İmalat Yönetimde Benzetim.
Bölüm 4: Kontrol Yapıları I (Seçim Yapma)
Komut düzeyi kontrol yapıları
YAPISAL PROGRAMLAMA Hafta-4
Fortran Proglama Dili’nin Esasları
Bilgisayar Bilimi Koşullu Durumlar.
BİL 112 Programlamaya Giriş
Bilgisayar Mühendisliğine Giriş
Sonlu Özdevinirlere Giriş
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
NİŞANTAŞI ÜNİVERSİTESİ
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Bilgisayar Bilimi Fonksiyon Yazma.
Değerler ve Değişkenler
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
NİŞANTAŞI ÜNİVERSİTESİ
Tanımlar Sonlu Özdevinirlerle Eşdeğerlik
MTM216 GÖRSEL PROGRAMLAMA
Kesikli Olay benzetimi Bileşenleri
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
İleri Algoritma Analizi
Örgüt Kuramı, Örgüt Tasarımı ve Örgütsel Değişim
Sunum transkripti:

Bölüm 7 İfadeler ve atamalar

7. Bölüm konuları Giriş Aritmetik ifadeler Çok anlamlı (overloaded) operatörler Tip dönüşümleri (conversions) İlişkisel ve Boolean İfadeler Kısa-devre hesaplama Atama komutları Karışık-mod atamalar Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Giriş İfadeler programlama dillerinde temel hesap gösterim yolu İfadeleri doğru anlamak için operatör önceliğini ve işlenenlerin (operand) hangi sırada işlendiğini bilmek lazım Komutlu dillerde atamanın rolü büyüktür Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Aritmetik ifadeler Aritmetik hesap yapma ilk programlama dillerindeki motivasyonlardan biri Arithmetic ifadeler operatörlerden, işlenenlerden (operands) (operatörlerin parametrelerinden), parantezlerden ve fonksiyon çağırmalarından oluşur. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Aritmetik ifadelerin tasarım problemleri Operatör öncelik kuralları Operatör birleşebilirlik (associativity) kuralları İşlenen hesaplanma sırası kuralları (order of operand evaluation) İşlenen hesaplamasının yan etkileri Çok anlamlı operatörler (Operator overloading) İfadelerde değişik tiplerin olması Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Aritmetik ifadeler: operatörler Tekli (unary) İkili (binary) Üçlü (ternary) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Aritmetik ifadeler: Operatör önceliği kuralları Ayni ifade içinde farklı operatörlerden hangisin daha önce işleme konulacağını belirtir Tipik öncelik seviyeleri parantezler tekli operatörler ** (üs operatörü) *, / +, - Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Aritmetik ifadeler: Operatör birleşebilirlik kuralları İki tane ayni operatörün yanyana kullanıldığı durumlarda hangisinin önce işleme gireceğini belirleyen kurallar. Tipik birleşebilirlik kuralları Soldan sağa, ** hariç (sağdan sola) Tekli operatörler bazen sağdan sola APL farklı; tüm operatörler eşit öncelikte ve sağdan sola birleşirler Parantez kullanarak öncelik ve birleşebilirlik kurallarını geçersiz kılabiliriz Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Aritmetik ifadeler: Şartlı ifadeler C-tabanlı diller (ör: C, C++) Örnek average = (count == 0)? 0 : sum / count Aşağıdaki ile ayni if (count == 0) average = 0 else average = sum /count Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Aritmetik ifadeler: Yan etkiler Fonksiyonel yan etkiler: fonksiyon giriş-çıkış parametresini veya lokal olmayan değişkeni değiştirdiğinde meydana gelir Yan etkilerin olumsuz neticeleri: Bir fonksiyon içinde bulunduğu ifadenin değişkenini değiştirise işlenenlerin (operand) işlenme sırası önem kazanır a = 10; /* fun’ın parametresini değiştirdiğini farzedelim */ b = a + fun(a); Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Çok amaçlı (overloaded) operatörler Birden çek amaç için kullanılan operatörler Yaygın olarak kullanılan lara örnek: tamsayı ve kayan nokta için + C++, Ada, Fortran 95, ve C# kullanıcı- tanımlı çok amaçlı operatör tanımlanmasına olanak sağlarlar Olası problem: Okunabilirlik zaafiyete uğrayabilir. Ayni görünen operatörler farklı işler yapıyor. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Tip dönüşümleri Daraltan dönüşüm: yeni tipin değerleri eski tipin altkümesi. ör: float’ dan int’e Genişleten dönüşüm: : eski tipin değerleri yeni tipin altkümesi. ör: int’ den float’a Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Tip dönüşümleri: Karışık mod Karışık mod ifade: içinde değişik türden işlenen var Zorlama: derleyicinin otomatik olarak yaptığı tip dönüşümü Zorlamaların dezavantajı: Derleyicinin tip hatalarını bulma yeteneğini azaltır Birçok dilde sayısal tipler zorlama yolu ile daha geniş tiplere dönüştürülürler Ada dilinde hemen hemen hiç zorlama yoktur. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Açık tip dönüşümleri Kullanıcı tarafından yapılır Kalıplama (casting) diye adlandırılır Örnekler C: (int)angle Ada: Float (Sum) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Tip dönüşümleri: ifadelerde hatalar Sebepler Aritmetiğin kendi sınırları (sıfırla bölme vs.) Bilgisayar aritmetiğinin sınırları (taşma vs.) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

İlişkisel ve Boolean ifadeler <, >, >=, <=, !=, ==, .NE., <> Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

İlişkisel ve Boolean ifadeler... İşlenenler ve netice Boolean Örnek operatörler FORTRAN 90 C Ada and && and or || or not ! not xor Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

İlişkisel ve Boolean ifadeler: C dilinde Boolean yok C dilinde 0=yanlış, 0 dışında bir değer: doğru a < b < c ifadesinin anlamı ne? Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Kısa devre hesaplama Tüm operatörleri ve işlenenleri kullanmadan neticeyi bulma Örnek: (13*a) * (b/13–1) a sıfır ise (b/13-1) değerini hesplamaya gerek yok Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Kısa devre hesaplama ... C, C++, ve Java dillerinde: && ve || kısa devre olarak hesaplanır, bit operatörleri & ve | ise tam olarak hesaplanır Kısa devre hesaplamanın yanetkiler ile etkileşimini iyi düşünmek gerekir ör: (a > b) || (b++ / 3) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Atama ifadeleri Genel sentaks Atama operatörü <hedef_değişken> <atama_operatörü> <ifade> <expression> Atama operatörü = FORTRAN, BASIC, ve C-tabanlı diller := ALGOL, Pascal, Ada Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Atama ifadeleri: şartlı hedefler Perl dilinde ($flag ? $total : $subtotal) = 0 Eşdeğeri if ($flag){ $total = 0 } else { $subtotal = 0 } Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Atama ifadeleri: Bileşik operatörler a = a + b yerine a += b Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Atama ifadeleri: Tekli atama operatörleri Artırma ve atama işlemlerini birleştirir Örnekler sum = ++count (önce-artırma) sum = count++ (sonra-artırma) count++ -count++ (count önce artırma, sonra eksi) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

İfade olarak atama komutu C, C++, ve Java dillerinde atama işlemi netice verebilir ve bu netice işlenen olarak kullanılabilir Örnek: while ((ch = getchar())!= EOF){…} Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Liste atamaları Perl ve Ruby dillerinde: ($first, $second, $third) = (20, 30, 40); Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Karışık mod atama Örnek int a, b; float c; c = a / b; Fortran, C, ve C++ dillerinde herhagi nümerik değer herhangi nümerik tipteki değişkene atanabilir Java dilinde sadece genişleten atama zorlamaları var Ada dilinde atama zorlaması yok Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

Özet İfadeler Operatör önceliği ve birleşebilirliği Çok amaçlı operatörler Karışık-tip ifadeler Değişik atama türleri Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ