Algoritma ve Programlama Tamamı Çözümlü Soru Bankası Editör Deniz Mertkan GEZGİN

Benzer belgeler
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

BİLGİSAYAR PROGRAMLAMA MATLAB

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Dr. Musa KILIÇ Öğretim Görevlisi

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Algoritmalar ve Programlama. Algoritma

Algoritmanın Hazırlanması

Algoritma ve Programlamaya Giriş

BMT 101 Algoritma ve Programlama I 3. Hafta (Örnekler) Yük. Müh. Köksal GÜNDOĞDU 1

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

YZM 2105 Nesneye Yönelik Programlama

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BÖLÜM 2: ALGORİTMALAR

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

C++ Dilinde Bazı Temel Algoritmalar

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

BİLGİSAYAR PROGRAMLAMA DERSİ

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Basit Algoritma Akış Diagramı Örnekleri

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarların Gelişimi

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

C++ Dilinde Bazı Temel Algoritmalar

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

Döngüsel Akış Diagramı Algoritmaları

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

4- ALGORİTMA (ALGORITHM)

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü


Bilgisayar II Dersi. Bölüm-2

ALGORİTMA (ALGORITHM) M.İLKUÇAR -

Algoritma ve Akış Diyagramları

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1

KARABÜK ÜNĠVERSĠTESĠ TEKNOLOJĠ FAKÜLTESĠ MEKATRONĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ

ÖRNEK 1: Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır:

Algoritma ve Akış Diyagramları

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

Pascal Programlama Dili

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

Bölüm: Matlab e Giriş.

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

Genel Programlama I

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Program Nedir?(1) Programlamaya Giriş

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

3. KOŞUL YAPILARI 3.1. IF YAPISI 2

BİLGİSAYAR PROGRAMLAMA MATLAB

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

Bilgisayar Programlama. Giriş

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

SAYILAR DOĞAL VE TAM SAYILAR

Yazılım Mühendisliği 1

BİL1001 Bilgisayar Bilimlerine Giriş 1

Java, Python ve Ruby Dillerinin Performans Karşılaştırması

C++ Operatörler (Operators)

BİLGİSAYAR PROGRAMLAMA DERSİ

KODLAMAYA HAZIRLIK MODÜLÜ 1. YAZILI SINAV ÇALIŞMA SORULARI VE MODÜL ÖZETİ

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

PROGRAMLAMA DİLLERİ I

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BİL1001 Bilgisayar Bilimlerine Giriş 1

Programlama Temelleri

1.1. Yazılım Geliştirme Süreci

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

ALGORİTMA VE PROGRAMLAMA I

ÖRNEK ALGORİTMA VE AKIŞ ŞEMALARI. Örnek 1: Klavyeden girilen 2 sayının toplamını bulan programın algoritma ve akış şemasını yapınız.

Transkript:

Algoritma ve Programlama Tamamı Çözümlü Soru Bankası Editör Deniz Mertkan GEZGİN Yazarlar Murat ASLANYÜREK Adem KORKMAZ Selma Bulut BÜYÜKGÖZE Deniz Mertkan GEZGİN

