bilgisayar mühendisliği ne giriş

80
Bilgisayar Mühendisliğine Giriş Algoritmalar ve Programlama

Upload: lani-blevins

Post on 02-Jan-2016

110 views

Category:

Documents


8 download

DESCRIPTION

Bilgisayar Mühendisliği ne Giriş. Algoritmalar ve Programlama. Giriş. Bilgisayar verilen giriş verilerini belirtilen yöntemlerle işleyerek istenilen sonuçları üreten kompleks bir elektronik sistemdir. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Bilgisayar   Mühendisliği ne  Giriş

Bilgisayar Mühendisliğine Giriş

Algoritmalar ve Programlama

Page 2: Bilgisayar   Mühendisliği ne  Giriş

Giriş Bilgisayar verilen giriş verilerini belirtilen

yöntemlerle işleyerek istenilen sonuçları üreten kompleks bir elektronik sistemdir.

İşlenecek veriler ve kullanılacak çözüm yöntemleri bilgisayara insan tarafından program ile bildirilir. Bu nedenle bilgisayarın problemi çözmesi için programa ihtiyacı vardır.

İnsan ile bilgisayar arasındaki iletişim aracı olan program, giriş değerlerini kullanarak istenilen çıkış değerlerinin elde edilebilmesi için bilgisayara iletilen komutlar dizisidir.

Page 3: Bilgisayar   Mühendisliği ne  Giriş

Giriş / Çıkış (Input / Output) Aynı benzer durum fabrikalarda da vardır.

İşletmede üretimin olabilmesi için hammadde(giriş değer) ve makinelere ihtiyaç vardır.

Bilgisayarda olduğu gibi işletmede de işin merkezinde insan vardır. Her iki türde de yapılacak işler makineye / bilgisayara insan tarafından bildirilir.

Hammadde Makine Ürün

Veri Program Sonuç

Page 4: Bilgisayar   Mühendisliği ne  Giriş

Bilgisayar insanın programlarla verdiği komutları yerine getirmektedir.

Kullanıcı bilgisayara ne tarif etmişse onun karşılığını alır. Yani program, bilgisayara sonuçları üretirken problem çözümünde hangi verileri nasıl işleyeceğini ve ne tür sonuçlar üreteceğini bildirir.

Program ile bunun bilgisayara tarif edilebilmesi için kişinin temelde o problemin nasıl çözüleceğini tam olarak bilmesi gerekmektedir.

Page 5: Bilgisayar   Mühendisliği ne  Giriş

Bir problemin birden fazla çözümü olabilir. Programcı (programı tasarlayan kişi) en

kısa ve etkili yöntemi yeteneği ölçüsünde bulmalıdır.

Eğer yazılan programdaki çözüm yolu yanlış ise bilgisayarın bulacağı sonuçlar da yanlış olur. Dolayısıyle program yazılmadan önce problemin iyice irdelenmesi, uygun çözüm yolunun belirlenip bilgisayara doğru şekilde tarif edilmesi gerekir.

Page 6: Bilgisayar   Mühendisliği ne  Giriş

Problem çok uzun ve karmaşık bir problem ise mümkün olduğunca parçalara ayrılabilir. Her bir bölüm(*) ayrı ayrı yazılıp çalıştırılır ve herhangi bir hata yoksa bunlar birleştirilir.

(*) Bu her bir alt bölüme programlama dillerinde subroutine/function/procedure gibi isimler verilebilmektedir.

Page 7: Bilgisayar   Mühendisliği ne  Giriş

Programlama Dilleri Programlama dili, bilgisayar ile programcı

arasındaki iletişimi sağlayan bir araç olup programların yazımında kullanılan bir çeşit araçtır(programdır).

Yazdır komutuna örnekler Programlama Dili Komut Basic Print C printf Pascal writeln

Page 8: Bilgisayar   Mühendisliği ne  Giriş

Programlama Dilleri Sınıflaması Programlama dillerini grublara ayırsak.

