Şimdi Ara

Algoritmadan 3 tane sorum vardı da (Acil)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
14
Cevap
0
Favori
699
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • İyi günler
    Ben lise 2 ye geçtim ve Bilişim okuyorum öğretmen bize 6 tane soru verdi ve 3 tanesini yapabildim geri kalan 3 ünü yapamadım . Yardımcı olursanız çok sevinirim.

    1- Klavyeden girilen süreye göre arcın otopark ücreti hesaplanacaktır. 0-2 Saat Kamyonlardan 7 tl arabalardan ise 5 tl alınacaktir.2-12 saat için kamyonlardan 15 tl arabalardan ise 13 tl alınacaktır.Verilere ve otomobile göre girilen zamanın ücretini hesaplayan algoritma.
    2-Klavyeden girilen 10 adet sayının en büyüğünü ve en küçüğünü bulan programın algoritması
    3-Bir postanede gönderilen mektubun 3 gramına 50 krş , 3 gramdan sonra her yarım gramına ise 10 krş ekstra ücret alınıyor bu programın algoritması.


    Şimdiden teşekkür ederim
    Saygılar...



  • Yardım edicek yokmu acaba Cidden çok acil. Kendim yapmaya çalışıyorum ama zorlanıyorum
  • 1. si kolay. c++(console da) ya da vb.net(win application da) ten herhangi birinde yaparım.
    2. sinin kodunu internette görmüştüm vb.nette. ama bir yerine anlamadığım için onu anlatamıycam sana
    3. üsünü de c++ da console da ya da vb.net te win application da yapabilirim.

    hangi dili kullandığını söylemen yeterli
  • C# görüyoruz
  • c# da console bilgim hiç yok. :( microsoft un dillerinde sadece görsel programlama yaptım. 1. sini ve 3. sünü ancak win applicationda yapabilirim.
  • Çok teşekkürler. Kendim 1 ve 2. soruları yapmayı denedim ve heralde oldu . 3 ile uğraşamadım artık kafam almadı
  • c# ta yazdırma ve kalvyeden bilgi almak için kullandılan kodları bilmiyorum. bilesem yazarım direk.
    3. yü nasıl yapıcağını açıklıyım. kodlarını sen yazarsın:

    float a; // değişken tanımla
    //Klavyeden girdi alma koduyla float a değerine ata.
    if(a=<3)
    {
    //yazdırma komutunda 50kr yazdır.
    }
    else
    {
    float b, c;
    b = (a -3)*10;
    c = 50 + b;
    //c yi yazdır.
    }

    3. uygulama böyle olucak. 2. sorunun cevabını burdan ya da özelden yazarsan sevinirim. yaptığına göre diğer bildiğim dillere göre kodu uyarlıycam. hem de c# ta console a giriş yapmış olurum
  • Mantık çok basit, algoritmasını anlarsan yapman çok kolay döngüleri biliyorsan. Arkadaş 1-3 ü biliyormuş anlatsın 2 için yapman gereken:

    Klavyeden girilen 10 elemanı bi diziye atarsın. Döngüye sokarak ilk 2 elemanı kontrol edersin. 3. yü, 4. yü böyle gidersin. Dizinin 10. elemanına gelene kadar.

    int[] intdizi = {1,98,2005,2,3,5,100,4,65,101};
    int enBuyuk = 0; //ilk olarak bi değer atıyoruz.
    foreach(int eleman in intdizi) //dizinin bütün değerlerini tek tek alıp içerdeki if döngüsüne sokuyoruz.
    {
    if(enBuyuk < eleman) // önce ilk elemanı alıyoruz. 0<1 sağladığından en büyük değişkenimiz 1 olur. Sonra 1<98 den 98 olur.
    enBuyuk = eleman; // 98<2005den en büyük 2005 olur. 2005<2 sağlamadığından en büyük 2005 kalır.... son elemana kadar devam eder
    }
    Console.WriteLine(enBuyuk); // en sonda en büyüğünü yazar.

    Arkadaşım mantık bu. Bunu çevirip yaparsın. Tek yapman gereken 10 tane sayıyı klavyeden okutup okuduğunu almak. En küçüğü almak içinde tersi bi mantık uygulayabilirsin. Ama en küçüğü bulurken değişkenimize ilk değer 0 atarsak sonuç devamlı sıfır gelir. Onun için ilk değere klavyeden girilen ilk elemanı atarsın.



    < Bu mesaj bu kişi tarafından değiştirildi netcore -- 24 Ekim 2011; 23:37:59 >




  • Çok teşekkür ederim yarın size sonuçları yazarım
  • quote:

    Orijinalden alıntı: bjlkl

    c# ta yazdırma ve kalvyeden bilgi almak için kullandılan kodları bilmiyorum. bilesem yazarım direk.
    3. yü nasıl yapıcağını açıklıyım. kodlarını sen yazarsın:

    float a; // değişken tanımla
    //Klavyeden girdi alma koduyla float a değerine ata.
    if(a=<3)
    {
    //yazdırma komutunda 50kr yazdır.
    }
    else
    {
    float b, c;
    b = (a -3)*10;
    c = 50 + b;
    //c yi yazdır.
    }

    3. uygulama böyle olucak. 2. sorunun cevabını burdan ya da özelden yazarsan sevinirim. yaptığına göre diğer bildiğim dillere göre kodu uyarlıycam. hem de c# ta console a giriş yapmış olurum

    quote:

    b = (a -3)*10;
    c = 50 + b;



    Her yarım grama 10krş ücret dediği için b = (a -3)*20; olacak (:




  • exe_genesis bi şey analmadım. kodları yazıp açıklarsan daha iyi olucak.


    mtnmmc 2. sorunun sonucunu merak ediyroum :)
  • quote:

    Orijinalden alıntı: bjlkl

    exe_genesis bi şey analmadım. kodları yazıp açıklarsan daha iyi olucak.


    mtnmmc 2. sorunun sonucunu merak ediyroum :)

    Dizi ve foreach'in ne olduğunu biliyor musun. Bilmiyorsan anlaman zor. Biliyorsan 1 dknı bile almaz anlamak. Kafamdan kabataslak kod yazamam program yok şuan malesef.

    Bi dizi oluştur klavyeden girilen tüm değerleri o diziye ata.(10 elemanlı bi dizin olacak). ÖRnek için şuraya bakabilirsin Dizi örnekleri

    Mantık çok basit.

    -Klavyeden girilen tüm sayıları bi dizi(array) e ata.
    -Dizideki tüm elemanları tek tek dolaş. (foreach)
    -Büyükmü diye kıyasla. ( if )


    Diziye 10 elemanı atayınca (klavyeden girilen sayıları diziye yazacaksın o kadar).

    int[] integerDizi = { 4, 8, 23,5,12,7,1,91, 64, 35 }; böyle bi dizin olmuş olacak.
    int enBuyuk = 0;
    foreach ile de her eleman için bi döngü yapacaksın.

    foreach(int eleman in intdizi) //dizinin ilk elemanı aldı 4. yani eleman=4
    {
    if(enBuyuk < eleman) // 0 küçük mü 4 den. eşitlik sağlanıyorsa(ki sağlanıyor)
    enBuyuk = eleman; en büyük'ün yeni değeri eleman yani 4.
    }

    //tekrar başa döner foreach kısmına eleman bu kez dizinin 2. değeri 8 olur. aynı if falan işlemleri 8 için yapar.
    //tekrar başa foreach kısmına eleman bu kez 23 olur tekrar
    .... son eleman bitinceye kadar tekrarlar en son döngüden çıkar en büyük eleman ı verir.


    Daha nasıl anlatırım bilmiyorum yazarak biraz zor hatta imkansız oluyor Ama foreach ve dizi ye bakarsan yapman çocuk oyuncağı. Windows app. olsaydı aklımdan yazardımda consol yazmayalı yıllar oldu unuttum :)




  • şimdi anladım. ama c# ta yazamam :)
  • Bugün bu 3 sorunun cevabını yaptık sınıfta.(Algoritmaları)

    1.Soru
    Başla
    Top = 0
    Arabanın Türü (X) GİR
    Kaldığı süre (S) GİR
    Eğer X = "kamyon" ve 0<S<2 ise Top = Top + 7
    Eğer X = "kamyon" ve 2<S<5 ise Top = Top + 12
    Eğer X = "kamyon" ve 5<S<24 ise Top = Top + 17
    Eğer X = "otomobil" ve 2<S<5 ise Top = Top + 5
    Eğer X = "otomobil" ve 2<S<5 ise Top = Top + 10
    Eğer X = "otomobil" ve 2<S<5 ise Top = Top + 15
    Top YAZ
    Bitiş

    2.Soru
    Başla
    Sayac = 0
    A sayısını gir
    EB = A
    A sayasını gir
    EK = A
    A sayısını gir
    Sayaç = Sayaç + 1
    Eğer A>EB ise EB = A
    Eğer A<EK ise EK = A
    Eğer Sayaç<8 ise 7. adıma git.
    EB ve EK yaz
    Bitiş

    3.soru

    Başla
    Kargonun ağırlığı(X) Gir
    Eğer 0<X<=3 ise "50krs" YAZ
    Eğer 3 < X ise X*20 YAZ
    Bitiş




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.