BİL131 – DERS 1 // 30.09.2013

0 93
İçerik
1) Temel Kavramlar
Algoritmanın tanımı ve algoritma geliştirme
Sözdekodlar
Akış Şemaları
Programlama
2) C Programlama Dili
Programlama yapısı
main() fonksiyonu
C Önişlemcisi
Açıklama satırları
Temel veri türleri
Temel Giriş/Çıkış
İşleçler (Operatörler)
1) Temel Kavramlar
Programlamayı, bir problemi çözmek için yaparız.
Her bir alanın kendine özgü çözüm yöntemleri vardır.
Programlama geliştirme açısından, problem çözmede iki aşama vardır.
Problem çözme aşaması
# Problemin tanımlanması
# Çözümün ana hatlarının ortaya konulması
# Ana hatlara bağlı olarak bir algoritma geliştirilmesi
# Algoritma doğruluğunun sınanması
Gerçekleşim aşaması
# Algoritma kodları belirli bir programlama dili kodlarına dönüştürülür.
# Program bilgisayarda derlenir ve çalıştırılır.
# Programın belgelenmesi ve bakımı yapılır.
Algoritma bulma ve programlama süreci şu şekildedir.
* Problemi belirleme ve anlama (Analiz)
* Algoritma hazırlama (Tasarım)
* Program Geliştirme (Gerçekleştirim)
* Programı çalıştırma ve doğruluğunu değerlendirme (Sınama)
Algoritma Nedir?
* Algoritma bir problemi çözme için ortaya koyduğumuz çözüm adımlarıdır.
* Sonlu bir işi tanımlamada kullanılan, açık ve seçik tanımlanabilen ve yürütülebilen ardışık adımlardan oluşan kümedir.
* Algoritma, matematikte ve bilgisayar biliminde, bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumda sonlanan, sonlu işlemler kümesidir.
Algoritma nasıl geliştirilir?
* Problem ele alınır
* Çözüme dair adımlar algoritmamızı oluşturur.
* Algoritma problemin çözümüne yönelik adımlar ve o adımların akışıdır.
Örnek bir algoritma..
Bir kasiyerin ürün satma adımları;
* Satın alınan ürünü barkod okuyucudan okutmak
* Ürünün fiyatını görmek
* Müşteriden parayı almak
* Alınan paradan ürün fiyatını çıkarıp para üstünü bulmak
* Para üstünü vermek
Sözdekodlar (Pseudocode);
Algoritma geliştirmede kullanılan dillerden biri sözdekodlardır (pseudecode).
Herkesin anlayabileceği ve rahatlıkla bir programlama diline çevrilebilecek basit komutlardan oluşan bir dildir.
Sözdekodların temel işlevi, program geliştrmeye geçmeden önce algoritmayı oluşturmak ve üzerinde tartışabilmektir.
Akış Şemaları;
Sözdekodlar gibi, problemin kodunu anlaşılır bir şekilde ortaya koymaya yarayan araçtır.
Geometrik şekillerden yararlanarak algoritmayı göstermeye yarar.
Basit ve yapısal akış şemaları vardır.
Basit akış şemaları belirli anlamlara sahip geometrik şekillerden yararlanırlar:
İşlemleri gösteren simgeler
Veri giriş çıkışlarını gösteren simgeler
Verilerin saklanmasıyla ilgili simgeler
Program nedir?
Hesaplama yapmak için gereken, birbirini izleyen komutlardan oluşan yapıdır.
Hesaplama matematiksel olabilir (bir sayının kökünü bulmak v.s.), sembolik olabilir. (bir belge içinde metin aramak veya değiştirmek v.s.)
Temel komutlar şunlardır;
Girdi: Klavyeden, dosyadan veya bir aygıttan veriyi almak.
Çıktı: Girilen veriyi ekranda görüntüleme, veriyi bir dosyaya yada aygıta gönderme.
Matematik: Toplama, çarpma, bölme, çıkarma gibi bazı temel matematiksel işlemleri gerçekleştirme.
Koşullu Yürütme: Belirli durumlar için sınama yapma ve uygun cümle sırası çalıştırma.
Tekrarlama: Bazı eylemleri genellikle ufak tefek bazı değişikliklerle tekrar tekrar yürütme.
Programlama Dilleri..
Çözülecek problemin niteliğine göre değişir.
Programlama dillerinin hepsi simgeseldir (kodsaldır). Bilgisayarın anlayacağı işlemleri, insanların da anlayabileceği simgelerle (kodlarla) ifade ederler.
Simgeler (kodlar) derleyici yardımıyla bilgisayarın anlayabileceği bir şekle çevrilirler (makine kodu).
Simgesel kodlar; kaynak kod, makine diline çevrilmiş kod ve nesne kodu olarak adlandırılırlar.
Program dilleri şu şekilde sınıflandırılırlar;
Makine dilleri: Makine kodlarından oluşurlar.
Assembly dilleri: Anımsatıcı simgelerin kullanıldığı dillerdir.
Yüksek düzey diller: Komutlar, yapılacak işlemin, yapılacağı ingilizce karşılığını anımsatıcı kodlardır.
Dördüncü kuşak diller: Daha esnek, çoğu kodu otomatik olan dillerdir, az kod ile çok iş.
Programlama Kavramları;
Degişkenler: Değeri, program çalışırken değişen değerlerdir.
Sabitler: Değeri, program çalışırken sabit kalan değerlerdir.
Atama işlemleri: Bir değişkene, farklı değerleri temsil edebilmesi için farklı değerler atanmasıdır.
Veri Türleri: Verinin içerdiği bilgiyi belirlemek için kullanılan türlerdir (Tamsayı, gerçel sayı, noktalı sayı, mantıksal değerler, diziler v.s.).
Veri Yapıları: Veriyi problemin yapısına göre düzenlemede kullanılan ve üzerinde işlemler yapılabilen yapılardır (Listeler, diziler, kuyruklar, ağaçlar v.s.).
Kontrol Yapıları: Program içinde yerine getirilen işlemlere ilişkin kendi aralarında nasıl birleştirileceğini belirleyen yapılardır.
Sıra: Birbiri ardına sıralanan bir dizi işlemdir.
Seçim: Belirli bir koşulun sağlanıp sağlanmaması durumunda, iki seçenekten birinin seçilmesidir.
Tekrar: Belirli işlemleri belirli bir koşul sağlandığında ard arda tekrarlama işlemidir.
Fonksiyonlar: Bir kod parçasının başka bir program tarafından başka bir yerden çağrılmasıdır. Aritmetiksel değerleri hesaplar, geri döndürür.
2) C Programlama Dili:
Genel amaçlı, orta düzeyde, yapısal bir programlama dilidir.
1972 yılında Dennis Ritchie tarafından Bell Telefon Labaratuvarında tasarlanmıştır.
Özellikle C dili ile geliştirilen UNIX işletim sistemi yaygınlığı artmıştır.
Günümüzdeki bazı diller C programlama dilinden esinlenmiştir. Örneğin; C++, C#, Java, Javascript, PHP…
C Programlama Dili’ nin Yapısı;
C programları bir veya daha fazla fonksiyondan oluşur.
Çalışabilmesi için mutlaka main() fonksiyonu barındırmalıdır.
Her fonksiyon bir veya daha fazla deyim içerir.
Fonksiyonlar programın bir başka yerinden çağırılabilrler.
#include <stdio.h>
main()                                                                                     
{
printf(“Bu bir”);
printf(“C programıdır.”);                                                               
}
Tüm deyimler ; (noktalı virgül) ile sonlanır.
main() fonksiyonu;
C programımızda mutlaka yer alması gereken fonksiyondur.
Program çalıştırıldığında ilk çağırılan fonksiyon main() fonksiyonudur.
Ana fonksiyondur.
/* main() fonksiyonu */
#include <studio.h>                    // Kullanılan fonksiyonları barındıran başlık dosyaları
main(void)                                      // Ana fonksiyon
{                                                            // Ana fonksiyon bloğu başlangıcı
int num;                                           // Tamsayı türünde değişken tanımı
num=100;                                                    // Değişkene 100 değeri atanıyor
printf(“Sayı = %d”, num);                       // printf ile sayıyı ekranda gösteriyoruz
}                                                          // Ana fonksiyon bloğunun bitişi
C Önişlemcisi ;
Derleyicinin kaynak kodunu denetlemesi için önişlemci emirleri vardır.
Bu emirler # işareti ile başlar.
En çok kullanılan emirler #include ve #define emirleridir.
#include: Bir kaynak dosyasını programa eklemek için kullanılır. Özellikle kütüphaneleri ve içerdikleri fonksiyonları kullanabilmek için kullanılır. C programına başlık dosyaları dahil edilir. Örneğin: studio.h
#define: Sembolik sabitlerin tanımlanması için kullanılır. Örneğin: #define SON 50
Açıklama Satırları ;
Programımıza kodla ilgili, programla ilgili yorumları ve açıklamaları, açıklama satırlarıyla ekleriz.
C programlama dilinde iki çeşit açıklama eklenir:
// işaretleriyle, işaretten sonra
/* */ işaretlerinin arasında yazılarak
/*
*açıklama örneği
*/
//kullanılan fonksiyonları barındıran başlık dosyaları
#include <studio.h>                   
main(void)                                      // Ana fonksiyon
{                                                            // Ana fonksiyon bloğu başlangıcı
Printf(“sayı=&d/n”,100);                        // printf ile ekranda sayıyı gösteriyoruz
Printf(“sayı=&d\n”, 100);
}                                                            // Ana fonksiyon bloğu bitimi
Anahtar Sözcükler ;
C dilinde 32 adet anahtar sözcük vardır:
Temel Veri Türleri ;
Değişken: Program içinde kullanılan değerlere bellek üzerinde açılan alanlardır. Değişkenler bir değişken ismi ve değişkende tutulacak olan veri türleriyle tanımlanırlar.
C programlama dilinde kullanılacak değişkenler kullanılmadan önce tanımlanmalıdır. C programlama dilinde var olan temel veri türleri şunlardır:
Char : karakter veriler
İnt :tamsayı veriler
Float : tek duyarlıklı kayan noktalı sayılar
Double : çift duyarlıklı kayan noktalı sayılar
Void : değer içermeyen veriler
Tanımlanırken veri_türü değişken_ismi; şeklinde tanımlanır (int sayı;).  Bir başlangıç değeri verirsek atama işleci kullanılır. İnt sayı=100;
Değişken Türleri ;
Farklı amaçlara göre farklı değişkenler vardır;
Yerel değişkenler
Genel değişkenler
Extern değişkenler
Static değişkenler
Auto değişkenler
Register değişkenler
Sabitler ;
Daha önce #define ile sembolik sabit tanımladık. Sabit değişken tanımlaması ise farklı şekilde yapılmaktadır: veri_türü const.              Değişken_adı = değeri
Şu sabit türleri vardır:
Tamsayı sabitler (int)
Kayan noktalı sabitler (float)
Karakter sabitler (char)
Karakter dizisi (string) sabitler (char[])
main(void)
{
char const erkek = “E”;
int const standart = “120”;
float const pi = 3.14;
}
Temel Giriş Çıkış ;
Standart giriş ve çıkış işlemler için kullanılması gereken kütüphane studio.h kütüphanesidir.
Standart giriş birimi klavye, çıkış birimi ekrandır.
Standart çıkış birimine çıkışlar için printf() fonksiyonu kullanılabilir. Printf(kontrol_karakterleri, argüman_listesi)
Kontrol karakterleri çıkışı yapılan verinin biçimlendirilmesinde kullanılır. Bu karakterler % işaretiyle başlar
%c (işaretsiz karakter), %s (karakter dizisi), %d veya %i (işaretli ondalık sayı), %u (işaretsiz ondalık sayı), %o (işaretsiz sekizli sayı), %x (işaretsiz orantılı sayı), %e (çift duyarlıklı sayı), %f (tek duyarlılıklı sayı)
%n (satır başı, yeni satır), %b (imleci sola kaydırma), %f (sayfa atlama), %r (satır başı), %t (tab boşluğu)
Temel Giriş/Çıkış ;
Temel giriş işlemi için – klavyeden veri alma – scanf() fonksiyonu kullanılır
scanf(kontrol_karakterleri, argüman_listesi);
İşleçler ;
Aritmetik, mantıksal ve karşılaştırma işlemleri için kullanılır.
Başlıca işleç türleri;
Aritmetik (toplama çıkarma çarpma bölme arttırma azaltma)
Mantıksal (ve veya değil)
Karşılaştırma (eşit eşitdeğil büyük küçük büyükveyaeşit küçükveyaeşit)
Basit atama (eşittir)
Aritmetik İşleçler;
Toplama +, çıkarma -, çarpma *, bölme / simgeleriyle gösterilir.
Bölme işlemindeki kalan için % kullanılır
++ ve – işleçleri, sırasıyla bir artırma veya bir eksiltme için kullanılır.
Mantıksal işleçler ;
&& ve
|| veya
! değil
Karşılaştırma İşleçleri ;
= = eşit
(! =) eşit değil
> büyük
< küçük
>= büyük veya eşit
<= küçük veya eşit
İşlem önceliği ;
Yanlış yapmamak için umulmadık bulgularla karşılaşmamak için her zaman parantez kullanılmalı.

Senin bu konuya yorumun ne olacak?

Gerekli *

HAKKIMIZDA

facebook twitter youtube flickr ENOTLAR TV LOGOSU_Artboard 13 - ENOTLAR TV LOGO

Arşivler

KAREKOD-umuz

Lower-Third-(Enotlar)