Durum şu 3 yıldır geçemediğim Bilgisayarda Programlama dersini hoca ile konuşup bir şart ile geçireceğini söyledi.Aşağıdaki soruları çözersem geçirceğini belirtti.Dersten anlamadığım için yardımınıza ihtiyacım var U-S ailesi.Yardımcı olursanız gerçekten çok mennun olurum.

1) Ekrandan txtSayi adlı bir alandan alınacak 0 ile 100 arasındaki bir sayının faktoriyelini hesaplayıp bunu ekrandaki txtSonuc adlı alana yazdıran program parçasını yazınız.Kurduğunuz algoritmanın adımlarını ayrıntılı olarak tanımlayan bir de açıklama yazınız. (Neyi neden yaptığınızı da. Değişken tipleri seçerken tip özelliklerini göz önünde bulundurunuz. Integer ise neden log ise neden)

2) Ekrandan txtSayi adlı bir alandan alınacak herhangi bir sayının tek veya çift olduğunu mesaj kutusu aracılığı ile söyleyen program parçasını yazınız.Bir sayının çift veya tek olduğunu nasıl bulabilirizin algoritmasını yazınız

3) Ekrandan txtSaat adlı bir alandan alınacak herhangi bir zamanın saat, dakika ve saniye bölümlerini ayrıştırarak, hangisinin en büyük sayı ve hangisinin en küçük sayı olduğunu Ekranda bulunan iki adet Label alanına yazınız.

4) Ekrandan txtSayi adlı bir alandan kullanıcı tarafından alınacak herhangi sayıdaki bir dizi sayıyı bir diziye doldurup, bunları aynı boyuttaki ayrı iki dizinin birinde büyükten küçüğe doğru sıralanmış halini, diğerinde ise büyükten küçüğe doğru sıralanmış halini oluşturunuz.Sayıları karşılaştırıp sıraya sokmak için oluşturduğunuz algoritmayı açıklayınız

5) Ekrandaki Genişlik, Uzunluk ve Yükseklik alanlarından alınacak değerleri kullanarak bir dikdörtgen prizmanın alanını hesaplayarak ekrandaki alan bölümüne yazdıran program parçasını yazınız

6) Bir robotun kolu bir motorla hareket ettirilmektedir.Motorun kolu ilerletme miktarı motora bilgisayarın paralel portundan gönderilecek açı miktarıyla kontrol edilmektedir.Kol en çok 120 derece hareket edebilmektedir.Kolun çalışabildiği aralıkta herhangi bir konuma gelebilmesi için kullanıcının ekrandan gireceği değeri kontrol ederek robota gönderecek program parçasını yazıp algoritmasını açıklayınız

7) 8 adet ledin uygun biçimde dizildiği kartımızın üzerindeki ledler bilgisayarda paralel porttan kontrol edilecektir.Ledler paralel porta 11111111 değeri girildiğinde hepsi yanmakta, 00000000 değeri girildiğinde hepsi sönmektedir.Bunlar Binary (ikilik tabanlı) sayılardır.Bu sayıların Decimal karşılığı 255 ve 0 değerleridir.Ekranımızda hazırladığımız formda bunlardan binary tipindeki sayıyı gösteren bölüme kullanıcı 1 veya 0 oluşan sekiz adet rakam girelecektir.Bu veri bilgisayarın portuna decimal olarak gönderilecektir.Kullanacının binary alanına yazdığı ikilik sayıyı bilgisayara gönderilecek decimal sayıya dönüştürecek ve bunu ekran üzerindeki decimal sayı alanına yazacak program parçasını yazınız

8 ) Karttaki ledlerin tümünü yanıp, bir süre bekledikten sonra tümünü sönmesi için olayın sürekli tekrarlanması ve “Esc” tuşuna basıldığında durması için gereken program parçasını yazınız.

9) Karttaki ledlerin Kara şimşek devresi diye adlandıralan türden sırayla sağa ,sonra sırayla sola doğru yanıp sönmesini sağlayacak program parçasını yazınız.

10) Bir sınıftaki öğrencilerin numarılarını ve vize notlarını bir ekrandan alıp bir dizeye doldurunuz.Daha sonra bu sınıfın vize ortalama notunun, sınıftaki en yüksek en düşük notun ve bunların ait olduğu öğrenci numarılarını ekranda tanımlayacağınız uygun alanlara yazdırınız

