B03.8 Algoritmalari Uygulamak : Durum 1 (Sayici Kontrollü Döngü) 59 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Algoritmaların nasıl geliştirildiğini gösterebilmek için sınıf ortalaması bulma probleminin değişik biçimlerini çözeceğiz. Aşağıdaki problemi inceleyelim. Bir sınıftaki 10 kişi bir sınava girmiştir. Notlar (0'dan 100'e kadar tamsayılar) size verilmiş ve bu sınavın sonucunda sınıf ortalamasını bulmanız istenmiştir. Sınıf ortalaması, notların toplamının sınıftaki öğrenci sayısına bölünmesiyle bulunur. Bu problemi bilgisayarda çözecek algoritma, bütün notların teker teker bilgisayara girilmesi, ortalama hesabının yapılması ve sonucun ekrana yazdırılması biçimindedir. Sahte kodları kullanalım ve yaptırılacak işleri listeleyip, onların hangi sırada kullanılacağını belirleyelim.
B03.8 Algoritmalari Uygulamak : Durum 1 (Sayici Kontrollü Döngü) 60 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Notları girmek için sayıcı kontrollü döngüyü kullanacağız. Bu teknik sayici adındaki bir değişken kullanarak, ifadelerin kaç kez tekrar edileceğini belirlememiz esasına dayanır. Bu örnekte döngü, sayıcı 10'u geçtiğinde sonlanmaktadır. Bu kısımda sahte kodlardan oluşan algoritmayı ve bu algoritmanın C ile yazılmış halini inceleyeceğiz. Diğer kısımda, sahte kodlardan oluşan algoritmaların nasıl geliştirildiğine bakacağız. Sayıcı kontrollü döngüler, genellikle belirli döngüler olarak adlandırılırlar. Çünkü döngü başlamadan önce döngünün kaçıncı tekrardan sonra sonlanacağını biliriz.
B03.8 Algoritmalari Uygulamak : Durum 1 (Sayici Kontrollü Döngü) 61 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Sayıcı Kontrollü Döngülerle sınıf ortalaması problemini çözen algoritmanın sahte kodlarla yazılmış biçimi : toplamı 0'a ata sayici 'yı 1'e ata sayici 10' eşit ya da 10'dan küçükken (while) Diğer notu gir. Girilen notu, toplama ekle sayici ya 1 ekle Sınıf ortalamasını, toplamı 10'a bölerek bul Sınıf ortalamasını yazdır.
B03.8 Algoritmalari Uygulamak : Durum 1 (Sayici Kontrollü Döngü) 62 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Algoritmada toplam ve sayici değişkenlerinden bahsedildiğine dikkat ediniz. toplam değişkeni, bir dizi değerin toplamını depolamak için kullanılacaktır. sayici değişkeni ise saymak amacıyla kullanılacaktır ( Burada kaç tane not girildiğini saymak için kullanacağız). Toplamları depolamak için kullanılan değişkenlere, programda kullanılmadan önce 0 atanmalıdır. Aksi takdirde, bu değişkeni depoladığımız hafıza konumunda daha önceden bulunan sayı da hesaplarımıza katılır. toplamı 0'a ata sayici 'yı 1'e ata sayici 10' eşit ya da 10'dan küçükken (while) Diğer notu gir. Girilen notu, toplama ekle sayici ya 1 ekle Sınıf ortalamasını, toplamı 10'a bölerek bul Sınıf ortalamasını yazdır.
B03.8 Algoritmalari Uygulamak : Durum 1 (Sayici Kontrollü Döngü) 63 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) sayici değişkenine genellikle kullanımına göre 0 ya da 1 atanır ( Her ikisi içinde örnekler göstereceğiz ). toplamı 0'a ata sayici 'yı 1'e ata İlk değeri verilmemiş değişkenler genellikle, çöp (garbage) değer ( hafıza konumunda bu değişken için en son depolanmış değer) içerirler. sayici 10' eşit ya da 10'dan küçükken (while) Diğer notu gir. Girilen notu, toplama ekle sayici ya 1 ekle Sınıf ortalamasını, toplamı 10'a bölerek bul Sınıf ortalamasını yazdır.
B03.8 Algoritmalari Uygulamak : Durum 1 (Sayici Kontrollü Döngü) 64 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) B03_Uygulama7 Aşağıda algoritması verilen problemle ilgili olarak, önceki uygulama programlarınızı da göz önüne alarak uygun çıktılar veren bir program yazınız. Not: Bu programda, sonuç olarak hesaplanan ortalamanın bir tamsayı olduğuna dikkat ediniz. Örneğin bu uygulama için notların toplamı 817 olsun. Bu durumda 10'a bölündüğünde ortalama değeri olarak 81.7 sonucu çıkar. İleride bu tür sayılarla (ondalıklı sayılarla) ilgili konuları da inceleyeceğiz. Algoritma: toplamı 0'a ata sayici 'yı 1'e ata sayici 10' eşit ya da 10'dan küçükken (while) Diğer notu gir. Girilen notu, toplama ekle sayici ya 1 ekle Sınıf ortalamasını, toplamı 10'a bölerek bul Sınıf ortalamasını yazdır.
B03.8 Algoritmalari Uygulamak : Durum 1 (Sayici Kontrollü Döngü) 65 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) B03_Uygulama8 Ekrana 10 tane öğrencinin yıl sonu notlarını girmesini isteyen bir programı yazdınız. Programınızda while döngü yapısını kullandınız. Eğer girilen not 100 den büyükse veya 0 dan küçükse hata mesajı yazdırın ve notu tekrar girmesini isteyin. En sonunda notların ortalamasını ekrana yazdırın. Programınızın yorum kısmına en başta bir sahte kod ekleyiniz. Programınızda "scanf " fonksiyonunu, "if/else" yapısını ve "while" döngüsünü kullanınız.
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 66 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Ortalama problemimizi genelleştirelim.aşağıdaki problemi inceleyiniz: Program çalıştırıldığında, kaç kişinin ortalamasının hesaplanacağını önceden bilmeden, sınıf ortalamasını bulacak bir program geliştirin. İlk sınıf ortalaması örneğinde, notların sayısını (10) başlangıçta biliyorduk. Bu örneğimizde ise kaç not girileceğini başlangıçta bilmiyoruz. Program, herhangi bir sayıda veriyi işlemek zorundadır. Bu durumda, programımız notların girişinin sonlandığına nasıl karar verecektir? Sınıf ortalamasını ne zaman hesaplayacağını ve yazdıracağını nasıl bilecektir?
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 67 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Ortalama problemimizi genelleştirelim.aşağıdaki problemi inceleyiniz: Program çalıştırıldığında, kaç kişinin ortalamasının hesaplanacağını önceden bilmeden, sınıf ortalamasını bulacak bir program geliştirin. İlk sınıf ortalaması örneğinde, notların sayısını (10) başlangıçta biliyorduk. Bu örneğimizde ise kaç not girileceğini başlangıçta bilmiyoruz. Program, herhangi bir sayıda veriyi işlemek zorundadır. Bu durumda, programımız notların girişinin sonlandığına nasıl karar verecektir? Sınıf ortalamasını ne zaman hesaplayacağını ve yazdıracağını nasıl bilecektir?
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 68 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Bu problemi çözmenin yolu, veri girişinin sonlandığını belirten bir özel değer, nöbetçi değer, ( sinyal değer ve ya işaretçi değer de denir) kullanmaktır. Kullanıcı, girmesi gereken tüm verileri girdikten sonra son değeri girdiğini belirten bir nöbetçi değer girer. Nöbetçi kontrollü döngüler, genelde belirsiz döngüler olarak adlandırılır çünkü döngü çalışmaya başlamadan önce döngünün kaç kez tekrarlanacağı bilinmemektedir. Nöbetçi değer, kabul edilebilir herhangi bir giriş değeriyle karıştırılmayacak biçimde seçilmelidir. Not değerleri genellikle pozitif tamsayılar olduğundan, -1 bu örnek için uygun bir nöbetçi değer olabilir. Böylece sınıf ortalama programı, 95,96,75,74,89 ve 1 gibi verileri işleyecektir. Program, sınıf ortalamasını 95,96,75,74 ve 89 notları için hesaplayacak ve ortalamayı yazdıracaktır.( -1 nöbetçi değerdir, bu sebepten ortalama hesabına katılmamalıdır.)
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 69 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Bu sınıf ortalama problemine, iyi yapısal programlar geliştirmek için ihtiyaç duyduğumuz bir teknikle yaklaşacağız. Bunun için ilk başta yapmak istediğimiz işin sahte kodunu yazalım: Toplam değişkenini sıfır olarak belirle Sayıcı değişkenini sıfır olarak belirle İlk notu gir Kullanıcı nöbetçi değeri girmediği sürece (while) bu notu o andaki değere ekle Sayıcıyı bir arttır Sıradaki notu al(bu değer nöbetçi değer olabilir) Eğer ( if ) sayıcı sıfıra eşit değilse Ortalamayı, notların toplamını sayıcıya bölerek hesapla Ortalamayı yazdır Aksi takdirde ( else ) Not girilmemiştir yazdır
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü), B03_Örnek1 70 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Sahte Kod Toplam değişkenini sıfır olarak belirle Sayıcı değişkenini sıfır olarak belirle İlk notu gir Kullanıcı nöbetçi değeri girmediği sürece (while) bu notu o andaki değere ekle Sayıcıyı bir arttır Sıradaki notu al(bu değer nöbetçi değer olabilir) Eğer ( if ) sayıcı sıfıra eşit değilse Ortalamayı, notların toplamını sayıcıya bölerek hesapla Ortalamayı yazdır Aksi takdirde ( else ) Not girilmemiştir yazdır
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü), B03_Örnek1 71 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Sahte Kod Toplam değişkenini sıfır olarak belirle Sayıcı değişkenini sıfır olarak belirle İlk notu gir Kullanıcı nöbetçi değeri girmediği sürece (while) bu notu o andaki değere ekle Sayıcıyı bir arttır Sıradaki notu al(bu değer nöbetçi değer olabilir) Eğer ( if ) sayıcı sıfıra eşit değilse Ortalamayı, notların toplamını sayıcıya bölerek hesapla Ortalamayı yazdır Aksi takdirde ( else ) Not girilmemiştir yazdır
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 72 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Ortalamaların hesabında her zaman tamsayı değerleri hesaplayamayız. Sıklıkla ortalama, 7.2 ya da 93.5 gibi ondalıklı bir kısım içeren bir değerdir. Bu değerler ondalıklı sayılar (floating point numbers) ya da gerçek sayılar olarak adlandırılır ve float veri tipi ile temsil edilirler. Hesaplamadaki ondalık kısmı tutabilmek için, ortalama değişkeni float tipinde bildirilmiştir.buna rağmen toplam/sayici işleminin sonucu bir tamsayıdır. Çünkü toplam ve sayici değişkenleri tamsayı değişkenleridir. İki tamsayıyı bölmek bize ondalık kısmı kaybolmuş bir tamsayı değeri verecektir. Hesaplama işlemi ilk önce yapıldığından, ondalık kısım, sonuç ortalama değişkenine atanmadan önce kaybolur.
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 73 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Tamsayı değerleriyle ondalık kısma sahip bir hesaplama yapabilmek için, işlemde kullanılacak değerleri geçici olarak ondalıklı sayılara çevirmeliyiz. C, bu işlemi gerçekleştirmek için dönüşüm (cast) operatörünü kullanır. Programın 28. satırındaki ifadesi bir dönüşüm operatörü, ( float ), içermektedir. Bu operatör sayesinde, bu operatörün operandı olan toplam değişkeninin geçici olarak, ondalıklı sayı biçiminde bir kopyası oluşturulur. toplam değişkeninde depolanan değer hala bir tamsayıdır. İşlem artık, ondalıklı bir sayının (toplam değişkeninin geçici olarak float tipine çevrilmiş kopyası), sayici değişkeni içinde tutulan tamsayı değerine bölünmesi haline gelmiştir.
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 74 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) C derleyicisi, operandlarının tipi aynı olan deyimleri hesaplayabilir. Operandların aynı tipte olmaları için, derleyici seçilen operandlara terfi ( promotion ) adı verilen bir işlem uygular. Örneğin, int ve float veri tipini içeren bir deyimde, ANSI standardı int operandlarının kopyalarının oluşturulmasını ve float tipine terfi ettirilmesini söylemektedir. Örneğimizde, sayici değişkenin kopyası oluşturulup, float tipine terfi edildikten sonra işlem yapılmakta ve ondalıklı biçimdeki sonuç ortalama değişkenine atanmaktadır. ANSI standardı, değişik tipteki operandlar arasındaki terfi işlemleri için bir takım kurallara sahiptir.
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 75 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) 29.satırdaki printf ifadesindeki dönüşüm belirteci ortalama değişkeninin değerini yazdırmak için %.2f biçiminde kullanılmıştır. f, ondalıklı bir değerin yazdırılacağını belirtmektedir..2 ise, değerin hangi duyarlık ile gösterileceğini belirtir ve gösterilecek değerin, noktadan sonra iki basamak içerebileceği anlamına gelir. Eğer %f dönüşüm belirteci tek başına kullanılırsa, değerleri 6 duyarlığında yazdırır. Yani noktadan sonra 6 basamak yazdırır. Bu, %.6f yazmak ile aynıdır. Ondalıklı sayılar duyarlık ile yazdırıldıklarında, yazdırılan değerin belirtilen sayıda ondalıklı kısım içerebilmesi için değer yuvarlanır. Hafızadaki değer değiştirilmez.
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 76 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Aşağıdaki ifadeler çalıştırıldığında, 3.45 ve 3.4 değerleri yazdırılır.
B03.9 Algoritmalari Uygulamak : Durum 2 (Nöbetçi Kontrollü Döngü) 77 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) B03_Uygulama9 Ekrana 22/7 (pi sayısı) gerçel sayısını en az 10 farklı formatta yazdıran bir program yazınız. Programınızda gösterilecek her bir format öncesinde açıklayıcı ifadeler bulunsun.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 78 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Şimdi başka bir problem üzerinde çalışalım. Algoritmamızı yine sahte kod ve yukarıdan aşağıya adımsal iyileştirmeyle oluşturacağız ve bu algoritmanın C kodunu yazacağız. Daha önceden kontrol yapılarının birbirleri üzerine (bir dizide) eklenebildiğini görmüştük. Şimdi ise C de kontrol yapılarını, yapısal bir biçimde birleştirebilecek diğer yolu çalışacağız. Bu yola, bir kontrol yapısını diğeri içine yuvalamak denir.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 79 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Aşağıdaki problemi inceleyiniz: Bir kurs öğrencilerini bir lisans sınavına hazırlamaktadır. Geçen sene, bu kursu tamamlayan öğrencilerden bir kısmı lisans sınavına girmiştir. Kurs yöneticileri, öğrencilerin sınavdaki başarılarını öğrenmek istemektedir ve size sonuçları özetleyen bir program yazmanızı söylemişlerdir. Bu sınava giren 10 öğrencinin isimlerinin yer aldığı bir liste size verilmiştir. Bu listede eğer öğrenci sınavı geçmişse isminin yanında 1, eğer sınavdan kalmışsa isminin yanında 2 yazmaktadır.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 80 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Programınızın sınav sonuçlarını aşağıdaki şekilde analiz etmesi gerekmektedir. Sizden; Her sınav sonucunu girmenizi ve program başka bir sınav sonucunu alacağında ekrana Sonucu girin mesajını yazdırmanızı Her tipte sınav sonucunun sayısını bulmanızı Kaç öğrencinin sınavı geçtiğini ve kaçının kaldığını özetleyen bir gösterge hazırlamanızı Eğer 8 den fazla öğrenci sınavı geçtiyse yüksek başarı mesajını yazdırmanızı istemektedirler.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 81 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Problemi dikkatlice okuduktan sonra aşağıdaki gözlemleri yaparız: Program 10 test sonucunu işleyecektir. Sayıcı kontrollü döngü kullanılacaktır. Her test sonucu 1 ya da 2 gibi bir sayıdır. Program yeni bir sonuç okuduğunda bu sonucun 1 mi yoksa 2 mi olduğuna karar vermelidir. Algoritmamızda 1 olması durumunu inceleyeceğiz. Eğer sayı 1 değilse 2 olduğunu düşüneceğiz. ( Bu ünitenin sonunda bu kabullenmeye benzer bir dizi alıştırma bulacaksınız ) İki sayıcı kullanılacaktır. Bunlardan birincisi sınavı geçen öğrenci sayısını, ikincisi ise sınavdan kalan öğrenci sayısını saymak için kullanılacaktır. Program tüm sonuçları işledikten sonra, sınavı geçen öğrenci sayısının 8 den fazla olup olmadığına karar vermelidir.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 82 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Şimdi yukarıdan aşağıya adımsal iyileştirmeyi kullanalım. En başa aşağıdaki sahte kodu yazalım: Sınav sonuçlarını incele ve yüksek başarı durumunun gerçekleşip gerçekleşmediğini belirle. Bu kodun tüm programın bir özeti olduğunu tekrar vurgulamak istiyoruz. Ancak bu kodu C programına çevrilebilecek kadar detaylandırabilmek için birkaç iyileştirme yapmalıyız. İlk iyileştirmemiz şu şekildedir: Değişkenleri tanımla, 10 notu gir ve kalanlarla geçenleri say, Sınav sonuçlarının özetini yazdır ve yüksek başarı sağlandı mı karar ver.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 83 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Bu iyileştirme sonucunda da tüm programın bütünü anlatılmış olsa bile hala iyileştirmeler yapmalıyız. Geçen ve kalanları kaydetmek için sayıcılara, döngü sürecini kontrol etmek için bir başka sayıcıya ve kullanıcının gireceği veriyi tutacağımız bir değişkene ihtiyacımız vardır.bu sebepten, Değişkenleri tanımla sahte kodunu Geçenler değişkenini sıfıra ata. Kalanlar değişkenini sıfıra ata Öğrenci değişkenini bire ata biçiminde iyileştirebiliriz.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 84 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Bu iyileştirme sonucunda da tüm programın bütünü anlatılmış olsa bile hala iyileştirmeler yapmalıyız. Geçen ve kalanları kaydetmek için sayıcılara, döngü sürecini kontrol etmek için bir başka sayıcıya ve kullanıcının gireceği veriyi tutacağımız bir değişkene ihtiyacımız vardır.bu sebepten, Değişkenleri tanımla sahte kodunu Geçenler değişkenini sıfıra ata. Kalanlar değişkenini sıfıra ata Öğrenci değişkenini bire ata biçiminde iyileştirebiliriz.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 85 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) On notu gir ve geçenlerle kalanları say sahte kodu, her sınavın sonucunu başarılı bir şekilde girebileceğimiz bir döngüye ihtiyaç duymaktadır. Burada, 10 adet sınav sonucu olduğunu kesin olarak bildiğimizden sayıcı kontrollü döngü kullanabiliriz. Döngünün içinde (döngünün içine yuvalanmış), bir çiftli seçim yapısı kullanarak, sınav sonucunun geçer bir not ya da kalır bir not olduğuna karar verip uygun sayıcıları arttırırız. Sahte kodun iyileştirilmiş hali: Öğrenci sayıcısı 10 a eşit ya da 10 dan küçükken yeni sınav sonucunu al Eğer ( if ) öğrenci geçmişse Geçenlere bir ekle Aksi takdirde ( else ) Kalanlara bir ekle Boş satırların if/else kontrol yapısını açığa çıkartmak için konulduğuna dikkat ediniz. Böylelikle programın okunurluğu arttırılmıştır. Öğrenci sayıcısına bir ekle
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 86 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Sınav sonuçlarının özetini yazdır ve yüksek başarı sağlandı mı karar ver sahte kodunu aşağıdaki biçimde iyileştirebiliriz: Geçenlerin sayısını yazdır Kalanların sayısını yazdır Eğer(if) 8 den fazla öğrenci geçmişse Yüksek başarı yazdır.
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 87 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Gecenler değişkenini sıfıra ata. Kalanlar değişkenini sıfıra ata Öğrenci değişkenini bire ata Sınav sonuçları programı için iyileştirilmiş sahte kodun tamamı: Öğrenci sayıcısı 10 a eşit ya da 10 dan küçükken yeni sınav sonucunu al Eğer öğrenci geçmişse Geçenlere bir ekle Aksi takdirde Kalanlara bir ekle Öğrenci sayicisına bir ekle Gecenlerin sayısını yazdır Kalanların sayısını yazdır Eğer 8 den fazla öğrenci geçmişse Yüksek başarı yazdır
B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) 88 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B03) Gecenler değişkenini sıfıra ata. Kalanlar değişkenini sıfıra ata Öğrenci değişkenini bire ata Sınav sonuçları programı için iyileştirilmiş sahte kodun tamamı: Öğrenci sayıcısı 10 a eşit ya da 10 dan küçükken yeni sınav sonucunu al Eğer öğrenci geçmişse Geçenlere bir ekle Aksi takdirde Kalanlara bir ekle Öğrenci sayicisına bir ekle Gecenlerin sayısını yazdır Kalanların sayısını yazdır Eğer 8 den fazla öğrenci geçmişse Yüksek başarı yazdır B03_Uygulama10 Yanda sahte kodu verilen problemle ilgili olarak, önceki uygulama programlarınızı da göz önüne alarak uygun çıktılar veren bir program yazınız.