Önsöz Bilgisayar programlamasında ilk safha, problemin analiz edilmesi ve bu analiz doğrultusunda problemin çözülmesine ilişkin işlemlerden oluşur. Bu işlemler programcı tarafından bilgisayar programlama dili ile kodlanmadan önce adım adım yapılmalı ve buna paralel olarak çeşitli şekillerle desteklenmelidir. Kısaca kodlamadan önceki bu işlemlere Algoritma, bu algoritmanın birbirleriyle ilişkili şekillerle desteklenmesine de akış diyagramı adı verilir. İyi bir programcı aynı zamanda iyi bir algoritma yeteneğine de sahip olmalıdır. Günümüzde bilgisayar mühendisliği veya programcılığı öğrencilerinin ya da bilgisayar programcılığıyla uğraşanların en büyük sorunu algoritma yeteneklerini arttırmadan direkt programlama dilini öğrenmeye çalışmalarıdır. Ancak unutulmamalıdır ki problemin çözümü bilinmezse, programlama dilini bilmek de bir anlam ifade etmeyecektir. Bu düşünceden hareketle bilgisayar bölümlerinde okuyan öğrenciler ve bilgisayar programcılığıyla ilgilenenler için çözümlü bir soru bankası oluşturmak istedik. Konuyla ilgili alıştırmaların çözümlerine birtakım yorumlar ekleyerek okuyucuların çözümlemeye çeşitli bakış açıları getirebilmelerini, hızlı ve dinamik programlamaya hazır algoritmalar oluşturabilmelerini amaçladık. Çözdüğümüz problemlerin C, C#, Visual Basic.Net ve Java dillerinde kodlarını ekleyerek kitabın programlama ve veri yapıları için de bir giriş niteliği taşımasını istedik. Oluşturmaya çalıştığımız bu geniş algoritma soru bankasının bütün okuyucularımıza faydalı olmasını ümit ediyoruz. Deniz Mertkan GEZGİN Eylül 2017/ Edirne 2

İçindekiler Bölüm I... 14 Bilgisayar Yazılımı ve Programlama... 14 Bilgisayar ve Bileşenleri Nelerdir?... 15 Donanım(Hardware)... 15 Yazılım(Software)... 15 Yazılım Nedir?... 15 Sistem Yazılımları... 16 Sürücüler (Driver)... 16 Uygulama Yazılımları... 16 Yazılımcı (Programcı) Kimdir?... 16 Mimar... 16 Geliştirici... 16 Test Mühendisi... 16 Editör-Derleyici Nedir?... 17 Sayı Sistemleri (2'lik ve 10'luk)... 18 Programlama Nedir?... Hata! Yer işareti Programlama Süreci Nasıldır?... Hata! Yer işareti Yazılım Geliştirme Süreci ve Adımları... Hata! Yer işareti Problemin Tanımlanması (Definition)... Hata! Yer işareti Gerekli Analizlerin Yapılması (Analiys)... Hata! Yer işareti Yazılımın Mimari Tasarımının Yapılması (Architectural Design)... Hata! Yer işareti Yazılımın Kodlanması (Coding)... Hata! Yer işareti Yazılımın Değerlendirilmesi ve Test Edilmesi (Debugging-Testing). Hata! Yer işareti Gerekli Dokümantasyonun Yapılması (Documentation)...Hata! Yer işareti 3

Bölüm II... Hata! Yer işareti Algoritma ve Akış Diyagramları... Hata! Yer işareti Bölüm III... Hata! Yer işareti Akış Şeması Oluşturmak için Kullanılabilecek Programlar...Hata! Yer işareti Bölüm IV... Hata! Yer işareti Değişkenler ve Operatörler... Hata! Yer işareti Operatörler... Hata! Yer işareti Aritmetik Operatörler... Hata! Yer işareti Atama Operatörleri... Hata! Yer işareti Karşılaştırma Operatörleri ve Mantıksal Operatörler...Hata! Yer işareti İşlem Öncelikleri... Hata! Yer işareti Mantıksal İşlem Önceliği... Hata! Yer işareti Temel mantıksal operatörler... Hata! Yer işareti Matematiksel İşlemlerin Bilgisayar Diline Çevrilmesi...Hata! Yer işareti Değişkenler ve Veri Tipleri... Hata! Yer işareti Sayaç... Hata! Yer işareti Döngü... Hata! Yer işareti Bölüm V... Hata! Yer işareti Derleyiciler ve Kurulumları... Hata! Yer işareti Bölüm VI... Hata! Yer işareti Sayılarla İlgili Algoritma Soru Çözümleri... Hata! Yer işareti 1. İki sayının toplamını veren programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 2. Kullanıcının girdiği iki sayının karelerinin toplamını görüntüleyen programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 4