Makine dili (Makine kodu): Bilgisayarın hiçbir değişikliğe gerek duymaksızın algılayabilip çalıştırabildiği komutların yazıldığı programlama dilidir.

Mesela : assembler

Sembolik diller: Makine dilinden daha gelişmiş, program yazmanın makine diline göre daha kolay olduğu programlama dilleridir.

Mesela : C, C++, Pascal...

Page 9: Bilgisayar   Mühendisliği ne  Giriş

Sembolik dillerde yazılmış bir kodun bilgisayar tarafından algılanabilmesi, çalıştırılabilmesi için makine diline çevrilmesi gerekir.

Bu dönüşüm, derleyici olarak adlandırılan yazılımlar(programlar) ile yapılır.

Sembolik Dil ile yazılmış Kod

KAYNAK KOD

Derleyici

(Pascal, C, Basic, ..)

Makine kodu

AMAÇ PROGRAM

Page 10: Bilgisayar   Mühendisliği ne  Giriş

Bilgisayarın yaptığı işlemler Aritmetiksel işlemler toplama, çıkarma, ..

Karşılaştırma işlemleri (KARAR) iki nesnenin kıyaslanması

Mantıksal işlemler (LOGİC) ve, veya , değil

Page 11: Bilgisayar   Mühendisliği ne  Giriş

Aritmetiksel işlemler Toplama a+b Çıkarma a-b Çarpma a*b Bölme a/b Üs alma a^b

Page 12: Bilgisayar   Mühendisliği ne  Giriş

İşlem önceliğiMatematiksel işlemler içeren kümenizin içindeki matematiksel işaretlerin bir işlem önceliği vardır. İşlem Önceliği Sırası 1. Parantezler ( ) 2. Üs alma a^b 3. Çarpma ve bölme a*b veya a/b 4. Toplama ve çıkarma a+b veya a-b Aynı önceliğe sahip işlemler yan yana

bulunuyorsa işlem önceliği genelde soldan sağa doğrudur. X=2*3/6+2

Page 13: Bilgisayar   Mühendisliği ne  Giriş

matematiksel ifadelerin bilgisayar kodları?

Page 14: Bilgisayar   Mühendisliği ne  Giriş

Örnek a=4, b=6, c=8, d=10 değerleri için

bilgisayar dilinde kodlanmış notasyonların sonuçlarını bulunuz.

a*b/(c-b)+b (?)

c*d/a*d+b+c*d/a (?)

c*d/a*d+(b+c)*d/a (?)

Page 15: Bilgisayar   Mühendisliği ne  Giriş

Örnek-2 a=1, b=2, c=3, d=4, e=-2

a+d/b+d^2+2*a*b*c/d+e ?

(a+b)/c+d^2+2*a*b*c/(d+e) ?

a+b/(c+d)^2+2*a*b*c/d+e ?

(a+b)/(c+d)^2+2*a*b*c/(d+e) ?

Page 16: Bilgisayar   Mühendisliği ne  Giriş

Karşılaştırma İşlemleriEşittir =Eşit değildir <>Büyüktür >Küçüktür <Büyük eşittir >=Küçük eşittir <=

Page 17: Bilgisayar   Mühendisliği ne  Giriş

Örnek Algoritma1. Başla2. A sayısını gir3. B sayısını gir4. Eğer A>B ise Yaz “A sayısı, B sayısından büyüktür”5. Eğer A<B ise Yaz “A sayısı, B sayısından küçüktür”6. Eğer A=B ise Yaz “A sayısı, B sayısına eşittir”7. Dur

Girilen A sayısı Girilen B sayısı Ekrana yazılan sonuç 3 7 ?

Page 18: Bilgisayar   Mühendisliği ne  Giriş

Mantıksal İşlemler Programlarda, birden fazla karşılaştırma

ifadesi bir anda kullanılmak istenebilir. Bu gibi durumlarda mantıksal ifadeler kullanılması zorunludur.

