DÖNGÜLER(do-while deyimi)

Slides:



Advertisements
Benzer bir sunumlar
BPR151 ALGORİTMA VE PROGRAMLAMA - I
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.
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Nöbetçi Kontrollü Döngü
switch - case Yapısı Döngü Yapıları
String Diziler(Katarlar)
Bölüm 2: Program Denetimi
Selçuk Üniversitesi’nin Bilişime Gönül Veren Gençleri
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bölüm 10 Yapılar ve Birleşimler
Soru1: Dışardan "%s" format belirteci kullanılarak girilecek 20 elemanlı bir dizinin elemanlarının kaç tanesinin rakam, kaç tanesinin harf ve kaç tanesinin.
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.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
DÖNGÜLER.
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Algoritma & Programlama
MATLAB’te Döngüler.
Diziler (Arrays).
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
PROGRAM DENETİM DEYİMLERİ
The if statement. if Şartlı kontrol Koşul değimi doğru (1) yada yanlış (0) değeri üretir. Şartın doğru olması durumunda if satırından sonraki değimler.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
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.
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
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.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 8:DİZİ (VEKTÖR) KAVRAMI
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.
Fonksiyonlar.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
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.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Algoritma ve Programlamaya Giriş Ders 5. C Programlama Dili - 2.
Bilgisayar Programlama BIL 107
Fonksiyonlar ve Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
DÖNGÜLER(do-while deyimi)
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar
C Sharp 9. hafta - dIZILER.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Algoritma ve Programlamaya Giriş
C PROGRAMLAMADA AKIŞ KONTROLÜ
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
tanımları yapabilmeniz gerekmektedir .
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
Örnekler.
Bölüm 2: Program Denetimi
Aritmetik Operatörler
Diziler(Arrays).
Sunum transkripti:

DÖNGÜLER(do-while deyimi) İfade bloğu; } while (şart ifadesi) Mantıksal ifade doğru olduğu sürece döngü tekrar edilir. Yanlış olduğunda while sözcüğünden sonraki deyim yürütülür. do.. while döngüsünde kontrol sonda yapıldığı için döngü en az bir kez çalışır. 1

#include <stdio.h> main()  {     int i;     i=0;     do     {    printf("i nin simdiki degeri= %d\n",i);    i = i + 1;     } while (i<5); } 2

#include <stdio.h> main()  {     int i;     i=0;     do     {    printf("i nin simdiki degeri= %d\n",i);    i = i + 1;     } while (i<5); } BAŞLA İ=0 i i<5 BİTİR İ=İ+1 E H

#include<conio.h> #include <stdio.h> main () { int x; do { printf( "Bir sayi giriniz, ***Durdurmak için sıfır** “); scanf(“%d”, &x); printf (“\Girdiginiz sayi=%d”,x); } while (x != 0); getch(); } 4

#include<conio. h> #include <stdio #include<conio.h> #include <stdio.h> main () { int x; int toplam=0; do { printf( "Bir sayi giriniz... "); scanf("%d", &x); toplam=toplam+x; } while (x != 0); printf("\n Girilen sayıların toplamı=%d",toplam); }

Klavyeden sıfıra basılıncaya kadar sayı girilecektir, girilen bu sayılardan kaç tanesinin dörde tam bölündüğünü bulan programı yapınız.

if(x % 4==0) #include<conio.h> #include <stdio.h> main () { int x; int say=0; do { printf( "Bir sayi giriniz"); scanf("%d", &x); if(x % 4==0) say++; } while (x != 0); printf("Dorde bolunen sayiların adedi=%d",say-1); }

BAŞLA say=0 x!=0 BİTİR say++ x X%4==0 H E Say-1 #include<conio.h> #include <stdio.h> main () { int x; int say=0; do { printf( "Bir sayi giriniz"); scanf("%d", &x); if(x % 4==0) say++; } while (x != 0); printf("Dorde bolunen sayiların adedi=%d",say-1); getch(); }

