ALGORİTMALAR Ders- #1 #Eagleweb

Eagleweb

Kıdemli Üye
8 May 2021
2,120
1,151
localhost/e8
Merhaba,
Dostlar Neredeyse 100 Seri Sürdürmeyi Düşündüğüm Algoritmalar İle alakalı gerçek anlamda bir ders niteliğinde profosyonel bir konu yazacağım bu içerik sayesinde algoritmalara dair tüm sorularınızın cevabı olacak ...

Haydi Başlayalım;

7h458cd.gif


Bilgisayar ve yazılım

Bilgisayar, kullanıcının sunduğu verileri Ram(hafıza) üzerinde tutan gerekirse Hard Diskte Saklayabilen, elektronik bir makinedir.

Bir Bilgisiyarın çalışma mantığı basitçe ifade etmek gerekirse ;

Giriş : Kullanıcıdan alınan bir komuttur. Bu Komut, yazılı, sözlü veya görsel olabilir.
İşlem : Kullanıcının sunduğu verilerin işlenmesi aşamasıdır. Bu İşlemlerin Belli Hızlarda Yapılmasını Sağlayan Parçası İse CPU olarak adlandırılır.
Bellek : Bilgisayar Ram Adı verilen donanımsal parçası ile verileri anlık olarak hafızasında saklar. Gerektiğinde kalıcı Belleğe (Hard disk) Kaydeder.
Çıkış : Bilgisayarın, giriş işlem ve bellek adımları sonucunda ürettiği çıktının sunulması adımında geçilir. Bu Sunum görsel ve metinsel olabilmektedir.

cnw0s4e.jpg

Bir Bilgisayara girilen rakam harf vb. veriler, kodlar ile ifade edilirler. Bu Kodlar "1" (voltajın var olduğu ifadesidir.) ve "0" (voltaj olmadığını ifadesidir.) rakamlarından oluşurlar, aslında 1 rakamı ; işlemcide ki transistörün açık olması, 0 rakamı ise transistörün kapalı olmasıdır.

İnsan ve Bilgisayar arasında birçok benzerlik bulunmaktadır. Biz İnsanlar duyuorganlarımız ile çevremizdeki olan bitenleri anlarız. Bilgisayarda bu işlemi Giriş bölümü yapar. olayları beynimiz ile yorumlarız, mantık yürütürüz (İşlem). Gerekli olmayan bilgileri geçici hafızamızdan (Ram) tutarız. Eğer olayın gerekli olduğuu düşünüyorsak hafızamızda saklarız (Hard Disk).


Makina Dili

Makina dili; Mikroişlemcilerin (Bilgisiyarlar için CPU ) işleyebileceği komutlar ve sytnax'lardır. (söz dizimi) En alt seviyedeki programlama dili, makina dilidir ve sadece 0 ve 1 ikisinin (binary) mantıklı kombinasyonuna göre oluşurlar. Makina dilinin, Bir İnsan tarafından anlaşılması çok zordur. Makina dilleri işlemciye özel olarak yazıldıklarından, farklı bir işlemci için uygun değillerdir.



Assembly

Makina diline oranla daha kolay anlaşılabilir, makina diline çevrilebilir assembler: assembly dilini makina diline çevirir.

Derleyici

Derleyici; Bir Programlama dilinde yazılan bir kodun makina diline çevrilmesini sağlayan yazılımlardır.


dg0eyye.jpg


Programlama Dili
Bir Yazılım Geliştirebilmek için, bir programlama dili kullanmalısınız. progrmalama dilleri ise bilgisayarınıza işlemleri nasıl, ne zaman yapacaklarını anlatırsınız. Programlama dilleri de bu anlatımımızı, bilgisayarımıza anlatabileceği dile çevirir.

Genel Komutlar : Programlama dili içerinde gömülü olarak bulunan komutlardır.
Gelişmiş Komutlar : Programlama dili içerisinde bulunan komutlar kullanarak hazırlanan kodbloklarıdır.
API Komutları : işletim sistemi özelliklerini kullanabildiğiniz komutlardır.
Derleyici Komutları : Derleme esnasında program tarafından oluşturulan kodlardır.
Nesneler : Program tarafından sunulan hazır bileşimlerdir. Button, ComboBox, TesxtBox vb.

Programlama Dili Çeşitleri
Programlama dilleri insan algısına yakınlıklarına göre ayırabiliriz

Yüksek seviye diller : İnsan algısına yakın dillerdir. kodların yazımı kolay ve kısadır, Derleme esnasındaki çıktıları çok uzun olur ve yavaş çalışırlar
Alçak seviye diller : Makina algısına yakın dillerdir. Kodların yazımı nispeten uzundur, derlenme esnasındaki çıktıları ise kısa olur ve hızlı çalışır.


czqbwgl.jpg


