Kod Yazmanın Mantığı, Giriş
-
ben de anlamıyordum en son bi eğitimde şunu duydum: " arkadaşlar db sizden map ister map verir "
haaa dedim yazdım class ı artık db ye ne gönderilecekse sonra map i yazdım sonra fromMap vs derken yarısı gitti diğer yarısı da ezber heral yaptıkça akılda kalacak bişi olsa gerek.
edit: dart dili için diyorum diğer dilleri bilmem
dcpromo tarafından 22/May/20 00:00 tarihinde düzenlenmiştir -
wert bunu yazdısiyahbereli bunu yazdı
beyler kod yazma ile ilgili anlayamadığım bir aşama var, bunun mantığını nasıl çözebilirm. Algortimayı kod yazmaya nasıl çeviriyoruz.
yani kafamda algoritma kurabiliyorum. kağıdın üstünede yazabiliyorum ama bunu derleyiciye yazamıyorum, yazanlarıda anlayamıyorum.
veri tabanının mantığını çözdüm. ama kod yazmanın mantığını çözemedim. 1 satır bile yazamıyorum. bu arada yazıyorum ama anlamadan. ben bir şeyi kafada anlayamadan iş yapamam, bir işe yaramaz. kafada biraz oturtursamda güzel işler çıkartabilirim.
Özetle: google da arama yaptım. derdim şudur.
tamda aradığım cevabı buldum ama adama soru soramam ekşi sözlükte çünkü hesabım yok.
-------------------------------------------------------------------
cok basit bir ornek vereyim. dilimiz c olsun.
int i;
i=0;
while(i<20)
i=i+1;
simdi bunu koda ilk baslayan adam aynen soyle yorumluyor: ya birader simdi i dedigin sey zaten belli. ne gerek var simdi int i falan yaziyoruz basa. sonracigima "i=i+1" ne demek lan? boyle sacma sey mi olur. i dedigin i'dir.
programlama mantığıni anlayan adam bunu soyle yorumluyor. bastan basliyoruz. "int i" diyoruz ki compiler once bir i'yi tanisin. sira ona bir deger vermeye geliyor. i'yi 0'a esitliyoruz. daha sonrasinda soldaki degisken sagina denk gelen degeri alacagi icin i once 1 oluyor. sonra 2 oluyor, vs. vs. kisacasi adam compiler'in nasil calisacagini okumus anlamis. artik ona komutlar vermeye hazir.--------------------------------------------------------------------------------------
Ben ilk parağrafa takılıyorum. bu konuda egzersiz yapmam gereken programlama öğrenmek değil başka bir şey. adını bilmiyorum. onu bana ne olduğunu anlatabilen olursa bu işi öğreneceğim.
kalın yaptığım yerde kodla yazmakla ilgili olduğunu düşünmüyorum
onu diyem kişi büyük olasılıkla ilk okulda orta okulda (evet ilkokuldan bahsediyorum) matematik dersinde bunlar bizim ne işimize yapacak diyen adamlar
Katılıyorum hocam, o kısım biraz saçma olmuş, inhertens, polyhmorpism, class, data type görmüş bir adam yani benim için ağır bir örnek oldu. Kusura bakma. Konuyu açtığımdan beridir kitaplar okuyorum. Mesela yumurta pişirmek için markete gitmek bir modülmüş. Yumurta bir araç, vs birşeyler öğrensim kendim okuyorak zorlada olsa.
-
TheAvenqer bunu yazdı
hocam yapman gerekenler basit ama ne kadar süreceği sana bağlı şeyler eğer aklın bu işe yatkınsa kolaylıkla anlarsın değilse biraz daha fazla emek harcayıp anlarsın bu her iş için böyledir
her programlama dilinde 5 şey sabittir sadece yazılışları değişir
1) Kullanıcıdan veri alma - input
2) Ekrana veri basma - print
3) Koşullar - if else
4) Döngüler - While For
5) Değişken tanımlama - i = 5
gibi bunların sadece yazılışları değişir bunada syntax denir yapman gereken basit bu 5 temel şeyin ne olduğunu iyice araştırıp kavrayacaksın
sonrası proje yani bir proje olacakki deneyesin kafandan rasgele birşey bul mesela faktöriyel hesaplayan kod yazacam de ve yazmaya başla yazarken ne kullanman gerekir o esnada düşün a burda değişken tanımlamam lazım burda while yapmam lazım veya ulan burda niye while kullanıp 2 satır fazladan yazıyorum ki for kullanarak 2 satırdan kurtulabilirim tarzında acabayla düşünmen lazım acaba başka nasıl yapılır düşün netten bolca araştırmaya hazır ol bazen 5 gün birşeyi araştırıyorum bulamıyorum pes etmek üzereyken 2010 yılında yazılmış bir forum konusunda aradığımı buluyorum
Bol bol kod yazmaya çalış yapamasan bile yazmayı dene bu işler bol pratik gerektiriyor
İhtiyacım olan bunlara benzer şeylerdi hocam sağolasın, konuyu anlatabilmişim sana..
-
siyahbereli bunu yazdıwert bunu yazdısiyahbereli bunu yazdı
beyler kod yazma ile ilgili anlayamadığım bir aşama var, bunun mantığını nasıl çözebilirm. Algortimayı kod yazmaya nasıl çeviriyoruz.
yani kafamda algoritma kurabiliyorum. kağıdın üstünede yazabiliyorum ama bunu derleyiciye yazamıyorum, yazanlarıda anlayamıyorum.
veri tabanının mantığını çözdüm. ama kod yazmanın mantığını çözemedim. 1 satır bile yazamıyorum. bu arada yazıyorum ama anlamadan. ben bir şeyi kafada anlayamadan iş yapamam, bir işe yaramaz. kafada biraz oturtursamda güzel işler çıkartabilirim.
Özetle: google da arama yaptım. derdim şudur.
tamda aradığım cevabı buldum ama adama soru soramam ekşi sözlükte çünkü hesabım yok.
-------------------------------------------------------------------
cok basit bir ornek vereyim. dilimiz c olsun.
int i;
i=0;
while(i<20)
i=i+1;
simdi bunu koda ilk baslayan adam aynen soyle yorumluyor: ya birader simdi i dedigin sey zaten belli. ne gerek var simdi int i falan yaziyoruz basa. sonracigima "i=i+1" ne demek lan? boyle sacma sey mi olur. i dedigin i'dir.
programlama mantığıni anlayan adam bunu soyle yorumluyor. bastan basliyoruz. "int i" diyoruz ki compiler once bir i'yi tanisin. sira ona bir deger vermeye geliyor. i'yi 0'a esitliyoruz. daha sonrasinda soldaki degisken sagina denk gelen degeri alacagi icin i once 1 oluyor. sonra 2 oluyor, vs. vs. kisacasi adam compiler'in nasil calisacagini okumus anlamis. artik ona komutlar vermeye hazir.--------------------------------------------------------------------------------------
Ben ilk parağrafa takılıyorum. bu konuda egzersiz yapmam gereken programlama öğrenmek değil başka bir şey. adını bilmiyorum. onu bana ne olduğunu anlatabilen olursa bu işi öğreneceğim.
kalın yaptığım yerde kodla yazmakla ilgili olduğunu düşünmüyorum
onu diyem kişi büyük olasılıkla ilk okulda orta okulda (evet ilkokuldan bahsediyorum) matematik dersinde bunlar bizim ne işimize yapacak diyen adamlar
Katılıyorum hocam, o kısım biraz saçma olmuş, inhertens, polyhmorpism, class, data type görmüş bir adam yani benim için ağır bir örnek oldu. Kusura bakma. Konuyu açtığımdan beridir kitaplar okuyorum. Mesela yumurta pişirmek için markete gitmek bir modülmüş. Yumurta bir araç, vs birşeyler öğrensim kendim okuyorak zorlada olsa.
Modülün içi nasıl yazılır, araçları 1 2 yumurta ekmek şeklinde değilde derleyicinim anlayacağı kurala göre de yazmayı anlayabilirsem tamamdır
-
ilteris bunu yazdı
ben de anlamıyordum en son bi eğitimde şunu duydum: " arkadaşlar db sizden map ister map verir "
haaa dedim yazdım class ı artık db ye ne gönderilecekse sonra map i yazdım sonra fromMap vs derken yarısı gitti diğer yarısı da ezber heral yaptıkça akılda kalacak bişi olsa gerek.
edit: dart dili için diyorum diğer dilleri bilmem
Verinin sınıfın içinden okunup map ile gönderileceğini biliyorum hocam sağolasın. Dart ı hiç duymadım sağol yinede
-
Easx bunu yazdı
https://www.dosya.tc/server28/n9pw5e/C_ve_C___Programlama_-_Deitel.pdf.html
Bahsettiğim kitap bu kitap hocam ama kendini çok kasıyorsun, sal kendini.
Yani neden Değişken tanımlayacağız sorunun cevabını açıklamak için Binary Sisteme kadar gitmek lazım ama özeti şu:
bilgisayarlar akıllı varlıklar değiller. Üzerinde işlem yapacağın bir durum için neredeyse herşeyi belirtmen lazım. Yani sen bilgisayara a ile b'yi topla dersen, bu a ile b'nin bilgisayar için anlamlı olması gerekiyor. Yani bilgisayar şöyle düşünmeli; a ve b'yi toplayacağım ama bunlar neymiş, dönüp bir bakayım. Haaaa bunlar karakter değil, sayı. Ben bunları toplayabilirim. Gibi gibi.
Attığım linkteki kitabı incele. Bu kitap biraz BaşUcu Kitabı gibi. Yani başlangıçta keyif alırsın ama ilerleyen kısımlarda Detaylar Boğabilir seni. O yüzden bundan başla. Birde dr. Şadi Evren şekerin çevirdiği bir algoritmalar kitabı var. Onu edinirsen çok yararı olur senin için.
Ama ilk tavsiyem bilgisayarların çalışma mantığını anlamak için birkaç video incelemen veya makale okuman olur.
3. paragraf güzelmiş ama. ^^D` aklıma @ComputerWolf'un paylaştığı Karikatür geldi.
Kuş ile Kurt birlikte koşuyor, kuşun takip ettiği kod'da Run komutundan önce "uçurum'a kadar" şart'ı önde, Kurt'un takip ettiği kod'da Run komut'undan sonra "uçurum'a kadar" komut'u sonra yer alıyordu. ^^D`
-
Veri tipleri vardır. Integer, string, float, double vs. vs. vs. Mesela perl dilinde veri tipi yoktur.
$i = 1 der geçersin. $i = "hello" dersin falan.
Her veri tipinin ram'de tutulduğu bir alan vardır. int- 2bytes, char 1-byte gibi. Bu da senin kodun derlenmeden memory'e ne kadarlık bir alana ihtiyacın olduğunu söyleme biçimindir. Yani daha az memory kullanarak yazılım yapabilirsin.
örneğin c senden bir array tanımlarken boyutunu isterki memory'de o kadarlık alan açayım diye ama javascript'te array size vermeden direk array tanımlayabilirsin. Tabi c'de de dynamic array tanımlama yöntemi mevcut. Ama temel olarak basit şekilde bunu yapmana izin vermiyor.
misal; c'de int arr[10]; dersin ama javascript'de arr= []; dersin ve arr.push diyerek istediğin kadar içerisine veri girebilirsin. Yanlış hatırlamıyorsam, c'de pointer'lardan yararlanabiliyordun ve malloc ile memory'de kendine alan açıyordun falan.
diğer konu da şu işe yarıyor: iki tane integer sayıyı böldüğünde bazen float elde edebilirsin. Ama sen bunu bir integer değişkene atarsan sana doğru sonucu vermez. Ya da bir string ile integer'ı topladığında saçma sonuçlar almamana engel olur.
Ayrıca "+" bazı dillerde birleştirme operatorü olarak kullanılır. Örneğin sen i'yi integer yerine string olarak tanımlasaydın, senin yeni i değeri "01" olacaktı. Ama sen burada toplama yapmak istiyordun fakat veri tipin hatalı olduğu için bilgisayar bunu yanlış yorumladı ve yanlış bir sonuç elde ettin vs.
Diğer yazdığın ise, çoğu programlama dilinde "=" assign yani atama görevi görür. Bir eşitlik belirtmez. Sağdaki değeri soldakine atayacağında "=" kullanırsın. Fakat istisnai olarak delphi'de atama belirteçi ":=" budur.
Eşitlik için kullanılan "==", denklik için kullanılan "===" dir. Tabi yine delphi'de "=" eşitlik belirtir.
İşin özü bütün bunlar yazılım dilinin syntax'ına göre değişir. O syntax'ı öğrenmek için de o dili öğrenmen gerekir. Yabancı dil gibi düşün. Biz ambulans dememize rağmen, ingilizler ve amerikalılar ambulance diyor.
neverland tarafından 22/May/20 06:23 tarihinde düzenlenmiştir -
siyahbereli bunu yazdıitalyan bunu yazdı
int i;
i=0;
while(i<20)
i=i+1;
Şu kodu okurken kafası senin dediğin şekilde karışan kişi disleksidir.:) yapma beh, matematiğim zayıf, hep ilgisiz hocalara denkgeldim serserilik yaptık, ben matematik ile ilgili zannediyorum
Matematiğinin zayıf olmasının sebebi bile disleksi olabilir. Online bi test yap.Türkiyede bizim jenerasyonda bi ton disleksi var ve kimse farketmemiş. Çırpına çırpına nerelere geldik amk...
-
siyahbereli bunu yazdıyunusemre bunu yazdı
Çok ucu açık bir soru sormuşsun. Milyon tane şey var mantığı anlatılabilecek. Neyi anlamadığını sorarsan onun üzerinden daha rahat yardımcı olabiliriz.
abi bende anlatamıyorum ki, yumurta pişireceğiz diyelim; yumurta var mı, dolabı aç, dolap var mı, var, varsa, aç, yoksa, yumurta pişirmeyi unut, kuru ekmek var mı bak, var, kuru ekmek yada yumurta, yumurta için market var mı, var, varsa markete gitr yoksa kuru ekmek, markette kasaya git, al vsvs... bunların inciğine cincigine kadar yazarım yazılanlarında bir sürü eksiğini gediğini bulabilir. buraya kadar ok. amagel gelelim tek satır kod yazamıyorum sorun bu. syntax mı bilmiyorum. yoksa geri zekalımıyım, yoksa başka bir şey mi onu çözmeye çalışıyorum.
ben programlama öğrenmek istemiyorum kafamda kurguladıklarımı rakamlara ve harflere = + neyse onlara dökemiyorum. sorun bu
sendeki sıkıntı şu böl parçala fethet yapmıyorsun :D
birazcık öyle yapsan olur aslında.
-
hocam çok ince gitmeye çalışıyorsun anladığım kadar. kod yazmayı bırak hayatta bile çok ince düşünmek insanı geriye düşürüyor bazen. kendimden biliyorum bunu. hani derler ya sonunu düşünen kahraman olamaz. akışına bırakmaya çalışıyorum bir çok şeyi.
bilgi sahibi olan kişilerle bir projenin içine girsen çok daha rahat bulursun sorularının cevabını. en azından bir çoğunun. hatta zamanla assembly dilin içine girip kendini hiç düşünmediğin yerlerde bulabilirsin.
lisede yazılım okudum. ilk sene idi galiba 3-5 satır visual basic koduna 2-3 saat baka kaldım. burda bana ne demek istiyor. neden, niçin, nasıl vs. vs.
aklıma şu fıkra geldi. dünyadaki en iyi bilgisayara her ülkeden bir kişi davet ederek soru sorduruyorlar. bizden de temeli yolluyorlar. diğer ülkelerden gelenler bilgisayara soru soruyor, bilgisayar da şak diye cevabını veriyor. sıra temele geliyor. şöyle bilgisayara bir iki sağdan soldan bakıyor ve soruyor. ula ne var ne yok. bilgisayarın beyni karışıyor ve pert oluyor.
her şeyi en ince ayrıntısına kadar anlamak, soruşturmak bazen bizi de pert ediyor :)