Emu8086 ile 4 rakamın ortalaması

Klavyeden girilen 4 rakamin ortalamasini emu8086 da hesaplama.
10h kesmesi, 16h kesmesi, loop, push, pop kullanımı.
Ondalıklı sonucun sadece integer kısmını alır. Ondalık kısım için ekstradan kod yazmamız gerekli.

org 100h

;klavyeden 4 tane rakam alacagimiz icin 
;loop dongumuz icin CX'e 4'u atadik
mov CX, 4
;dongu baslangic yeri             
sayici:
  ;16h kesmesi ve AH'a atadigimiz 
  ;0 fonksiyonu ile klavyeden AL'e rakam alinir
  mov AH, 0     
  int 16h
  ;push komutu ile AX'deki bilgimizi 
  ;stacka aliyoruz (push komutu operandi word olmali!)
  push AX 
  ;10h kesmesi ve AH'a atadigimiz 
  ;0e fonksiyonu ile AL'deki Ascii degeri ekrana yazdiriyoruz  
  mov AH, 0eh
  int 10h
  ;AL'ye 1 bosluk atiyoruz ve 
  ;bunu ekrana yazdirarak
  ;girdigimiz rakamlarin arasinda
  ;1 bosluk olmasini sagliyoruz
  mov AL, ' '
  mov AH, 0eh
  int 10h  
loop sayici  ;dongumuz bitti, her dongude CX 1 azalacak  
             ;CX degeri 0 olana kadar
             ;bu dongu tekrarlayacak

;stack da suan 4 deger var
;pop komutu ile stackdan deger cagiracagiz
;ilk cagirilan deger, stacka son gonderilen deger olacaktir.
pop AX  ;klavyeden alinan 4. deger AX'e geldi
pop BX  ;klavyeden alinan 3. deger BX'e geldi
add AX, BX  ;AX ve BX toplandi, toplam AL'de
pop BX  ;klavyeden alinan 2. deger BX'e geldi
add AX, BX  ;AX ve BX toplandi, toplam AL'de
pop BX  ;klavyeden alinan ilk deger BX'de
add AX, BX ;AX ve BX toplandi, toplam AL'de   
mov AH, 0  ;AH'i sifirliyoruz                         
mov BL, 04h  ;4 rakam girdik, ortalamayi bulmak icin BL'e 4 attik 
div BL       ;AX'i BL'e bolduk, kalan AH'da, bolum AL'de

mov AH, 0eh  ;son olarak sonucu 10h ve 0eh fonksiyonu ile ekrana yazdiriyoruz
int 10h

ret

Google gitar tutkunlarına

Google, Les Paul'un 86'ncı doğum gününe özel yaptırdığı gitar doodle'ı büyük beğeni topladı. Bu yüzden google bu doodle'i özel bir sayfada kalıcı hale getirdi.


scribd nedir?

scribd nedir
Scribd.com a bir e-book kütüphanesi diyebiliriz. Sınırsız her türden e-book
kaynağına ulaşmak için  harika bir servis. Youtube'nin bir farklı versiyonu. Benim de yeni keşfettiğim ve beğendiğim bir servis. Scribd word, pdf, text gibi bir çok yazı programını destekleme özelliği sayesinde bu tür dosyaları siteye yükleyip diğer kullanıcılarla paylaşabiliyoruz. Embed kodlarıyla bu dökümanı sitenizde de pdf olarak paylaşabilirsiniz. Ayrıca yüklediğiniz dosya txt, docx, pptx olsa bile pdf olarak indirme özelliği de bulunuyor. pptx uzantılı dosyaları pdf'ye dönüştürmek için de kullanılabilir.

TBD Genç soru 12 çözümüm

TBD Genç şubat ayı ödüllü programlama sorusu çözümüm
soruya ulaşmak için
http://www.tbdgenc.com/2011/02/subat-2011-bulteni-ve-odullu-programlama-sorusu/
#include<iostream>
using namespace std;

int arayasokma(int A[],int uzunluk)
{
    int i,k,ekle;
    for (i=1;i<uzunluk;i++)
    {
        ekle=A[i];
        for (k=i-1;k>=0 && ekle<=A[k];k--)
        {
            A[k+1]=A[k];
        }
        A[k+1]=ekle;
    }
}

