Bir Program Nasıl Yazılır ?

Bir Program Nasıl Yazılır ?

  • 55,365 Kez Okundu
  • Teknoloji
  • 15 Yorum
  • 2015-08-26 16:25:43

Bu yazımızda bir programın yazılabilmesi için yapılması ve izlenmesi gereken yolları ele alacağız.

Öncelikle bir program yazabilmeniz için bilgisayar şart :-)

En basit ve en kısa şekilde yazıyı sonlandırmaya çalışacağım. 

Kısaca programın tanımına bakacak olursak; ihtiyacımız olan işleri kolaya indirgeyerek daha kısa zamanda daha çok işlem yapmamızı sağlayan fonksiyonel şekilde tasarlanan ve kullanıma sunulan bilgisayar uygulamalarıdır.

Peki bu uygulamalar nasıl yazılır adım adım inceleyelim. 

  1. 1. Ne yazacağız? 
  2. 2. Neden yazacağız? 
  3. 3. Ne ile yazacağız? 
  4. 4. Nasıl yazacağız? 

 

1. Ne yazacağız? 

Bir program yazacağız. :-) Bu adımda hazırlayacağımız uygulamanın adını ve işlevini belirliyoruz. 

Ornek: Hesap Makinesi ; Matematiksel işlemleri kolaylaştırmak için. 

2. Neden yazacağız? 

Matematiksel işlemleri ihtiyaçlarımız doğrultusunda hızlı ve basit bir yöntem ile sonuclandirmak için yazacağız. 

3. Ne ile yazacağız? 

Programların da yazılabilmesi için bilgisayarın onları anlayabileceği bir dile ihtiyaç vardır. 

Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş yoludur. Programlama dilleri, yazılımcının bilgisayara hangi   veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini,  hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.

Alt seviye programlama dilleri: Makine koduna oldukca yakın programlama dilleridir.Makina hakimiyeti oldukca gelişmiştir.Bu programlama dillerini bilen kişilerin mikro işlemciler hakkında bilgi sahibi olması gereklidir.(Assembly programlama dili gibi) 

Orta seviye programlama dilleri: Oldukça esnek olan bu diller hem üst hem alt seviye programlama yapabilirler. Alt seviye dillere oranla biraz daha anlaşılırdır. (C programlama dili gibi.) 

Üst seviye programlama dilleri: Olay tabanlı programlama dilleri olarak da adlandırılırlar yalnız bu programlama dilleri sadece belirli fonksiyonlar etrafında çalışırlar ve programlama hakimeyitini azaltırlar. En hızlı ve en etkili programlama dilleri bu kategoridedir. (visual basic ve pic basic pro gibi) Diğer programlama dillerine kıyasla daha kolay öğrenildiği ve uygulandığı için yeni başlayanlara en uygun diller üst seviye programlama dilleridir. 

Şu ana kadar 150’den fazla programlama dili yapılmıştır. Bunlardan bazıları Pascal, Basic, C, C#, C++, Java, Cobol, Perl,   Python, Ada,Fortran, Delphi ve 1C Enterprise'dır.

Biz ise seviyeye göre hangi dili biliyorsak hangi dil kolayimiza geliyorsa onu seçip kullanmamız gerekiyor. 

4. Nasıl yazacağız? 

Önce karegrofik bir kurgu oluşturuyoruz, yani programimiz nasıl çalışacak ne işlemler yapacak

Örnek : Bir metin kutusuna girilen rakam ile başka bir metin kutusuna girilen rakamı, toplama butonuna basildiginda toplayacak, çıkarma butonuna basildiginda çıkaracak, çarpma butonuna basildiginda çarpacak , bölme butonuna basildiginda bölecek. 

Sonra algoritmayı oluşturuyoruz.

