Arama butonu
Bu konudaki kullanıcılar: 1 misafir
8
Cevap
254
Tıklama
0
Öne Çıkarma
İnterpreter (Yorumlayıcı) YARDIMM!!!
M
7 yıl
Er
Konu Sahibi

Abiler ablalar , yardımınıza ihtiyacım var. Hoca bir proje ödevi verdi ve bu konu hakkında ne yapabileceğim hakkında en ufak bi bilgim yok internette araştırdım hiç bilgi bulamadım. Şimdi proje şu : C++ bi öyle bi program yazıcaz ki hoca metin belgesine bir algoritma yazıcak mesela ,

1 Başla
2 GİR sayi1,sayi2
3 toplam=sayi1+sayi2
4 YAZ toplam
5 Bitir

Mesela hoca bunu metin belgesine yazıp çalıştırdıgın da c++ bunu tanıyacak ve programı çalıştıracak.Yani işin özeti şu Hocanın yazdıgı algoritmayı komutları (GİT EĞER YAZ GİR BAŞLA BİTİR)le kısıtlı olacak şekilde koda çeviren bir program yazmam gerekiyor ama nasıl ve nerden başlıcagımı hiç bilmiyorum . Konu hakkında fikri olan birisi yardımcı olabilir mi?



G
7 yıl
Yarbay

Önce kuralları netleştirmelisin.

BAŞLA'dan önce başka bir komut yazılırsa ne olur?
GİR komutu ile en fazla kaç sayı girilebilir?
toplam=sayı1+sayı2 ifadesi en fazla ne kadar karmaşık olabilir? Yani toplam=sayı1+sayı2*45-sayı3/0.25 olabilir mi? Olabilirse başka sorunlar da eklenecek.
YAZ ile birden fazla değer yazılabilir mi?
EĞER?


Bu mesaja 1 cevap geldi.
M
7 yıl
Er
Konu Sahibi

Başladan önce bi komut yazılamaz çünkü algoritmalar başla ile başlıyor . Hoca belirli çok karmaşık olmayan 5 tane algoritmayı belirlemiş ama ne olduklarını söylemiyor. Eğer komutu bildiğimiz if işte Eğer sayi1>sayi2 ise YAZ sayi1 gibi . Valla nasıl yapıcaz bilmiyorum ya.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @elektro_gadget
K
7 yıl
Yarbay

C++ reflection konusuna bakmaniz lazim



< Bu ileti mobil sürüm kullanılarak atıldı >

D
7 yıl
Yüzbaşı

quote:

Orijinalden alıntı: mryasin12

Başladan önce bi komut yazılamaz çünkü algoritmalar başla ile başlıyor . Hoca belirli çok karmaşık olmayan 5 tane algoritmayı belirlemiş ama ne olduklarını söylemiyor. Eğer komutu bildiğimiz if işte Eğer sayi1>sayi2 ise YAZ sayi1 gibi . Valla nasıl yapıcaz bilmiyorum ya.

Yanlış. BAŞLA = main() 'dir. "__attribute__" ile main 'den yani BAŞLA'dan önce komut çalıştırabilirsin. [$ ./deneme -> BaşlaÖncesiKod() -> Başla()(Main())] Yani algoritmada "_CRTALLOC(".CRT$XIC")" şeklinde bir CRT kullanılmışsa, BAŞLA komutundan önce alloc veya init vb. gibi şeyleri işleyen algoritmaları yazarak BAŞLA 'yı daha sonrada koyabilirsin teorik olarak. Uygulamada tabi ki %99.9999 hep başa yazılır. Sağolsun eğitim sistemi hep ezber...

Yazılımı iyi bir şekilde öğrenmek istiyorsan :http://www.cplusplus.com seni buraya alalım. (forum'da sağlamdır) BAŞLA'yı kim çağırıyor, neden önce main çalışır, .exe , OS tarafından nasıl çağırılır vs. Hepsinin cevabını bulabilirsin. Hatta daha da ileri gidip never-exec-main yapabilirsin. Bu sayede ne yaparsan yap uygulamanın main() 'i çalışmayacaktır. :D (Konuya detaylı bir şekilde yorumlar geldiğinden bende böyle yazdım. Neden yazdım bilmiyorum.)





< Bu mesaj bu kişi tarafından değiştirildi Dentrax -- 3 Mart 2017; 20:55:9 >
Bu mesaja 2 cevap geldi.
M
7 yıl
Er
Konu Sahibi

Hocanın vereceği algoritmalarda başla ile başlıyor orayı yanlış yazmışım teşekkürler bi bakıcam.




Bu mesajda bahsedilenler: @Dentrax
T
7 yıl
Yarbay

quote:

Orijinalden alıntı: Dentrax


quote:

Orijinalden alıntı: mryasin12

Başladan önce bi komut yazılamaz çünkü algoritmalar başla ile başlıyor . Hoca belirli çok karmaşık olmayan 5 tane algoritmayı belirlemiş ama ne olduklarını söylemiyor. Eğer komutu bildiğimiz if işte Eğer sayi1>sayi2 ise YAZ sayi1 gibi . Valla nasıl yapıcaz bilmiyorum ya.

Yanlış. BAŞLA = main() 'dir. "__attribute__" ile main 'den yani BAŞLA'dan önce komut çalıştırabilirsin. [$ ./deneme -> BaşlaÖncesiKod() -> Başla()(Main())] Yani algoritmada "_CRTALLOC(".CRT$XIC")" şeklinde bir CRT kullanılmışsa, BAŞLA komutundan önce alloc veya init vb. gibi şeyleri işleyen algoritmaları yazarak BAŞLA 'yı daha sonrada koyabilirsin teorik olarak. Uygulamada tabi ki %99.9999 hep başa yazılır. Sağolsun eğitim sistemi hep ezber...

Yazılımı iyi bir şekilde öğrenmek istiyorsan :http://www.cplusplus.com seni buraya alalım. (forum'da sağlamdır) BAŞLA'yı kim çağırıyor, neden önce main çalışır, .exe , OS tarafından nasıl çağırılır vs. Hepsinin cevabını bulabilirsin. Hatta daha da ileri gidip never-exec-main yapabilirsin. Bu sayede ne yaparsan yap uygulamanın main() 'i çalışmayacaktır. :D (Konuya detaylı bir şekilde yorumlar geldiğinden bende böyle yazdım. Neden yazdım bilmiyorum.)

N'aptın hacı, C++'ın +'sını bilmeyen newbie'a derlenmiş C RunTime kod örneği verdin,nasıl anlasın onu? :



< Bu ileti mini sürüm kullanılarak atıldı >

M
7 yıl
Yarbay

Aslında basit bir sey istemis. Refactor a gerek yok. Kabaca her satiri okuyup if input.startwith(“GIR“) diye kontrol edeceksin eger basla varsa mis o satiri regex veya normal if else ile parse edip icinden sayıları alirsin. Ve sonraki satira geçersin. Yani once islevleri yaz. Sonra metni anlamlandi4 dogru anlami bulunca o fonksiyonu çalıştır.



< Bu ileti mobil sürüm kullanılarak atıldı >

D
7 yıl
Yüzbaşı

Ne bileyim, refactor, reflecting ve elektro_gadget 'de birşeyler yazınca bende böyle yazayım dedim. :D Belki seneler sonra birilerinin işine yarar. :D




Bu mesajda bahsedilenler: @revivo72
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.