3. 1'den 10'a kadar olan sayılarının küplerinin toplamını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 4. Doğum tarihi girilen kişinin yaşını hesaplayan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 5. Girilen sayının faktöriyelini hesaplayan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 6. Pozitif sayılarda çarpma işlemini toplama kullanarak bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 7. Pozitif sayılarda bölme işlemini çıkarma kullanarak yapan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 8. Pozitif girilen sayının istenilen sayıya göre mod işlemini yaptıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 9. Girilen pozitif sayının kaç basamaklı olduğunu söyleyen programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 10. Girilen 3 basamaklı bir sayının basamaklarının küpleri toplamı sayının kendine eşit olup olmadığını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 11. Klavyeden girilen 20 adet sayıdan çift sayıların toplamının tek sayıların toplamına oranını bulan programın algoritma ve akış diyagramını oluşturunuz. Hata! Yer işareti 12. 10 ile 1000 arasındaki tam kare sayıları ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 13. Klavyeden girilen 25 adet sayı içerisinden negatif olanların toplamını, çift sayıların toplamını, 7'ye eşit olanların âdetini bulup ekrana yazdıran programın algoritma ve akış diyagramı oluşturunuz.... Hata! Yer işareti 14. Çarpım Tablosunun algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 15. Girilen sayının 5'in kuvveti olup olmadığını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 16. Fibonacci serisinin ilk 10 terimini ekrana basan algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 5

17. Klavyeden girilen bir sayının negatif, pozitif veya 0 olup olmadığını bulan programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 18. Girilen sayının mükemmel sayı olup olmadığını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 19. 1-100 arasındaki çift sayıların toplamının mükemmel sayı olup olmadığını bulan programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 20. Herhangi bir sayının herhangi bir dereceden kuvvetini bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 21. Girilen sayının abundant (güçlü) sayı mı ya da deficient (güçsüz) sayı mı olduğunu bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 22. 1'den 500'e kadar olan tamsayıların toplamını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 23. Girilen a ve b sayısı 50'den büyük olduğunda c=a+b işlemini yapan değilse bu sayılar uygun değil yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 24. 1'den 63'e kadar olan sayılar arasında istenilen sayıyı maksimum 6 seferde bulan programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 25. Girilen decimal (onluk) bir sayının binary (ikilik) bir sayıya dönüştüren programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 26. Binary olarak girilen sayıyı decimal sayıya çeviren programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 27. Girilen yılın artık yıl olup olmadığını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 28. Boyu ile kilosu girilen kişinin şişman mı, zayıf mı yoksa ideal kiloda mı olduğunu gösteren programın algoritma ve akış diyagramını oluşturunuz. Hata! Yer işareti 29. Dairenin alanını ve çevresini bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 6

30. 10-50 arasındaki asal sayıları gösteren programın algoritma akış diyagramını oluşturunuz.... Hata! Yer işareti 31. 1-100 arasında kaç asal sayı vardır gösteren programın algoritma akış diyagramını oluşturunuz.... Hata! Yer işareti 32. ax2 + bx +c = 0 tipindeki bir denklemin köklerini bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 33. Girilen sayının smith sayısı olup olmadığını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 34. 1 ile 10 arasındaki tam sayıların karelerinin toplamını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 35. Girilen sayının yaklaşık olarak karekökünü hesaplayan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 36. Dışarıdan iki kenarı ve aradaki açısı girilen üçgenin alanını hesaplayan programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 37. Dışarıdan yarıçapı girilen kürenin alanını ve hacmini hesaplayan programın algoritma akış diyagramını oluşturunuz.... Hata! Yer işareti 38. Girilen bir tam sayının hanelerindeki en büyük sayıyı bulan algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 39. Dışarıdan Derece cinsinden girilen açıyı; Radyan ve Grad cinsine çeviren programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 40. Dışarıdan iki dik kenarı girilen üçgenin hipotenüsünü hesaplayan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 41. Girilen 3 basamaklı bir sayının basamaklarının küpleri toplamı sayının kendine eşit olup olmadığını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 42. Arka arkaya girilen rastgele 10 tam sayının ortalaması ile bu sayılardan en büyük ve en küçük olanın ortalamasını bularak elde edilen bu iki ortalamanın farkını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 43. 1 k sayısı tek ise 3 ile çarpılıp 1 ekleniyor çift ise 2 ile bölünüyor işlem k sayısı 1 olana kadar devam ediyor bu işlemin kaç adım sürdüğünü, işlem sırasında k sayısının aldığı max değeri k sayısının hangi sayıdan sonra hep çift olarak 1'e 7

