Dersler

View on GitHub

EEM-119 Algoritma ve Programlama I Dersi

2022-2023 Güz Dönemi Ders 7

Karşılaştırma operatörleri

#include <stdio.h>
int main(){
  int i=1, j=5;
  printf("%d\n",i<j);
  printf("%d\n",i>j);
}
    1
    0
#include <stdio.h>
int main(){
  int i=1, j=5;
  printf("%d\n",i<j);
  printf("%d\n",i>j);
  //karsilastirma isleminin sonucu 1 veya 0 oldugundan
  //bu sonuc istenilirse basla aritmetik islemlerde 
  //kullanilabilir.
  printf("%d\n",(i<j)+5);  
}
    1
    0
    6
#include <stdio.h>
int main(){
  int i=1, j=5,k=4;
  printf("%d\n",i+j<k-1);
  printf("%d\n",(i+j) < (k-1));
}
    0
    0
#include <stdio.h>
int main(){
  int i=1, j=5,k=4;
  printf("%d\n",i+j==k-1);
  printf("%d\n",i+j!=k-1);
}
    0
    1

Mantık operatörleri

#include <stdio.h>
int main(){
  int i=1, j=5;
  printf("%d\n",i!=0 && j/i>0);  
}
    1
#include <stdio.h>
int main(){
  int i=1, j=5;
  printf("%d\n",i==0 || j>0);  
}
    1
#include <stdio.h>
int main(){
  int i=1, j=5;
  printf("%d\n",!(i==0 || j>0));  
}
    0
#include <stdio.h>
int main(){
  int i=1;
  if(i==0)
    //kodlamalar
  
  //asagidaki gibi yapılırsa 
  //i ye 0  degeri atanir.
  if(i=0)
}
#include <stdio.h>
int main(){
  int i=1, n=4;
  if(0<=i && i<n)
    //kodlamalar
  
  if(i<0 || i>=n)
    //kodlamalar
}
#include <stdio.h>
int main() {
  int i,j;
  printf("iki sayi giriniz: ");
  scanf("%d%d",&i,&j);
  if(i>j)
    printf("birinci sayi buyuktur: %d",i);
  else
    printf("ikinci sayi buyuktur: %d",j);
  return 0;
}
    iki sayi giriniz: 
     20 10

    birinci sayi buyuktur: 20
#include <stdio.h>
int main() {
  int i,j;
  printf("iki sayi giriniz: ");
  scanf("%d%d",&i,&j);
  //hizalama sadece kodun okunurlugu icindir.
  if(!(i>j)) printf("ikinci sayi buyuktur: %d",j);
  else printf("birinci sayi buyuktur: %d",i);
  return 0;
}
    iki sayi giriniz: 
     10 20

    ikinci sayi buyuktur: 20
#include <stdio.h>
int main() {
  int i,j,k,maks;
  printf("uc sayi giriniz: ");
  scanf("%d%d%d",&i,&j,&k);
  if(i>j)
    if(i>k)
      maks=i;
    else
      maks=k;
  else
    if(j>k)
      maks=j;
    else
      maks=k;
  printf("en buyuk: %d",maks);
  return 0;
}
    uc sayi giriniz: 
     10 20 30

    en buyuk: 30
#include <stdio.h>
int main() {
  int i,j,k;
  printf("uc sayi giriniz: ");
  scanf("%d%d%d",&i,&j,&k);
  if(i>j && i>k)
    printf("en buyuk: %d",i);
  else if(j>k && j>i)
    printf("en buyuk: %d",j);
  else if(k>i && k>j)
    printf("en buyuk: %d",k);
  else
    printf("esit sayi var");
  return 0;
}
    uc sayi giriniz: 
     20 10 30

    en buyuk: 30