MANTIKSAL KOMUTLAR MATEMATİKSEL İŞLEMLER SEMBOL VE AND . VEYA OR +

DEĞİL NOT ′

Page 19: Bilgisayar   Mühendisliği ne  Giriş

Mantıksal İşlem SonuçlarıSonuç Rakam olarak Bilgisayar Dilinde

Doğru 1 True (1)

Yanlış 0 False (0)

Page 20: Bilgisayar   Mühendisliği ne  Giriş

Mantıksal İşlemler

VE (AND)

VEYA (OR)

DEGiL(NOT)

A B A VE B

0 0 0

0 1 0

1 0 0

1 1 1

A B A VEYA B

0 0 0

0 1 1

1 0 1

1 1 1

A DEGiL A

0 1

1 0

Page 21: Bilgisayar   Mühendisliği ne  Giriş

ÖrnekBir işyerinde çalışan işçiler arasından yalnızca yaşı 23’ün üzerinde olup maaş olarak asgari ücret alanların isimleri istenebilir. Burada iki koşulun da doğru olması

gerekmektedir. (Asgari ücret 527)

1nci koşul 2nci koşul

Eğer Yaş>23 ve Maaş=Asgari ücret ise

Yaz İsim

Page 22: Bilgisayar   Mühendisliği ne  Giriş

Örnek Algoritma Bir sınıfta Bilgisayar dersinden 65 in üzerinde not

almış olup Seçmeli Yabancı Dil (İngilizce) veya Seçmeli Yabancı Dil (Almanca) derslerinin herhangi birinden 65 in üzerinde not alanların isimleri istenmektedir.

Eğer Bilgisayar notu > 65 VE (İngilizce > 65 VEYA Almanca > 65) ise

Yaz “Öğrencinin ismini”

Page 23: Bilgisayar   Mühendisliği ne  Giriş

Algoritma Hazırlama İnsan günlük yaşamında herhangi bir işi

gerçekleştirmeden önce genellikle plan yapar. Plan, yapılacak olan işin adımlarını belirtir ve hedefe ulaşmada hem yol gösterir hem de büyük kolaylıklar sağlar.

Bilgisayardaki bir işlemin gerçekleştirilmesinde izlenecek adımlar dizisine de algoritma denilmektedir.

O zaman algoritma, işlemleri yaptırabilmek için bilgisayara tarif edilen işlem basamaklarıdır.

Page 24: Bilgisayar   Mühendisliği ne  Giriş

Bilgisayar bir problemi çözerken “hangi ve neredeki giriş değerlerini alacak, bunları işlerken ne tür yöntemleri kullanacak, ne tür sonuçlar üretecek ve bu sonuçları nerede gösterecek veya saklayacak” gibi adımları gözönüne alır.

Bu adımların hepsi, hazırlanan algoritmanın herhangi bir programlama dilinin kurallarına uygun olarak yazılmış komutlarıyla bilgisayara iletilir.

Algoritmanın özel geometrik şekillerle çizilmiş haline akış diyagramı denilmektedir.

Page 25: Bilgisayar   Mühendisliği ne  Giriş

Tanımlayıcı Program yazan kişi tarafından düşünülüp oluşturulan ve

programdaki değişkenleri, sabitleri, kayıt alanlarını, alt programları, vs.. adlandırmak için kullanılan kelimelere tanımlayıcı denir.

Bu kelimeler isimlendirilirken kurallara dikkat edilmelidir:İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir. 0-9 rakamları kullanılabilir. Sembollerden alt çizgi kullanılabilir. ( _ )Tanımlayıcı ifadeleri harf veyha altçizgi ile başlayabilir ama rakamla başlamaz. İsimler oluşturulurken boşluk kullanılmamalıdır.

maaş katsayısı değil maas_katsayisi

Page 26: Bilgisayar   Mühendisliği ne  Giriş