Algoritma, matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir. Yani belli bir problemi çözmek veya belirli bir amaca ulaşmak için çizilen yola algoritma denir. Genellikle programlamada kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır. Aynı zamanda algoritma tek bir problemi çözecek davranışın, temel işleri yapan komutların veya deyimlerin adım adım ortaya konulmasıdır ve bu adımların sıralamasına dikkat edilmelidir. Bir problem çözülürken algoritmik ve sezgisel (herustic) olmak üzere iki yaklaşım vardır. algoritmik yaklaşımda da çözüm için olası yöntemlerden en uygun olan seçilir ve yapılması gerekenler adım adım ortaya konulur. Algoritmayı belirtmek için ; metinsel olarak düz ifade ve akış diyagramı olmak üzere 2 yöntem kullanılır.

Ben ise metinsel olarak düz ifade kullanacağım.

A0 --> Başla 

A1 --> 1. Metin kutusundaki değeri oku

A2 --> 2. Metin kutusundaki değeri oku

A3 -->  Toplama butonuna basildiysa 1. ve 2. değerleri topla 

A4 -->  Çıkarma butonuna basildiysa 1. ve 2. değerleri çıkar 

A5 -->  Çarpma butonuna basildiysa 1. ve 2. değerleri çarp 

A6 -->  Bölme butonuna basildiysa 1. ve 2. değerleri böl 

A7 --> Oluşan sonucu ekrana yaz 

A8 --> Bitir

Oluşturduğumuz bu algoritmaya göre de seçtiğimiz programlama dilini kullanarak programımızı yazabiliriz. 

Herkese kolay gelsin, iyi çalışmalar...  

Burak Can KARA
@Burak Can KARA demiş ki ;

Daha ayrıntılı olabilirdi. Daha ayrıntılı ve daha düzenli yazılar yazmak gerekiyor. Her yerde bulunan bilgiler pek bizi ileriye götürmeyebilir. Teşekkürler. İyi çalışmalar.

Burak Can KARA

bcankara.com 

admin
@admin demiş ki ;

İlginiz için teşekkürler, başlangıç seviyesinde konuya değinmeye çalıştım, fazla ayrıntıya girerek okuyucuyu boğmak istemedim açıkçası. 

Bundan sonra daha dikkatli olmaya çalışırım. 

ali
@ali demiş ki ;

aslında çok önemli bir konuya değinmişsiniz. bu konuyla ilgili daha detaylı bir makaleye gerçek anlamda ihtiyaç var. hangi dili öğrenmeliyim sorusuna bu yazı tokat gibi cevap niteliğinde. önce ne ile yazacağına karar ver. 

yazılımcılar bir dil ile beraber algoritmanın temel mantığını da öğrenirlerle çok çabuk ilerleme kaydederler. 

 

Eren Jaeger
@Eren Jaeger demiş ki ;

Ben yeniyim de bu kodları nereye yazıyoruz ? (Tam bir beyinsizim bence ) lütfen nereye yazacağını bilmiyorsun program mı yapacan? Türünden şeyler söylemeyiniz...

admin
@admin demiş ki ;

@Eren Estağfirullah , her birimiz doğuştan öğrenmedik , beynimizi kullandık araştırdık , çabaladık , öğrenmeye çalıştık, öğrendiklerimizi paylaştık , bilgiye bilgi katmaya çalıştık. Aynı şeyler neden sizleri içinde olmasın, oturup makaleyi tekrar okumanızı tavsiye ederim ;)

Firma Rehberi
@Firma Rehberi demiş ki ;

Türkiye Sanayi ve Ticaret Bu konu baştan sona uzmanlık gerektiren bir durum. Nasıl yazacağımızı öğrenmeden önce dil kodlaması biliyor olmamız gerekir. Sizlere Allah kolaylıklar versin...

Selim Taze
@Selim Taze demiş ki ;

Merhaba ; Ben bu konuda kendimi geliştirmeyi düşünüyorum bana bu konuda öncü olabilir misin ? Desteklerin için teşekkür ederim.

admin
@admin demiş ki ;