Seviyelerine Göre Programlama Dilleri
Makina Dili : En aşağı seviyedeki dildir. Herhangi bir derleyici veya çevirici kullanılmadan, bilgisayar paneli üzerinden yazılırlar. Öğrenilmesi ve uygulaması çok zor olan bu dil ile yazılan bir programın yetenek, güç ve hız en üst seviyedir. Ancak başka bir işlemci/makina üzerinde çalışmadıklarından, diğer işlemci için yeniden yazılmaları gerekir. Örneğin; Intel 80*86 IBM 360, ARM, STRONG ARM, POWER ARCHİTECTURE.

!NOT!
bir dilin aşağı seviyede olması ; Bilgisayar için hızlı çalışma anlamına gelirken, bu dilin insanlar için anlaşılması neredeyse imkansız bir yazım tarzı olması demektir. Dilin seviyesi yükseldikçe insan algısına yakınlaşır, bilgisayar algısından uzaklaşır, Yüksek seviye bir dil ile yazılan programlar, alçak seviyeli dillere göre yavaş çalışırlar.



Çevirmen (Assembly) Diller :

Alçak seviyeli bir dildir. Makina dili yerine özel kodalr ve komutlar kullanılabilmektedir. Bu dillerde yazılan kodlar assembler ile makina diline çevirilir. Örnek; Basic Assembler, Fortan Assembly program, High lEVEL Assembly.

Yapısal Dİller :
Genelde ingilizce diline yakın, Yüksek seviye dillerdir. Bu diller içerdikleri derleyici ve yorumlayıcı sebebiyle, programcıyı işlemci bazlı yazılımdan kurtarmıştır.

94rvr2j.jpg

Orta Seviyeli Diller :
Az kayıpla makina diline çevrilebildiklerinden nispeten hızlıdırlar örnegin; C, C++, C#.

Yüksek seviyeli Algoritmik Diller :

Fortran, Pascal, Cobol, Basic.

Çok Yüksek seviyeli Görsel Dİller :

Foxpro, Access, File maker, visual basic. Bu dillerde neredeyse kod yazmaya gerek kalmadan yazılım geliştirebilinir, bu programlar hazır şablonlar sunabilmektedir.

Çok Yüksek Seviyeli Yapay Zekaya Yönelik Diller :

Bu programlarda algoritmayı kullanıcı geliştirmez. Filtreler programa sunulduğunda çözümü bilgisayar üretir Örnek; Mercury, Prolog.



7h458cd.gif

DEVAMI GELECEK...



 
19 Şub 2021
123
68
Merhaba,
Dostlar Neredeyse 100 Seri Sürdürmeyi Düşündüğüm Algoritmalar İle alakalı gerçek anlamda bir ders niteliğinde profosyonel bir konu yazacağım bu içerik sayesinde algoritmalara dair tüm sorularınızın cevabı olacak ...

Haydi Başlayalım;

7h458cd.gif


Bilgisayar ve yazılım

Bilgisayar, kullanıcının sunduğu verileri Ram(hafıza) üzerinde tutan gerekirse Hard Diskte Saklayabilen, elektronik bir makinedir.

Bir Bilgisiyarın çalışma mantığı basitçe ifade etmek gerekirse ;

Giriş : Kullanıcıdan alınan bir komuttur. Bu Komut, yazılı, sözlü veya görsel olabilir.
İşlem : Kullanıcının sunduğu verilerin işlenmesi aşamasıdır. Bu İşlemlerin Belli Hızlarda Yapılmasını Sağlayan Parçası İse CPU olarak adlandırılır.
Bellek : Bilgisayar Ram Adı verilen donanımsal parçası ile verileri anlık olarak hafızasında saklar. Gerektiğinde kalıcı Belleğe (Hard disk) Kaydeder.
Çıkış : Bilgisayarın, giriş işlem ve bellek adımları sonucunda ürettiği çıktının sunulması adımında geçilir. Bu Sunum görsel ve metinsel olabilmektedir.


cnw0s4e.jpg

Bir Bilgisayara girilen rakam harf vb. veriler, kodlar ile ifade edilirler. Bu Kodlar "1" (voltajın var olduğu ifadesidir.) ve "0" (voltaj olmadığını ifadesidir.) rakamlarından oluşurlar, aslında 1 rakamı ; işlemcide ki transistörün açık olması, 0 rakamı ise transistörün kapalı olmasıdır.

İnsan ve Bilgisayar arasında birçok benzerlik bulunmaktadır. Biz İnsanlar duyuorganlarımız ile çevremizdeki olan bitenleri anlarız. Bilgisayarda bu işlemi Giriş bölümü yapar. olayları beynimiz ile yorumlarız, mantık yürütürüz (İşlem). Gerekli olmayan bilgileri geçici hafızamızdan (Ram) tutarız. Eğer olayın gerekli olduğuu düşünüyorsak hafızamızda saklarız (Hard Disk).


