ALGORİTMA & PROGRAMLAMA

Slides:



Advertisements
Benzer bir sunumlar
Soru1 : Bir borcun faizi, basit olarak aşağıdaki formülle hesaplanır:
Advertisements

Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
STRİNG FONKSİYONLARI.
Soru1: 1’den 4’e kadar olan tamsayıları ekrana tek satırda görülecek şekilde yazdıran bir programı aşağıdaki metotları kullanarak yazınız. Bir printf ifadesi.
BÖLÜM Atama Deyimi (Assignment)
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Değişkenler ve bellek Değişkenler
JavaScript Birinci Hafta.
Nöbetçi Kontrollü Döngü
Bilgisayar ve Programlama
KOŞUL İFADELERİ onbirc.com/133.
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
Değişken Tanımlamaları
String Diziler(Katarlar)
C Programlama Diline Giriş
Bilgisayar Programlamaya Giriş
Atama ve Girdi/Çıktı Komutları
4 Kontrol Yapıları: 1.Bölüm.
Bölüm 2: Program Denetimi
SQL de Değişken Tanımlama
BPR151 ALGORİTMA VE PROGRAMLAMA - I
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 3 – Yapısal Programlama
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
Yapısal Program Geliştirme – if, if-else
Program Kontrol İfadeleri
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
ALGORİTMA.
Bilgisayar Programlama Güz 2011
SQL de Değişken Tanımlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
ŞART İFADELERİ.
C ile Programlamaya Giriş
Akış Kontrol Mekanizmaları
PASCAL ile Programlamaya Giriş
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Temel Giriş/Çıkış Fonksiyonları
C Programlama Diline Giriş
PROGRAM DENETİM DEYİMLERİ
C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1.
Bölüm 2 C Diline Genel Bir Bakış. 1/29 /* Örnek1- toplama.c Klavyeden girilen iki tamsayının toplamını bulup ekrana yazar. Erkan Yasan */ #include.
Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
Algoritma, bir işin hangi aşamalardan geçilerek yapılacağını gösteren çalışma planıdır. Algoritma Nedir ?
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 5: Operatörler
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
BİLGİSAYAR programlama II
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.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
Bölüm 4 Seçme Komutları Alıştırmalar
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Çağdaş Hakan Aladağ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Bölüm 2 C Dilinin Temelleri
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Bilgisayar Programlama
Akis diyagramı Örnekleri
Bölüm 2 C Dilinin Temelleri
Aritmetik Operatörler
Sunum transkripti:

ALGORİTMA & PROGRAMLAMA Doç. Dr. Yalçın ÇEBİ Arş. Gör. Özlem AKTAŞ yalcin@cs.deu.edu.tr ozlem@cs.deu.edu.tr

Algoritma Nedir? Problemin çözümüne ulaştıran genel yöntemlerdir. Verilen bir problemi çözmek için tasarlanan talimatlar bütünüdür. Bir sorunun çözümü için sunulan mantıksal ve sembolik anlatımdır.

Algoritmanın Özellikleri Input / Girdi Output / Çıktı Anlaşılır Verimli Sonuca ulaşmalı

Programlama Dilleri Makina Dilleri Sembolik Diller Yüksek Seviyeli Diller Mov AX, Num1 Mov BX, Num2 Add AX, BX Mov Total, AX 10101010111011111010010111011111100111111.... Total = Num1 + Num2 Fortran (FORmula TRANslator, 1957) Cobol (Common Business Oriented Language, 1959) Basic (Beginners All purpose Symbolic Instructional Code, 1964) Pascal, 1968 C, 1972

Programlama Dili Elemanları Anahtar Sözcükler Değişkenler Operatörler Sabitler Noktalama işaretleri

Değişken Değişkenler; bellekte belli bir yer işgal eden ve içerisinde bir değeri tutan bellek alanlarıdır. Değişken Özellikleri İsim Tür Değer