@Selim bey tabiki yardımcı olmak isterim. Takıldığınız her türlü soruyu sorabilirsiniz, bildiğim kadar yardımcı olurum.

Berra Nisa
@Berra Nisa demiş ki ;

Bu işe yaradı, admin. Adamsın

admin
@admin demiş ki ;

Sizler için faydalı olmasına sevindim.

hakan qurbanov
@hakan qurbanov demiş ki ;

bana yardimci olun bu konuda ilk kez bir seyler yapcam ve 0 anlayisim var

 

tarık bölükbaşı
@tarık bölükbaşı demiş ki ;

oyun yapmak istiyorum

 

Oğuz demir
@Oğuz demir demiş ki ;

Ben bu dilleri nereye yazacağımı bilmiyorum bilgisayarın neresine yazacam uygulama falan mı var lütfen yardım edin.dilleri nereye yazacağımı bilmiyorum.

Hasan Peker
@Hasan Peker demiş ki ;

Basit bir kurye programı yazdırmak için ne kadar bütçe ayırmalıyım?

admin
@admin demiş ki ;

Merhaba Hasan bey, yüzeysel olarak fiyat belirtmek çok zor, öncelikli olarak müşterinin neye ihtiyacını olduğunu belirtilmesi ve proje oluşturulması gerek, şu özellikler lazım bu özellikler bulunmalı vs şeklinde projelendirilirse yazılım ekibi duruba göre fiyat belirtebilir.

Misal olarak aşağıdaki özellikler gibi düşünebilirsiniz.

  • Müşteri Bireysel veya Kurumsal Üyelik Sistemi.
  • -Kurye Üyelik Sistemi.
  • -Kurye Talebi Oluşturabilme.
  • -Kurye taleplerinde 2 veya daha fazla adres belirleyebilme.
  • -Mesafeye göre fiyat hesaplaması.
  • -Ağırlığa göre fiyat hesaplaması.
  • -Kurye ve Gönderi Takibi
  • -Tawk.to Canlı Destek
  • -E-Posta Bilgilendirmeleri ve onayları.
  • -SMS Bilgilendirmeleri onayları.
  • -Google Maps API ile mesafe hesaplamaları ve adres tanımları.
  • -Google reCaptcha doğrulaması
  • -Bilgilendirme sayfaları ve genel web sitesi tasarımı.
  • -Mobil cihazlara uyumlu tasarım.