Aktarma Herhangi bir ifadenin sonucunu başka bir değişkende göstermedir.

degisken = ifade

ifade kısmında matematiksel, mantıksal veya harfsel (alfasayısal) ifade olabilir.

= sembolü atama operatörüdür. Bu operatör,

sağda hesaplanan ifadenin değerini degisken içine (sola) iletir.

Page 27: Bilgisayar   Mühendisliği ne  Giriş

Değişken değerinin artırılıp azaltılmasıc’nin ilk değeri 10 olsun. c=c+1 ifadesi çalıştığında şöyle bir işlem yapılır: = işaretinin sağındaki c’nin değeri alınır, 1 ile

toplanır, sonuç ise soldaki c’ye atanır. Bu şekilde c’nin son değeri 11 olmuş olur.

Demekki c bir değişken ise bu değişkenin değerini bir artırmak için c=c+1 kullanılabilir.

Aynı mantık ile değişken değerini iki azaltmak için de c=c-2 kullanılabilir.

Page 28: Bilgisayar   Mühendisliği ne  Giriş

Örnek1. Başla2. t=03. Bir sayı gir (a = 5) 4. t=t+a işlemini yap5. Başka bir sayı gir (b = 4)6. t=t+b işlemini yap7. Başka bir sayı gir (c = 6) 8. t=t+c işlemini yap9. Yaz t10. Dur

Page 29: Bilgisayar   Mühendisliği ne  Giriş

SayaçProgramda bazı işlemlerin belirli sayıda yapılması isteniyorsa sayaç kullanılır.

Örneğin “girilen sayılardan kaç tanesi çift” sorusunun cevabı için sayaç kullanılmalıdır.

Sayaç ta bir tip değişkendir.

Programda girilen sayıya bakılır, eğer çift ise sayac değişkeninin değeri bir artırılır. Bu şekilde sayac değişkeninin son değeri çift sayıların adedi olur.

Page 30: Bilgisayar   Mühendisliği ne  Giriş

Aşağıdaki algoritma nasıl bir çıktı verir?

1. Başla2. sayac=03. Eğer sayac>4 ise Git 74. sayac=sayac+15. Yaz sayac6. Git 37. Dur

Page 31: Bilgisayar   Mühendisliği ne  Giriş

Aşağıdaki algoritma ne iş yapmaktadır?1. Başla2. sayac=03. Bir sayı gir. (sayi)4. Eğer sayi=0 ise Git 75. Eğer mod(sayi,2)=0 ise sayac=sayac+16. Git 37. Yaz sayac8. Dur

Page 32: Bilgisayar   Mühendisliği ne  Giriş

Döngü Bazı işlemler belli ardışık değerlerle veya

belli sayıda gerçekleştirilmektedir. Programda belirli komut bütünlerini belirli

sayıda yaptırabilmek için döngüler kullanılır.

Page 33: Bilgisayar   Mühendisliği ne  Giriş

Döngü Örneği Örneğin 1 ile 100 arasındaki sayıların toplamını

hesaplayan programda toplam=1+3+5+..+99 yapmak yerine 1 ile 100 arasında ikişer artan döngü kurup toplamak daha doğru olacaktır.

1. Başla2. toplam=03. sayac=14. Eğer sayac>100 ise git 85. Eğer sayac mod 2 = 1 toplam=toplam+sayac6. sayac=sayac+17. Git 38. Yaz toplam9. Dur

Page 34: Bilgisayar   Mühendisliği ne  Giriş

1 .. 100 arası 5 in katı olan sayıların adedi?1. başla2. sayac=03. sayi=14. Eğer sayi > 100 ise git 85. Eğer sayi mod 5 = 0 ise sayac=sayac+16. sayi=sayi+17. Git 48. Yaz sayac 9. Dur

Page 35: Bilgisayar   Mühendisliği ne  Giriş