#include<stdio.h> #include<conio.h> main() { int sayi,toplam,say; toplam=0;say=0; float ortalama; do{ say++; printf("\n Bir sayi giriniz..."); scanf("%d", &sayi); toplam=toplam+sayi; } while(sayi!=-1); ortalama=(toplam+1)/(say-1); printf("\n ortlamasi= %f",ortalama); getch();} 9

Ortalama=(toplam+1)/(say-1) BAŞLA say=0 Toplam=0 sayi toplam=toplam+sayi say++ sayi!=-1 E H Ortalama=(toplam+1)/(say-1) ortalama BİTİR

#include<stdio.h> #include<conio.h> main() { int sayi=0; int adet=0; do{ sayi++; if (sayi%8==0) { printf("\n %d",sayi); adet++;} } while(sayi<100); printf(“Sayilarin adedi=%d”,adet); getch();} 11

BAŞLA sayi++ H sayi%8==0 E sayi adet++ E Sayi<100 H adet BİTİR

DÖNGÜLER(for deyimi) for (ilk değer; koşul; artış) { blok; } İlk değer ifadesinden döngü başlar ve koşul ifadesine bakılır. Koşul ifadesi doğru ise blok icra edilir. Daha sonra artış icra edilerek tekrar şart ifadesine bakılır. Eğer şart ifadesi doğru ise tekrar blok ve artış icra edilir. Şart ifadesi yanlış sonuç verene kadar bu şekilde devam edilir Döngünün her adımında i++(i’yi bir artır) yürütülür (artış miktarı). for (i = 1; i < 5; i++) printf("%d ",i); 13

for(i=1;i<=10;i++) { printf(“%d \n”,i);} 1’den 10’a kadar olan tamsayıları ekrana yazdıran program: #include<stdio.h> main() {int i; for(i=1;i<=10;i++) { printf(“%d \n”,i);} } 14

BAŞLA i=1,10,1 başlangıç artış bitiş i BİTİR

#include<stdio.h> #include<conio.h> main() { int i,a,enbuyuk; printf("1. Sayi Giriniz");scanf("%d",&a); enbuyuk=a; for (i=2; i<=10; i++) { printf("\n %d. Sayiyi Giriniz",i); scanf("%d",&a); if (a>enbuyuk) } printf("en buyuk=%d",enbuyuk);}

#include<stdio. h> #include<conio #include<stdio.h> #include<conio.h> main() { int i,f=1,a; printf("faktoriyeli alnıcak sayıyı giriniz"); scanf("%d",&a); for (i=1; i<=a; i++) f=f*i; printf("\n %d !=%d",i,f); }}

#include<stdio. h> #include<conio #include<stdio.h> #include<conio.h> main() { int i,k; for (i=1; i<=10; i++) { printf("\n dis dongu= %d ",i); for(k=1;k<=5;k++) { printf("%d",k);} } }

#include<stdio.h> #include<conio.h> main() { int i,k; for (i=1;i<=8;i++) for(k=1;k<=5;k++) printf( "\n %d carpim %d=%d",i,k,i*k);}

a aa aaa aaaa aaaaa aaaaaa aaaaaaa Ekrana aşağıdaki şekilde herhangi bir karakteri yazdırmak için gereken program kodunu yazınız a aa aaa aaaa aaaaa aaaaaa aaaaaaa