#include <stdio.h>
int main() {
  // bir banka yapacagi islem icin asagidaki gibi komisyon almaktadir
  // 2500 ve daha az 30+%1.7
  // 2500-6250(dahil) 56+%0.66
  // 6250-20000(dahil) 76+%0.34
  // 20000'den fazla 250+%0.09 
  double islem_miktari, komisyon;
  printf("islem miktarini giriniz: ") ;
  scanf("%lf",&islem_miktari);
  if(islem_miktari<=2500)
    komisyon=30+islem_miktari*1.7/100;
  else if(islem_miktari>2500 && islem_miktari<=6250)
    komisyon=56+islem_miktari*0.66/100;
  else if(islem_miktari>6250 && islem_miktari<=20000)
    komisyon=76+islem_miktari*0.34/100;
  else
    komisyon=250+islem_miktari*0.09/100;
  printf("komisyon:%.2lf\n",komisyon);
  printf("toplam odenecek: %.2lf",komisyon+islem_miktari);
  return 0;
}
    islem miktarini giriniz: 
     11000

    komisyon:113.40
    toplam odenecek: 11113.40
#include <stdio.h>
int main() {
  // bir banka yapacagi islem icin asagidaki gibi komisyon almaktadir
  // 2500 ve daha az 30+%1.7
  // 2500-6250(dahil) 56+%0.66
  // 6250-20000(dahil) 76+%0.34
  // 20000'den fazla 250+%0.09
  double islem_miktari, komisyon;
  printf("islem miktarini giriniz: ") ;
  scanf("%lf",&islem_miktari); 
  if(islem_miktari<=2500)
    komisyon=30+islem_miktari*1.7/100;
  else if(islem_miktari<=6250)
    komisyon=56+islem_miktari*0.66/100;
  else if(islem_miktari<=20000)
    komisyon=76+islem_miktari*0.34/100;
  else
    komisyon=250+islem_miktari*0.09/100;
  printf("komisyon:%.2lf\n",komisyon);
  printf("toplam odenecek: %.2lf",komisyon+islem_miktari); 
  return 0;
}
    islem miktarini giriniz: 
     11000

    komisyon:113.40
    toplam odenecek: 11113.40
#include <stdio.h>
int main() {
  int x=100, y=11, sonuc; 
  if(y!=0)
    if(x!=0)
      sonuc=x/y;
  // else bu sekilde hizalansa da
  // bu else 2. if'e aittir.
  else
    printf("hata: y 0'a esit"); 
  return 0;
}
#include <stdio.h>
int main() {
  int x=100, y=11, sonuc;
  if(y!=0)
    if(x!=0)
      sonuc=x/y;
    else
      printf("hata: y 0'a esit");
  return 0;
}

Süslü parantez “{}” kullanımı

#include <stdio.h>
int main() {
  int x=100, y=11, sonuc;
  // else'i 1. if'le iliskilendirmek
  // icin {} kullanilmalidir.
  if(y!=0){
    if(x!=0)
      sonuc=x/y;
  }
  else
    printf("hata: y 0'a esit");
  return 0;
}

Üçlü (ternary) operatör

#include <stdio.h>
int main() {
  int i,j,k;
  i=1;
  j=2;
  k=i>j ? i : j;
  printf("k: %d\n",k);  
  k=(i>j?i:5)+j;
  printf("k: %d\n",k); 
  return 0;
}
    k: 2
    k: 7
#include <stdio.h>
int main() {
  int i,j,k;
  i=1;
  j=2;
  k=i>j ? i : j;
  printf("k: %d\n",k);
  //if(i>j)
  //  k=i;
  //else
  //  k=j;
  
  k=(i>j?i:5)+j;
  printf("k: %d\n",k);
  //if(i>j)
  //  k= i+j;
  //else
  //  k=5+j;
  return 0;
}
#include <stdio.h>
#include <math.h>
int main() {
  float a,b,c,x1,x2,disk;
  printf("ax^2+bx+c=0 denkleminde a, b ve c'yi giriniz: ");
  scanf("%f%f%f",&a,&b,&c);
  disk=b*b-4*a*c;
  if(disk>0){
    x1=(-b+sqrt(disk))/(2*a);
    x2=(-b-sqrt(disk))/(2*a);
    printf("diskriminant 0'dan buyuk.\n");
    printf("x1=%f\n",x1);
    printf("x2=%f",x2);
  }else if(disk==0){
    x1=-b/(2*a);
    printf("diskriminant 0'a esit. katli kok\n");
    printf("x= %f",x1);
  }
  else
    printf("diskriminant 0'dan kucuk oldugu icin reel koku yoktur.");
  return 0;
}
    ax^2+bx+c=0 denkleminde a, b ve c'yi giriniz: 
     3 7 4

    diskriminant 0'dan buyuk.
    x1=-1.000000
    x2=-1.333333
