Algoritma Programlama Uygulamaları

Algoritma Programlama Uygulamaları
Karar Yapıları
1
1. Yarıçapı r ve yüksekliği h olan bir koninin hacmini bularak h=0 olması halini kontrol eden, çıkışta r,h ve hacim değerlerini yazdıran
programın akış diyagramı ve kodları:
Akış diyagramı
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
import java.util.Scanner;
public class alan{
public static void main(String[] args){
int main(int argc, char *argv[])
{
int r,h;
double sonuc;
double pi = 3.14;
printf("Yarıçapı Gir \n");
scanf("%d",&r);
printf("yüksekliği Gir \n");
scanf("%d",&h);
if(h==0 || r==0)
{
printf("Yükseklik veya yarıçapı
girmediniz");
}
else{
sonuc = (1.0 / 3.0) * pi * r * r * h;
printf("sonuc \n %lf" , sonuc);
}
getch();
return 0;
}
int r,h;
float sonuc,pi=3.14;
System.out.println(“Yarıçapı giriniz\n”);
Scanner yaricap = new Scanner(System.in);
System.out.println(“Yüksekliği giriniz“);
r = yaricap.nextInt();
Scanner yukseklik = new Scanner(System.in);
h = yükseklik.nextInt();
if(h==0 || r==0)
{ System.out.println(“Yükseklik veya yarıçapı girmediniz”); }
else{ sonuc = (1.0 / 3.0) * pi * r * r * h;
System.out.println(“Sonuc = “ + sonuc); }
}
}
Sayfa 1
Algoritma Programlama Uygulamaları
2
2. Bir öğrencinin aşağıdaki bilgiler karşılarında belirtilen değişken adları ile verilmiştir:
Vize notu: V- Final notu: F- Proje notu : P
Öğrencinin bir dersten sınıf geçme notu final sınav notunun 0.4 ü, proje notunun 0.15 i ve vize notunun 0.45 i toplamından oluşmaktadır. Buna göre; her bir öğrencinin giriş
bilgilerini okuyup (geçme notu alt sınırı 50 olduğunda) geçen öğrencilerin numaralarını, ad ve soyadlarını, sınıf geçme notlarını, kalan öğrencilerin de sayısını bulduracak
programın akış şemasını çiziniz.
Akış Diyagramı :
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int no,vize,fn,proje; float not;
printf("Numarası : \n Vize Notu : \n Final Notu : \n Proje Notu : \n
");
scanf("%d %d %d %d",&no,&vize,&fn,&proje);
not = (vize * 0.45) + (fn * 0.4) + (proje * 0.15);
if (not >= 50 && not <=100)
{printf("%d nolu Ogrenci \t %2.lf \t GECTI",no,not);}
else if (not >=0 && not<=49)
{printf("%d nolu Ogrenci \t %2.lf \t KALDI",no,not);}
else{
printf("Girdiğiniz Sayılar Geçersiz");-
İmport java.util.Scanner;
Public class Ortalama{
Public static void main(String[] args){
İnt vize,final,proje;
Float not;
System.out.println(“Vize Notunu giriniz = “);
Scanner vnot = new Scanner(System.in);
Vize = vnot.nextInt();
System.out.println(“Final Notunu giriniz = “);
Scanner fnot = new Scanner(System.in);
Vize = fnot.nextInt();
System.out.println(“Proje Notunu giriniz = “);
Scanner pnot = new Scanner(System.in);
Vize = pnot.nextInt();
Not = (vize * 0.45) + (fn * 0.4) + (proje * 0.15);
İf(not>49 && not<101) System.out.println(“Geçti“);
Else if(not>=0 && not <50) System.out.println(“Kaldı“);
Else System.out.println(“Girdiğiniz Sayılar Geçersiz“);
}
}
getch();
return 0;
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
Sayfa 2
Algoritma Programlama Uygulamaları
3. Klavyeden basılan tuşun sayı, büyük harf, küçük harf veya özel işaret( ?, : . ={}[] v.s.) olup olmadığını bulan ve ekrana yazdıran programı
yapın.
Akış Diyagramı :
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
import java.util.Scanner;
public class ornek{
public static void main(String[] args){
int main(int argc, char *argv[])
{
char ch;
String S;
int Ascii;
Scanner klavye = new Scanner(System.in);
S = klavye.nextLine();
Ascii = S.codePointAt(0);
if(Ascii >= 47 && Ascii <= 57)
{System.out.println(“Girdiğiniz değer : Rakam*0-9]“);else if(Ascii >= 65 && Ascii <= 90)
,System.out.println(“Girdiğiniz değer : Büyük Harf*A-Z+“);else if(Ascii >= 97 && Ascii <= 122)
,System.out.println(“Girdiğiniz değer : Küçük Harf*a-z+“);else System.out.println(“Özel Karakter”);
}
}
ch = getchar();
if (47 <= ch && ch <= 57)
{
printf("Girdiğiniz değer rakam *0-9]");
}
else if (65 <= ch && ch <= 90)
{
printf("Girdiğiniz değer büyük harf *A-Z]");
}
else if (97 <= ch && ch <= 122)
{
printf("Girdiğiniz değer küçük harf *a-z]");
}
else
{
printf("Özel Karakter");
}
getch();
return 0;
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
Sayfa 3
3
Algoritma Programlama Uygulamaları
1. Kayıt
2. Listeleme
3. Düzeltme
4. Silme
5. Çıkış
Seçiminiz*1-5]?
4
4. Yukarıda verilen menüyü hazırlayınız. İlk 4 seçimde ekrana “Henüz hazır değil” mesajı yazdırılacaktır. 5 seçilirse hiçbir şey yazılmadan
programdan çıkılacaktır.
Akış Diyagramı :
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
C Dilindeki Kodları :
Java Dilindeki Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int Sayi;
printf("1. Kayıt \n");
printf("2. Listeleme \n");
printf("3. Düzeltme \n");
printf("4. Silme \n");
printf("5. Çıkış \n");
printf("Seçiminiz *1-5] ? \n");
scanf(“%d“,&Sayi);
if (Sayi == 1 ||Sayi == 2 || Sayi==3 || Sayi==4)
{printf("Henüz Hazır Değil");}
else if (Sayi == 5)
{return 0;}
else,printf("Lütfen *1-5+ arasında sayı giriniz");}
getch();return0; }
import java.util.Scanner;
public class ornek6{
public static void main(String[] args){
int Sayi;
Scanner klavye = new Scanner(System.in);
Sayi = klavye.nextInt();
System.out.println(“1. Kayıt \n“);
System.out.println(“2. Listeleme \n“);
System.out.println(“3. Düzeltme \n“);
System.out.println(“4. Silme\n“);
System.out.println(“5. Çıkış \n“);
if(Sayi==1 || Sayi==2 || Sayi ==3 || Sayi==4)
System.out.println(“Henüz Hazır Değil“);
else if(Sayi ==5) System.exit(exitCode);
else System.out.println(“Lütfen *1-5+ arası sayı giriniz”);
}
}
Sayfa 4
Algoritma Programlama Uygulamaları
5. 2. dereceden denklem köklerini bulduran problemin programını,“if” deyimi, kullanarak yazınız.
Akış Diyagramı :
5
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
int a ,b, c,disk;
double x1,x2;
printf("a.x^2 + b.x + c");
printf("denklem köklerini giriniz");
scanf_s("%d %d %d",&a,&b,&c);
disk = (b*b) - (4*a*c);
if (disk < 0)
{
printf("a,b,c sanal kök");
}
else
{
x1 = (-b - sqrtf(disk)) / (2*a);
x2 = (-b + sqrtf (disk)) / (2*a);
printf("kökler x1 = %3.lf \t x2 = %3.lf",x1,x2);
import java.util.Scanner;
public Class Diskrimat{
public static void main(String[] args){
int a,b,c,diskrimat;
float x1,x2;
Scanner klavye = new Scanner(System.in);
System.out.print(“A= “);a = klavye.nextInt();
System.out.print(“B= “);b = klavye.nextInt();
System.out.print(“C= “);c = klavye.nextInt();
diskrimat = (b*b) – (4*a*c);
if(diskrimat >0)
{ System.out.println(“Gerçek kökler \n”);
x1 = (-b – Math.sqrt(diskrimat)) / (2*a);
x2 = (-b + Math.sqrt (diskrimat)) / (2*a);
System.out.println(“Kökler : %.2f \t %.2f”,x1,x2);}
else if(diskrimat==0){
System.out.println(“\n Katlı kökleri vardır : “);
x1 = -b / (2*a);
System.out.printf(“Katlı Kök : %.2f“,x1);}
else System.out.println(“\n Sanal kökler vardır.“);
}
}
}
getch();
return 0;
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
Sayfa 5
Algoritma Programlama Uygulamaları
6. Düzlemde bir noktanın koordinatlarını okuduktan sonra bu noktanın düzlemdeki yerini bir mesajla bildirecek programın akış diyagramını
çiziniz.
Akış Diyagramı :
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
import java.util.Scanner;
public class koordinat{
public static void main(String[] args){
int x,y;
Scanner klavye = new Scanner(System.in);
System.out.print(“X= “); x= klavye.nextInt();
System.out.print(“Y= ”); y= klavye.nextInt();
int main(int argc, char *argv[])
{
int x,y;
printf("Koordinat Gir \n");
scanf("%d %d", &x1,&y1);
if(x>0 && y>0)
{printf("I. Bölgede");else if(x>0 && y<0)
,printf("IV. Bölgede");else if(x<0 && y>0)
,printf("III. Bölgede");else if(x<0 && y<0)
,printf("II. Bölgede");else,printf("Böyle bir bölge yok");getch();
return 0;
if(x>0 && y>0)
System.out.println(“I. Bölge”);
else if(x<0 && y>0) System.out.println(“II.Bölge“);
else if(x<0 && y<0) System.out.println(“III. Bölge“);
else if(x>0 && y<0) System.out.println(“IV. Bölge”);
else System.out.println(“Girdiğiniz sayılar geçersiz“);
}
}
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
Sayfa 6
6
Algoritma Programlama Uygulamaları
7. Klavyeden girilen bir sayının tek mi çift mi olduğunu gösteren programı ve akış diyagramını çiziniz
Akış Diyagramları :
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
İmport java.util.Scanner;
Public Class tekcift{
Public static void main(String[] args){
İnt Sayi;
int main(int argc, char *argv[])
{
int Sayi,Kalan;
printf("Sayı Gir \n");
7
Scanner klavye = new Scanner(System.in);
System.out.print(“Sayi = “);
Sayi = klavye.nextInt();
scanf("%d", &Sayi);
Kalan = Sayi %2;
if(Kalan == 0 )
{
printf("Çift");
}
else{
printf("Tek");
}
getch();
return 0;
if(Sayi %2 == 0) System.out.println(“Çift“);
else System.out.println(“Tek“);
}
}
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
Sayfa 7