Bu konu MaxiDelos tarafından düzenlendi(2012-12-08 21:24, 11 yıl önce)
Yazılım programı olarak ne kullanıyorsun ? PIC için ? MsXLabx , Swordfish , PIC C ?

Ayrıca aklıma takılan bir şey var. Bu yazdıklarını ben makine mühendisi olarak sırf hobi amaçlı yapmıştım ve de Elektrik elektronik bölümündeki 2.sınıf öğrencileri dahi bunları kolay bir şekilde yapabilir sanırım.

Kullandığın PIC modelinin Port listesini bul port atamalarını gerçekleştir. Süreler için delay ayarla. Örneğin led yanıp sönmesi için atıyorum,

PortA = 0x6F dedim ledin bağlı olduğu RCL den aldım portu

PortA.1= 1 aktif ediyim.

delay(5000)

PortA.1= 0

Hangi dili kullanıyorsun oda önemli tabi :)
Kodlamada Microsoft Visual Basic 6.0 kullanıyoruz. ve sanırım bu led olayı içinde mikroC PRO for PIC kullanıyorduk
MaxiDelos : Kodlamada Microsoft Visual Basic 6.0 kullanıyoruz. ve sanırım bu led olayı içinde mikroC PRO for PIC kullanıyorduk

Proteus'da devreni falan kurdunmu peki. MicroC den halledebilirsin. Ya da swordfish de zaten Visual Basic tabanlı.


Birde 6.madden için CNC kodlamayı araştırmanı öneririm.


6) Bir robotun kolu bir motorla hareket ettirilmektedir.Motorun kolu ilerletme miktarı motora bilgisayarın paralel portundan gönderilecek açı miktarıyla kontrol edilmektedir.Kol en çok 120 derece hareket edebilmektedir.Kolun çalışabildiği aralıkta herhangi bir konuma gelebilmesi için kullanıcının ekrandan gireceği değeri kontrol ederek robota gönderecek program parçasını yazıp algoritmasını açıklayınız


CNC ile kodlamalarını çok daha basit yapıp assembly dönüşütürüp PIC'e converter ile atabilirsin.


5) Ekrandaki Genişlik, Uzunluk ve Yükseklik alanlarından alınacak değerleri kullanarak bir dikdörtgen prizmanın alanını hesaplayarak ekrandaki alan bölümüne yazdıran program parçasını yazınız

3 tane integer tanıma örnegin int a,b,c;

scanf ile bunları aldır ve sonrada bir tane daha int ekle örnegin int alan = a*b*c atıyorum formulun ne ise.

En sonundada printf ile alanı göstert ? C ile yapabilirsin.

) Ekrandan txtSayi adlı bir alandan alınacak 0 ile 100 arasındaki bir sayının faktoriyelini hesaplayıp bunu ekrandaki txtSonuc adlı alana yazdıran program parçasını yazınız.Kurduğunuz algoritmanın adımlarını ayrıntılı olarak tanımlayan bir de açıklama yazınız. (Neyi neden yaptığınızı da. Değişken tipleri seçerken tip özelliklerini göz önünde bulundurunuz. Integer ise neden log ise neden)

faktoriyel hesabı için bir tane for döngüsü oluştur integerın negatif ve 0 olmadığını kontrol ettirerek integerı 1 azalta azalta çarpım toplamıyla faktoriyel hesabı yapabilirsin. Sayını input tanıma integer olarak scanf ile al ya da cin out kullanıyorsan C++ için fark etmez.

int fakriyel = 1

for (int i=input, input != 1, i--)
faktoriyel *= i
Hayır devreyi kurmadım proteus da daha doğrusu nasıl yapıcaz onuda bilmiyorum.Mekatronik okuyorum apayrı bir dünya yani bu konulara çok yabancıyım sadece bu ders kaldı verirsem mezun olucam
MaxiDelos : Hayır devreyi kurmadım proteus da daha doğrusu nasıl yapıcaz onuda bilmiyorum.Mekatronik okuyorum apayrı bir dünya yani bu konulara çok yabancıyım sadece bu ders kaldı verirsem mezun olucam

Mekatronik okuyorsun ? Proteous nasıl kullanılır bilmiyorsun ? PIc bilmiyorsun. Peki Breadboard falan biliyor musun ?

Kapasitör falan bilir misin peki ?