Değişken İsimleri İlk karakter mutlaka harf olmak zorundadır. İlk karakterden sonra karakter, alt cizgi yada sayı olabilir. Değişken isimlerinde Türkçe harfler bulunmamalıdır. Özel karakterler kullanılmamalıdır. ‘ ’ Boşluk , Virgül ! Ünlem . Nokta ; Noktalı virgül : İki nokta ‘ Tırnak “ Çift tırnak | Duvar ( Sol parantez ) Sağ parantez [ Sol köşeli parantez ] Sağ köşeli parantez { Sol küme } Sağ küme / Bölme (slaş) \ Ters bölme ~ Tilde + Artı Eksi = Eşit < Küçük > Büyük # Diyez * Yıldız & Ve ^ Üst ok (karet)

Değişken İsimleri Ayrılmış isimler kullanılmamalıdır. asm Auto Break Char Const Continue Double Else Enum Float For Goto İnt İnterrupt Long Register Return Short Static Struct Switch Unsigned Void While _CS _BP _SI _ES _AX _BH

Değişken Tipleri Tip Boyut (Bytes) Aralık int 2 -32,768 ..... 32,767 float 4 +-3.4E -38 ..... +-3.4E 38 (3.4 * 10 ^ 38) double +-1.7E-308.......+-1.7E308 char 1 -128....+127 unsigned char 0.....255 unsigned int 0.....65,535

AÇIKLAMA SATIRLARI Kodlarla ilgili açıklamalar yazmak için açıklamanın başına // veya açıklamanın başına /* sonuna da */ yazmak gereklidir.

DIŞ ORTAMA DEĞER AKTARMA Program içinde elde edilen sonuçların dış ortama aktarılması için printf komutu kullanılır. printf cprintf fprintf sprintf

DIŞARIDAN VERİ ALMA Klavyeden veri almak için scanf komutu kullanılır. cscanf fscanf sscanf

C Program Yapısı #include <stdio.h> #include <conio.h> // Ekrana "Merhaba" yazdıran program void main(){ clrscr(); printf("Merhaba"); getch(); }

#include <stdio.h> #include <conio.h> // Ekrandan iki sayı alıp toplamını ekrana yazan program void main() { clrscr(); int sayi1; int sayi2; int toplam; printf("1. sayiyi giriniz: "); scanf("%d",&sayi1); printf("2. sayiyi giriniz: "); scanf("%d",&sayi2); toplam=sayi1+sayi2; printf("Toplam=%d",toplam); getch(); }

Çıkış Format Karakterleri Sayısal Değerler İçin d Tamsayı i İşaretli tamsayı u İşaretsiz tamsayı f Gerçel sayı e Üssel gerçel sayı ld Long tamsayı lf Double gerçel sayı Karakterler İçin c Tek karakter s String (Karakter dizisi)

Escape Düzeni Karakterleri Kursörü bir alt satırın başına getirir (Newline) \r Kursörü satırın başına getirir (Carriage Return) \b Kursörü bir harf kadar geri çeker (Back space) \a Zil sesi verir (Alert / Bell) \t Yatay tab (Horizontal Tab) \\ Sadece \ karakterini yazar \’ Sadece ‘ karakterini yazar \” Sadece “ karakterini yazar \0 NULL karakteri

Önişlemci Komutları #include # define #include “filename.h” #define isim yerini_tutacak_veri #define Pi 3.1415

Önişlemci Komutları - Örnek Yarıçap bilgisini kullanıcıdan alarak dairenin alanını bulup ekrana yazan programı yazınız.

Operatörler Aritmetiksel Operatörler () Parantez ^ Üs * Çarpma / Bölme + Toplam - Çıkarma = Atama

Operatörler İlişkisel Operatörler Mantıksal Operatörler < Küçüktür > Büyüktür == Eşit != Eşit Değil <= Küçük Eşit >= Büyük Eşit Mantıksal Operatörler && And || Or ! Not

Akış Şeması (Flow-Chart) Sembolleri Terminator : Programın başlangıç ve bitiş noktaları Data Input or Output : Girdi ve çıktı gösterimi Processing : İşlem, değişken ataması gibi Decision : Karar ve karşılaştırma işlemleri, sonucun doğru yada yanlış olmasına göre program akışı değişir Flow : Programın akış yönü