int main()
{
    int A, N;
    cin>>A;
    cin>>N;
    float durumsayisi=(N*(N-1))/2; // durumsayisi kadar farkli 2 li olusturulabilir
    float pay=0;
    int uzaklik[N];
    int parcalar[3]; // herhangi iki farkli dugum acildiginde 3 parca olusur
    for (int i=0;i<N;i++) // girilen degerler birbirinden farkli olmali
    {
        cin>>uzaklik[i];
    }
    arayasokma(uzaklik,N);
    for (int i=0;i<N;i++)
    {
        for (int j=i+1;j<N;j++)
        {
            parcalar[0]=uzaklik[i];
            parcalar[1]=uzaklik[j]-uzaklik[i];
            parcalar[2]=100-uzaklik[j];
            if ((parcalar[0]>=A) || (parcalar[1]>=A) || (parcalar[2]>=A))
                pay++;
        }
    }
    cout<<pay/durumsayisi;
    return 0;
}

C# karışık boyutlu jagged diziler

c-sharp
Jagged dizi, her satırı farklı uzunlukta olan dizi türüdür.
Bu düzensiz diziler genel olarak satır uzunluklarının belli olmadığı durumlarda kullanılır.
<Dizi Türü>[][] <dizi Adı> = new <Dizi Türü>[<Büyüklük>][];
Örneğin büyüklüğü yani satır sayısı 3 olan fakat satır uzunluğu belli olmayan bir dizi aşağıdaki gibi tanımlanır.
string[][] Kayitlar = new string[3][];
Şimdi bu dizinin elemanlarına değerler tanımlayıp onlara erişelim.
Jagged dizilerin elemanlarına erişmenin en iyi yolu foreach döngüsünü kullanmaktır.

C# soyut sınıf (abstract class) kavramı

csharp
* Tanım olarak arabirimlere benzeyen soyut sınıf (abstract class) kavramı sınıfların örnek alacağı ana sınıf şablonunu temsil eder.
* Soyut sınıfta, sınıflarda olması gereken ögeler tanımlanır ve bundan türeyecek sınıflarda bu ögelerin kullanılmasına imkan verilir.
* Soyut sınıfta, öğelerin içerikleri de belirtilebilir.
* Soyut sınıflar abstract sözcüğüyle tanımlanırlar. (yani abstract da bir erişim belirleyicisidir)
* Doğrudan kullanılamazlar. Türetilmeyi beklerler.
* Bir sınıf birden fazla soyut sınıfı miras alamaz. Sadece bir sınıfı miras alabilir.
* Soyut sınıfa bir öğe eklendiğinde diğer kodlarda herhangi bir hata oluşmaz. Yeni eklenen kod istenildiği vakit kullanılabilir.
* Soyut sınıfın üyeleri tipik bir sınıfın tüm üyeleri olabilir.
using System;

class Program
{
    static void Main(string[] args)
    {
        Araba objAraba = new Araba();
        objAraba.plaka = "XM 856 DEI";
        Console.WriteLine(objAraba.plaka.ToString());
        Console.WriteLine(objAraba.Genislik.ToString());
        Console.ReadKey();
    } // Main
    public abstract class Arac
    {
        public string plaka;
        public void FreneBas()
        {
            Console.WriteLine("Arac durdu.");
        }
        public abstract Decimal Genislik
        {
            get;
        }
    } // Arac
    public class Araba : Arac
    {
        public override decimal Genislik
        {
            get 
            { 
                return 2.8M;
            }
        }
    } // Araba
}

asp.net viewstate yönetimi

asp.netASP.NET sayfalarında viewstate yönetilebilir bir özelliktir. Yani viewstate değerine sayfa ve kontrol verilerinin eklenip eklenmeyeceğine müdahale edebiliriz. Bu 3 şekilde yapılabilir.

Uygulama kapsamında: Bunun için web.config dosyasında