Makina Dili

Makina dili; Mikroişlemcilerin (Bilgisiyarlar için CPU ) işleyebileceği komutlar ve sytnax'lardır. (söz dizimi) En alt seviyedeki programlama dili, makina dilidir ve sadece 0 ve 1 ikisinin (binary) mantıklı kombinasyonuna göre oluşurlar. Makina dilinin, Bir İnsan tarafından anlaşılması çok zordur. Makina dilleri işlemciye özel olarak yazıldıklarından, farklı bir işlemci için uygun değillerdir.


Assembly

Makina diline oranla daha kolay anlaşılabilir, makina diline çevrilebilir assembler: assembly dilini makina diline çevirir.

Derleyici

Derleyici; Bir Programlama dilinde yazılan bir kodun makina diline çevrilmesini sağlayan yazılımlardır.


dg0eyye.jpg


Programlama Dili

Bir Yazılım Geliştirebilmek için, bir programlama dili kullanmalısınız. progrmalama dilleri ise bilgisayarınıza işlemleri nasıl, ne zaman yapacaklarını anlatırsınız. Programlama dilleri de bu anlatımımızı, bilgisayarımıza anlatabileceği dile çevirir.

Genel Komutlar : Programlama dili içerinde gömülü olarak bulunan komutlardır.
Gelişmiş Komutlar : Programlama dili içerisinde bulunan komutlar kullanarak hazırlanan kodbloklarıdır.
API Komutları : işletim sistemi özelliklerini kullanabildiğiniz komutlardır.
Derleyici Komutları : Derleme esnasında program tarafından oluşturulan kodlardır.
Nesneler : Program tarafından sunulan hazır bileşimlerdir. Button, ComboBox, TesxtBox vb.


Programlama Dili Çeşitleri
Programlama dilleri insan algısına yakınlıklarına göre ayırabiliriz

Yüksek seviye diller : İnsan algısına yakın dillerdir. kodların yazımı kolay ve kısadır, Derleme esnasındaki çıktıları çok uzun olur ve yavaş çalışırlar
Alçak seviye diller : Makina algısına yakın dillerdir. Kodların yazımı nispeten uzundur, derlenme esnasındaki çıktıları ise kısa olur ve hızlı çalışır.


czqbwgl.jpg


Seviyelerine Göre Programlama Dilleri
Makina Dili : En aşağı seviyedeki dildir. Herhangi bir derleyici veya çevirici kullanılmadan, bilgisayar paneli üzerinden yazılırlar. Öğrenilmesi ve uygulaması çok zor olan bu dil ile yazılan bir programın yetenek, güç ve hız en üst seviyedir. Ancak başka bir işlemci/makina üzerinde çalışmadıklarından, diğer işlemci için yeniden yazılmaları gerekir. Örneğin; Intel 80*86 IBM 360, ARM, STRONG ARM, POWER ARCHİTECTURE.

!NOT!
bir dilin aşağı seviyede olması ; Bilgisayar için hızlı çalışma anlamına gelirken, bu dilin insanlar için anlaşılması neredeyse imkansız bir yazım tarzı olması demektir. Dilin seviyesi yükseldikçe insan algısına yakınlaşır, bilgisayar algısından uzaklaşır, Yüksek seviye bir dil ile yazılan programlar, alçak seviyeli dillere göre yavaş çalışırlar.



Çevirmen (Assembly) Diller :

Alçak seviyeli bir dildir. Makina dili yerine özel kodalr ve komutlar kullanılabilmektedir. Bu dillerde yazılan kodlar assembler ile makina diline çevirilir. Örnek; Basic Assembler, Fortan Assembly program, High lEVEL Assembly.

Yapısal Dİller :
Genelde ingilizce diline yakın, Yüksek seviye dillerdir. Bu diller içerdikleri derleyici ve yorumlayıcı sebebiyle, programcıyı işlemci bazlı yazılımdan kurtarmıştır.


94rvr2j.jpg

Orta Seviyeli Diller :
Az kayıpla makina diline çevrilebildiklerinden nispeten hızlıdırlar örnegin; C, C++, C#.

Yüksek seviyeli Algoritmik Diller :

Fortran, Pascal, Cobol, Basic.

Çok Yüksek seviyeli Görsel Dİller :

Foxpro, Access, File maker, visual basic. Bu dillerde neredeyse kod yazmaya gerek kalmadan yazılım geliştirebilinir, bu programlar hazır şablonlar sunabilmektedir.

Çok Yüksek Seviyeli Yapay Zekaya Yönelik Diller :

Bu programlarda algoritmayı kullanıcı geliştirmez. Filtreler programa sunulduğunda çözümü bilgisayar üretir Örnek; Mercury, Prolog.



7h458cd.gif


DEVAMI GELECEK...
eline sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.