ulaştığını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 44. Ekrandan girilen bir sayı eğer 5-10 arasında ise girilen sayının karesini alıp gösteren, eğer 5'ten küçük ise faktöriyelini alan, 10'dan büyük ise sayıyı ikiye bölüp bir eksiğini yazan programın algoritma ve akış diyagramını oluşturunuz. Hata! Yer işareti 45. Dik kenar uzunlukları verilen bir üçgenin alanını hesaplayıp sonucu ekrana yazdıran algoritmayı ve akış diyagramını oluşturunuz....hata! Yer işareti 46. İki kenar uzunluğu girilen bir dikdörtgenin alanını ve çevresini hesaplayıp ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 47. s=x+y 2 denkleminin sonucunu dışardan girilen x ve y değerleri için hesaplayıp sonucu ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 48. x=2(a + 3b)a. b denkleminin sonucunu dışardan girilen a ve değerleri için hesaplayıp sonucu ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 49. Klavyeden -1 sayısı girilene kadar ekrana sayı girişine izin veren programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 50. Klavyeden negatif sayı girilene kadar sayı girişine izin veren ve girilen bu sayıları toplayıp sonucu ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 51. 0 sayısı girilene kadar sayı girişini sağlayan ve bu sayıların ortalamasını hesaplayıp sonucu ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 52. Adınızı ve soyadınızı alt alta yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 53. Dışardan girilen 20 sayıdan negatiflerin ve pozitiflerin sayısını hesaplayıp sonucu ekrana yazdıran yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 54. 1 ile 100 arasındaki tek sayıları bulup ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 8

55. Dışardan girilen 20 sayıdan çiftlerin ve teklerin ortalamasını bulup ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 56. 0 ile 100 arasındaki sayıların 7 ye bölümünden kalan 3 olan sayıların kaç tane olduğunu hesaplayıp ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 57. 1 ile 1000 arasındaki sayıların 12ye tam bölünenlerin ortalamasını hesaplayıp ekrana yazdıran programın algoritma ve akış diyagramı oluşturunuz. Hata! Yer işareti 58. Klavyeden girilen 20 sayıdan 15 ten büyük olanların toplamını bulup ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 59. Klavyeden girilen 20 sayıdan 50 den büyük ve ya eşit olanların toplamının 50 den küçük olanların toplamına oranını bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 60. Klavyeden 0 girilinceye kadar sayı girilmesini sağlayan, bu sayıların, kaç tane olduğunu, toplamını ve ortalamasını bulup sonucu ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 61. Klavyeden 0 girilinceye kadar sayı girilmesini sağlayan, negatif ve pozitifleri ayrı ayrı toplayıp ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 62. x = b + b2 4ac2a formülünün sonucunu ekrandan girilecek değerler için hesaplayıp x değerini ekrana yazdıran programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 63. Klavyeden kütlesi (m), hızı (v) ve yerden yüksekliği (h) olarak girilen maddenin Potansiyel (Ep) ve Kinetik (Ek) enerjisini hesaplayan programın algoritma ve akış diyagramını oluşturunuz. (g=10, Ep=m.g.h, Ek=12.m.v 2 )... Hata! Yer işareti 64. Klavyeden girilen pozitif bir sayıdan başlayıp, 1 e kadar olan sayıları ekrana yazan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 65. Klavyeden girilen iki sayı arasındaki (birinci sayıdan başlayıp ikinci sayıya kadar) sayıları ekrana yazıdırıp ortalamasını hesaplayan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 9

