DonanımHaber'de AraYENİ GELİŞMİŞ ARAMA
ForumBu Bölümde Ara
Yeni DH Mobil Uygulama herkese açık beta sürümü kullanıma açıldı. Gizle Şimdi Dene
##### P.R.O.G.R.A.M.L.A.M.A. .D.E.R.S.L.E.R.İ #####
404
Cevap
52
Favori
70.041
Tıklama
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Delphi / C++ /Vb >> ##### P.R.O.G.R.A.M.L.A.M.A. .D.E.R.S.L.E.R.İ #####
Sayfaya Git:
Sayfa:
Giriş
Mesaj
    • Binbaşı
      1249 Mesaj
      27 Ekim 2008 20:56:13
      5. soru cevabım.
      1)başla 
      2) sayısal; xalan, xçevre, yalan, yçevre, zalan, zçevre, k1, k2, kü1, kü2, kü3, r, h, t
      3) metin; s, d, x, y, z
      4) yaz; "Dikdörtgen ve kare için; x, üçgen için; y, daire için z yazınız..."
      5) oku; s
      6) yaz; "alan mı çevre mi hesaplanacak? a/ç"
      7) oku; d
      8) eğer (s="x") ise
      9) eğer (d="a") ise
      10) yaz; "ilk kenarı giriniz..."
      11) oku; k1
      12) yaz; "ikinci kenarı giriniz..."
      13) oku; k2
      14) xalan=k1*k2
      15) yaz; "dikdörtgenin/karenin alanı=" &xalan
      16) eğer bitti
      17) git (4)
      18) eğer (d="ç") ise
      19) yaz; "ilk kenarı giriniz..."
      20) oku; k1
      21) yaz; "ikinci kenarı giriniz..."
      22) oku; k2
      23) xçevre=k1+k2
      24) yaz; "dikdörtgenin/karenin çevresi=" &xçevre
      25) eğer bitti
      26) eğer bitti
      27) git (4)
      28) eğer (s="y") ise
      29) eğer (d="a") ise
      30) yaz; "üçgenin taban uzunluğunu giriniz..."
      31) oku; t
      32) yaz; "tabana ait yüksekliği giriniz..."
      33) oku; h
      34) yalan=(t*h)/2
      35) yaz; "üçgenin alanı=" &yalan
      36) eğer bitti
      37) git (4)
      38) eğer (d="ç") ise
      39) yaz; "üçgenin ilk kenarını giriniz..."
      40) oku; kü1
      41) yaz; "üçgenin ikinci kenarını giriniz..."
      42) oku; kü2
      43) yaz; "üçgenin üçüncü kenarını giriniz..."
      44) oku; kü3
      45) yçevre=kü1+kü2+kü3
      46) yaz; "üçgenin çevresi=" &yçevre
      47) eğer bitti
      48) eğer bitti
      49) git (4)
      50) eğer (s="z") ise
      51) eğer (d="a") ise
      52) yaz; "yarıçap uzunluğunu giriniz..."
      53) oku; r
      54) zalan=3,14*(r*r)
      55) yaz; "dairenin alanı=" &zalan
      56) eğer bitti
      57) git (4)
      58) eğer (d="ç") ise
      59) yaz; "yarıçap uzunluğunu giriniz..."
      60) oku; r
      61) zalan=2*3,14*r
      62) yaz; "dairenin çevresi=" &zçevre
      63) eğer bitti
      64) eğer bitti
      65) git (4)
      66)bitti


      6.soruda kafam çok karıştı yapamadım. yapan arkadaşlar tebrikler
      |
      |
      _____________________________

      |I'll be back...|
      bir zamanlar altanns idim.
    • Binbaşı
      1668 Mesaj
      27 Ekim 2008 21:44:05
      quote:

      6) Kullanıcıdan ilk başta büyük sonra da küçük sayı isteyen, sonra büyükten küçüğe mi yoksa, küçükten büyüğe mi sıralama yapmak istediğini soran sonra, sadece tek sayılarımı yoksa çift sayıları mı yoksa bütün sayılarımı görüntülemek istediğini soran, bu seçimden sonra hesaplamaları yapan ekrana istenilenleri yazdıran eğer ilk başta büyük sonra küçük sayı girilmediyse, mesela 75 sonra 44 girilmesi gerekirken ilk 44 sonra 75 girildiyse hata veren programın yapay (sahte) kodunu yazınız.

      ÖRN: Birinci sayıyı giriniz : 85
      İkinci sayıyı giriniz : 79
      Büyükten küçüğe sıralama yapmak istiyorsanız 1 tuşuna küçükten büyüğe sıralama yapmak istiyorsanız 2 tusuna basınız.(2 ye basılmış kabul ettim)
      Küçükten büyüğe Çift sayıları sıralama yapmak istiyorsanız 1 tuşuna, küçükten büyüğe tek sayıları sıralamak istiyorsanız 2 tuşuna, bütün sayıları küçükten büyüğe sıralamak istiyorsanız 3 tuşuna basınız.(1 e basılmış kabul ettim)
      80
      82
      84
      (ve istenilen sayılara ulaşıldı 85 ile 79 arasında küçükten büyüğe çift sayılar sıralandı.)




      burda 2 sayı girmemizi istemişsiniz örnektede dediginiz gibi birinci sayı ve ikinci sayı
      ama örnegin devamında sıralamada 3 tane sayı sıralamışsınız (bu durumu açıklarmısınız )
      yada benmi yanlış okduugm örnegi tam yapmaya başladım ki tıkandım açıkçası
      başla 
      degisken; bsayi,ksayi
      yaz; "buyuk sayıyı giriniz"
      oku;bsayı
      yaz;"kucuk sayıyı giriniz"
      oku;ksayi
      yaz;büyükten küçüğe mi yoksa, küçükten büyüğe mi sıralama yapmak istersiniz? (B/K)
      eger cevap B ise
      yaz;tek sayılarımı, çift sayıları mı yoksa bütün sayılarımı görüntülemek istersiniz?
      eger cevap tek sayıları ise
      bsayi/2=1 and ksayi/2=1 // sayıları 2 ile böldügümüzde kalan 1 ise sayılar tek sayıdır


      |
      |
      _____________________________

    • Süresiz olarak uzaklaştırıldı.
      27 Ekim 2008 21:47:20 Konu Sahibi
      quote:

      Orjinalden alıntı: soryy


      Alıntıları Göster





      burda 2 sayı girmemizi istemişsiniz örnektede dediginiz gibi birinci sayı ve ikinci sayı
      ama örnegin devamında sıralamada 3 tane sayı sıralamışsınız (bu durumu açıklarmısınız )
      yada benmi yanlış okduugm örnegi tam yapmaya başladım ki tıkandım açıkçası
      başla 
      degisken; bsayi,ksayi
      yaz; "buyuk sayıyı giriniz"
      oku;bsayı
      yaz;"kucuk sayıyı giriniz"
      oku;ksayi
      yaz;büyükten küçüğe mi yoksa, küçükten büyüğe mi sıralama yapmak istersiniz? (B/K)
      eger cevap B ise
      yaz;tek sayılarımı, çift sayıları mı yoksa bütün sayılarımı görüntülemek istersiniz?
      eger cevap tek sayıları ise
      bsayi/2=1 and ksayi/2=1 // sayıları 2 ile böldügümüzde kalan 1 ise sayılar tek sayıdır





      Orada 2 sayı almış ama o iki sayı arasındaki çift sayıları küçükten büyüğe sıralamış yani orada seçenek bütün sayıları küçükten büyüğe sırala olsaydı şöyle olacaktı :
      79
      80
      81
      82
      83
      84
      85

      Aman yanlış anlaşılma olmasın...
      |
      |
    • Binbaşı
      1668 Mesaj
      27 Ekim 2008 22:00:46
      girdigimiz 2 sayının arasındaki sayılarımı sıralayacagız yani
      döngü kurarak ?


      bsayi=(girdigimizbuyuk sayi ) to ksayi=(girdigimiz kucuk sayı )

      Orada 2 sayı almış derken kednig örneginizdenmi yoksa benim yarım örnegimdenmi bahsettiniz
      teşekkür ederim
      |
      |
      _____________________________

    • Süresiz olarak uzaklaştırıldı.
      27 Ekim 2008 22:05:50 Konu Sahibi
      quote:

      Orjinalden alıntı: soryy

      girdigimiz 2 sayının arasındaki sayılarımı sıralayacagız yani
      döngü kurarak ?


      bsayi=(girdigimizbuyuk sayi ) to ksayi=(girdigimiz kucuk sayı )

      Orada 2 sayı almış derken kednig örneginizdenmi yoksa benim yarım örnegimdenmi bahsettiniz
      teşekkür ederim


      Kendi örneğimden bahsettim ama senin kurdugun döngü yanlış olur aslında oğru olur ama programlama dilleri için geçerli benim istediğim aslında sahte kodun sınırlarını zorlamanız. Yani sayaç mantıgı ile yapmanız...
      |
      |
    • Binbaşı
      1249 Mesaj
      27 Ekim 2008 22:07:06
      arkadaşlar imza kodu hazırladım, daha çok arkadaşın bu derslerden faydalanması için lütfen imzalarımıza en azından link olarak ekleyelim.


      [center][link=http://forum.donanimhaber.com/m_27263648/mpage_1/key_/tm.htm][image]http://store.donanimhaber.com/36/80/ca/3680cad545cbba15aefbad6c298a438d.png[/image] 
      [font="Verdana"][b][color=darkorange]### PROGRAMLAMA DERSİ ###[/color][/b][/font][/link][/center]






      _____________________________

      |
      |
    • Binbaşı
      1668 Mesaj
      27 Ekim 2008 22:15:14
      @Progr4mm3r hocam bu iş döngüden başka yapılmaz galiba (siz daha iyi bilirsiniz ama ) ben düşünüyorum 20dk dır aklıma birşey gelmiyor

      sayi1 ile sayi2 arasında döngü kurarız mod=1 ise tek tir mod=2 çifttir öyle yazdırırız
      |
      |
      _____________________________

    • Binbaşı
      1249 Mesaj
      27 Ekim 2008 22:22:53
      quote:

      Orjinalden alıntı: soryy

      @Progr4mm3r hocam bu iş döngüden başka yapılmaz galiba (siz daha iyi bilirsiniz ama ) ben düşünüyorum 20dk dır aklıma birşey gelmiyor

      sayi1 ile sayi2 arasında döngü kurarız mod=1 ise tek tir mod=2 çifttir öyle yazdırırız


      aynı şekilde bende kilitlendim, hiçbişey gelmedi aklıma.
      |
      |
      _____________________________

      |I'll be back...|
      bir zamanlar altanns idim.
    • Süresiz olarak uzaklaştırıldı.
      27 Ekim 2008 22:23:38 Konu Sahibi
      quote:

      Orjinalden alıntı: soryy

      @Progr4mm3r hocam bu iş döngüden başka yapılmaz galiba (siz daha iyi bilirsiniz ama ) ben düşünüyorum 20dk dır aklıma birşey gelmiyor

      sayi1 ile sayi2 arasında döngü kurarız mod=1 ise tek tir mod=2 çifttir öyle yazdırırız


      Döngüden başka yapılır.

      a=0
      a=a+1 mantıgı kullanılır mesela küçük sayı a' ya atanır. Çift sayı olup olmadıgını da Mod ile yapmazsınız yani yapılır ama ben sahte kod istiyorum o da şöyle oluyor ki direkt bölümler programlar küsüratı atar yani girilen sayı 5 (tek) ise 2 ye bölündüğünde normalde sonuç 2 tam 1/2 dir yani 2,5 dur ama bunu program 2 olarak algılar yani demek istediğim tekmi çift mi oldugunu anlamak için girilen sayıyı 2 ye böleriz tekrar iki ile çarparız ilk girilen sayı çıktıysa o sayı çifttir aksi durumda tektir. Bunu bir örnek ile pekiştirelim.

      Klavyeden 5 girildi. Program onu 5/2 yapar 5/2=2,5 ama program bunu 2 algılar 2 ile bölümüştük tekrar 2 ile çarparız 2*2=4 yani ilk girdiğimiz 5 rakamı çıkmadı yani bu bir tek sayıdır. Ama mesela Klavyeden 10 girildi. 2 ye bölünür: 10/2=5 ardından 5 tekrar 2 ile çarpılır sonuç 10 olur yani başta girilen sayı ile eşit olur yani çift sayıdır... Umarım yardımcı olabilmişimdir...
      |
      |
    • Binbaşı
      1668 Mesaj
      27 Ekim 2008 22:33:55
      quote:

      Klavyeden 5 girildi. Program onu 5/2 yapar 5/2=2,5 ama program bunu 2 algılar 2 ile bölümüştük tekrar 2 ile çarparız 2*2=4 yani ilk girdiğimiz 5 rakamı çıkmadı yani bu bir tek sayıdır. Ama mesela Klavyeden 10 girildi. 2 ye bölünür: 10/2=5 ardından 5 tekrar 2 ile çarpılır sonuç 10 olur yani başta girilen sayı ile eşit olur yani çift sayıdır... Umarım yardımcı olabilmişimdir...


      bu yöntemi diyelim sayı aralıgımızda 100 sayı var küçük sayı olarak 1 büyükte 101 girdiler
      döngüsüz hepsine birden nasıl uygulayacaz ?
      tek tek bütün sayılara uygulamaya çalışsak iyi bir yöntem olmaz
      + olarak şunuda söylemek isterim bu örnek ilk defa programlama öğrenecekler için ağır kaçmış
      derslerinizi sabırsızlıkla bekliyorum
      |
      |
      _____________________________

    • Süresiz olarak uzaklaştırıldı.
      27 Ekim 2008 22:39:10 Konu Sahibi
      quote:

      Orjinalden alıntı: soryy


      Alıntıları Göster



      bu yöntemi diyelim sayı aralıgımızda 100 sayı var küçük sayı olarak 1 büyükte 101 girdiler
      döngüsüz hepsine birden nasıl uygulayacaz ?
      tek tek bütün sayılara uygulamaya çalışsak iyi bir yöntem olmaz
      + olarak şunuda söylemek isterim bu örnek ilk defa programlama öğrenecekler için ağır kaçmış
      derslerinizi sabırsızlıkla bekliyorum


      Evet biraz ağır geldiğini bende düşünmeye başladım ama... Döngüsüz hepsine nasıl yapacagız diyorsun tabiiki tek tek yapmayacaksın. Bahsettiğim gibi saat kullanacaksın.
      1)küçük sayı giriniz
      2)oku, x
      3)büyük sayıyı giriniz
      4)oku, y
      5)a=x
      6)a=a+1
      7)eğer (a<y) ise
      8)Git (6)

      Bu mantık ile ilerleyeceksin. Eğerli ifade koyacaksın diyeeksinki eğer x sayısı y sayısına ulaşmadıysa tekrar sayaç' a dön gibisinden yani benim yukarıda yazdıgım yapay kodun açılımıdır bu....
      |
      |
    • Binbaşı
      1668 Mesaj
      27 Ekim 2008 22:49:31
      burdaki sayaç mantıgı zaten döngü değilmi eger sayı1 sayi2 ye ulaşamadıysa başa sar tekrala işlemleri sayi1+1 olarak yada başka birşey varda benmi anlamak istemiyorum

      şunuda söylemek isterim sahte kod yazmak gerçege nazaran daha zor gelmiştir bana

      not alttaki resim gözükmüyor
      < Bu mesaj bir yönetici tarafından değiştirilmiştir >
      |
      |
      _____________________________

    • Süresiz olarak uzaklaştırıldı.
      27 Ekim 2008 22:49:31 Konu Sahibi
      Sanırım hazırlamış oldugum şu plan işinize yarar:

      |
      |
    • Binbaşı
      1668 Mesaj
      27 Ekim 2008 23:00:14
      quote:

      Orjinalden alıntı: Progr4mm3r

      Sanırım hazırlamış oldugum şu plan işinize yarar:



      plan görüntülenemiyor
      |
      |
      _____________________________

    • Teğmen
      246 Mesaj
      27 Ekim 2008 23:20:47
      6. soru için bir kopya veriyim mi ?

      Tek sayılar isteniyorsa,
      Küçükten büyüğe sıralanacaksa ve Küçük sayı tek ise sayı ikişer artırılır,çift ise başlangıç sayısı bir eksiltilip ikişer artırılır.
      Büyükten küçüğe sıralanacaksa ve Büyük sayı tek ise sayı ikişer eksiltilir,çift ise başlangıç sayısı bir artırılıp ikişer eksiltilir.

      Çift sayılar isteniyorsa ,
      Küçükten büyüğe sıralanacaksa ve Başlangıç sayısı tek ise bir eksiltilir ikişer artırılır, çift ise ikişer artırılır.
      Büyükten küçüğe sıralanacaksa ve Başlangıç sayısı tek ise bir artırılıp ikişer eksiltilir,çift ise ikişer eksiltilir.

      Sadece başlangıç ve bitiş sayıları için tek/çift kontrolu yapılır.
      Bu sayede her sayı için tek/çift kontrolu yapılma gereği ortadan kalkar ve daha hızlı sonuç alınır sanıyorum,hem de kanaat notuzu yükseltir.
      < Bu mesaj bir yönetici tarafından değiştirilmiştir >
      |
      |
    • Binbaşı
      1249 Mesaj
      27 Ekim 2008 23:24:51
      quote:

      Orjinalden alıntı: soryy



      Alıntıları Göster


      plan görüntülenemiyor


      bende açıldı 1 kere sonra hata verdi tekrar



      bana ağır geldi şimdilik bakalım sabah tekrar sağlam kafayla incerim
      |
      |
      _____________________________

      |I'll be back...|
      bir zamanlar altanns idim.
    • Süresiz olarak uzaklaştırıldı.
      27 Ekim 2008 23:25:27 Konu Sahibi
      quote:

      Orjinalden alıntı: soryy

      burdaki sayaç mantıgı zaten döngü değilmi eger sayı1 sayi2 ye ulaşamadıysa başa sar tekrala işlemleri sayi1+1 olarak yada başka birşey varda benmi anlamak istemiyorum

      şunuda söylemek isterim sahte kod yazmak gerçege nazaran daha zor gelmiştir bana

      not alttaki resim gözükmüyor


      Evet döngüdür zaten ama özel komutlar kullanmıyorsun hep tekrarı ve eğer li ifade kullanrak programlamadaki döngüyü sağlamaya çalışıyorsun ama normalde Yapay kodda daha çok zorlanılır algoritmada filan ama daha gelişmiş problemler ve hesaplarda yani bunda kafa karıştıracak birşey bana göre ama ben bildiklerimi aktaramadım sana resmi arkadaş koyacak...
      |
      |
    • Binbaşı
      1249 Mesaj
      27 Ekim 2008 23:27:20
      quote:

      Orjinalden alıntı: Tigertiger

      6. soru için bir kopya veriyim mi ?

      Tek sayılar isteniyorsa,
      Küçükten büyüğe sıralanacaksa ve Küçük sayı tek ise sayı ikişer artırılır,çift ise başlangıç sayısı bir eksiltilip ikişer artırılır.
      Büyükten küçüğe sıralanacaksa ve Büyük sayı tek ise sayı ikişer eksiltilir,çift ise başlangıç sayısı bir artırılıp ikişer eksiltilir.

      Çift sayılar isteniyorsa ,
      Küçükten büyüğe sıralanacaksa ve Başlangıç sayısı tek ise bir eksiltilir ikişer artırılır, çift ise ikişer artırılır.
      Büyükten küçüğe sıralanacaksa ve Başlangıç sayısı tek ise bir artırılıp ikişer eksiltilir,çift ise ikişer eksiltilir.

      Sadece başlangıç ve bitiş sayıları için tek/çift kontrolu yapılır.
      Bu sayede her sayı için tek/çift kontrolu yapılma gereği ortadan kalkar ve daha hızlı sonuç alınır sanıyorum,hem de kanaat notuzu yükseltir.





      peki baştaki ve sondaki tek sayı çift sayı kontrolünü nasıl yapıcaksın hocam?
      |
      |
      _____________________________

      |I'll be back...|
      bir zamanlar altanns idim.
    • Süresiz olarak uzaklaştırıldı.
      27 Ekim 2008 23:28:36 Konu Sahibi
      quote:

      Orjinalden alıntı: Tigertiger

      6. soru için bir kopya veriyim mi ?

      Tek sayılar isteniyorsa,
      Küçükten büyüğe sıralanacaksa ve Küçük sayı tek ise sayı ikişer artırılır,çift ise başlangıç sayısı bir eksiltilip ikişer artırılır.
      Büyükten küçüğe sıralanacaksa ve Büyük sayı tek ise sayı ikişer eksiltilir,çift ise başlangıç sayısı bir artırılıp ikişer eksiltilir.

      Çift sayılar isteniyorsa ,
      Küçükten büyüğe sıralanacaksa ve Başlangıç sayısı tek ise bir eksiltilir ikişer artırılır, çift ise ikişer artırılır.
      Büyükten küçüğe sıralanacaksa ve Başlangıç sayısı tek ise bir artırılıp ikişer eksiltilir,çift ise ikişer eksiltilir.

      Sadece başlangıç ve bitiş sayıları için tek/çift kontrolu yapılır.
      Bu sayede her sayı için tek/çift kontrolu yapılma gereği ortadan kalkar ve daha hızlı sonuç alınır sanıyorum,hem de kanaat notuzu yükseltir.





      Bu bir sözlü algoritmadır. Bunu da programlar hazırlanırken birden fazla programcı hazırlıyorsa böyle yöntemler kullanılır. Bu arada şekilde gösterdiğim bir sayının karekökünü bulan programın akış diyagramı ile gösterimidir. Bunu hazırladım çünkü daha kolay anlarsınız....
      |
      |
    • Teğmen
      246 Mesaj
      27 Ekim 2008 23:53:20
      quote:

      Orjinalden alıntı: SynFx

      peki baştaki ve sondaki tek sayı çift sayı kontrolünü nasıl yapıcaksın hocam?


      Yazı tura atarız, yazı ise tek tura ise çift





      Şaka bir yana, Progr4mm3r hocanın önerdiği yöntem güzeldi.

      quote:

      Orjinalden alıntı:Progr4mm3r


      ..Çift sayı olup olmadıgını da Mod ile yapmazsınız yani yapılır ama ben sahte kod istiyorum o da şöyle oluyor ki direkt bölümler programlar küsüratı atar yani girilen sayı 5 (tek) ise 2 ye bölündüğünde normalde sonuç 2 tam 1/2 dir yani 2,5 dur ama bunu program 2 olarak algılar yani demek istediğim tekmi çift mi oldugunu anlamak için girilen sayıyı 2 ye böleriz tekrar iki ile çarparız ilk girilen sayı çıktıysa o sayı çifttir aksi durumda tektir.
      |
      |
Reklamlar
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.