#include <stdio.h>
int main() {
  //bir ucgenin dik ucgen oldugunun kontrolu
  float a,b,c;
  printf("ucgenin kenarlarini giriniz: ");
  scanf("%f%f%f",&a,&b,&c);
  if(a*a == b*b+c*c)
    printf("dik ucgen");
  else if(b*b==a*a+c*c)
    printf("dik ucgen");
  else if(c*c==b*b+a*a)
    printf("dik ucgen");
  else
  printf("dik ucgen degil");
  return 0;
}
    ucgenin kenarlarini giriniz: 
     13 5 12

    dik ucgen
#include <stdio.h>
int main() {
  //bir ucgenin dik ucgen oldugunun kontrolu
  float a,b,c;
  printf("ucgenin kenarlarini giriniz: ");
  scanf("%f%f%f",&a,&b,&c);
  if(a*a == b*b+c*c || b*b==a*a+c*c || c*c==b*b+a*a)
    printf("dik ucgen");
  else
    printf("dik ucgen degil");
  return 0;
}
    ucgenin kenarlarini giriniz: 
     12 5 13

    dik ucgen
  int i=0;
  //i'nin degeri sadece 1 veya 0 olsun;
  //asagidaki 2 if ayni sekilde calisir.
  if(i==TRUE)
  
  if(i)
  
  //asagidaki 2 if ayni sekilde calisir.
  if(i==FALSE)
  
  if(!i)

while döngüsü

#include <stdio.h>
int main() {
  int i=1;
  while(i<10){
    printf("%d ",i);
    i=i+1;
  }  
  return 0;
}
    1 2 3 4 5 6 7 8 9
#include <stdio.h>
int main() {
  int i=9;
  while(i>0){
    printf("%d ",i);
    i=i-1;
  }
  return 0;
}
    9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main() {
  int i=9;
  while(i>0){
    printf("%d ",i);
    i--;
  }
  return 0;
}
    9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main() {
  int i=10;
  while(i>0)
    printf("%d ",i--);
  return 0;
}
    10 9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main() {
  int i=1, n;
  printf("n'yi giriniz:");
  scanf("%d",&n);
  while(i<=n){
    printf("%5d %5d \n",i,i*i);
    i++;
  }
  return 0;
}
    n'yi giriniz:
     6

        1     1 
        2     4 
        3     9 
        4    16 
        5    25 
        6    36 
#include <stdio.h>
int main() {
  int i=1, n;
  printf("n'yi giriniz:");
  scanf("%d",&n);  
  while(i<=n)
    printf("%5d %5d \n",i++,i*i);
  return 0;
}
    n'yi giriniz:
     4

        1     1 
        2     4 
        3     9 
        4    16 
#include <stdio.h>
int main() {
  int i=0, n;
  printf("n'yi giriniz:");
  scanf("%d",&n);  
  while(i++<n)
    printf("%5d %5d \n",i,i*i);
  return 0;
}
    n'yi giriniz:
     7

        1     1 
        2     4 
        3     9 
        4    16 
        5    25 
        6    36 
        7    49 
#include <stdio.h>
int main() {
  int toplam=0, sayi;
  printf("sayi giriniz:");
  scanf("%d",&sayi);
  while(sayi!=0){
    toplam = toplam+sayi;
    printf("sayi giriniz:");
    scanf("%d",&sayi);
  }
  printf("sayilarin toplami: %d", toplam);
  return 0;
}
    sayi giriniz:
     3

    sayi giriniz:
     4

    sayi giriniz:
     -2

    sayi giriniz:
     0

    sayilarin toplami: 5