main() { int i,k; for (i=1; i<=20; i++){ for (k=1; k<=i;k++) { printf(“a"); } printf("\n");}

main() { int i,j; for (i=1; i<=10; i++){ for (j=1; j<=5; j++) { #include<stdio.h> #include<conio.h> main() { int i,j; for (i=1; i<=10; i++){ for (j=1; j<=5; j++) { printf(“marmara "); } printf("\n");}

EKRANAN ÇARPIM TABLOSUNU YAZDIRAN PROGRAMI YAPINIZ

#include<stdio.h> #include<conio.h> main() { int i,j; for (i=1; i<=10; i++) { for (j =1; j<=6; j++) printf("%2d *%2d =%3d",i,j,i*j); printf("\n"); }

#include<stdio.h> #include<conio.h> main() { clrscr(); int i,j; for (i=1; i<=10; i++) { for (j =1; j<=8; j++) { printf(" %2d*%2d=%2d",i,j,i*j); } printf("\n"); getch();

main() { int i,j; for (i=1; i<=10; i++) { for (j =1; j<=5; j++) { printf(" %2d*%2d=%2d",i,j,i*j); } printf("\n"); printf("--------------------------------------\n"); for (j =6; j<=10; j++)

for (i=1;i<=4;i++) #include<stdio.h> #include<stdlib.h> #include<conio.h> main() { int sayi,rasgele,i; randomize();/* Her seferinde farkli bir deger tutmasi icin*/ rasgele=random(11); for (i=1;i<=4;i++) { printf("\n Thmin icin sayi giriniz..");scanf("%d",&sayi); if (sayi>rasgele) printf("\n Girilen sayi buyuk...."); else if (sayi<rasgele) printf("\n Girilen sayi kucuk...."); else { printf("\n Tebrikler Bildiniz...");getch();exit(0);} } printf("\n Bilgisayarin tuttugu sayi =%d ...",rasgele); getch();}

Klavyeden girilen sayının ASAL sayı olup olmadığını ekrana yazan programı yapınız.

for(i=2;i<sayi;i++) { main() {int sayi,i,j,asal; asal=1; printf("Bir sayi giriniz");scanf("%d", &sayi); for(i=2;i<sayi;i++) { if (sayi%i= =0) asal=0;} if (asal==1) printf(" Sayi ASALDIR "); else printf("Sayi asal değildir”); getch(); }

Asal değil Asal sayı BAŞLA asal=1 sayi i=2,sayi,1 H Sayi%i==0 E asal=0 BİTİR i=2,sayi,1 sayi Sayi%i==0 asal=1 E asal=0 H asal==0 Asal sayı

1.Pi= İlk 10 terimi pi sayısını yukarıdaki formüle göre hesaplayan programı yapınız. 2.Girilen x değeri için sinh x değerini aşağıdaki formülle hesaplayan bilgisayar programını yapınız. (ilk 10 terimine göre)

3. Girilen 10 öğrencinin notlarının ortalamasını bulunacaktır 3.Girilen 10 öğrencinin notlarının ortalamasını bulunacaktır . Yazdığınız program hesaplanan bu ortalama değerinden yüksek not alan öğrenci sayısını da hesaplayacaktır.

EULER SAYISINI HESAPLAYAN PROGRAMI YAPINIZ

for(i=1;i<=15;i++){ for(a=1;a<=i;a++) #include<stdio.h> #include<conio.h> main() {float i,a; float toplam=0,faktoriyel; for(i=1;i<=15;i++){ faktoriyel=1; for(a=1;a<=i;a++) { faktoriyel=faktoriyel*a; } toplam=toplam+1/faktoriyel; } printf("\n sonuc=%f",toplam+1);

#include<stdio.h> #include<conio.h> main() {float a=0,say; float toplam=0,faktoriyel; while(a<=10) { say=1;a++;faktoriyel=1; while(a>=say) { faktoriyel=faktoriyel*say; say++; } toplam=toplam+1/faktoriyel; toplam=toplam+1; printf("\n sonuc=%f",toplam); getch();

ASCII KOD TABLOSUNU EKRANA YAZDIRAN PROGRAMI YAPINIZ #include<stdio.h> #include<conio.h> main() { int i; clrscr(); for(i=32;i<=255;i++) if (i%11!=0) printf("%4d:%c",i,i); else printf("\n%4d:%c",i,i); getch(); }

#include<stdio.h> #include<conio.h> main() { int i,j; for (i=1; i<=5; i++){ for (j=1; j<=3; j++) printf(“\n i=%d j=%d”,i,j); } getch();

10 öğrencinin sınav notu girilecektir 10 öğrencinin sınav notu girilecektir. Bu öğrencilerin notları içerisinde EN BÜYÜK olan not değerini bulup ekrana yazan programı yapınız.

#include<stdio.h> #include<conio.h> main() { int i,a,enbuyuk; printf("1. ogrenci notunu Giriniz");scanf("%d",&a); enbuyuk=a; for (i=2; i<=10; i++) { printf("\n %d. Ogrenci notunu Giriniz",i); scanf("%d",&a); if (a>enbuyuk) } printf("en buyuk not degeri =%d",enbuyuk);}

2 ile 500 arasındaki asal sayıları ekrana yazan programız

for(i=2;i<500;i++) #include<stdio.h> #include<conio.h> main() {int sayi,i,j,asal; for(i=2;i<500;i++) { asal=1; for(j=2 ;j<i;j++) { if (i%j==0) asal=0;} if (asal==1) printf("%4d",i); }

Mükemmel Sayı : kendisi hariç bütün pozitif çarpanları toplamı kendisine eşit olan sayılara denir. 1 ile 10000 arasındaki mükemmel sayıları bulup ekrana yazan programı yapınız

#include<stdio.h> #include<conio.h> main() {int sayi,i,j,toplam; for(i=2;i<10000;i++) { toplam=0; for(j=1 ;j<i;j++) if (i%j==0) toplam=toplam+j; if (i==toplam) printf("%6d",i); }

y= ab üs hesabını yapan programı yapınız

#include<stdio.h> #include<conio.h> main() {int i,b,a; long y=1; printf("\n ussu giriniz:" ); scanf("%d",&b); printf("\n tabanı giriniz:"); scanf("%d",&a); for(i=0;i<b;i++) y=y*a; printf("%d nin %d. kuvveti %ld dir",a,b,y); }

n adet pozitif sayı içerisinden bir, iki, üç basamaklı sayıların kaç adet olduğunu bulan programı  while döngüsü kullanarak yazınız.

{ } main() { int n, sayac=1, sayi; int sayac1=0, sayac2=0, sayac3=0;  printf ("kac adet sayi gireceksiniz? \n");  scanf("%d",&n);  while (sayac<n)  {   printf ("pozitif sayi gir:\n ");scanf("%d",&sayi);   if (sayi<10) sayac1+=1;      else if (sayi<100) sayac2+=1;       else if (sayi<1000) sayac3+=1;   sayac++;   }   printf("1 basamakli sayilarin adeti: %d\n", sayac1);   printf("2 basamakli sayilarin adeti: %d\n", sayac2);   printf("3 basamakli sayilarin adeti: %d \n", sayac3); }

Klavyeden öğrencilere ait not girişi yapılacaktır. Her not girişinden sonra devam etmek istiyor musunuz sorusu sorulaca ve E tuşuna basılırsa not girişine devam edilecektir. E’den farklı bir tuşa basıldığında ise girilen notların ortalaması görüntülenecektir.

main() {char devam=’E’; int not,i=0; float ort,toplam=0; clrscr(); while(devam==’E’) { i++; printf(“%d. Notu giriniz:”,i); scanf(“%d”,&not); toplam+=not; printf(“Devam mı(E/H)?:\n”); devam=getch(); } ort=toplam/i; printf(“%d kişilik sınıfın not ortalaması:%f”,i,ort); getch();

DİZİLER(ARRAY) Aynı tipteki veri grubunu diziler ile tek bir dizi ismi ile belirtebiliriz. Veri grubunun her bir elemanına ise o elemana ait indis ile ulaşabiliriz. Örneğin, 20 kişilik sınıfı şu şekilde tanımlayabiliriz: int ogrenci[20]; Burada ilk öğrenci ogrenci[0], ikinci ogrenci[1],.........,yirminci ogrenci[19] şeklinde indisler yardımıyla temsil edilmektedir.

DİZİLER Matematikte de kullanılan bu yapının programlama dilinde doğrudan kullanılması, programcıya çok büyük avantajlar sağlayacaktır. Verdiğimiz örnekteki gibi diziler tek boyutlu olabileceği gibi 1’den fazla boyuta da sahip olabilir. Örneğin matris tanımı yapabilmek için iki boyutlu bir dizi tanımlamamız yeterlidir.

DİZİLER Tek boyutlu dizi tanımı: tip dizi_adı[eleman sayısı]; tip: C’de tanımlı standart tiplerden herhangi biridir. dizi_adı: Daha önce değişken adı için verdiğimiz kurallar bunun için de geçerlidir. eleman sayısı: Oluşturulacak grubun eleman sayısıdır. Eleman sayısı köşeli parantez içinde belirtilmelidir.

: a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] int a[10];

10 elemanlı bir tamsayı diziye dışarıdan değer okutma ve dizinin elemanlarını ters sırada ekrana yazdıran program:

#include<stdio.h> #include<conio.h> main() {int i,a[10]; clrscr(); printf(“Dizi elemanlarını giriniz:\n”); for(i=0;i<=9;i++) { printf(“dizi[%d]:”,i); scanf(“%d”,&a[i]); } printf(“Girilen dizi elemanları:\n”); for(i=9;i>=0;i - -) printf(“dizi[%d]:%d \t”,i,a[i]); getch();

10 elemanlı bir diziyi okutarak, elemanlarının toplamını ve ortalamasını bulduran program:

#include<stdio.h> #include<conio.h> main() { int i,a[10],toplam=0; float ort; clrscr(); printf(“Dizi elemanlarını giriniz:\n”); for(i=0;i<=9;i++) printf(“dizi[%d]:”,i); scanf(“%d”,&a[i]); } toplam+=a[i]; ort=toplam/10; printf(“Toplam:%d”,toplam); printf(“\n Ortalama:%f”,ort); getch();

10 elemanlı bir tamsayı dizinin elemanları klavyeden girilecektir. Değerler girildikten sonra, klavyeden girilen bir sayıyı bu dizi içinde arayıp bulan ve konumunu(kaçıncı eleman olduğunu) ekrana yazdıran program:

#include<stdio.h> #include<conio.h> main() {int i,a[10],sayi; clrscr(); printf(“Dizi elemanlarını giriniz:\n”); for(i=0;i<=9;i++) { printf(“dizi[%d]:”,i); scanf(“%d”,&a[i]); } printf(“Aranılacak değer:”); scanf(“%d”,&sayi); if (a[i]==sayi) printf(“%d sayısı dizinin %d indisli elemanıdır”,sayi,i); getch();

10 öğrencinin sınav notu dizi olarak klavyeden girilecektir 10 öğrencinin sınav notu dizi olarak klavyeden girilecektir. Sınav notu 50’den küçük olan öğrenci sayısını bulunuz.

#include<stdio.h> #include<conio.h> main() {int i,a[10],adet=0; clrscr(); printf(“Notları giriniz:\n”); for(i=0;i<=9;i++) { printf(“%d. Ogrenci notunu giriniz”,i); scanf(“%d”,&a[i]); } if(a[i]<50) adet++; printf(“ Dersden başarısız olan %d öğrenci vardır”, adet); getch();

10 adet rasgele sayıyı bir dizi içerisine yazan ve sıralayan programı yapınız

printf("Notları giriniz:\n"); for(i=0;i<=9;i++) { #include<stdio.h> #include<stdlib.h> #include<conio.h> main() {int i,a[10],adet=0; clrscr(); randomize(); printf("Notları giriniz:\n"); for(i=0;i<=9;i++) { a[i]=random(50)+1; printf("%4d",a[i]); } getch();}

#include<stdio.h> #include<stdlib.h> #include<conio.h> main() {int i,k,a[10],takas,adet=0; clrscr(); randomize(); for(i=0;i<=9;i++) { a[i]=random(50)+1; printf("%4d",a[i]); } printf("\n"); for(k=0;k<=i-1;k++) if (a[i]<a[k]) {takas=a[i]; a[i]=a[k]; a[k]=takas;} { printf("%4d",a[i]);} getch();}