Yok ben anlamış değilim. Hİç inandırıcı gelmedi yani mezun olucam yardım edin şeklinde yazmana gerek yok. Mekatroniğin en kötü 1. sınıf yada 2 de bunları hatmetmiş olman lazım. Mekatronikte napıyorsun yani makine mühendisinin yaptıklarınımı öğretiyolar size ? Atılım da okuyorsan bilmiyorum dersen hak veririm ama :P

Neyse ben daha fazla bişi demiyorum bir kaç bişiye yardımcı oldum.

Üstteki txtden veri alma yazma işlemlerinide " fscanf ile gerçekleştirebilirsin.

Ayrıca kara şimşek içinde üstteki led yakmadan hiç bir farklılığı yok RLC1 -2-3-4 kaça bağladıysan kaç tane led varsa portlarını tanımla portları delay ile sürekli farklı süreler ile aktif et söndür. Al sana kara şimşek.

Nerdeyse hepsine yardımcı oldum sanırım. Tutupta bunları harbiden yapmamı beklemiyorsun sanırım. Nasıl yapılacağını kısa ve öz anlattım sanırım.

Proteus, PIC kodlama bilmeden ya da PIC mikroişlemcin olmadan ve Datasheeti olmadan bunları yapmayı düşünüyorsan sadece yanılıyorsun. Bunu diyebilirim. Kolay gelsin.
bende suan vb6.0 olsa 5-6 tanesini yapardım
Proteus da devre hazırlamayı biliyorum fakat üstüne nasıl yazılım atıldığını bilmiyorum.Celal bayar üniversitesinin meslek yüksekokullarından birinde okuyorum.Metal teknolojisi çıkışlı gittiğimiz için proglama olayına çok ezik kaldık.Yani dersi geçenlerde o kadar yüksek notla geçmedi. 47 -48 bağıl not sistemi ile geçtiler.Çok teşekkür ederim çok yardımcı oldun Avatar nasıl ne yapcam hakkında bilgi verdin.Deneyerek yanılarak soruları bitirmeyi deniyeceğim.

Vizesine gidiyoruz sınav bilgisayarda olcağına önümüze kağıt koyup şu soruları cevaplayın diyor bize.Biz daha bilgisayarda yazamıyorken hoca sanki dalga geçer gibi kağıta cevaplamamızı istiyor.Bu şekildede hatalarımızı doğrularımızı göremiyoruz.

Bu konu MaxiDelos tarafından düzenlendi(2012-12-08 22:21, 11 yıl önce)
MaxiDelos : Proteus da devre hazırlamayı biliyorum fakat üstüne nasıl yazılım atıldığını bilmiyorum.Celal bayar üniversitesinin meslek yüksekokullarından birinde okuyorum.Metal teknolojisi çıkışlı gittiğimiz için proglama olayına çok ezik kaldık.Yani dersi geçenlerde o kadar yüksek notla geçmedi. 47 -48 bağıl not sistemi ile geçtiler.Çok teşekkür ederim çok yardımcı oldun Avatar nasıl ne yapcam hakkında bilgi verdin.Deneyerek yanılarak soruları bitirmeyi deniyeceğim.

Vizesine gidiyoruz sınav bilgisayarda olcağına önümüze kağıt koyup şu soruları cevaplayın diyor bize.Biz daha bilgisayarda yazamıyorken hoca sanki dalga geçer gibi kağıta cevaplamamızı istiyor.Bu şekildede hatalarımızı doğrularımızı göremiyoruz.

Mühendislikte çok ağır şeylere maruz kalıyoruz özelliklede odtude okuyorum. O nedenle biraz sıkıya alman lazım :) Çokta zor olduğunu düşünmüyorum. Rica ederim. İyi çalışmalar.

Yapmasına hepsini ben yaparım ama senin kendin çaba göstermen onları güzel öğrenmeni sağlar. Güzel bir harita çizdiğimi düşünüyorum.

Bu arada kusra bakma Mekatronik mühendisliğinde okuyorsun ve okulu bitirmek üzeresin sandım çünkü bu sene yazın stajda son sınıf mekatronikçilerle bir proje yapmak durumunda kaldım ve adamlara makine müh olmama rağmen elektrik öğretmem gerekmişti.

Tekrar kolay gelsin.
Özel mesaj atarsan bunların hepsini ücretli yapabilirim sana.
100 üzerinden alacağın not * 3 lira karşılığında her türlü.

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.