66. Dışardan girilen sayıların toplamı 30 dan fazla olduğunda kaç adet sayı girildiğini hesaplayan programın algoritma ve akış diyagramını oluşturunuz.. Hata! Yer işareti 67. Dışardan girilen 10 adet sayıdan en büyüğünü bulup kaçıncı sırada olduğunu yazan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 68. Dışardan girilen vize ve final notuna göre öğrencinin harf notunu hesaplayıp ekrena yazdıran programın algoritma ve akış diyagramını oluşturunuz.(vize=%40, Final=%60, 90-100=A, 80-89=B, 70-79=C, 60-69=D, 0-59=F) 69. Seçilen operatöre göre dört işlem (+, -, *, /) yapan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti Bölüm VII... Hata! Yer işareti Serilerle ilgili Algoritma Soru Çözümleri... Hata! Yer işareti 70. 1-1/3+1/5-1/7+1/9-1/11+ Serisinin n tane terim için toplamını hesaplayan programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 71. x e fonksiyonunun seriye açılımı aşağıdadır. Buna göre; dışarıdan girilen x e x 'i ve N değerine göre; hesaplayan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 72. x ve n değişkenine göre aşağıdaki işlemi yapan programın algoritmayı ve akış diyagramını oluşturunuz.... Hata! Yer işareti 73. Cos(x) fonksiyonu seriye aşağıdaki gibi açılmaktadır. Buna göre dışarıdan girilen x değerinin cosinüs ünü hesaplayan programın algoritmasını ve akış diyagramını oluşturunuz.... Hata! Yer işareti Bölüm VIII... Hata! Yer işareti Dizi Algoritma Soru Çözümleri... Hata! Yer işareti Dizi Kullanımı ve Mantığı... Hata! Yer işareti 74. 10 elemanlı bir sayı dizisini girişini yapan algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 75. Fibonacci serisinin ilk 10 terimini dizi kullanarak bulan programın algoritma ve akış diyagramı oluşturunuz.... Hata! Yer işareti 10

76. Girilen bir kelimenin uzunluğunu bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 77. Bir sayı dizisinin en büyük elemanını bulan programın algoritma ve akış diyagramı oluşturunuz.... Hata! Yer işareti 78. Girilen kelimeyi tersten yazdıran programın algoritmasını ve akış diyagramını oluşturunuz.... Hata! Yer işareti 79. Bir decimal sayıyı binary (10'luk-2'lik) sayıya çeviren programın algoritmasını ve akış diyagramını oluşturunuz.... Hata! Yer işareti 80. 10 elemanlı bir sayı dizisinde en küçük elemanın bu dizinin kaçıncı elemanı olduğunu bulan programın algoritma ve akış diyagramını oluşturunuz. Hata! Yer işareti 81. Aşağıdaki çıktıyı veren programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 82. Bir sınıftaki 50 öğrencinin bir dersten aldıkları yıl sonu notları veriliyor. Başarı notu 50 olduğuna göre kaç öğrencinin başarılı olduğunu bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 83. 10 elemanlı bir sayı dizisinin ortalaması tam sayı ise bu sayıdan dizide kaç tane olduğunu veren programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 84. 10 elemanlı bir dizinin elemanlarından hem 4'e hemde 5'e bölünen sayıları bulan programın algoritma ve akış diyagramı oluşturunuz....hata! Yer işareti 85. Bir yazının polindrom olup olmadığını bulan programın algoritmayı ve akış diyagramını oluşturunuz.... Hata! Yer işareti 86. Bir dizide dışarıdan girilen bir sayının, dizinin elemanlarından kaç tanesinden küçük olduğunu bulan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 87. Bir sayı dizisinde dizi elemanlarının sondan başa gelecek şekilde düzenlenmesini sağlayan algoritma ve akış diyagramının oluşturunuz.... Hata! Yer işareti 88. Girilecek 10 adet sayının ortalamasını bulduran (dizi ile) programın algoritmasını ve akış diyagramını oluşturunuz.... Hata! Yer işareti 11

