Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
Nesne Yönelimli Programlamaya
GirişTurgay AYDOĞAN
Ders İşleyişi
• Teori 2 saat
• Uygulama 2 saat
• Değerlendirme =
1 vize + 1 final + ödevler + derse devam
• Kaynak,
Algoritma GeliĢtirme ve Programlamaya GiriĢFahri VATANSEVER
Konular
• Yazılım
• Programlama dilleri
• Program yazma adımları
• Algoritma ve akıĢ diyagramları
• Aritmetik ve mantıksal operatörler
• Temel veri türleri ve değiĢkenler
• Karar yapıları
• Döngü yapıları
• Ġç içe karar yapıları ve döngüler
• Diziler
• Nesne yönelimli programlama
Kısaca bilgisayar
Bilgisayar;
Bilgisayar uzun ve çok karmaĢık hesapları bile büyük bir hızla yapabilen, mantıksal bağlantılara dayalı karar verip iĢlem yürüten makinedir.
Kısaca bilgisayar, bilgi iĢleyen elektronik bir aygıttır.
Kısaca bilgisayarBirinci Kuşak Bilgisayarlar: 1946-56 yılları arasında vakumlu tüplerkullanılan bilgisayarlardır.
İkinci Kuşak Bilgisayarlar: 1957-63 yılları arasında tüplerin yerinetransistörlerin kullanıldığı bilgisayarlardır.
Üçüncü Kuşak Bilgisayarlar: 1964-79 yılları arasında kullanılanentegre devrelerin kullanıldığı bilgisayarlar.
Dördüncü Kuşak Bilgisayarlar: 1980'den sonra transistörlerin yerinemikroçiplerin kullanıldığı bilgisayarlardır. Bu gün kullandığımızbilgisayarlar bu kuĢağa aittir. Ancak her gün yenilikler eklenmekte,bilgisayarların çalıĢma hızı ve kapasitesi arttırılmaktadır. Bu yıllardaAmerikan ve Japon teknolojilerinin elektronik ve küçültme alanındakiürünü olan ev bilgisayarları ortaya çıktı.
Kısaca bilgisayar
BİLGİSAYAR
DONANIM
(HARDWARE)
YAZILIM
(SOFTWARE)
Yazılım
• Bilgisayarlar,bilgisayar programı denen komut setlerinin kontrolü altında verileri iĢlerler.
• Bilgisayarda çalıĢan bilgisayar programlarına yazılım denir.
• Program, günlük hayatta bir sorunu bilgisayar ile çözmek ve iĢlemleri kolaylaĢtırmak için yazılan yazılımlardır.
Yazılım
1. ĠĢletim Sistemleri
2. Programlama Dilleri
3. Uygulama Yazılımları
Yazılım – İşletim Sistemleri
• Bilgisayarın kullanım için hazır halegetirilmesini, donanım, bellek, disk, dizin vedosya yönetimlerini sağlayan programlardır.
GM-NAA IO - Ġlk iĢletim sistemi 1955
Unix – 1969 C programlama dilinde yazıldı
DOS(Disk Operating System) – 1980
Mac OS – Apple firması tarafından 1984
Atari TOS - 1985
Windows 3 – Microsoft 1990
Windows 95 – 98 –XP –Vista -7
Ubuntu Linux – 2005
Symbian 60, iPhone OS, Windows Mobile
Yazılım – Programlama Dilleri
• Uygulama programları oluĢturmaya yarayan programlardır.
• Programlama Dili bilgisayarda çözülecek birsorun için çözümün bilgisayara adım adımyazılmasını sağlayan kuralları olan ve bukurallara sıkı sıkıya bağımlılığı gerektiren birtanımlar kümesidir.
• Programlama dili, programcı ile bilgisayararasındaki iletiĢimi sağlamaya yarayan araçtır.
Yazılım – Programlama Dilleri
• Programlama dili, programcı ile bilgisayar arasındaki iletiĢimi sağlamaya yarayan araçtır.
• Programlama dillerinin sınıflandırılması
▫ KuĢağa göre sınıflandırma
▫ Seviyeye göre sınıflandırma
▫ Uygulama alanına göre sınıflandırma
Yazılım – Programlama Dilleri
▫ KuĢağa göre sınıflandırma
1. Birinci Nesil-Makine Dili
Programlanabilir Bilgisayar kavramı
Komutlar ikili sayı sisteminde oluĢturulmuĢ
Tamamıyla donanıma bağlı
Her iĢlemci için ayrı makine dili
Örnek:Ġki sayıyı toplama için makine kodu
Yazılım – Programlama Dilleri
▫ KuĢağa göre sınıflandırma
2. Ġkinci Nesil-Assembly Dili
Assembly dili (1950)
Makine dilindeki ikili kodlar sembollerle ifade edilmiĢ
Komutların adlandırılması ve ezberde kalması kolaylaĢtırılmıĢ
Makine dili komutlarıyla iliĢki 1-1
Donanıma bağlı
DüĢük düzey programlama dili
MOV AX,sayi1
MOV BX,sayi2
ADD AX,BX
MOV Toplam,AX
Yazılım – Programlama Dilleri
▫ KuĢağa göre sınıflandırma
3. Üçüncü Nesil-Yordamsal Diller
Dil donanımdan bağımsız
Öğrenilmesi ve anlaĢılması kolay
Komut dili günlük dile yakın
Makine diline dönüĢtürülmesi gerekli
Derleyici-yorumlayıcı özel programlar
Yüksek düzey diller
ĠĢin nasıl yapılacağını yordamsal olarak anlatır
FORTRAN,COBOL,BASIC,PASCAL,C,VISUAL BASIC
Yazılım – Programlama Dilleri
▫ KuĢağa göre sınıflandırma
4. Dördüncü Nesil-4GL
Neyin yapılacağını belirtir
Nasıl yapılacağının ayrıntılarını bildirmez
Excel,Lotus
SQL
Ġstatistik Programları
Simulasyon Programları (Matlab)
Select OgrenciAdi,OgrenciSoyadi from Ogrenciler
Yazılım – Programlama Dilleri
▫ KuĢağa göre sınıflandırma
5. BeĢinci Nesil-Doğal Dil
Doğal dil özelliklerini taĢıyan bilgisayar dili üretmek
Mantık programlama
Yapay zeka dilleri
PROLOG, Simulink, LabVIEW, Analytica, Flow, Mercury, LISP
Yazılım – Programlama Dilleri
▫ Seviyeye göre sınıflandırma
Seviye, bir programlama dilinin insan algılamasınaolan yakınlığının ölçüsüdür.
Yüksek seviyeli diller, insan algılayıĢına daha yakın,alçak seviyeli diller de bilgisayarın doğal çalıĢmasınadaha yakın olan dillerdir.
Dillerdeki seviye yükseldikçe programcının iĢikolaylaĢır. Öyle ki, çok yüksek seviyeli programlamadillerinde artık bir iĢin nasıl yapılacağına iliĢkindeğil, ne yapılacağına iliĢkin komutlar bulunur.
Yazılım – Programlama Dilleri
▫ Seviyeye göre sınıflandırma
1. DüĢük seviyeli diller
Makine dilidir. ASSEMBLY
Assembly insanlar tarafından anlaĢılması zor olanmakine dilinin sayısal ifadelerini, insanlar tarafındananlaĢılarak programlanması daha kolay olan alfabetikifadelerle değiĢtirerek düĢük seviyede programlamaiçin bir ortam oluĢturur.
Yazılım – Programlama Dilleri
▫ Seviyeye göre sınıflandırma
2. Orta seviyeli düzeyli diller
Makine dilinden biraz daha geliĢmiĢ dilleri içerir.
Bu diller hem kullanıcıya hem de bilgisayara yakın olan yapılar içerirler.
Bu diller özellikle sistem programlarının yazımında tercih edilirler.
Yazılım – Programlama Dilleri
▫ Seviyeye göre sınıflandırma
3. Yüksek seviyeli diller
KonuĢma dillerine yakın dilleri içerir.
Yüksek seviyeli programlama dilleri daha algoritmikdillerdir. Bu dillerde önce iĢlerin nasıl yapılacağına dairalgoritmalar tasarlanır ve bu algoritmalar daha sonraprogram koduna çevrilir.
Yazılım – Programlama Dilleri
▫ Seviyeye göre sınıflandırma
4. Çok Yüksek seviyeli diller
Görsel programlama dilleri ya da çok yüksek seviyeliprogramlama dilleri, program kodunun kısmen ya datamamen görsel bir biçimde çeĢitli araçlar tarafındanüretildiği dillerdir.
Görselliğin ileri uçlarında program kodu bile bulunmayabilir.
Yazılım – Programlama Dilleri
Makina
dilleri
Düşük seviyeli diller
Assembly
Orta seviyeli diller
C, ADA...
Yüksek seviyeli diller
Pascal, Basic, Fortran...
Çok yüksek seviyeli diller
VisualBasic, VB.NET, Acces, Foxpro ...
Bilgisayara en yakın
İnsana en yakın
Yazılım – Programlama Dilleri
▫ Uygulama alanına göre sınıflandırmaBilimsel ve mühendislik dilleri-Fortran,C,Pascal
Sistem programlama dilleri-C,Assembler
Veri tabanı dilleri-Dbase,Clipper,FileMaker,T-SQL
Yapay zeka dilleri-Prolog,LISP
Genel amaçlı programlama dilleri-C,Pascal,Basic
Yazılım – Programlama Dilleri
Console.WriteLine(“Merhaba Dünya”);
Yüksek Seviyeli Dil
Derleyici (compiler)
Makine Dili
Kaynak Program
Amaç Program
Yazılım – Programlama Dilleri
1943 - Plankalkül (Konrad Zuse)
1943 - ENIAC coding system
1949 - C-10
1951 - Regional Assembly Language
1952 - Autocode
1954 - FORTRAN (FORmula TRANslator)
1958 - LISP (LISt Processor)
1958 - ALGOL (ALGOrithmic Language)
1959 - COBOL (COmmon Business Oriented Language)
1962 - APL (A Programming Language)
1962 - Simula
1964 - BASIC (Beginner's All-purpose Symbolic Instruction Code)
1964 - PL/I (Programming Language One)
Yazılım – Programlama Dilleri
1970 - Pascal
1972 - C
1972 - Smalltalk
1972 - Prolog
1973 - ML
1978 – SQL
1983 - Ada
1983 - C++
1985 – Eiffel
1987 - Perl
1989 - FL (Function Level)
1990 - Haskell
1990 - Python
1991 - Java
1993 - Ruby
1995 - PHP
1995 – Delphi
2000 - C#
Yazılım – Programlama Dilleri
Hangi Programlama Dilini seçmeliyim? Okunabilirlik
TaĢınabilirlik
Verimlilik
Uygulama alanları
Alt programlama yeteneği
Öğrenme ve öğretme kolaylığı
Programlama tekniklerine verilen destekler
GiriĢ/çıkıĢ kolaylığı
Veri türleri ve yapıları
Esneklik
Yazılım – Uygulama Yazılımları
Direk bir problemin çözümüne veya mesleğe
yönelik geliĢtirilmiĢ programlardır.
• Kelime ĠĢlemci Programları: Word, Write, Note Pad…
• Elektronik Hesap Tablo Programları: Lotus, Excel…
• Resim/Grafik Programları: Paint, PhotoShop
• Çizim/Tasarım Programları: AutoCAD, Draw
• Sunu Hazırlama Programları: Power Point
• Ses/Müzik Programları: Winamp, BSPlayer
• Mühendislik Hesaplama Programları
• Elek.-Elektr. Tas. Programları: EWB, Eagle
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
ĠĢletme
Belgeleme
Bakım
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
ĠĢletme
Belgeleme
Bakım
Bu ilk adımda programcı,
problemi anlamaya çalışır.
Problemin ne olduğunu,
çözümde nelerin gerekli
olduğunu, lazım olan ön bilgileri
belirler.
Problemi anlamanın çözümün
yarısı olduğu unutulmamalıdır.
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
ĠĢletme
Belgeleme
Bakım
Bu adımda problemi çözüm için
verilen değerler ile programın elde
etmesi gereken değerlerin ne
olduğu belirlenmelidir.
Girdiler ve çıktılar madde madde
yazılır.
Bu girdi ve çıktı arasındaki ilişki
belirlenir.
Belirlenen ilişki formüller ile
açıklanabilir
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
ĠĢletme
Belgeleme
Bakım
Algoritmalar geliĢtirilir.
AkıĢ Ģemaları,karar tabloları vb Ģemalar üretilir.
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
ĠĢletme
Belgeleme
Bakım
Algoritma ve akıĢ diyagramı, programcının tercih ettiği bir programlama diliyle kodlanarak program oluĢturulur.
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
ĠĢletme
Belgeleme
Bakım
Kodlamadan sonra program test edilir.
Derleyicinin belirttiği hatalar düzeltilir.
(Syntax Error)
Programlama hataları:
1. Syntax Error: Derleyicinin belirttiği
hatalar, yanlış komut yazılması gibi.
2. Logic Error: Yazılan programdaki
mantıksal hatalar. Algoritma hatası vb.
3. Runtime Error: Program çalışırken
işletim sisteminden kaynaklanan hata.
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
İşletme
Belgeleme
Bakım
Programın kullanıcılar tarafından kullanılması anlamındadır.
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
ĠĢletme
Belgeleme
Bakım
Bütün bu çalıĢmaların belli bir dosyalama sistemi içinde belgeler halinde saklanmasının sağlandığı adımdır.
Her adımdan sonra belgeleme yapmak iĢimizi kolaylaĢtırır.
Program Yazma Adımları
Problem
Sistem Analizi
Sistem Tasarımı
Kodlama
Test Etme
ĠĢletme
Belgeleme
Bakım
Programın güncel koĢullara göre yeniden düzenlenmesini içeren bir konudur.
OluĢan hataların giderilmesi, yeni eklemeler yapılması ya da programın teknolojisinin yenilenmesi gibi iĢlemlerdir.
Bilgisayardaki İşlemler
Bilgisayar programı ile yapılan iĢlemler;
1. Matematiksel ĠĢlemler
2. KarĢılaĢtırma ĠĢlemleri
3. Mantıksal ĠĢlemler
Matematiksel İşlemler
İşlem Matematik Bilgisayar
Toplama a + b a + b
Çıkarma a - b a - b
Çarpma a . b a * b
Bölme a † b a / b
Üs alma ab a ^ b
Öncelik Sırası İşlem Bilgisayar
1 Parantezler ((………))
2 Üs alma a ^ b
3 Çarpma ve bölme a * b ve a / b
4 Toplama ve çıkarma a + b ve a – b
Aynı önceliğe sahip işlemler soldan sağa doğru yapılır.
Matematiksel İşlemler
Matematik gösterim Programda gösterim (kodlama)
a + b – c + 2abc - 7 a + b – c + 2 * a * b * c -7
a + b2 – c3 a + b ^ 2 – c ^ 3
a – b / c + 2 * a * c – 2 / (a + b)
(a + b) ^ (1 / 2) – 2 * a * b / (b ^ 2 – 4 * a * c)
(a + b - c) / (a ^ 2 + b ^ 3) ^ (1 / 2) –
2 * (a * b + a * c + b * c) / 9
(a ^ 2 + b ^ 2) ^ (1 / 3) + a * b * c / (a + b / (c – b / a
^ 3)^(1 / 2))
((a - b) ^ (1 / 5)/(a + b – c / (a * b)) ^ (1 / 4)) ^ 1 / 3)
+1 / (1 + 1/ (1 + 1 / (a * b * c)) ^ (1 / 2)) ^ (1 / 2)
ba
22ac
c
ba
4acb
2abba
2
9
bc)ac2(ab
ba
c-ba
32
3
3 22
a
bc
ba
abcba
abc
11
11
1
ab
cba
ba
34
5
Karşılaştırma İşlemleri
Ġki değerin birbirine göre büyüklük, küçüklük veya
eĢitlik durumlarını iĢlemlerdir.
İşlem sembolü Anlamı
= Eşittir
< > Eşit değildir
> Büyüktür
< Küçüktür
> = veya => Büyük eşittir
< = veya =< Küçük eşittir
Mantıksal İşlemler
Mantıksal iĢlem operatörleri, hem karĢılaĢtırma
hem de matematik iĢlemlerde kullanılır.
KarĢılaĢtırma ifadelerinde birden fazla koĢulun
sağlanması istenebilir.
Mantıksal İşlem Komut
VE AND
VEYA OR
DEĞĠL NOT
Mantıksal İşlemler
“VE” iĢleminde bütün koĢullar doğru ise sonuçdoğrudur.
“VEYA” iĢleminde koĢullardan biri doğru isesonuç doğrudur.
Bütün Ģartların sağlanması isteniyorsa “VE”,Ģartların herhangi birinin sağlanması isteniyorsa“VEYA” ve koĢulu sağlamayanlar isteniyorsa“DEĞĠL” operatörü kullanılır.
Mantıksal İşlemler
Mantıksal iĢlemlerde de matematiksel iĢlemlerde olduğu gibi iĢlem öncelik sıraları vardır.
Sıra İşlem Komut
1 Parantez içindeki işlemler (…..)
2 DEĞĠL NOT
3 VE AND
4 VEYA OR
İşlem Örneği
Örnek; Bir iĢyerinde çalıĢan iĢçiler arasından yalnızcayaĢı 23 üzerinde olup, maaĢ olarak asgari ücret alanlarınisimleri listelenmek isteniyor.
Burada iki koĢul vardır ve bu iki koĢulun da doğruolması gerekir. Yani;
Eğer YaĢ>23 VE maaĢ=asgari ücret ise ismi Yaz
Yaz komutu 1. ve 2.koĢulun her ikisi de sağlanıyorsa çalıĢır.
İşlem Örneği
Örnek; Bir sınıfta Bilgisayar dersinden 65 in üzerinde notalıp, Türk Dili veya Yabancı Dil derslerinin herhangibirinden 65 in üzerinde not alanların isimlerilistelenmek isteniyor.
Burada 3 koĢul vardır ve Bilgisayar dersinden 65 inüzerinde not almıĢ olmak temel koĢuldur. Diğer ikidersin notlarının herhangi birinin 65 in üzerinde olmasıgerekir.
Eğer ;
Bilg.Not>65 ve (TDili not>65 veya YDil not>65) ismi Yaz
Algoritma
Bilgisayardaki bir iĢlemin veya iĢlemlerin
gerçekleĢtirilmesinde izlenecek adımlara algoritma denir.Algoritma bir problemin çözümünün sıralı iĢlem
basamaklarıdır.Algoritma, bilgisayarın gerçekleĢtireceği iĢlemleri
tam olarak anlatmalıdır.
1. BaĢla2. Birinci sayıyı (A) gir3. Ġkinci sayıyı (B) gir4. C=A+B iĢlemini yap5. Sonucu (C) yaz6. Dur
Algoritma - Operatör
ĠĢlemleri belirten simgelere, bilgisayar dilinde operatör denir.
Matematiksel Operatörler
İşlem Operatörü C#
Toplama + +
Çıkarma – -
Çarpma * *
Bölme / /
Üs alma ^ n kere *
Algoritma - OperatörKarşılaştırma Operatörleri
İşlem Operatörü C#
Eşittir = ==
Eşit değildir < > !=
Büyüktür > >
Küçüktür < <
Büyük eşittir >= veya => >=
Küçük eşittir < = veya =< <=
Mantıksal İşlem Operatörleri
İşlem Operatörü C#
Değil ‘ !
Ve . &&
Veya + ||
Genel İşlem Operatörleri
İşlem Operatörü C#
Aktarma = =
Parantez () ()
Algoritma - Değişken
Programın her çalıĢtırılmasında farklı değerleralabilen veya farklı değerler aktarabilen bilgialanlarına değişken denir.
DeğiĢkenleri isimlendirme, tamamenprogramcının isteğine bağlıdır. DeğiĢken adınınyerine aldığı ifadeye çağrıĢım yapacak Ģekildeolması, programın anlaşırlığı açısından önemlidir.
Algoritma - Değişken
DeğiĢken isimleri verilirken uyulması gerekenkurallar;▫ Ġngiliz alfabesindeki A-Z veya a-z arasındaki harfler
kullanılabilir,▫ 0-9 arasındaki rakamlar kullanılabilir,▫ Simgelerden sadece alt çizgi _ kullanılabilir,▫ Harf veya alt çizgi ile baĢlayabilir,▫ Rakamla baĢlayamaz ve bütün karakterler
rakamlardan oluĢamaz,▫ Programla dilinin komutları veya anahtar kelimeleri
olamaz.
Algoritma - Değişken
Ad
soyad
_sayi1
1.Sayi
+(sayi2
merhaba
Algoritma - Değişken
VERİ
SAYISAL ALFASAYISAL
TAM SAYI ONDALIKLI KARAKTERKARAKTER
DİZİSİ
Algoritma – Veri Tipleri
C# Açıklama Max ve Min aralık yada değeri
sbyte 8 bit işaretli tamsayı -128 : 127
short 16 bit işaretli tamsayı -32.768 : 32.767
int 32 bit işaretli tamsayı -2.147.483.648 : 2.147.483.647
long 64 bit işaretli tamsayı -9.223.372.036.854.775.808 : -9.223.372.036.854.775.807
byte 8 bit işaretsiz tamsayı 0 : 255
ushort 16 bit işaretsiz tamsayı 0 : 65.535
uint 32 bit işaretsiz tamsayı 0 : 4.294.967.295
ulong 64 bit işaretsiz tamsayı 0 : 18.446.744.073.709.551.615
float 32 bit tek kayan sayı +yada - 1,5*10-45 : + ya da - 3,4*1038
double 64 bit çift kayan sayı +yada - 5*10-324 : + ya da - 1,7*10308
decimal 128 bit ondalıklı sayı +yada - 1,5*10-28 : + ya da - 7,9*1028
bool Doğru-Yanlış – 8 bit true ya da false
char Karakterleri temsil eder 16 Unicode karakterleri
string Sözel ifadeleri temsil eder Unicode karakterleri
Algoritma – Değişken
int tamsayi1;
int tamsayi2=456;
decimal sayi1;
decimal sayi2=23987650.789M;
float ondalikli1;
float ondalikli2=12.6f;
string sozel=“Merhaba Millet”;
char karakter=„A‟;
Algoritma - Değişken
int tamsayi1;
int tamsayi2=456;
decimal sayi1;
decimal sayi2=23987650.789M;
float ondalikli1;
float ondalikli2=12.6f;
string sozel=“Merhaba Millet”;
char karakter=„A‟;
RAM
tamsayi1
tamsayi2
sayi2
ondalikli1
karakter
sozel
4byte
4byte
4byte
2byte
20byte
+
16byte
Akış Diyagramları
Algoritmaların, özel geometrik Ģekillerle çizilmiĢ haline akış diyagramı denir.
Şekil Anlamı
BaĢla-Dur
Bilgi-Veri GiriĢi
ĠĢlem
Bilgi-Veri Yazma
Akış DiyagramlarıŞekil Anlamı
KarĢılaĢtırma
Döngü
Bağlantı
ĠĢlem akıĢ yönü
Akış Diyagramları
1. BaĢla2. Birinci sayıyı (A) gir3. Ġkinci sayıyı (B) gir4. C=A+B iĢlemini yap5. Sonucu (C) yaz6. Dur
BaĢla
Dur
A,B
C=A+B
C
Algoritma
Algoritma Hazırlama Kuralları;1. Problem iyice irdelenir. Tüm olasılıklar gözden
geçirilir.
2. En az komutla, en kısa sürede, en doğru sonuca ulaĢtıracak çözüm yolu belirlenir.
3. DeğiĢken isimleri belirlenir.
4. Algoritmada her iĢlem adımına bir numara verilir.
5. Problemin çözümü için gerekli olan veriler girilir.
6. Yapılacak iĢlemler açık bir Ģekilde yazılır.
7. Bulunan sonuçlar görüntülenir.
Algoritma, bilgisayarın gerçekleştireceği işlemleri
tam olarak anlatmalıdır.
Algoritma
Algoritma geliĢtirirken 3 tip iĢlem vardır;
1. Sıralı iĢlemler
2. KoĢullu iĢlemler
3. Döngüsel iĢlemler
Algoritma Geliştirme
Örnek: Girilen iki sayının toplamını ve çarpımını hesaplayan algoritmayı hazırlayınız.
1. BaĢla
2. 1.Sayıyı gir (A)
3. 2.Sayıyı gir (B)
4. Toplama iĢlemini yap T=A+B
5. Ekrana sonucu yaz (T)
6. Çarpma iĢlemini yap C=A*B
7. Ekrana sonucu yaz (C)
8. Dur
Algoritma Geliştirme
Örnek: Bir öğrencinin girilen iki notunun aritmetik ortalamasını hesaplayan algoritmayı yazınız.
1. BaĢla
2. 1.Sınavı gir (s1)
3. 2.Sınavı gir (s2)
4. Not ortalamasını hesapla ORT=(s1+s2)/2
5. Ekrana ortalamayı yaz (ORT)
6. Dur
Algoritma Geliştirme
Örnek: Bir öğrencinin girilen vize finalinin %40 nı ve final notunun %60 nı alarak ortalamasını hesaplayan algoritmayı yazınız.
1. BaĢla
2. Vize Sınavı gir (V)
3. Final Sınavı gir (F)
4. Not ortalamasını hesapla ORT=(V*0.4+F*0.6)
5. Ekrana ortalamayı yaz (ORT)
6. Dur
Algoritma Geliştirme
Örnek: Klavyeden bir kenar uzunluğu ve o kenara ait yüksekliği girilen üçgenin alanını hesaplayan programın algoritmasını yazınız.
A=a.ha / 2
1. Başla
2. Kenarı gir (a)
3. Yüksekliği gir (h)
4. Alanı hesapla A=a*h/2
5. Ekrana alanı yaz (A)
6. Dur
Algoritma Geliştirme
Örnek: Klavyeden iki dik kenarı girilen üçgenin hipotenüsünü hesaplayan programın algoritmasını yazınız.
b
a
c
22 ba c
1. Başla
2. Birinci Dik Kenarı gir (a)
3. İkinci Dik Kenarı gir (b)
4. Hipotenüsünü hesapla
c=(a^2+b^2)^(1/2)
5. Ekrana Hipotenüsünü yaz (c)
6. Dur
Math.Sqrt
Algoritma Geliştirme
Örnek: Klavyeden yarıçapı girilen kürenin alanını ve hacmini hesaplayan programın algoritmasını yazınız.
2..4 rAlan
3..3
4rHacim
1. Başla
2. Yarıçapı gir (r)
3. Alanı hesapla A=4*pi*r^2
4. Hacmi hesapla
H=(4*pi*r^3)/3
5. Ekrana Alanı ve Hacmi yaz
(A,H)
6. Dur
Algoritma Geliştirme
Örnek: CBAx
Algoritma Geliştirme
Örnek: 02 CBxAx
Algoritma Geliştirme
Örnek: Girilen iki sayının toplamını ve çarpımını hesaplayan algoritmayı hazırlayınız.
1. BaĢla
2. 1.Sayıyı gir (A)
3. 2.Sayıyı gir (B)
4. Toplama iĢlemini yap T=A+B
5. Ekrana sonucu yaz (T)
6. Çarpma iĢlemini yap C=A*B
7. Ekrana sonucu yaz (C)
8. Dur
Algoritma Geliştirme
Bilmemiz gerekenler;
Klavyeden programımıza nasıl değer alacağız?
string girilen_deger=“”;
girilen_deger=Console.ReadLine();
• Klavyeden girilen her şey STRING olarak alınır.
• Yapılacak işleme göre, klavyeden girilen değer uygun
veri tipine dönüştürülmelidir.
• Tanımladığımız değişkenlere başlangıç değeri
aktarabiliriz. Sayısal veriler için 0, sözellere boşluk
atanabilinir.
Algoritma Geliştirme
Bilmemiz gerekenler;
Klavyeden programımıza nasıl değer alacağız?
Veri tiplerini birbirlerine dönüştürürken Convert Sınıfı kullanılır.
float=Convert.ToSingle(donusturulecek_veri);
double=Convert.ToDouble(donusturulecek_veri);
short=Convert.ToInt16(donusturulecek_veri);
int=Convert.ToInt32(donusturulecek_veri);
long=Convert.ToInt64(donusturulecek_veri);
string=Convert.ToString(donusturulecek_veri);
Algoritma Geliştirme
Örnek: Girilen iki sayının toplamını ve çarpımını hesaplayan algoritmayı hazırlayınız.
1. Başla
2. 1.Sayıyı gir (A)
3. 2.Sayıyı gir (B)
4. Toplama işlemini yap T=A+B
5. Ekrana sonucu yaz (T)
6. Çarpma işlemini yap C=A*B
7. Ekrana sonucu yaz (C)
8. Dur
string klavye=“”;
int sayi1=0;
int sayi2=0;
int toplam=0;
int carpim=0;
Console.Write(“1.Sayısı Gir:”);
klavye=Console.ReadLine();
sayi1=Convert.ToInt32(klavye);
Console.Write(“2.Sayısı Gir:”);
klavye=Console.ReadLine();
sayi2=Convert.ToInt32(klavye);
toplam=sayi1+sayi2;
Console.Write(“Toplama Sonucu:”);
Console.WriteLine(toplam);
carpim=sayi1*sayi2;
Console.Write(“Çarpım Sonucu:”);
Console.WriteLine(carpim);
Algoritma Geliştirme
Örnek: Bir öğrencinin girilen iki notunun aritmetik ortalamasını hesaplayan algoritmayı yazınız.
1. Başla
2. 1.Sınavı gir (s1)
3. 2.Sınavı gir (s2)
4. Not ortalamasını
hesapla ORT=(s1+s2)/2
5. Ekrana ortalamayı yaz
(ORT)
6. Dur
float sinav1=0;
float sinav2=0;
float ortalama=0;
string klavye=“”;
Console.Write(“1.Sınavı Gir:”);
klavye=Console.ReadLine();
sinav1=Convert.ToSingle(klavye);
Console.Write(“2.Sınava Gir:”);
klavye=Console.ReadLine();
sinav2=Convert.ToSingle(klavye);
ortalama=(sinav1+sinav2)/2;
Console.Write(“Ortalama Sonucu:”);
Console.WriteLine(ortalama);
Algoritma Geliştirme
Koşullu İşlemler;
Eğer Koşul Doğru ise yapılacak işlem
Eğer Koşul Doğru ise yapılacak işlem1 değilse yapılacak işlem2
Algoritma Geliştirme
Koşullu İşlemler;Klavyeden girilen sayının pozitif, negatif veya sıfıra eşit olduğunu
ekrana yazdıran programın algoritması ve akış diyagramını çiziniz.
1. Başla
2. Sayıyı giriniz (Sayı)
3. Eğer Sayı > 0 ise ekrana „POZİTİF‟ yaz
4. Eğer Sayı < 0 ise ekrana „NEGATİF‟ yaz
5. Eğer Sayı = 0 ise ekrana „SIFIR‟ yaz
6. Dur
BaĢla
Dur
Sayı
POZİTİFSayi>0
Sayi<0 NEGATİF
Sayi=0 SIFIR
E
E
E
H
H
H
Algoritma Geliştirme
Koşullu İşlemler;Klavyeden girilen sayının pozitif, negatif veya sıfıra eşit olduğunu ekrana
yazdıran programın algoritması ve akış diyagramını çiziniz.
string klavye=“”;
int sayi=0;
Console.Write(“Sayısı Gir:”);
klavye=Console.ReadLine();
sayi=Convert.ToInt32(klavye);
if (sayi>0)
{
Console.WriteLine(“POZİTİF”)
}
if (sayi<0)
{
Console.WriteLine(“NEGATİF”)
}
if (sayi==0)
{
Console.WriteLine(“SIFIR”)
}
Algoritma Geliştirme
Koşullu İşlemler;Klavyeden girilen iki sayıdan büyüğünü ekrana yazdıran programın
algoritması ve akış diyagramını çiziniz.
1. Başla
2. 1.Sayıyı giriniz (Sayı1)
3. 2.Sayıyı giriniz (Sayı2)
4. Eğer Sayı1 > Sayı2 ise ekrana
Sayı1 değerini yaz değilse
ekrana Sayı2 değerini yaz
5. Dur
BaĢla
Dur
Sayı1,Sayı
2
Sayı1Sayi1>Sayı2
E
H
Sayı2
Algoritma Geliştirme
Koşullu İşlemler;Klavyeden girilen iki sayıdan büyüğünü ekrana yazdıran programın
algoritması ve akış diyagramını çiziniz.
string klavye=“”;
int sayi1=0;
int sayi2=0;
Console.Write(“1.Sayısı Gir:”);
klavye=Console.ReadLine();
sayi1=Convert.ToInt32(klavye);
Console.Write(“2.Sayısı Gir:”);
klavye=Console.ReadLine();
sayi2=Convert.ToInt32(klavye);
if (sayi1>sayi2)
{
Console.Write(“Büyük Sayı: ”)
Console.WriteLine(sayi1);
}
Else
{
Console.Write(“Büyük Sayı: ”)
Console.WriteLine(sayi2);
}
Algoritma Geliştirme
Koşullu İşlemler;Klavyeden girilen sayının pozitif, negatif veya sıfıra eşit olduğunu
ekrana yazdıran programın algoritması ve akış diyagramını çiziniz.(2.yöntem)
1. Başla
2. Sayıyı giriniz (Sayı)
3. Eğer Sayı > 0 ise ekrana „POZİTİF‟ yaz,6.adıma git
4. Eğer Sayı < 0 ise ekrana „NEGATİF‟ yaz,6.adıma git
5. Eğer Sayı = 0 ise ekrana „SIFIR‟ yaz,6.adıma git6. Dur
BaĢla
Dur
Sayı
POZİTİFSayi>0
Sayi<0 NEGATİF
Sayi=0 SIFIR
E
E
E
H
H
H
Algortimada klavyeden girilen sayının alabileceği
değerlere göre 3.,4. ve 5. adımdan sadece 1 tanesi
çalışır. Örneğin 3. adımın şartı doğru ise 4 ve 5 numaralı
Adımların çalışmasına gerek yoktur.
Algoritma Geliştirme
Koşullu İşlemler;Klavyeden girilen sayının pozitif, negatif veya sıfıra eşit olduğunu ekrana
yazdıran programın algoritması ve akış diyagramını çiziniz.
string klavye=“”;
int sayi=0;
Console.Write(“Sayısı Gir:”);
klavye=Console.ReadLine();
sayi=Convert.ToInt32(klavye);
if (sayi>0)
{
Console.WriteLine(“POZİTİF”)
}
else if (sayi<0)
{
Console.WriteLine(“NEGATİF”)
}
else if (sayi==0)
{
Console.WriteLine(“SIFIR”)
}
string klavye=“”;
int sayi=0;
Console.Write(“Sayısı Gir:”);
klavye=Console.ReadLine();
sayi=Convert.ToInt32(klavye);
if (sayi>0)
{
Console.WriteLine(“POZİTİF”)
}
else if (sayi<0)
{
Console.WriteLine(“NEGATİF”)
}
else
{
Console.WriteLine(“SIFIR”)
}
VEYA
Algoritma Geliştirme
Klavyeden girilen 3 adet tam sayıdan büyüğünü bulan
programın algoritmasını ve akış diyagramını yazınız.
string klavye=“”;
int sayi1=0,sayi2=0,sayi3=0,EBS=0;
Console.Write("1.Sayı: ");
klavye = Console.ReadLine();
sayi1 = Convert.ToInt32(klavye);
Console.Write("2.Sayı: ");
klavye = Console.ReadLine();
sayi2 = Convert.ToInt32(klavye);
Console.Write("3.Sayı: ");
klavye = Console.ReadLine();
sayi3 = Convert.ToInt32(klavye);
EBS = sayi1;
if (sayi2 > EBS)
{
EBS = sayi2;
}
if (sayi3 > EBS)
{
EBS = sayi3;
}
Console.Write("En büyük sayı= ");
Console.WriteLine(EBS);
Algoritma Geliştirme
Bir eğitim kurumunda görev yapan öğretmenlere normal
maaşlarına ek olarak, girdikleri ders saatine göre ek ücret
ödenmektedir. Ödenecek ek ücret aşağıdaki şartlara göre
verilmektedir.
Ders saati 10 saatten az ise ders saati başına 10 TL,
Ders saati 10 ile 20 saat arasında ise ders saati başına 15TL,
Ders saati 20 saatten fazla ise ders saati başına 20 TL,
Algoritma Geliştirme1. Başla
2. Ders saatini gir (ds)
3. Eğer ds<10 ise ücreti hesapla ucret=ds*10
4. Eğer 10<=ds ve ds<=20 ise ucret=ds*15
5. Eğer ds>20 ise ucret=ds*20
6. Ekrana ücreti yazdır (ucret)
BaĢla
Dur
ds
ds<10
10<=ds
de
ds<=20
ds>20
ucret=ds*10
ucret=ds*10
ucret=ds*10
E
E
E
H
H
H
1.YOL
ucret
Algoritma Geliştirmestring klavye = "";
int ds = 0;
int ucret = 0;
Console.Write("Ders Saati Miktarını gir: ");
klavye = Console.ReadLine();
ds = Convert.ToInt32(klavye);
if (ds < 10)
{
ucret = ds * 10;
}
if (ds >= 10 && ds <= 20)
{
ucret = ds * 15;
}
if (ds > 20)
{
ucret = ds * 20;
}
Console.Write("Ücret Değeri= ");
Console.WriteLine(ucret);
1.YOL
Algoritma Geliştirme1. Başla
2. Ders saatini gir (ds)
3. Eğer ds<10 ise ücreti hesapla ucret=ds*10, 6.adıma git
4. Eğer 10<=ds ve ds<=20 ise ucret=ds*15, 6.adıma git
5. Eğer ds>20 ise ucret=ds*20, 6.adıma git
6. Ekrana ücreti yazdır (ucret)
BaĢla
Dur
ds
ds<10
ds>20
ucret=ds*10
ucret=ds*10
ucret=ds*10
E
E
E
H
H
H
2.YOL
10<=ds
de
ds<=20
ucret
Algoritma Geliştirmestring klavye = "";
int ds = 0;
int ucret = 0;
Console.Write("Ders Saati Miktarını gir: ");
klavye = Console.ReadLine();
ds = Convert.ToInt32(klavye);
if (ds < 10)
{
ucret = ds * 10;
}
else if (ds >= 10 && ds <= 20)
{
ucret = ds * 15;
}
else if (ds > 20)
{
ucret = ds * 20;
}
Console.Write("Ücret Değeri= ");
Console.WriteLine(ucret);
2.YOL
Algoritma Geliştirme
Bir öğrencinin girilen vize finalinin %40 nı ve final notunun %60 nı alarak ortalamasını hesaplayan ve ortalama 70 ve üzerinde ise ekrana BAġARILI değilse BAġARISIZ yazan programın algoritmasını yazınız.
1. Başla
2. Vize Sınavı gir (V)
3. Final Sınavı gir (F)
4. Not ortalamasını hesapla
ORT=(V*0.4+F*0.6)
5. Ekrana ortalamayı yaz (ORT)
6. Eğer ORT>=70 ise ekrana
“BAŞARILI” yaz .
değilise ekrana “BAŞARISIZ” yaz
7. Dur
BaĢla
Dur
V,F
ORT>=70
ORT=(V*0.4+F*0.6)
ORT
BAŞARILI
BAŞARISIZ
E
H
Algoritma Geliştirme
Bir öğrencinin girilen vize finalinin %40 nı ve final notunun %60 nı alarak ortalamasını hesaplayan ve ortalama 70 ve üzerinde ise ekrana BAġARILI değilse BAġARISIZ yazan programın algoritmasını yazınız.
string klavye = "";
double v = 0;
double f = 0;
double ort = 0;
Console.Write("Vize notunu gir: ");
klavye = Console.ReadLine();
v = Convert.ToDouble(klavye);
Console.Write("Final notunu gir: ");
klavye = Console.ReadLine();
f = Convert.ToDouble(klavye);
ort = v * 0.4 + f * 0.6;
Console.Write("ORT= ");
Console.WriteLine(ort);
if (ort < 25)
{
Console.WriteLine("BAŞARILI");
}
else
{
Console.WriteLine("BAŞARISIZ");
}
Algoritma Geliştirme
Klavyeden girilen a sayısının, yine klavyeden girilen b sayısına tam bölünüp bölünemeyeceğini ekrana yazan programın algoritmasını ve akıĢ diyagramını yazınız.
Algoritma Geliştirme
Klavyeden girilen a sayısının tek mi çift mi olduğunu ekrana yazan programın algoritmasını ve akıĢ diyagramını yazınız.
Algoritma Geliştirme
02 CBxAx
∆=B^2+4*A*C
∆>0 x1,2=(-B+-(∆)^(1/2))/(2*A)
∆=0 x1=x2=-B/2*A
∆<0 KÖK YOK
Algoritma Geliştirme
Bir öğrencinin girilen 100 lük notunu harfe çeviren programın algoritmasını yazınız.
Algoritma Geliştirme
Klavyeden ilk önce seri bağlantı veya paralel
bağlantı olduğu bilgisi girilen, iki direncin ohm
cinsinden eşdeğer direnç değerini bulan
programın algoritması ve akış diyagramını
çiziniz.
Algoritma
Ödev1: Klavyeden girilen 3 basamaklı sayıyı
basamak değerlerini ayıran programın
algoritmasını ve akış diyagramını yazınız.
Ödev2: Klavyeden girilen 3 basamaklı sayıyı
tersten ekrana yazdıran programın algoritmasını
ve akış diyagramını yazınız.
Algoritma
Döngüsel işlemler
Belli bir kurala göre tekrarlayan işlemlere denir.
Örnek: 1 den 100 kadar sayıları ekrana yazan
program.
Algoritma
1 den 10‟ a kadar sayıları ekrana yazan
programın algoritması ve akış diyagramını
çiziniz.
1. Başla
2. Sayı değerine 1 ata (Sayı=1)
3. Ekrana Sayı değerini yazdır (Sayı)
4. Sayı=Sayı+1
5. Eğer Sayı<=10 ise 3.adıma git
6. Dur
BaĢla
Dur
Sayı<=10
Sayı=1
Sayı
E
H
Sayı=Sayı+1
Algoritma
1 den 10‟ a kadar sayıları ekrana yazan
programın algoritması ve akış diyagramını
çiziniz.
1. Başla
2. Sayı değerine 1 ata (Sayı=1)
3. Ekrana Sayı değerini yazdır (Sayı)
4. Eğer Sayı<10 ise Sayı=Sayı+1, 3.adıma
git
5. Dur
BaĢla
Dur
Sayı<10
Sayı=1
Sayı
E
H
Sayı=Sayı+1
Algoritma
1 den 100‟ e kadar çift sayıları ekrana yazan
programın algoritması ve akış diyagramını
çiziniz.
1. Başla
2. Sayı değerine 2 ata (Sayı=2)
3. Ekrana Sayı değerini yazdır (Sayı)
4. Sayı=Sayı+2
5. Eğer Sayı<=100 ise 3.adıma git
6. Dur
Algoritma
1 den 100‟ e kadar tek sayıları ekrana yazan
programın algoritması ve akış diyagramını
çiziniz.
1. Başla
2. Sayı değerine 1 ata (Sayı=1)
3. Ekrana Sayı değerini yazdır (Sayı)
4. Sayı=Sayı+2
5. Eğer Sayı<=100 ise 3.adıma git
6. Dur
Algoritma
Klavyeden girilen bir sayının faktöriyelini
hesaplayan programın algoritması ve akış
diyagramını çiziniz
1. Başla
2. Sayı değerine gir (Sayı)
3. Çarpıma 1 değerini ata (C=1)
4. C=C*Sayı
5. Sayı=Sayı-1
6. Eğer Sayı>=1 ise 4.adıma git
7. Ekrana C değerini yazdır (C)
8. Dur
5*4*3*2*1
1. Başla
2. Sayı değerine gir (Sayı)
3. Sayaca 1 değerini ata (S=1)
4. Çarpıma 1 değerini ata (C=1)
5. C=C*S
6. S=S+1
7. Eğer S<=Sayı ise 5.adıma git
8. Ekrana C değerini yazdır (C)
9. Dur
1*2*3*4*5
Algoritma
Klavyeden girilen birinci sayıdan, yine klavyeden
girilen ikinci sayıya kadar(ikinci sayıda dahil)
sayıları toplayan programın algoritması ve akış
diyagramını çiziniz .(İkinci sayının birinci sayıdan
büyük olduğu düşünülecek.)
Algoritma
Klavyeden girilen birinci sayıdan, yine klavyeden
girilen ikinci sayıya kadar(ikinci sayıda dahil)
sayıları toplayan programın algoritması ve akış
diyagramını çiziniz.(İkinci sayının birinci sayıdan
büyük olduğu düşünülecek.)
1. Başla
2. Sayı1 değerine gir (Sayı1)
3. Sayı2 değerine gir (Sayı2)
4. Toplama 0 değerini ata (T=0)
5. T=T+Sayı1
6. Sayı1=Sayı1+1
7. Eğer Sayı1<=Sayı2 ise 5.adıma git
8. Toplam değerini ekrana yazdır (T)
9. Dur
Algoritma
Klavyeden girilen birinci sayıdan, yine klavyeden
girilen ikinci sayıya kadar(ikinci sayıda dahil)
sayıları aritmetik ortalamasını hesaplayan
programın algoritması ve akış diyagramını
çiziniz .(İkinci sayının birinci sayıdan büyük
olduğu düşünülecek.)
Algoritma
Klavyeden girilen birinci sayıdan, yine klavyeden girilen
ikinci sayıya kadar(ikinci sayıda dahil) sayıları toplayan
programın algoritması ve akış diyagramını çiziniz.(İkinci
sayının birinci sayıdan büyük olduğu düşünülecek.)
1. Başla
2. Sayı1 değerine gir (Sayı1)
3. Sayı2 değerine gir (Sayı2)
4. Sayac değerine 0 ata (S=0)
5. Toplama 0 değerini ata (T=0)
6. T=T+Sayı1
7. Sayı1=Sayı1+1
8. S=S+1
9. Eğer Sayı1<=Sayı2 ise 6.adıma git
10.ORT=T/S
11.Ekrana ortalamayı yazdır (ORT)
12.Dur
Algoritma
Klavyeden girilen birinci sayıdan, yine klavyeden
girilen ikinci sayıya kadar(ikinci sayıda dahil) 3‟e
tam bölünebilen sayıların adetini ve sayıları
ekrana yazdıran programın algoritması ve akış
diyagramını çiziniz .(İkinci sayının birinci sayıdan
büyük olduğu düşünülecek.)
Algoritma
Klavyeden girilen birinci sayıdan, yine klavyeden girilen ikinci sayıya
kadar(ikinci sayıda dahil) 3‟e tam bölünebilen sayıların adetini ve
sayıları ekrana yazdıran programın algoritması ve akış diyagramını
çiziniz .(İkinci sayının birinci sayıdan büyük olduğu düşünülecek.)
1. Başla
2. Sayı1 değerine gir (Sayı1)
3. Sayı2 değerine gir (Sayı2)
4. Sayac değerine 0 ata (S=0)
5. Sayı1‟in 3 modunu al (sonuc=Sayı1 mod 3)
6. Eğer sonuc=0 ise Ekrana Sayı1 değerini yazdır (Sayı1), S=S+1
7. Sayı1=Sayı1+1
8. Eğer Sayı1<=Sayı2 ise 5.adıma git
9. Ekrana S değerini yazdır (S)
10.Dur
Algoritma
Klavyeden 0 girilene kadar pozitif sayıları toplayan
ve adetini bulan programın algoritmasını ve akış
diyagramını çiziniz.
Algoritma
Klavyeden 0 girilene kadar pozitif sayıları toplayan
ve adetini bulan programın algoritmasını ve akış
diyagramını çiziniz.
1. Başla
2. Toplam değerine 0 ata (T=0)
3. Sayac değerine 0 ata (S=0)
4. Sayı gir (Sayı)
5. Eğer Sayı>0 ise T=T+Sayı,S=S+1
6. Eğer Sayı<>0 ise 4.adıma git
7. Ekrana S değerini yazdır (S)
8. Ekrana T değerini yazdır (T)
9. Dur
Algoritma
Klavyeden girilen 20 adet tam sayısının en
büyüğünü ekrana yazdıran programın
algoritması ve akış diyagramını çiziniz.
Algoritma
Klavyeden girilen 20 adet tam sayısının en büyüğünü ekrana yazdıran
programın algoritması ve akış diyagramını çiziniz.
1. Başla
2. Sayac değerine 0 ata (S=0)
3. Sayı gir (Sayı)
4. S=S+1
5. Eğer S=1 ise EBS=Sayı
6. Eğer Sayı>EBS ise EBS=Sayı
7. Eğer S<20 ise 3.adıma git
8. Ekrana EBS değerini yazdır (EBS)
9. Dur
Algoritma
Klavyeden eleman sayısı girilen bir kümenin
belirtilen kombinasyonlarının sayısını
hesaplayan programın algoritması ve akış
diyagramını çiziniz.
N elemanlı bir kümenin r‟li kombinasyonlarının
sayısı
)!(!
!),(
rnr
nrnC n
r
Algoritma
Klavyeden girilen bir a tam sayısının tam
bölenlerini ekrana yazdıran programın
algoritması ve akış diyagramını çiziniz.
Algoritma
Klavyeden girilen bir tam sayısının, belirtilen
pozitif tamsayı üssünü alan programın
algoritması ve akış diyagramını çiziniz.
Algoritma
Klavyeden girilen bir tam sayısının, belirtilen
pozitif tamsayı üssünü alan programın
algoritması ve akış diyagramını çiziniz.
Klavyeden girilen 10 adet sayıdan çift sayıların toplamının tek sayıların
toplamına oranını bulan algoritma yazınız
Bir sınıfta 20 öğrenci vardır. Bu öğrencilerin bir sınavdan aldıkları
notların (0-100) ortalamasını (Sınıf ortalamasını) bulan programın
algoritmasını ve akış diyagramını bulunuz.
Girilen n adet sayının:
a-) 5 ile bölünebilen sayıların toplamı ve adeti
b-) 3 ile bölünebilen sayıların toplamı ve adeti
c-) 2 ile bölünebilen sayıların toplamı ve adeti
Algoritma