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.

Slides:



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

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.
Selçuk Üniversitesi’nin Bilişime Gönül Veren Gençleri
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Nöbetçi Kontrollü Döngü
void medyan(int cevap[]) { int j; siralama(cevap);
DÖNGÜ “Şart sağlandığı sürece” içerisindeki komut satırlarını, artış değeri adedince tekrarlayan kodlardır.
switch - case Yapısı Döngü Yapıları
Bölüm 2: Program Denetimi
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
SQL de Değişken Tanımlama
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Karar ifadeleri ve Döngüler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 3: Döngüler
Makine Müh. & Jeoloji Müh.
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.
Fonksiyonlar.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
SQL de Değişken Tanımlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
MATLAB’ de Programlama
PROGRAM KONTROL VE DÖNGÜ DEYİMLERİ
DÖNGÜLER.
JAVA’DA DÖNGÜLER.
Algoritma & Programlama
MATLAB’te Döngüler.
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
PROGRAM DENETİM DEYİMLERİ
C++ Ders Notları 4.Ders (Kontrol ve Döngüler)
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
3. HAFTA 3. Hafta.
BİLGİSAYAR programlama II
İnternet Programlama-I
Fonksiyonlar.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
Sıralama. Sıralama, bir dizideki sayısal elemanların küçükten büyüğe veya büyükten küçüğe, sayısal olmayan bir dizideki elemanların ise A’ dan Z’ ye.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
1 Bölüm 5 Döngü Komutları Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir, ve Ç. Turhan,
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Bölüm 4 Seçme Komutları Alıştırmalar
Örnek Sorular Bilgisayar Programlama BIL 107. Soru 1: Ekran çıktısında 66 yazması için boşlukları doldurunuz ______ i = 'A'; printf(____, i__); CEVAP:
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.
O R T L G İ M A A Ve Akış şemaları.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
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ı
Bilgisayar Programlama BIL 107
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BM-103 Programlamaya Giriş Güz 2016 (10. Sunu)
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
C Sharp 9. hafta - dIZILER.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PINAR KARTALO Ğ LU.  Belirli sayıda i ş lemlerin tekrarlanması için kullanılan döngülerdir. for döngüleri ba ş langıç ve biti ş de ğ erleri arasında.
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
BİLGİSAYAR programlama II
Bölüm 2: Program Denetimi
Akis diyagramı Örnekleri
Aritmetik Operatörler
Diziler(Arrays).
Sunum transkripti:

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.

Kullanımı: for (sayac=alt limit; sayac < üst limit; sayaç artış oranı) { //for bloğu başlangıcı //for blogu (compound) deyimler; } //for blogu sonu

Örnek: for (sayac=0; sayac<11; sayac++) { toplam += sayac; // toplam = toplam + sayac; } Not: sayac++ yerine sayac = sayac + 1 veya sayac +=1 yazılabilir. Hepsi aynı anlama gelmektedir.

Örnek: for (sayac=0; sayac<11; sayac++) toplam +=sayac; // toplam = toplam + sayac; for deyiminin kapsama alanı bir satırdır (komuttur). Tekrar edilecek deyim sayısı birden fazla ise blok açılması gereklidir.

for (sayac=0; sayac<3; sayac++) cout<<” ADAMYO ”; Yukarıdaki program parçasının ekran çıktısı : ADAMYO ADAMYO ADAMYO

for (sayac=0; sayac<3; sayac++) cout<<” ADAMYO ”; cout<<”Bilgisayar Teknolojileri”; Yukarıdaki program parçasının ekran çıktısı : ADAMYO ADAMYO ADAMYO Bilgisayar Teknolojileri

for (sayac=0; sayac<3; sayac++) { cout<<” ADAMYO ”; cout<<”Bilgisayar Teknolojileri”; } Yukarıdaki program parçasının ekran çıktısı : ADAMYO Bilgisayar Teknolojileri

Örnek: Klavyeden bilgisayara 10 adet sayı giren ve bu sayıları toplayıp, toplamı ekranda gösteren bir program yazınız.

#include main() { int sayac, sayi, toplam=0; clrscr(); for (sayac=0; sayac<10; sayac++) { // for dongu blogu cout << sayac << " inci sayiyi giriniz :“ << endl; cin >> sayi; toplam += sayi; } // for dongu blogu sonu cout << "sayilarin toplami : “ << toplam << endl; getch(); }

Örnek: 10 derse ait öğrencinin aldığı not ve dersin kredisi girildiğinde ortalamayı hesaplayarak, geçip kaldığına karar veren programı yazınız. (Geçme notu 40)

#include const float gecmeOrt = 40;// geçme ortalamasi const int N=10; int sayac, saat, toplam = 0, toplamsaat = 0; float notlar; // 10 dersin notlari icin

main() { cout << " bu program notlarinizin ortalamasini hesaplar." <<endl; for(sayac=0; sayac<N; sayac ++) { cout << " ogrenci not girin : "<<endl; cin >> notlar; // kullanicinin girecegi notlar cout<<endl; cout << " ders saati girin"<<endl; cin >> saat; cout<<endl; toplam += (saat * notlar); toplamsaat += saat; }

float ortalama = toplam / toplamsaat; cout<<endl; cout << " ortalama = " << ortalama << ": "; if (ortalama < gecmeOrt) cout << "kaldin." <<endl; else cout << "gectin."; getch(); }

Not: Program başında aşağıdaki yazılı program kodlarında gecmeOrt ve N, const deyimi ile sabit olarak tanımlanmıştır. Bilgi tipleri ve değerleri verilmiştir. const float gecmeOrt = 40;// geçme ortalamasi const int N=10;

SORULAR: 1. Aşağıdaki programın ekran çıktısı nedir? #include main() { int i, j; clrscr(); for (i=10; i>=1; i--) { for (j=1; j<=1; j++) cout << ” * ”; cout << endl; } getch(); }

2. Aşağıdaki programın ekran çıktısı nedir? #include main() { int i, j; clrscr(); for (i=0; i<10; i++) cout << ”Sakarya ”<< endl; for (j=0; j<10; j++) cout << ”Universitesi ”<< endl; getch(); }

3. Aşağıdaki programın ekran çıktısı nedir? #include main() { int i, j; clrscr(); for(i=0; i<3; i++) for(j=1; j<4; j++) cout << i << ” “ << j <<endl; cout <<i << ” “ << j; getch(); }

4. Aşağıdaki ekran çıktısını veren programı yazın. * * * * * * * * * * *

5. Aşağıdaki ekran çıktısını veren programı yazın. * * * * * * * * * * *

ÖDEV  Aşağıdaki ekran çıktısını veren programı yazınız.  *  * *  * * *  * * * *  * * * * *

6. Girilen N adet sayıdan pozitif ve negatif olanların ayrı ayrı toplamlarını bulup yazan programı yazın.

7. Bir mağaza en az 3 çeşit ürün satın alan müşterilerine 50 TL ve üzeri alışverişler için %10 indirim uygulamaktadır. Alınan ürün çeşidi sayısı, her bir üründen alınan miktar ve birim fiyat girildiğinde, müşterinin ödeyeceği ücreti hesaplayan programı yazın.

 1’den N’e kadar olan tamsayıların toplamını bulan programı yazın.

Bir sayaca veya kontrol değişkenine bağlı olarak, while deyiminin bloğunu tekrar eder. Koşul while deyimi ile birlikte ifade edilir.

while ( Şart ) deyim1; while ( Şart ) { deyim1; deyim2; …; }

sayac=0; while (sayac<11) { toplam += sayac; sayac++; } while döngüsü şarta bağlı olarak while bloğunu tekrar eder.

while deyimindeki koşul sağlanıncaya kadar do bloğu tekrar edilir.

do deyim1; while ( Şart ); do { deyim1; deyim2; …; } while ( Şart );

sayac=0; do { toplam += sayac; sayac++; } while (sayac<10); do döngüsü while döngüsündeki şarta bağlı olarak { } bloğunu tekrar eder.

Not: while ve do-while döngüleri arasındaki temel fark, yukarıda da görüldüğü gibi, while döngüsünde blok içindeki komutlar şartın doğru olması durumunda çalışması, do-while döngüsünde ise blok içindeki komutlar şartın doğruluğu kontrol edilmeden önce en az bir defa şarta bağlı olmaksızın çalışmasıdır.

Örnek: 0’ dan 10’a kadar olan sayıların toplamını for döngüsüyle hesaplayan programı yazınız.

#include main() { int toplam=0, sayac; for (sayac=0; sayac<11; sayac++) toplam += sayac; cout << ” toplam : “ << toplam; getch(); }

Bir başka şekilde aynı programın kodlanması:

#include int sayac, toplam=0; main() { // sifirdan 10'a kadar olan sayilarin toplami for (sayac=0; sayac<11; sayac++) { toplam +=sayac; //toplam = toplam + sayac; } cout << "Sayilarin toplami: " << toplam; getch(); }

Örnek: Sıfırdan 10’a kadar olan sayıların toplamını while döngüsüyle hesaplayan programı yazınız.

#include main() { int toplam=0, sayac=0;

while (sayac<11) { toplam = toplam + sayac; sayac = sayac + 1; } cout << toplam; getch(); }

Örnek: Klavyeden bilgisayara girilen 3 sayının for, while ve do while döngüleri kullanarak toplamını hesaplayan bir C++ programı yazınız.

#include main() { int sayi, i, top=0; for (i=0; i<3; i++) { cout << "Sayi giriniz: "; cin >> sayi; top = top + sayi; } cout<<"\nFOR ile toplam: " << top << endl << endl;

i=0; top=0; do { cout << "Sayi giriniz: "; cin >> sayi; top = top + sayi; i = i + 1; } while(i<3); cout << "\nDO ile toplam: " << top << endl << endl;

i=0; top=0; while(i<3) { cout<<"Sayi giriniz: "; cin >> sayi; top = top + sayi; i = i + 1; } cout << "\nWHILE ile toplam: " << top << endl; getch(); }

Örnek: 5 adet sayı girilene veya sayıların toplamı bir limiti aşana kadar (Limit 50 olsun) sayı alarak toplamlarını bulan program. Not: if kullanılmayacak!

#include main() { const int LIMIT = 50; int Sayac = 0; int Toplam = 0;

while ((Sayac<5) && (Toplam<LIMIT)) { cout << “Bir sayi girin: “; int Sayi; cin >> Sayi; Sayac++; Toplam += Sayi; }

cout << Sayac << “ adet sayinin toplami: “ << Toplam; getch(); }

SORULAR 1. Sıfır veya pozitif bir tamsayı girildiği sürece girilen sayıların toplamlarını hesaplayan programı while döngüsü kullanarak yazınız. (Bu program negatif bir sayı girildiğinde sona erecek anlamına gelmektedir.)

2. n tamsayısı girildiğinde, n! değerini do- while döngüsü kullanarak hesaplayan programı yazınız. 3. Girilen bir sayının tersini (1/x) hesaplayan programı yazınız. NOT: 0’ın tersi hesaplanamayacağından 0’dan farklı bir sayı girilmesini while döngüsü ile sağlayınız.

4. Arka arkaya girilen sayıların toplamını bulan programı yazınız. NOT: Sayı dışında bir giriş olduğunda program sona erecektir. 5. 1’den 10’a kadar olan tamsayıları ekrana yazdıran programı yazınız.