x ile y arasındaki z nin katı olan sayıların adedini ve toplamlarını bulan algoritma1. başla2. sayac=03. toplam=04. ilk sayıyı gir (x) 5. son sayıyı gir (y) 6. kacın katı oldugunu gir (z) 7. sayi=x 8. Eğer sayi > y ise git 139. Eğer sayi mod z = 0 ise sayac=sayac+110. Eğer sayi mod z = 0 ise toplam=toplam+sayi11. sayi=sayi+112. Git 8 13. Yaz sayac,toplam14. Dur

Page 36: Bilgisayar   Mühendisliği ne  Giriş

Klavyeden 0 girene kadar girilen sayıları ekrana yazan algoritma1.Başla2.Bir sayı gir. (sayi)3.Eğer sayi=0 ise Git 64.Yaz sayi5.Git 26.Dur

Page 37: Bilgisayar   Mühendisliği ne  Giriş

Sayıyı parçalara ayırmak (Cevabı)1. basla2. us=43. eğer us<1 git 104. bolum=sayi/10^us5. kalan=sayi mod (10^us)6. sayi=sayi-bolum*(10^us)7. yaz bolum8. us=us-19. git 3 10. yaz kalan11. son

Page 38: Bilgisayar   Mühendisliği ne  Giriş

Onluk sistemi 2lik sisteme çevir Kullanıcının girdiği onluk sistemde olan bir

sayıyı ikilik sisteme çevirip 1 ve 0 bitlerini ekrana basan algoritmayı yazınız.

Page 39: Bilgisayar   Mühendisliği ne  Giriş

Çözüm1.basla2.sayiyi gir3.bolum=sayi/24.kalan=sayi mod 25.Yaz kalan6.sayi = bolum 7.Eğer bolum>=2 ise Git 38.Yaz bolum9.Yaz "tersten yazdık.."10.Son

Page 40: Bilgisayar   Mühendisliği ne  Giriş

2lik sistemin Onluk sisteme çevrimi İkilik sistemdeki sayı kaç basamaklı? (n) Basamakları sıra ile giriniz.

İkilik sistemdeki sayı onluk sisteme çevrilir.

Page 41: Bilgisayar   Mühendisliği ne  Giriş

Çözüm1.basla2.basamak sayısını gir (n)3.toplam=04.bir bit gir (digit)5.toplam=toplam+digit*2^(n-1)6.n=n-17.Eğer n>=1 ise Git 48.Yaz "Sonuç şudur:",toplam9.Son

Page 42: Bilgisayar   Mühendisliği ne  Giriş

Örnek Bir çok sayı girilecektir.

Bu sayılardan en küçüğünü ekrana basan algoritma?

Page 43: Bilgisayar   Mühendisliği ne  Giriş

Çözüm

1.basla2.kac sayi karşilastırılacak(n)3.sayi gir (x)4.en_kucuk_sayi = x 5.sayi gir (x)6.Eğer en_kucuk_sayi > x ise en_kucuk_sayi = x7.n=n-18.Eğer n>=2 ise Git 59.YAz en_kucuk_sayi10.Son

Page 44: Bilgisayar   Mühendisliği ne  Giriş

Klavyeden girilen rakamı Yazıya döken Algoritma 0 ile 9 arasında bir rakam girilecektir.

Bu rakamı yazı ile ekrana basan algoritmayı tasarlayınız.

Page 45: Bilgisayar   Mühendisliği ne  Giriş

ORNEK-1 Yıldızlar****************************Bu çıktıyı veren algoritmayı tasarlayınız.

Page 46: Bilgisayar   Mühendisliği ne  Giriş

Rakamlar12345623456345645656 6

Bu çıktıyı veren algoritmayı tasarlayınız.

Page 47: Bilgisayar   Mühendisliği ne  Giriş

Soru 665654654365432654321

Page 48: Bilgisayar   Mühendisliği ne  Giriş

AKIŞ DİYAGRAMLARIBaşla/Dur

Klavyeden giriş (N=10)