89. Girilen cümlede, girilen karakterden kaç tane olduğunu bulan programın algoritması ve akış diyagramını oluşturunuz.... Hata! Yer işareti 90. 10 elemanlı bir sayı dizisinin en büyük ve en küçük elemanlarını ve yerini bulan programın algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 91. Eleman değerleri verilmiş 7 elemanlı bir sayı dizisinde tekrarlanan sayıların ilk yazılanı dışında kalanları kaldırarak başa doğru öteleyen programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 92. Klavyeden girilen maksimum 20 karakterli kelimedeki sesli harflerin kelimenin toplam karakter sayısına göre yüzde oranını hesaplayan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 93. İki boyutlu olarak oluşturulan matrise matris[i,j] dışarıdan değer girilen programın algoritma ve akış diyagramı oluşturunuz....hata! Yer işareti 94. [2x2] tipindeki bir kare matrisin transpozesini veren algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 95. İki boyutlu bir diziyi, tek boyutluya çeviren programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti 96. İki kare [3x3] matrisin toplamını yapan programın algoritma ve akış diyagramını oluşturunuz.... Hata! Yer işareti Bölüm IX... Hata! Yer işareti Arama ve Sıralama Algoritmaları Soru ve Çözümleri...Hata! Yer işareti 97. Sıralı arama (sequantial search) algoritması ile girilen bir sayıyı dizideki yerini bulan programın algoritma ve akış diyagramını oluşturunuz. Hata! Yer işareti 98. N elemanlı bir dizide ikili (binary) arama algoritması ile girilen bir sayıyı arayan algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 99. Bubble (kabarcık) sıralama algoritması ile bir dizinin sıralanması programının algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti 12

100. Selection Sort (Seçme Sıralama) algoritması ile bir dizinin sıralanması programının algoritma ve akış diyagramını oluşturunuz....hata! Yer işareti Sıralama Algoritmalarının karşılaştırılması... Hata! Yer işareti Alıştırma Soruları... Hata! Yer işareti Kaynaklar... Hata! Yer işareti Kitaplar... Hata! Yer işareti Web Adresleri... Hata! Yer işareti Özgeçmişler... Hata! Yer işareti 13

Kitap Hakkında Açıklayıcı Bilgiler Kitap, algoritma ve programcılığı derinlemesine işleyen bir kitap değildir.içinde bulundurduğu 100 soru ve yazılım kodları ile pratik yapmak isteyen kullanıcıya, yardımcı kitap niteliğindedir. Kitaptaki örneklerin derecesi orta seviyededir. Kitaptaki örneklerin program kodları pseudo değil gerçek kodlardır. C kodları için dev C++ derleyicisi, C# ve Vb.Net kodları için Visual Stdio 2010 editörü kullanılmıştır. Akış diyagramı şekilleri ANSI(American National Standards Institude) standartlarına uygundur. Bazı soru çözümlerinde ipucu ya da alternatif komutlar ünlem işareti ile okuyucunun dikkatine sunulmuştur. Okuyucuya önemli bir bilgi vermek için kullanılmıştır. Vb.Net kodlarını kullanmak için ekran çıktılarını takip etmelisiniz. Çünkü olay tanımlamak için görülen çıktıya göre nesneler eklemek gerekmektedir. Kitapta bulunan örnekler ve kitap sonundaki alıştırma soruları hakkında sorularınız var ise lütfen e-mail atarak iletişime geçiniz. 14