<pages EnableViewState="false".......>
şeklinde bir ifadeye yer vermeliyiz. Böylece web uygulamamızdaki bütün sayfalarda, ViewState'e durum bilgisi değerleri eklenmesi engellenir.

Sayfa kapsamında:
<%@ Page EnableViewState="False"......%>
ile sadece o sayfa ve bütün kontrolleri için durum bilgisi değerleri ViewState'e eklenmez.

Kontrol kapsamında: Eğer dilersek sadece kontrol ve kontrole ait değerin ViewState'e eklenmesi engellenebilir.
<asp:kontrol_ismi EnableViewState="false"...../>
şeklinde kullanılır. Böylece belirtilen kontrolün durum bilgisi ViewState değerine eklenmez.

ViewState'i neden kullanmak istemeyebiliriz?

-Sayfa kendisine geri dönüşüm yapmayacak olabilir. Bu durumda kontrol elemanlarında herhangi bir kıyaslama gereği de yoktur.

-Kontrol elemanında herhangi bir olay yakalama durumu söz konusu değilse.

-Kontrol elemanı dinamik veri girilebilir özellikte olmayabilir veya bir veri kaynağına bağlı olabilir. Örneğin bir gridview kontrolü normal koşullarda kullanıcıyla direk teması olmayan, verilerini bağlı olduğu kaynaktan alan sunucu kontrolüdür. Bu kontrolün durum bilgisinin tutulmasının anlamı yoktur.

Kaynak: C# ile Asp.net
Zafer Demirkol

c++ ornek dizi uzerinde ardisil arama

c programming languagec++ da integer olarak tanımlanmış dizi üzerinde, değer arama işlemini ardisil arama ile yapma.


#include<iostream>//////bulduğu gibi döngüden çıkar------
using namespace std;
int ardisilarama(int A[],int N,int aranan)
{
    for (int i=0;i<N;i++)
    {
        if (A[i]==aranan)
            return i;
    }
    return -1;
}
int main()
{
    int indis, aranan;
    int A[]={5,78,45,67,88,99,22,5,34,5,455,22,123,543};
    for (int i=0;i<sizeof(A)/sizeof(int);i++)
        cout<<A[i]<<" ";
    cout<<endl<<"aranan sayi: ";
    cin>>aranan;
    indis=ardisilarama(A,sizeof(A)/sizeof(int),aranan);
    if (indis!=-1)
        cout<<"indis: "<<indis;
    else
        cout<<"aranan deger dizide yok.";
    return 0;
}

c++ örnek dizi üzerinde birleştirmeli sıralama merge sort

Tek boyutlu bir dizide tanımlanmış integer elemanları, birleştirmeli sıralama algoritması (merge sort) ile c++ da sıralama.

#include<iostream>
using namespace std;

void merge(int a[], int p, int q, int r)
{
    int b[8];
    int sb, index, yer;
    sb = q - 1;
    yer = p;
    index = r - p + 1;
    while ((p <= sb) && (q <= r))
    {
        if (a[p] <= a[q])
        {
            b[yer] = a[p];
            yer = yer + 1;
            p = p + 1;
        }
        else
        {
            b[yer] = a[q];
            yer = yer + 1;
            q = q + 1;
        }
    }
    while (p <= sb)
    {
        b[yer] = a[p];
        p = p + 1;
        yer = yer + 1;
    }
    while (q <= r)
    {
        b[yer] = a[q];
        q = q + 1;
        yer = yer + 1;
    }
    for (int i = 0; i < index; i++)
    {
        a[r] = b[r];
        r = r - 1;
    }
}

void mergesort(int a[], int p, int r)
{
    if (p<r)
    {
        int q=(p+r)/2;
        mergesort(a,p,q);
        mergesort(a,q+1,r);
        merge(a,p,q+1,r);
    }
}

int main()
{
    int a[]={30,60,100,44,43,22,40,33};
    int i;
    mergesort(a,0,7);
    for (i=0;i<8;i++)
        cout<<a[i]<<" ";
    return 0;
}

c++ örnek dizi üzerinde seçmeli sıralama

cTek boyutlu bir dizide tanımlanmış integer elemanları, seçmeli sıralama algoritması ile c++ da sıralama.