IF-ELSE ve GOTO

IF-Else Kontrol Yapısı Koşul1 sağlanıyorsa işlem A gerçekleşir. IF (koşul1) { İşlem A; } Evet İşlem A Koşul 1 Koşul1 sağlanıyorsa İşlem A, sağlanmıyorsa İşlem B gerçekleşir. IF (koşul1) { İşlem A; }else{ İşlem B; } Evet Hayır İşlem A Koşul 1 İşlem B

IF-Else Kontrol Yapısı Koşul1 sağlanıyorsa işlem A, koşul1 sağlanmıyorsa ve koşul2 sağlanıyorsa İşlem B, koşul1 ve koşul2 sağlanmıyorsa işlem C gerçekleşir . IF (koşul1) { İşlem A; } ELSE IF (koşul2){ İşlem B; ELSE{ İşlem C; Koşul 1 Koşul 2 Hayır Hayır Evet Evet İşlem A İşlem B İşlem C

IF-Else Kontrol Yapısı Üçlü kontrol yapısı : Koşul doğru ise İşlem1 işlem görür, yanlış ise İşlem2 işlem görür. (Koşul )? İşlem1 : İşlem2; Örnek: X= 10 Y=5 ise Z = (X > Y) ? 20 : 15;  Z = 20 olur Z = (X > Y) ? X : Y;  Z = 10 olur

GOTO GOTO komutu program içerisindeki ifadelerin çalışma sırasını değiştirir. Koşul sağlandığı takdirde program bir sonraki ifadeyi değil GOTO etiketinin olduğu satırı işler. goto ETIKET; .... ... ETIKET: Programın sonuna etiket konulması istenirse mutlaka ; karakteri de etikete eklenmelidir. ETIKET: ;

Örnekler 10 – Girilen ortalama 100-85 ise “PEKİYİ”, 1- En ve boy bilgileri verilen bir tarlanın alanının bulunması 2- Girilen üç sayının ortalamasının bulunması 3- Girilen üç sayının kareler ortalamasını ekrana yazdırma 4- Girilen iki sayının toplamını, farkını, çarpımını ve bölümünü ekrana yazdıran programı yazınız. 5- Girilen sayıların ortalamasının bulunması 6- Sınav notu girilen bir öğrencinin sınavı geçip geçmediğini bulma 7- Satın alınan ürünlerin toplam fiyat tutarının ve %18 kdv dahil genel toplam tutarının bulunması 8- Girilen bir sayının çift mi tek mi olduğunu yazma 9- Girilen iki sayının büyük olanını ekrana yazma / İki sayıyı karşılaştırma 10 – Girilen ortalama 100-85 ise “PEKİYİ”, 84-70 ise “İYİ”, 69-50 ise “ORTA”, 50’den küçük ise "KALDI” yazan program

Örnekler 11- 3 tane sayının toplamını GOTO deyimi kullanarak bulan program 12- N tane sayının ortalamasını bulan program 13- Kullanıcıdan sıfır girinceye kadar sayı okuyup, sıfır girince girilen sayıların toplamını ekrana yazan program 14- Kullanıcıdan sıfır girinceye kadar alınan sayıların içerisinde 5 ile bölünebilen sayıların toplamını bulma

Switch – Case Yapısı

Switch - Case Statement Birden fazla karşılaştırma gereksiniminde kullanılır. Switch(değişken ) { case sabit1 : işlemler ; break; case sabit2: default: işlemler ; }

Switch - Case Örnek IF (Score == 90) { Grade = "A" ;} Switch (Score){ case 90 : Grade = "A" ; break; case 80 : Grade = "B" ; case 70 : Grade = "C" ; case 60 : Grade = "D“; default: Grade = "F" } IF (Score == 90) { Grade = "A" ;} ELSE IF (Score == 80) { Grade = "B“; } ELSE IF (Score == 70) { Grade = "C“;} ELSE IF (Score == 60) { Grade = "D“; } ELSE { Grade= "F“ ; }