Pascal.1: Algoritma aslında matematiksel bir terimdir fakat burada programlamadaki kullanımından bahsediyoruz. Kısaca şöyle açıklamaya çalışayım, algoritma bir programın çalışma şeklini günlük dilimize yakın bir şekilde tanımlamaya, özetlemeye yarar. Çok klasik bir örnek; Ahmet isimli bir genci ele alalım. Kendisinin çay koyma algoritmasını yazalım. (Bu durumda Ahmet bizim programımız olmaktadır)
1 BAŞLA
2 SALONDA BEŞ DAKİKA OTUR
2 MUTFAĞA GİT
3 ÇAYDANLIĞA GİT
4 EĞER SU KAYNAMIŞSA GİT 5 DEĞİLSE GİT 2
5 ÇAYI BARDAĞA DOLDUR
6 İÇ
7 BİTİR
Biraz aptal bir arkadaş olabilir Ahmet sorun değil. Algoritma dediğimiz şey bize bir programın ve programın bir parçasının nasıl çalıştığı hakkında bilgi verir. Diyagram(diğer adıyla akış şeması -flow chart) bu yazılı algoritmanın semboller ile ifade edilmiş versiyonudur. Az önceki örneğin akış şemasını hazırlayıp buraya yükledim:
img239.imageshack.us 
Algoritma bir gösterimden ibaret olup çok zor bir mevzu değildir. Algoritmayı Anlamak isimli kitaba kitapçıda bir göz gezdirseniz bile yeterli olabilir. Fakat bir programcı arkaplanı olsa fena olmazdı. Az çok anlatabildim umarım algoritmayı, internetten bu kadar anlatabiliyorum.
Pascal bilmiyorum o yüzden Pascal kodu yazamam fakat algoritmasını yazabilirim, algoritma evrenseldir ne de olsa:
**Kullanıcıdan 3 sayı alıp ortalamarını 40 ile karşılaştıran ve sonuca göre ekrana mesaj yazdıran programın algoritması
1 BAŞLA
2 TOPLAM = 0 ;Üç sayının toplamının tutulacağı değişken, 0 olarak başlatıyoruz
3 SAYAÇ = 1 ;Döngü için kullanacağımız sayaç
4 OKU SAYI ;Sayı isimli değişkene kullanıcıdan bir sayı alıyoruz
5 TOPLAM = TOPLAM + SAYI ;Toplam değişkenini Sayı kadar artırıyoruz
6 SAYAÇ = SAYAÇ + 1 ;İşlem yaptığımız için sayacı bir artırıyoruz
7 EĞER SAYAÇ = 3 İSE GİT 8 DEĞİLSE GİT 4 ;Üç sayı istendiği için üç kere sayı alıyoruz
8 ORTALAMA = TOPLAM / 3 ;Aritmetik ortalama
9 EĞER ORTALAMA > 40 İSE GİT 10 DEĞİLSE GİT 12
10 YAZ "GEÇTİN"
11 GİT 13 ;Aynı zamanda kaldın da yazmasın diye
12 YAZ "KALDIN"
13 BİTİR
Bu kadar.
Pascal.3: MAX MIN algoritmaları da klasiktir, Pascal bilmediğimden tekrar algoritma ile yetineceğim.
(Sayaç ile uğraşmıyorum bu sefer, direkt döngü kullanıyorum ve diziler hakkında bir fikrin olduğunu var sayıyıorum)
1 BAŞLA
2 ENBUYUK=0
3 ENKUCUK=0
4 DÖNGÜ I=1, 100, +1 ;Döngü...DöngüSonu içerisindeki kod 100 kere çalışır
5 ....OKU SAYI
6 ....EĞER SAYI > ENBUYUK İSE ENBUYUK = SAYI ;Eğer aldığımız sayı şu anki en büyükten büyükse yeni en büyük bu sayı oluyor
7 ....EĞER SAYI < ENKUCUK İSE ENKUCUK = SAYI
8 DÖNGÜ SONU
9 YAZ ENBUYUK ;Elimizde enbüyük ve enküçük değerler var
10 YAZ ENKUCUK
11 BİTİR
(Bu kodu daha önce yazmamıştım denemedim ama görünüşte bir hatası yok.)
Delphi sorularının algoritma gerektiren bir yanı olmadığından ve ben de Delphi hiç kullanmadığımdan cevap veremiyorum.
Assembly kodları yazayım diyeceğim de, bu saatten sonra onları anlatmak imkansız be hocam, anca ezberlersin yani :)
Umarım yardımcı olabildim, kolay gelsin.