Bölüm I Bilgisayar Yazılımı ve Programlama 15

Bilgisayar ve Bileşenleri Nelerdir? Bilgisayar, mantıksal kararlar alarak aritmetik işlemler yapan bir elektronik makinedir. Hesap makinesinden en önemli farkı; hızlı veri işlemesi ve sonucunda oluşan veriyi depolayabilmesidir. Hiçbir hataya yer vermeden çok sayıda işlem yapabilir. (İşlemlerin doğru şekilde tanımlandığı varsayıldığında.) Bilgisayarları türlerinden ve tiplerinden bağımsız olarak 2 kısma ayırabiliriz: Donanım(Hardware) Bilgisayarı oluşturan fiziksel aksama denir. Örnek olarak monitör, hard disk, CPU, ekran kartı verilebilir. Yazılım(Software) Bilgisayarın donanımı üzerinde çalışan her türlü uygulamaya verilen genel addır. Bu kitapta bilgisayarın sadece yazılım kısmı açıklanacaktır. Yazılım Nedir? Günümüzde bilgisayarın kullanım alanları her geçen gün artmaktadır. Okulda, hastanede, bankada, eğitim kurumları gibi hemen hemen her yerde artık işlerimizi daha hızlı ve düzenli yapmamız için çeşitli amaçlara göre yazılmış uygulamaları kullanmaktayız. Her uygulamanın bir yazılım sürecinden geçtiğini unutmamalıyız. Uygulama (Yazılım-Program), bilgisayarın belli bir işi yapması için tasarlanan komutlar bütünüdür. Uygulamalar kullanım amaçları ve yerlerine göre sistem uygulamaları, sürücüler ve uygulamalar olmak üzere üçe ayrılır. Bilgisayar Yazılımı Sistem Yazılımları Sürücüler(Driver) Yazılım Uygulamaları Bilgisayar Yazılımı Çeşitleri 16

