Paralel Programlamaya Giriş

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Advertisements

Bilgisayar Programlama Güz 2011
EKRAN ÇIKTISI.
void medyan(int cevap[]) { int j; siralama(cevap);
C PROGRAMLAMA DİLİNE GİRİŞ
Bölüm 2 C Dilinin Temelleri
String Diziler(Katarlar)
C Programlama Diline Giriş
C Programlama Dili.
Tanım Birbirleriyle ilişkili ve bitişik iki ya da daha fazla bellek hücresinden oluşan yapı Örnek dizi tanımı: int tamsayiDizi[10]; tamsayiDizi[0] /*ilk.
Bölüm 2: Program Denetimi
C++’A GİRİŞ Yılmaz Kılıçaslan.
C++ STACK SINIFI.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 10 Yapılar ve Birleşimler
Nesneye Yönelik Programlama
Soru1: Dışardan "%s" format belirteci kullanılarak girilecek 20 elemanlı bir dizinin elemanlarının kaç tanesinin rakam, kaç tanesinin harf ve kaç tanesinin.
NESNEYE YÖNELİK PROGRAMLAMA
Nesneye Dayalı Programlama
Fonksiyonlar.
.Net teknolojisi ve C# Yasin Gedik Dokuz Eylül Üniversitesi (4. Sınıf) Microsoft Danışman Öğrenci
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
FONKSİYONLAR.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Kontrol Yapıları ve Döngüler
BM-103 Programlamaya Giriş Güz 2014 (7. Sunu)
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
Algoritma & Programlama
C++’a Giriş Yılmaz Kılıçaslan.
Temel Giriş/Çıkış Fonksiyonları
Editörler Asli Ergün.
C++ Ders Notları 2.Ders (Dilin Yapısı)
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
C++ Ders Notları 3.Ders (String İşlemleri)
C++.
Paralel Programlamaya Giriş
Paralel Programlamaya Giriş 2
Paralel Programlamaya Giriş
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
3. HAFTA 3. Hafta.
4. Hafta1 4. HAFTA. 4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama.
BİLGİSAYAR programlama II
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Fonksiyonlar.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
Sıralama. Sıralama, bir dizideki sayısal elemanların küçükten büyüğe veya büyükten küçüğe, sayısal olmayan bir dizideki elemanların ise A’ dan Z’ ye.
Hafta2 Rekürsif Algoritmalar
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
BM-308 Paralel Programlamaya Giriş Bahar 2016 (2. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
Programlama Laboratuarı-I DERS - 3 Program Geliştirme Derleyici ve DevC++ Derleyicisi.
Algoritma ve Programlama
C Programlama Dili Bilgisayar Mühendisliği.
C’de Fonsiyonlar Aslı Ergün.
BİLGİSAYAR PROGRAMLAMA Ders 8: Fonksiyonlar
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
Paralel Programlamaya Giriş
FONKSİYONLAR Programlamada fonksiyon kullanmanın en önemli sebebi kodların tekrar edilmesini engellemektir. Örneğin; karekök yada üsalma işlemi yapan bir.
NİŞANTAŞI ÜNİVERSİTESİ
C ile Programlamaya Giriş
Sunum transkripti:

Paralel Programlamaya Giriş

LINUX ORTAMINDA C++ KODLARININ YAZILMASI, DERLENMESİ VE ÇALIŞTIRILMASI İlk aşamada .cpp uzantılı bir C++ program dosyası oluşturunuz. Bu işlemi touch komutu ile yapabilirsiniz. Örnek: $touch HelloWorld.cpp Daha sonra ya bir komut satırı editörü (vi veya nano gibi) ya da bir grafik editörü (gedit gibi) yardımıyla programınızı yazınız ve kaydediniz. Artık programınızı derleyip çalıştırabilirsiniz. Bu işlem için bizim sistemimizde kurulu bulunan g++ adlı C++ derleyicisinden faydalanabilirsiniz. Örnek: $g++ HelloWorld.cpp

LİNUX ORTAMINDA C++ KODLARININ YAZILMASI, DERLENMESİ VE ÇALIŞTIRILMASI Derleme işlemi başarıyla sonlandırılır ise eğer derlemeyi yaptığınız dizinde a.out adında executable (çalıştırılabilir) bir dosya oluşur. Bu dosyayı komut satırından aşağıdaki gibi çalıştırabilirsiniz. (Programınızın komut satırı argümanı almadığını varsayıyorum.) Örnek: $./a.out Eğer programınızın a.out dışında bir executable dosya adıyla çalıştırılmasını istiyorsanız programınızı şöyle derlemelisiniz. Örnek: $g++ HelloWorld.cpp -o deneme.x Örnek: $./deneme.x

UYGULAMA 1 Kullanıcıdan ekrana kaç kere Hello World yazacağını klavye yoluyla cout ve cin deyimleri ile alan bir C++ programı yazınız, derleyiniz ve calıştırınız. (main fonksiyonu kendine argüman almıyor.) (Dosya adı olarak HelloWorld1.cpp kullanabilirsiniz.)

argc ve argv Parametreleri int main() { return 0; } int main(int argc, char* argv[ ]) { return 0; }

argc ve argv Parametreleri (devam) main fonksiyonu içinde kullanılan argc (argument count) adlı, int veri tipindeki ilk argüman programın çalıştırılması esnasında komut satırından girilen komutların/kelimelerin sayısını belirtir. Örnek: $ ./deneme.x -n 100 Yukarıdaki örnekte argc 3 olarak değerlendirilir. Çalıştırılan programın adı da (./deneme.x) argc nin sayısına katkıda bulunur.

argc ve argv Parametreleri (devam) main fonksiyonu içinde kullanılan argv parametresi ise komut satırından girilen parametrelere (karakter dizileri) pointer tutan bir dizidir. Örnek: $ ./deneme.x -n 100 Yukarıdaki örnekte argv[0] = ./deneme.x argv[1] = -n argv[2] = 100 argv[1][0] = - ve argv[1][1] = n

ÖRNEK Aşağıdaki kod parçası komut satırından çalıştırılan bir C++ programının argümanlarını ekrana basar. Argumanlar.cpp #include <iostream>//cout using namespace std; int main(int argc, char* argv[ ]) { for(int i=0; i < argc; i++)    cout<<argv[i]<<endl; return 0; }

atoi ve atof Fonksiyonları Komut satırından girilen her türlü parametre argv dizisi içerisinde string (karakter dizisi) olarak saklanır. (Rakam olarak girildiği düşünülen argümanlar bile.) Yani bütün bu parametreler karakter dizileridir aslında. Bu yüzden bu parametrelerin rakamlara dönüştürülmesi gerektiğinde atoi ve atof fonksiyonlarına ihtiyaç duyulur. atoi (char *str): fonksiyonu kendine argüman olarak aldığı string i integer a çevirir. atof (char *str): fonksiyonu kendine argüman olarak aldığı string i ondalıklı sayıya çevirir. (floating point) atoi ve atof fonksiyonlarını C++ programlarımızın içinde kullanabilmek için standart kütüphaneden <cstdlib> header dosyasını programımızın başına eklemeliyiz. #include <cstdlib>

ÖRNEK for (i=1; i<argc; i++) { if (argv[i][0] == '-') Aşağıdaki C++ kod parçası ne iş yapar? for (i=1; i<argc; i++) { if (argv[i][0] == '-') if (argv[i][1] == 'n') count=atoi(argv[++i]); break; }

UYGULAMA 2 Kullanıcıdan ekrana kaç kere Hello World yazacağını komut satırından argüman olarak alan bir C++ programı yazınız, derleyiniz ve calıştırınız. (main fonksiyonu kendine argüman alıyor.) (Dosya adı olarak HelloWorld2.cpp kullanabilirsiniz.)