#include<iostream>
using namespace std;
int secmeli(int D[], int n)
{
    int i,j,index,enkucuk;
    for (i=0;i<(n-1);i++)
    {
        enkucuk=D[n-1];
        index=n-1;
        for (j=i;j<(n-1);j++)
            if (D[j]<enkucuk)
            {
                enkucuk=D[j];
                index=j;
            }
        D[index]=D[i];
        D[i]=enkucuk;
    }
}
int main()
{
    int A[]={34,12,6,3,9,22,89,1,66,5};
    secmeli(A,10);
    for (int i=0;i<10;i++)
    {
        cout<<A[i]<<" ";
    }
    return 0;
}

x-pire nedir?

x pireX-Pire, sosyal ağlara yüklediğiniz fotoğraflara kısıtlama getirebileceğiniz, henüz geliştirilme aşamasında olan bir yazılımdır. Alman bir bilişim firmasının ürettiği yazılım Facebook, Flickr gibi sosyal ağlara yüklenen fotoğraflara elektronik bir kod ekleme işlemi yapacak ve belirtilen son kullanma tarihinden sonra fotoğrafın görüntülenmesini engelleyecek.
Firma belirtilen tarihte fotoğrafın silineceğini garanti ediyor ama yüklenen fotoğrafın son kullanma tarihinden önce diğer üçüncü şahıslar tarafından indirilip kaydedilmişse bunun sonuçlarını kabul etmiyor.
X-Pire gelecek günlerde piyasaya çıkacak. Firma aylık 2 euro gibi bir fiyat planlanıyor.

http://www.x-pire.de/

c++ örnek en kısa yol greedy algoritması

Greedy yaklaşımı, graf üzerinde belirli bir konuda optimum sonucu veya en iyi sonucu bulabilmek amacıyla dolaşma yapılırken bir sonraki düğümü belirlemek için kullanılan bir karar verme yöntemidir. Greedy yaklaşımında o andaki seçenekler içerisinden en iyi olarak görünen seçilir. Greedy yönlü ve maliyetli graflarda kullanılır.
Örnek olarak 5
düğümlü bir graf 5x5 komşuluk matrisi şeklinde gösterilsin. Grafın şekli dizide gösterilmiştir.

#include<iostream>
#define N 5
#define EBAS 0x7FFFFFFF
using namespace std;

int maliyethesapla();
int GRAF[N][N]={ -1, 2, -1, -1, 5,
                 -1, -1, 1, 4, 2,
                 1, -1, -1, -1, 4,
                 12, -1, -1, -1, -1,
                 -1, -1, -1, 3, -1
               };

int EKM[N];
int main()
{
    int i;
    maliyethesapla();
    for (i=0;i<N;i++)
        cout<<EKM[i]<<" ";
    return 0;
}

int maliyethesapla()
{
    char ELEALINDI[N]={0};
    int i, j, ead, enkucuk;
    for (i=1;i<=N;i++)
        EKM[i]=EBAS;
    EKM[0]=0;
    ead=0;
    for (i=0;i<N;i++)
    {
        for (j=0;j<N;j++)
            if (!ELEALINDI[j])
                if (GRAF[ead][j]!=-1)
                    if (EKM[j]>GRAF[ead][j]+EKM[ead])
                        EKM[j]=GRAF[ead][j]+EKM[ead];
        enkucuk=EBAS;
        for (j=1;j<N;j++)
            if (!ELEALINDI[j])
                if (EKM[j]<enkucuk)
                {
                    enkucuk=EKM[j];
                    ead=j;
                }
        ELEALINDI[ead]=1;
    }
}

Kaynak: Algoritma Geliştirme ve Veri Yapıları
Dr. Rıfat Çölkesen

Pdf yi Word e Çevirme - pdf2word v3.0 + serial

pdf den word epdf2word v3.0 PDF yi WORD e çevirmede başarılı bir program. Dosyanın tamamını dönüştürebildiğiniz gibi belirttiğiniz aralıklardaki sayfalarıda çevirebilirsiniz.
Keygen.exe içindedir.

LİNKLER YENİLENECEK