9 Tanecik Algoritma Sorusu :)
-
1.Kullanıcını gireceği bir tam sayının tam bölenlerini bulup ekrana yazdır.
2.Kullanıcının önceden belirlenmiş şifreyi bilmesi gerekmektedir.3 Giriş hakkı vardır.Eğer 3 kez yalnış girerse hakkınız bitti yazısı çıkıp program sonlanır.Doğru cevabı werirse hoşgeldiniz çıkar.
3.Kullanıcının girdiği sayıların toplamını weren programın algoritmasını çıkartınız.Kullanıcıya sayı girmeye dewam edip etmeyeceği sorulacak;İstediği sürece toplama dewam edecek.
4.Kullanıcını gireceği 50 sayıdan kaçının karesinin 4 ün katı olduğunu bulan programın akış diagramını çiziniz
5.Bilgisayarın Rastgele Tuttuğu bir sayıyı,büyük gir - küçük gir yönlendirmesiyle kullanıcıya bulduran programın algoritmasını çiziniz.
6.Kullanıcının gireceği 1.sayının 2.sayıya bölümünü bulan pragramı bölme komutu kullanmadan akış diagramını çiziniz.
7.100'e kadar olan sayıların kendi basamak değerlerinin toplamına tam bölünen sayıları ekrana yazdır.8.Kullanıcının girdiği mesajı tersten ekrana yazdıran programın akış diagramını çiziniz.(uzunlukbul,harfal)
9.Kullanıcının girdiği bir mesajdaki sesli harf sayısını bulan programın akış diagramını çiziniz. -
Matlab için mi?
-
pc hocası vermiş ödew matlab değil ama :) programlama içinmiş :)
-
Bunların hepsinini oturup yazcan mı?
Uzun iş.
Ama sorular kolay.
Bir de flowchart'ı elle mi çizcen?
(Kuralları var, paralel kenar input output için, dikdörtgen işlemler için vs... vs..)Onun için bir program falan vardır bir bakın internette.
-
bir benden olsun
o sayıya kadar bütün sayılar modunu aldırırsın sonra sıfır olanlar ekrana yazdır
-
Musket bunu yazdı:
-----------------------------Bunların hepsinini oturup yazcan mı?
Uzun iş.
Ama sorular kolay.
Bir de flowchart'ı elle mi çizcen?
(Kuralları var, paralel kenar input output için, dikdörtgen işlemler için vs... vs..)Onun için bir program falan vardır bir bakın internette.
-----------------------------
akış diyagramları için bi program var flowchart adında. diyagramları tam hatırlayamasamda vb veya asp dilinde soruları yarın yazabilirim sana :D
-
Abi flowchart
Akış diagramının İngilizcesi ^^
Yani bir program adı da olabilir tabii de...
-
pit10din bunu yazdı:
-----------------------------1.Kullanıcını gireceği bir tam sayının tam bölenlerini bulup ekrana yazdır.
2.Kullanıcının önceden belirlenmiş şifreyi bilmesi gerekmektedir.3 Giriş hakkı vardır.Eğer 3 kez yalnış girerse hakkınız bitti yazısı çıkıp program sonlanır.Doğru cevabı werirse hoşgeldiniz çıkar.
3.Kullanıcının girdiği sayıların toplamını weren programın algoritmasını çıkartınız.Kullanıcıya sayı girmeye dewam edip etmeyeceği sorulacak;İstediği sürece toplama dewam edecek.
4.Kullanıcını gireceği 50 sayıdan kaçının karesinin 4 ün katı olduğunu bulan programın akış diagramını çiziniz
5.Bilgisayarın Rastgele Tuttuğu bir sayıyı,büyük gir - küçük gir yönlendirmesiyle kullanıcıya bulduran programın algoritmasını çiziniz.
6.Kullanıcının gireceği 1.sayının 2.sayıya bölümünü bulan pragramı bölme komutu kullanmadan akış diagramını çiziniz.
7.100'e kadar olan sayıların kendi basamak değerlerinin toplamına tam bölünen sayıları ekrana yazdır.8.Kullanıcının girdiği mesajı tersten ekrana yazdıran programın akış diagramını çiziniz.(uzunlukbul,harfal)
9.Kullanıcının girdiği bir mesajdaki sesli harf sayısını bulan programın akış diagramını çiziniz.
-----------------------------Flowchart falan çizmiycem ama mantıklarını açıklıyayım.
(Yani ödevini tam olarak yapmış olmayacağım ama yardımcı olmuş olacağım)1-
2 den sayıya kadar bir döngü kuracaksın
Bu 2 den sayı ya kadar artan değişkene 'checker' diyelim mesela.
sayı % checker == 0 olduğunda, sayıyı checker'a böleceksin
(sayı /= checker)
Ve checker'ın o anlık değerini bir kenara kaydedeceksin (output adında bir string uygun olur bu iş için, ya da bir array)
Sonra checker'ı 2 ye eşitleyip devam edeceksin
(1 e her sayı bölünür diye 2 den başlıyorsun)2-
olması gereken şifreye pass diyelim
Hatalı girdi sayısına da errorCount
if input == pass
terminate
else
errorCount += 1
###############
Açıkla açıkla zor oluyor ya. ben en iyisi psuedo code olarak yazıyım
###############
3-
product = 0
boolean continue = true
if(continue)
read number
product += number
read continue
else
print product
terminate
4-
numberCount = 0
proCount = 0
returnFlag
if(counter < 50)
read sayi
if(sayi % 4 == 0)
proCount++
counter++
go to returnFlag
else
terminate
5-
sayi = Math.random()
returnFlag
read guess
if(sayi < guess)
print "Küçük gir"
go to returnFlag
else if (sayi > guess)
print "Büyük gir"
go to returnFlag
if(sayi == guess)
Print "Tamam buldun helal"
terminate
6-
read sayi1
read sayi2
print sayi1 % sayi2
terminate
7-
(Valla bunu pseudo code olarak nasıl yazarız bende emin değilim ama bunu biraz daha kodumsu yapsam sen düzenlesen daha hayırlı olur)
(Zira flowchartlarda while for falan gibi olaylar yok. if ve go to var sadece yani biraz karışıyor anlatabildim mi bilmiyorum)
output = ""
number = 0
returnFlag
if(number < 100)
if( ( (number % 10) + (number - (number / 10) ) == number )
output += number + " "
(Aslında burda string e int eklenmez ama flowchart pseudo code da falan eklenir :P)
number++
go to returnFlag
8-
read input
inputLength = input.uzunlukbul ( input.length() )
output = ""
returnFlag
inputLength--
//Bunun amacı da şu ki, bilgisayarda adresler 0 dan başlar ama uzunluklar 1 den başlar.
//Bu sorunun da en mantıklı çözümü uzunluğu bir azaltmak :))
//harfal dediği metod da aslında charAt(int index) şeklinde bir metod
if( inputLength >= 0 )
output += input.harfal(inputLength)
inputLength--
go to returnFlag
else
print output
terminate
9-
Valla bana sorarsan bu tuzak bir soru
Bunu yapmamanızı beklediğine inanıyorum hocanın
Ama senden değerli değil
Aslında olayı ASCII table ı kullanarak çözmek daha anlamlı.
Ama böyle bir şansımız falan yok tabiiki bu durumda ^^
O yüzden basit bir if koycaz.
Sesli harf kontrol eden if i tek tek yazmıycam (8 tane sesli harf var malum ^^)
Ama şöyle yapıyorsun
| or manasına geliyor.
Yani if(input.harfal(değer) == a | input.harfal(değer) == e | ....)
Şeklinde yapılıyor o kısım
Sesli harf kontrol() yazdığım yeri bu ifle değiştirirsin :)
read input
inputLength = input.uzunlukbul
inputLength--
sesliHarfCount = 0
returnFlag
if(inputLength >= 0)
SesliHarfKontrol() --> Burayı o babalar gibi if ile değiştircen :D
sesliHarfCount++
inputLength--
go to returnFlag
#############
Bu kadar. Bitti.