Sistem Yazılımları Her uygulama bir işletim sistemi üzerinde çalışır. Diğer uygulamaların çalışması için gereken kaynak ve çalışma ortamını yaratır. Örnek olarak; Windows XP, Pardus bir sistem yazılımıdır. Sürücüler (Driver) İşletim sistemi ile donanım aygıtları arasında iletişim sağlayan yazılımlardır. Örnek olarak; bir ses kartının ya da USB belleğin çalışması için işletim sistemine sürücü yazılımları yüklenmelidir. Uygulama Yazılımları İşletim sistemi üzerinde çalışan ve kullanıcının işlerini kolaylaştıran yazılımlardır. Örnek olarak; MS Office,Winamp, Ms Paint verilebilir. Yazılımcı (Programcı) Kimdir? Yazılımcı; belirli işlevlere uygun yazılım/program üreten uzman kişidir. Bir yazılımcı, ilk olarak bilgisayar başında zaman geçirmekten sıkılmayan, meraklı ve araştırmacı bir kişidir. Uygulama geliştireceği platformu, kullandığı teknolojileri iyi bilmelidir. Algoritma mantığını iyi kavramış ve sorun çözme yeteneğine sahip olmalıdır. Yazılımcıları 3 grupta inceleyebiliriz: Mimar Teknolojiyi belirleyen ve gerektiğinde programı çözüm için daha küçük parçalara ayıran yazılımcıdır. Geliştirici Programı algoritmaya göre kodlayan yazılımcıdır. Test Mühendisi Programın gelişmesi aşamasında hataları bulan ve raporlayan kişidir. Yazılım geliştirici; kullanıcı ile bilgisayar arasında iletişim sağlamak amacıyla oluşturacağı uygulama için yazılım dili (C#,C,VB.Net vb.) kullanır. Bunu kullanmasının sebebi, bilgisayarın 2'lik sayı sistemi (Binary Digit Code System) kullanmasıdır. 2'lik sayı sistemi 0 ve 1'lerden oluşmaktadır. Bilgisayar, insanlar gibi 29 harf ve 10 rakam kullanarak anlaşma yapamaz. Bilgisayarın, tüm gelen komutları makina diline çevirmesi gerekir. Bunun içinde program geliştiricinin yazdığı kod parçaları, bir editör yardımı ile makina diline çevrilmektedir. Bir yazılım dili kullanırken hangi seviye bir dil seçileceği bilinmelidir. Bir veri tabanı projesi için 17

VB.Net seçilirken, bir sistem yazılımı yazmak için C# ya da C++ yazılım dili seçilmesi daha mantıklıdır. Aşağıdaki şekilde seviyelerine göre yazılım dilleri gösterilmektedir. Yazılım Dilleri ve Seviyeleri Yazılım dili seviyeleri, dillerin birbirinden daha iyi olup olmadığını göstermez. Dilin, makine diline bir başka deyişle donanıma yakınlığını gösterir. Bütün yazılım dillerinin, kendine özgü kelimeleri, hazneleri ve özellikleri vardır. Bu kelimelere anahtar kelime (keyword), yazılım dilinin dilbilgisine ise söz dizimi (syntax) denir. Anahtar kelimeler kullanılarak yazılım dillerinde program yapılabilir. Fakat günümüzde bazı programlama dilleri popülerliğini kaybetmiştir. Günümüzdeki popüler olan diller aşağıda listelenmiştir: Popüler Yazılım Dilleri: C# Vb.Net Java C ve C++ Bunlardan C ve C++ daha çok sistem yazılımı ve sürücü yazmak için kullanılır. Editör-Derleyici Nedir? Bir programı derlemek; en basit anlamda yazdığımız kodu, makine koduna çevirmektir. Bu işlem editör tarafından gerçekleştirilir. Derleyici-Editör; programlama diliyle uygulamanın yazıldığı ortamdır. Birçok derleyici mevcuttur. Bunlardan en basiti Notepad iken, Microsoft Visual Studio ise gelişmiş bir editördür. 18

Örnek Bir Kod Derleme İşlemi Sayı Sistemleri (2'lik ve 10'luk) Günlük hayatta 10'luk sayı sistemi kullanılır. Fakat bilgisayar sadece 0 ve 1 sayılarını kullanır. Bilgisayar, elektronik bir makine olduğundan; bilgisayara 5 volt geldiğinde 1,0 volt yani elektrik akışı olmadığında ise 0 kabul edilir. Bu 0 ve 1'lerin kullanıldığı sisteme Binary Digit Code Sytemi (2 lik Sayı Sistemi) denir. 0 ve 1'lerin her birine ise Bit adı verilir. Bilgisayarda görülen resim, kaynak, müzik gibi dosyalar aslında 0 ve 1'lerin bir araya gelmesi ile oluşur. Bunu bir örnekle açıklayalım: Örnek: 10 sayısı 2'lik sayı sisteminde 1010 olarak gösterilmektedir. Bunu yapmanın kolay yöntemi 10'luk sistemdeki sayımızı bölüm 2 den küçük oluncaya kadar 2' ye bölmektir. Sonuçları tersten başa doğru yan yana yazdığımızda 2'lik sayı sistemindeki karşılığına ulaşırız. Bir byte olarak ifade etmek istersek; bir byte 8 bit olacağından bulduğumuz sayının soluna 8 bit olana kadar 0 ekleriz. (10) 10=(0000 1010) 2 Bulduğumuz 2 lik sayı tabanındaki sayının sağlamasını yaparken 1 olan değerleri 2 tabanının üsleriyle çarpıp elde ettiğimiz tüm sayı değerlerini toplarız. Örnekte sadece 2 1 ve 2 3 olan değerler 1 olduğundan; 2 1 =2 ve 2 3 =8 değerlerini toplayarak sonucu elde ederiz. 19