Program çalışması esnasında yapılacak işleri ifade eder. Formüller aynen

yazılır.

Örnek: c= için

BAŞLA DUR

c=(a^2+b^2) / (1/2)

Page 49: Bilgisayar   Mühendisliği ne  Giriş

AKIŞ DİYAGRAMLARI / DÖNGÜ

Döngü: Bir çok programda belirli işlem blokları ardışık değerlerle veya bazı koşullar sağlanana kadar devam eder. Döngü şemasının için değişken adı, başlangıç değeri, bitiş değeri ve adım miktarı yazılır.

Kontrol değişkeni = Başlangıç değeri , Bitiş değeri, Adım

I=1,20,3 J=30,4,-2 K=1,80

Page 50: Bilgisayar   Mühendisliği ne  Giriş

AKIŞ DİYAGRAMLARI

KARŞILAŞTIRMA

BİLGİ, VERİ YAZMA

AKIŞ YÖNÜ

Page 51: Bilgisayar   Mühendisliği ne  Giriş

i=1,n,1 İşlem A

i=1,n,1

İşlem Bj=1,n,1

DIŞ DÖNGÜİÇ DÖNGÜ

Page 52: Bilgisayar   Mühendisliği ne  Giriş

Soru

1 den, girilen N değerine kadar olan sayıların toplamını bulan algoritmanın akış diyagramını oluşturunuz.

Page 53: Bilgisayar   Mühendisliği ne  Giriş

N 5 olarak girilirse

Page 54: Bilgisayar   Mühendisliği ne  Giriş

Soru

Girilen N değerinin FAKTÖRİYELİNİ hesaplayan algoritmanın akışdiyagramını oluşturunuz.

Page 55: Bilgisayar   Mühendisliği ne  Giriş

N = 5 olarak girilirse

F=1

F=F*I

F

I Eski F Yeni F

1 1 1*1=1

2 1 1*2=2

3 2 2*3=6

4 6 6*4=24

5 24 24*5=120

Page 56: Bilgisayar   Mühendisliği ne  Giriş

Bu akış diyagramı ne yapmaktadır?

Page 57: Bilgisayar   Mühendisliği ne  Giriş

Peki bu?

Page 58: Bilgisayar   Mühendisliği ne  Giriş
Page 59: Bilgisayar   Mühendisliği ne  Giriş
Page 60: Bilgisayar   Mühendisliği ne  Giriş

Ders Geçme/Kalma Durumu Aşağıdaki şartlara göre problemin akış

diyagramını çiziniz.

Ortalama = vize . %40 + final . %60

Finalden 60 ve üzerini aldı ise Ortalamadan da 60 ve üzerini aldı ise GEÇER

Diğer durumlarda kalır.

Page 61: Bilgisayar   Mühendisliği ne  Giriş

Örnek

Girilen N sayısına göre T1, 1 den N’e kadar 1er artan sayılar toplamı T2, 1 den N’e kadar 2şer artan sayılar toplamı T3, 1 den N’e kadar 3er artan sayılar toplamı

T1,T2,T3 ü bulup yazdıran akış diyagramını çiziniz.

Page 62: Bilgisayar   Mühendisliği ne  Giriş

If (Karar)If ŞART Then

………………………………………………

………………………………………………

Else ………………………………………………

………………………………………………

Enf If

Page 63: Bilgisayar   Mühendisliği ne  Giriş

For (Döngü)For i = başlangıç değeri to Bitiş değeri Step Artım değeri

………………………………………………

………………………………………………

Next

Page 64: Bilgisayar   Mühendisliği ne  Giriş

Basic KoduInput "N sayısını giriniz", NT1=0;T2=0;T3=0;FOR I=1 TO NT1=T1+INEXT IFOR I=1 TO N STEP 2T2=T2+INEXT IFOR I=1 TO N STEP 3T3=T3+INEXT IPRINT "1 DEN N'E KADAR SAYI TOPLAMI";T1PRINT "1 DEN N'E KADAR 2'ER ARTAN SAYILAR TOPLAMI";T2PRINT "1 DEN N'E KADAR 3'ER ARTAN SAYILAR TOPLAMI";T3END