YORUM YAPMAK İSTER MİSİN?

    Sponsor Reklamlar
    Son Yorumlar
    Etiket Bulutu
    C#PopupFormOtomatikProgramBaşlatmaBaşlangıçBasitEkran Koruyucuc#ekran görüntüsümail göndermeexedllbirleştirmekIL MergePhpMSSQL BAĞLANTIGerçekIPRealTextBinaryConvertÇalışmaSüreHesaplamakBulmakCssjQueryHtmlScroll TopYukarı ÇıkOnMinimizeControlBoxSimge DurumunaKüçültInternetGetConnectedStateİnternetBağlantıKontrolŞifre MatikPassword GeneratorHash ŞifrelemeMD5SHA1SHA256SHA384SHA512Asimetrik ŞifrelemeRSASimetrik ŞifrelemeKriptoŞifrelemeAlgoritmaDESRC2RijndaelTripleDESKeyLogKlavye DinleTuş YakalamaGlobal HookDialogResultÇıkış MesajıUyarı MesajıFormClosingMySQLConnector/NetKullanımSoruCheckBoxListViewÇoklu SilmebiosdramexploitkontrolgüvenlikinteljavascriptrowhammerscriptPHPAdmin PanelResponsiveXtbadminFreeÜcretsizWifiWirelessKeysŞifreAnahtarPasswordKablosuz AğDepolamaŞifreler NeredeKablosuz ŞifreAndroidTelefonNasılYazılırProgramlama DiliHesap MakinesiSEONedirNasıl YapılırAnalizGoogleLinkÖzgünMobilKonuResim Robots.txtSite MapŞifreli GirişŞifreli FormŞifre KoymaŞifreli AçılışCompilingDebuggingDerlemeKarma ModMixed ModeApp.ConfigKurbanBayramMübarek OlsunBlogScriptYonetimAdminPanelText EditorMSHTMLEditorYazıDüzenleyiciEasyAppKolayUygulamaÇalıştırmaAkıllı TelefonKlavyeiOSKeyboardEl YazısıCalculatorMyScriptHand WritingDosya YöneticisiFile ExplorerFTPBluetoothRootTask ManagerGörev YöneticisiSystemTargetWeb Application PentestErrorShowHideHataGösterGizlePDOSelectInsertUpdateDeleteConnectSeçimEklemeSilmeGüncellemeMsSQLVeritabanıÇeviriçiDatabaseConverterDbConvertMaskeli IPGerçek IPTarayıcı Tespitİşletim Sistemi TespitTekil Ziyaretçi BilgileriAktif Ziyaretçi BilgileriZiyaretçi SayacıVirüsTemizlemeFirewallServiceSecurityServiceTimeServicePentestGüvenliksızma TestiuniscanwindowslinuxperlDosyaKlasörListelemekFileFolderListInternetDownloadUploadSpeedMonitorServisMsconfigStartupRunServiceIOSMatematikDenklemÇözümKameraKablosuzinternetHotspotPaylaşımAyarlarKaliLinuxSharedTerminalÖsymDuyuruTimeTimeZoneDateZamanTarihdate()time()FreelancerSerbestÇalışanJobsİşlerWebSiteVersionSürümGeçişUbuntuSunucuApachephpinfo()phpversion()FonksiyonHerseyiKopyalacopyallcopySızma TestiSQLMapWindowsPython810HotSpotWi-FiWlannetshhostednetworkAutoWlanJsGeri SayımTextAreaOtomatik KayıtSayacSaniyeCountDownXtbadminV2AjaxJavaScriptNumaraFormatPhoneNumberFormatTelefonNumarasıDebuggerDetectUnpackerDisassemblerSecurityReverseEngineeringAlgorithmMacDKHOSCTFCapture The FlagForensicTriviaIntelligenceCRC32CRYPTPASSWORD_HASHWin10StoreMağazaMicrosoftReInstallWSLPowerShellPOSTCyberSiberAdli BilişimHackerUSBCDLiveToolsBruterNmapMSSQL ServerMS SQL ExpressMS AccessOracleIBM DB2SybaseInterbaseInformixExceldBase DbfVisual FoxProMySQLConnectionŞifreleri BulCMDLaZagneEthernetTuxCutNetCutNetKillPerformansCronTabCronJobRestartStopStartBashShellWireSharkFlagUSOMBTKBase64QRÇözümlerWriteUpWrite-UpFinalReconOSINTToolScannerWebsiteSiber GüvenlikPhishingVPNWannacryMobileDeviceFunctionMobil AlgılaMobil TespitisMobilephp mobilJavascriptYazı EfektKayan YazıText EffectsearchBoxinputclassplaceholdersetIntervalsetTimeoutJSpreventBackwindowpushStatehistoryonloadblock browser back buttonVPN Nediranonimtorucuz ürünucuzurunum.commarket kıyaslaürün kıyaslakıyaslakarşılaştıra101şokhappy centermigroscarrefoursabizim marketkıyasürün fiyatıfiyat kıyaslaucuz fiyatfiyat sorVideoEmbedPlayerVideoIDgetVideoIDIframeCreditCardCard DetectKart AlgılaKart TespitKredi Kartı TespitVisaMastercardAIOpenAIChatGPTYapay Zekaquickchatkrispbeatovencleanvoicepodcastleflairillustrokepatternedstockimgcopymonkeyocoyaunbouncevidyotrymaverickquickchatpuzzlelabssounddrawcleanupresumewordedlookatheresanaiforthatsynthesiadescriptotterinkforall