Page 65: Bilgisayar   Mühendisliği ne  Giriş

Klavyeden toplam eleman sayısı (n) ve alt eleman sayısı (r) girilen bir kümenin belirtilen kombinasyonlarının sayısını hesaplayan bir akış şeması ve programını yazınız.

Page 66: Bilgisayar   Mühendisliği ne  Giriş
Page 67: Bilgisayar   Mühendisliği ne  Giriş

Program Koduinput "n'i giriniz",ninput "r'i giriniz",rf1=1;f2=1;f3=1;For i=1 to n f1=f1*i If i<=r then f2=f2*i End If If i<=n-r then f3=f3*i End IfNext i

sonuc=f1/(f2*f3)print "Cevap :", sonucend

If bloğu

End If ile biter for bloğuNext ile biter

If bloğu

End If ile biter

Page 68: Bilgisayar   Mühendisliği ne  Giriş

A sayısı B sayısının katı mı ?

Input "a nedir?",aInput "b nedir?",bIf a MOD b = 0 Then Print a,"sayısı",b,"sayısına tam bölünür"Else Print a,"sayısı",b,"sayısına tam bölünemez"End If

Page 69: Bilgisayar   Mühendisliği ne  Giriş

Örnek:Tam bölenler Klavyeden girilen a sayısının tam

bölenlerini veren akış diyagramını çizin, programı yazın.

Page 70: Bilgisayar   Mühendisliği ne  Giriş

Ödev 1 ile 10000 arasındaki sayılarda, kareler

toplamı, küpler farkına eşit olan ardışık iki sayıyı yazdırın.

1 ile 10000 arasındaki sayılardan, karesi yarısına eşit olan ve ardışık olması önemli olmayan sayıları bulun.

Page 71: Bilgisayar   Mühendisliği ne  Giriş

İkinci dereceden denklem ax2+bx+c=0 denkleminin

katsayıları (a,b,c) kullanıcı tarafından girilecektir.

Denklemin kökleri varsa ayrı ayrı köklerini ekrana basan,

Kökü yoksa “kökü yoktur” mesajı veren akış diyagramı ve programı yapınız.

a

bx

a

bx

kökfarklıiki

kökkatlıçift

yokkök

cab

2

2

var___0

var___0

_0

4

2

1

2

Page 72: Bilgisayar   Mühendisliği ne  Giriş
Page 73: Bilgisayar   Mühendisliği ne  Giriş

INPUT "A Katsayı gir",AINPUT "B Katsayı gir",BINPUT "C Katsayı gir",CD=B^2-4*A*C

If D<0 Then Print "Kök Sanal!"End If

If D=0 Then X1=-1*B/(2*A) X2=X1Print "Çift Katlı Kök",X1,X2End If

If D>0 Then X1=(-1*B+D^0.5)/(2*A) X2=(-1*B-D^0.5)/(2*A) Print "Kök 1",X1 Print "Kök 2",X2End If

Page 74: Bilgisayar   Mühendisliği ne  Giriş

Kenarları bilinen üçgenin alanı

Page 75: Bilgisayar   Mühendisliği ne  Giriş

Üs Alma Klavyeden girilen bir tamsayının, girilen

derecedeki üssünü nasıl alırız?

xy=x.x. ………… .x <- y adet ->

Page 76: Bilgisayar   Mühendisliği ne  Giriş

Klavyeden girilen bir noktanın P(X1,Y1) ax+by+c=0 doğrusu üzerinde olup olmadığını bulan, Doğru üzerinde değilse doğruya uzaklığını bulan akış diyagramını ve

programı yazınız. INPUT a,b,c,x1,y1

denklem= a*x1+b*y1+c

If denklem<>0 Then

uz=denklem/(a^2+b^2)^0.5

Print “uzaklık:”,uz

Else

Print “Nokta doğru üzerinde”

End If

Page 77: Bilgisayar   Mühendisliği ne  Giriş

Örnek-2 Bir komisyoncu sattığı mallardan fiyatı 50

TL’ye kadar olanlardan %3, daha fazla olanlardan ise %2 komisyon almaktadır.

Klavyeden ürün fiyatı girilen bir malın komisyonunu bularak ekranda gösteren programın akış diyagramını çiziniz, Program kodunu yazınız.

Page 78: Bilgisayar   Mühendisliği ne  Giriş

ORNEK-3 İş başvurusu Bir işveren fabrikasında istihdam edilmek üzere 3 ayrı birime personel

alacaktır.

Muhasebe bölümünde görevlendirilecek personelin en az bir yabancı dil, halkla ilişkiler biriminde görev alacak personelin birisi ingilizce olmak üzere en az 2 dil, Dış ticaret departmanına alınacak personelin ise şart olmaksızın en az 3 dil bilmesi gerekmektedir.

İş başvurusuna bu 3 bölümden 200 kişi başvurmuştur. Başvuruda dil ile ilgili olarak ingilizce biliyor musunuz? , toplam kaç dil biliyorsunuz? soruları sorulmuştur. İnsan kaynaklarında görevli bir personel başvuruda sordukları bu soruların cevaplarını bilgisayar programına girip kimlerin işe alınamadığını, işe alınanların da hangi departmana alındığını bulacaktır.

İş alımında kadro sınırlaması göz önüne alınmadığı varsayılacak, işe alınacak kişilerin görevlendirileceği departman ise bildiği dil sayılarına göre belirlenecektir.

İşe alma algoritmasını ve programını yazınız.

Page 79: Bilgisayar   Mühendisliği ne  Giriş

Operatör Seçimi Kemal bey cep telefonuna hat almak için operatöre

başvurmuştur. Operatörde,

Ayda 300 dakikaya kadar, dakikası 11 kuruşa bundan sonraki dakikalar için 19 kuruşa konuşturan, sms göndermenin 15kuruş olduğu, GPRS ücretinde KiloByte başına 1 kuruş ücret talep edilen “A” kampanyası,

500 dakikaya kadar dakikası 9 kuruşa, süre aşımında dakikası 11 kuruşa konuşturan, Sms ücreti 8 kuruş olan ve KB başı 1,5 kuruş talep edilen GPRS hizmeti içeren B kampanyası,

100 dakikası 15 kuruş, limit aşımında dakikası 25 kuruş, GPRS için 1,80 kuruş talep eden ve aynı zamanda 120 sms ücretsiz olmak şartıyla her SMS için 10 kuruşa fiyatlandıran C kampanyası vardır.

Kemal bey yapacağınız programa/algoritmaya aylık konuşma süresini, attığı mesaj sayısını ve ortalama aylık olarak gerçekleştirdiği internet trafiğini MB olarak girecektir(1MB=1024KB).

Bu girişlere göre en uygun paketi öneren algoritmayı kurup akış diyagramını çizdikten sonra programını yazınız.

Page 80: Bilgisayar   Mühendisliği ne  Giriş

Örnek Bir diyet uzmanı insanlara , geliştirmiş olduğu

değişik üç tür diyeti uygulamayı düşünmektedir.

1.tür diyet 60 kilo ve altındaki insanlara uygulanacak kilo aldırıcı program.

2.tür diyet 61 ile 80 kilo arasındaki insanlara uygulanacak kilo aldırmayan program.

3.tür diyet 81 ile 150 kilo arasındaki insanlara uygulanacak kilo zayıflatıcı programdır

Buna göre 10 kişi arasında yapılan bir anketle ,bu üç programa kaçar kişinin düştüğünü ve bu gruplardaki ortalama kiloları bulan algoritmanın akış diyagramını çizip, programını yazınız.