Bilgisayar Ağları ve Dağıtık Programlama
|
|
- Engin Karaca
- 8 yıl önce
- İzleme sayısı:
Transkript
1 KARADENİZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUARI Bilgisayar Ağları ve Dağıtık Programlama 1. Giriş Bu deneyde paralel programlama standartlarından olan MPI (Message Passing Interface) ve OpenMP (Open Multi Processing) protokollerinin öğrenilmesi ve bu protokoller kullanılarak Pi sayısının hesaplanması amaçlanmıştır. Genel amaçlı bir paralel bilgisayar sistemi, kendine ait veya paylaşımlı belleği olan birçok işlemci ya da çekirdekten oluşan bir sistemdir. Paralel bilgisayar sistemdeki her bir işlemcide ya da çekirdekte, bir veya birden fazla süreç koşmaktadır. Bu süreçler birbirleriyle mesaj-geçme yoluyla haberleşirler. Süreçler arası iletişimin miktarı dolayısıyla hesaplama/haberleşme (computation/communication) oranı, paralelleştirme sonucu elde edilecek hızlanmayı doğrudan etkilemektedir. Paralelleştirme parametreleri bu oran doğrultusunda optimize edilmelidir. 2. Paralel Programlama ve Paralel Bilgisayar Sistemleri Bir problemin algoritmik veya domain ayrıştırması yapılıp alt parçalara bölünerek daha hızlı hesaplanması, paralel programlama ve paralel bilgisayar sistemlerinde kullanılan temel hesaplama yaklaşımını tanımlamaktadır. Bu deneyde SPMD (Single Program Multiple Data) modeli yani master-slave yaklaşımı kullanılacaktır. Burada master yönetim, işlerin alt parçalara bölünmesi, iş dağıtımını ve sonuçların birleştirilmesini yaparken; slave süreçler de alt hesaplamaları yapmaktadır Paralel Programlama Paralel programlama, bir problemi birden fazla bilgisayar veya işlemci kullanarak daha kısa zamanda hesaplamayı hedefler. Paralel programlama ya da paralelleştirme sayesinde, donanımın ya da işletim sisteminin yetersizliği nedeniyle sıralı yöntemlerle hesaplanamayan problemler, paralel bilgisayarlar ve çoklu-threadler sayesinde kabul edilebilir zamanda veya gerçek zamanda hesaplanabilmektedir. DNA modellemesi, hava tahmini vs. gibi yoğun hesaplama gerektiren problemler, paralel programlama sayesinde kabul edilebilir zamanlarda hesaplanabilirler. Diğer yandan, değişik alanlardaki birçok araştırmacı hesaplamalarda yüksek hıza ihtiyaç duymaktadır Paralel Bilgisayar Sistemleri Paralel bilgisayar sistemleri, paylaşımlı ve dağıtık bellekli sistemler olmak üzere 2 ana gruba ayrılabilir. Paylaşımlı bellekli sistemlerde işlemciler ortak bir belleğe erişirler. Aynı 1
2 bellek bölgesine eş zamanlı erişimleri engellemek açısından senkronizasyon büyük önem taşır. Dağıtık bellekli sistemlerde ise her bir işlemci kendi belleğine sahiptir ve bir işlemci başka bir işlemcinin belleğindeki veriyi mesaj geçme (message passing) ile elde eder. Her iki sistemin de birbirlerine göre avantajları ve dezavantajları mevcuttur. Kısaca, paylaşımlı bellekli sistemler kolay programlanabilir, dağıtık bellekli bilgisayarlar ise ölçeklenebilir paralel bilgisayarlardır. Şekil 1 ve Şekil 2 de sırasıyla paylaşımlı ve dağıtık bellekli paralel bilgisayar sistemlerinin mimarisi verilmiştir: Haberleşme Ağı Paylaşımlı Bellek Şekil 1. Paylaşımlı Bellekli Paralel Bilgisayar Sistemi Bellek Bellek Bellek Haberleşme Ağı Şekil 2. Dağıtık Bellekli Paralel Bilgisayar Sistemi 3. MPI (Message Passing Interface) MPI (Message Passing Interface) protokolü, mesaj geçme yapısını kullanarak paralel programlamada kullanılan standardıdır. MPI kütüphane rutinleri ve görevleri aşağıdaki gibidir: MPI_Init(&argc,&argv): MPI protokolünün başlatılması için kullanılmaktadır. MPI_Comm_size(comm,&size): Çalışan süreç sayısını verir. MPI_Comm_rank(comm,&rank: Sistemde çalışan her bir sürecin kendine has, o sistem için tek olan bir numarası vardır. Bu bilgiyi elde etmek için kullanılır. MPI_Finalize(): MPI protokolünün sonlanması için kullanılır. MPI_Send(buffer, count, datatype, destination, tag, communicator): Mesaj göndermek için kullanılır. MPI_Recv(buffer, count, datatype, source, tag, communicator, status): MPI_Send() fonksiyonu ile gönderilen mesajları almak için kullanılır. 2
3 4. OpenMP (Open Multiprocessing) OpenMP, paylaşımlı bellekli çoklu işlemcili mimariler için geliştirilmiş ve derleyici direktifleri yardımıyla paralel programlama yapan bir uygulama geliştirme arayüzüdür. Derleyicide derlenen program komutlarını paralel çoklu işlemciye/çekirdeğe sahip sistemlerde dağıtır ve paralel olarak işletilmesinin sağlar. OpenMP uygulamaları C/C++ ve Fortran dilleri ile geliştirilebilir ve bu dillere ait birçok derleyici OpenMP desteği vermektedir. OpenMP programlama modelinin sahip olduğu bazı temel özellikler şöyledir: İş parçacığı tabanlı paralellik Çatallan-Birleş (Fork-Join) modeli İç içe döngüleri paralel yapabilme Dinamik iş parçacıkları Derleyici direktifleri yardımıyla paralel programlama OpenMP nin çalışma biçimi temel fork-join (çatallan-birleş) programlama modeline dayanır. Uygulamalarda, çalışan bir program tek bir iş parçacığı (thread) olarak çalışmaya başlar. Programcı eş zamanlılığı kullanmak istediğinde, iş parçacıkları (workers) oluşturulur (fork) ve bu iş parçacıkları takım halinde verilen görevi yerine getirirler. Takım halinde çalışan iş parçacıkları da sadece paralel alan dediğimiz alan içerisinde paralel olarak çalışır. Paralel alan bittiğinde, iş parçacıkları tüm iş parçacıkları bitene kadar beklerler ve birleştirilirler (join). Bu noktadan sonra master iş parçacığı yeni bir paralel bir alan tanımı ile karşılaşıncaya kadar tek olarak çalışmaya devam eder. Bu paralel çalışma yöntemi aşağıdaki görseldeki gibidir. Şekil 3. OpenMP'nin çalışma düzeni 5. Deney Hazırlığı Bu deneyde işlemci çiftliği paralel hesaplama modeli kullanılacaktır. Paralel hesaplamada veya programda hangi süreçlerin yer aldığı, süreçlerin işlemcilere nasıl dağıtıldığı, süreçler arasındaki mesaj-geçme kanalları Şekil 3 te verilmiştir. 3
4 Task[i] Master (PE0) (PE1) (PE2) (PE3) (PEn) Sonuç[i] Şekil 3. süreç modeli İlk olarak işlemci sayısı kadar iş, master işlemci tarafından tüm istemcilere gönderilir. Bu, başlangıçta boşta kalan istemci olmaması içindir. Daha sonra her bir istemcinin hesaplamasını tamamlaması ile iş havuzunda iş olduğu sürece yeni iş mevcut istemciye gönderilir. 6. Deney Tasarımı ve Uygulaması Bu deneyde C dilinde Pi sayısının paralel hesaplanmasının MPI ve OpenMP ile gerçekleşmesi ele alınacaktır. MPI kütüphanesini C dilinde kullanabilmek için <mpi.h> başlığının eklenmesi gerekir. Böylece paralellik için gerekli tüm rutinler kullanılabilir hale gelir. Pi sayısını hesaplamada aşağıdaki formül kullanılır: Böyle bir integral ifadesinin bilgisayarda hesaplanabilmesi için toplam ifadesine dönüştürülmesi gerekir. MPI ile Pi sayısının hesaplanmasını sağlayan programın temel kod yapısı aşağıdaki gibidir: #include <stdio.h> #include <stdlib.h> #include <mpi.h> double calculatepi (double b,double s,double N); void master(int); // Ana süreç void slaves(int); // Child süreçler int main(int argc, char *argv[]) int np, rank; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &np); if(rank ==0) 4
5 master (np-1); // Ana sürec başlatılır. else slaves (rank); // Worker sürecler başlatılır. MPI_Finalize(); double calculatepi (double b,double s,double N) double sonuc = 0; int i; for(i=b; i<=s; i++) double x= ((double)i-0.5)*(1/n); sonuc += 4/ (1+(x*x)); sonuc = sonuc*(1/n); return sonuc; void master(int worker) double is =0, toplam =0, gelen =0; for(int i=0; i<worker; i++) MPI_Send(&is, 1, MPI_DOUBLE, i+1, baslik, MPI_COMM_WORLD); is++; while(is<tasks) MPI_Recv(&gelen, 1, MPI_DOUBLE, MPI_ANY_SOURCE, baslik, MPI_COMM_WORLD, &durum); // işlem sonucunu mevcut processten alır. toplam += gelen; MPI_Send(&is, 1, MPI_DOUBLE, durum.mpi_source, baslik, MPI_COMM_WORLD); // yeni iş yollar is++; printf("\npi Sayısı :%.10g\n",toplam); void slaves(int sira) double bas, son, hesaplanan; // aralık bilgisi double gelen=0; while(gelen <tasks) MPI_Recv(&gelen, 1, MPI_DOUBLE, 0,baslik, MPI_COMM_WORLD, &durum); bas = gelen * area; son = bas + area -1; hesaplanan = calculatepi(bas, son, intervals); MPI_Send(&hesaplanan, 1, MPI_DOUBLE, 0, baslik, MPI_COMM_WORLD); 5
6 Başlangıçta bir aralık ve görev bilgisi belirlenip, her bir paketin boyunun hesaplanması gerekir. (area=interval/tasks) çiftliği modelinin tanımında da belirtildiği gibi, işleri dağıtan ve yöneten bir ana süreç olmalıdır. Yani programda rank=0 olan ana süreç, master süreç olarak belirlenmiştir. İşleri oluşturacak ve mevcut süreçlere başlangıçta ve istek olduğunda işleri dağıtacak olan süreçtir. Her bir worker süreç hesaplama yapacağı aralığı belirler. Kendisi için belirlediği son noktaya gelene dek Pi sayısının ilgili kısmını hesaplar. calculatepi() fonksiyonu her bir aralık için hesaplama yapan alt fonksiyondur. Bu fonksiyon en küçük kareler veya yamuk kuralı olarak bilinen yönteme bağlı kalarak oluşturulmuştur: calculatepi() fonksiyonunda her bir süreç hesapladığı aralığın sonucunu MPI_Send() fonksiyonu ile ana sürece gönderir. Ana süreç ise bu değerleri toplar ve sonuç olarak Pi sayısı elde edilir. Eğer hala yapılacak işler varsa, worker süreç ana süreçten iş isteğinde bulunur. Ana süreç işlerin bittiğinden tüm süreçleri haberdar eder ve program sonlanır. OpenMP kütüphanesini C programlama dilinde kullanabilmek için programa omp.h başlık dosyası eklenmelidir. Bu dosya OpenMP'nin kullandığı gerekli veri türlerini ve çalışma zamanı kütüphane rutinlerini içerir. Aşağıdaki uygulamada, belirli sayıda iterasyona sahip bir döngünün yapacağı işler iş parçacıklarına eşit oranda dağıtıldı ve hesaplanan sonuçlar reduction işlemi ile toplam değişkeninde toplanarak birleştirildi. Uygulama kodları incelenirse; #pragma omp parallel direktifi: Paralel hesaplama yapılacak bir alan oluşturulur. Bu alan içindeki tüm komutlar paralel olarak koşulur. private(i,x) direktifi: For döngüsünde kullanılacak i indis değeri ve ara bir hesaplama değerinin tutulacağı x değişkeni özel (private) olarak tanımlanır. Paralel olarak oluşturulacak her iş parçacığı i ve x değişkenlerini yerel (olarak) oluşturacak ve sadece kendileri kullanacak. reduction(+:toplam) direktifi: Her bir iş parçacığı kendi iterasyon aralığındaki hesaplama değerlerini kendi yerel toplam değişkenlerinde toplar ve tüm iş parçacıkları hesaplamalarını bitirdiklerinde reduction işlemi ile her iş parçacığından gelen toplam değerleri toplanır ve parçalanan görevler birleştirilir. #pragma omp for direktifi: Bu direktif ile döngüdeki toplam iterasyon her iş parçacığına eşit miktarda dağıtılır ve döngünün her parçasının farklı bir iş parçacığı tarafından hesaplanması sağlanır. 6
7 Uygulamanın paralel hesaplama yapan kod parçası aşağıdaki gibidir: baslangic_z=omp_get_wtime(); #pragma omp parallel private(i,x) reduction(+:toplam) #pragma omp for for(i=0; i<adim_sayisi; i++) x = (i+0.5)*adim_miktari; toplam += 4.0/(1.0 + x * x); bitis_z=omp_get_wtime(); pi=toplam * adim_miktari; 7. Deneye Hazırlık çiftliği modelini ve paralel programlamada nasıl kullanıldığını araştırınız. 2. Herhangi bir integral ifadesi nasıl sayısal ifadeye dönüştürülür? 3. Bir paralel uygulamanın performansını ölçmede kullanılan metriklerden hızlanma ve verimlilik nedir, nasıl hesaplanır ve performans ölçmede nasıl kullanılırlar? Öğreniniz. 4. Grain size ve optimum grain size nedir? Nasıl belirlenir veya hesaplanırlar? 5. MPI üzerinde basit bir paralel programı nasıl koşarsınız öğreniniz. 6. PI sayısını hesaplanmasında kullanılacak bir paralel C programı yazınız. 8. Deney Raporu 1. Hazırladığınız paralel PI sayısı hesaplama programını çalıştırınız ve işlemci sayılarını değiştirerek hızlanma ve verimlilik eğrilerini çiziniz. 2. Aynı programı tek işlemci üzerinde koşunuz ve performansı gözlemleyiniz. 3. Paralel PI sayısı hesaplama programını 7 işlemci ile koşunuz ve grain size değişimine göre hesaplama zamanı eğrisini çiziniz. 4. PI sayısının hesaplanmasında nasıl bir paralel yük dengelemesi tekniği kullanılmıştır? Programı inceleyerek çıkartınız. Deney sorularını cevaplayıp, deney esnasında çizilen hızlanma ve verimlilik eğrilerini de grup adına hazırladığınız rapora ekleyerek en geç sonraki hafta deney saatine kadar yazıcı çıktısı olarak getiriniz. 9. Kaynaklar [1] Barry Wilkinson and Michael Allen, Parallel Programming: Techniques Applications Using Networked Workstations and Parallel Computers, Prentice Hall, [2] Thomas, Braunl, Parallel Programming; an Introduction, Prentice Hal,
MPI Nedir? Noktadan Noktaya Haberleşme
1 MPI Nedir? Noktadan Noktaya Haberleşme (Kısım 2) 15-18 Nisan 2009 Özden AKINCI İTÜ Bilişim Enstitüsü UYBHM Uygulama Uzmanı 2 Özet MPI Nedir? MPI Kullanmanın Nedenleri? MPI Programı Nasıl Derlenir? MPI
DetaylıBilgisayar Sistemlerine Genel Bakış
Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Carnegie Mellon Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr.
DetaylıPROGRAMLAMAYA GİRİŞ FONKSİYONLAR
PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya
DetaylıMulticore/Multithread Programlama
Multicore/Multithread Programlama Onur Tolga Şehitoğlu Bilgisayar Mühendisliği 7 Şubat 2008 Başlıklar 1 Gereksinimi Dal ile Süreç Çok İşlemci ve Dal Modelleri Neden Çoklu Dal Programlama? 2 Çok İşlemci/Çok
DetaylıBil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi
Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini
DetaylıParalel Hesaplama. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara
Paralel Hesaplama Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden paralel hesaplama? Terminoloji Paralel hesaplamanın tarihi Teori: Hızlanma, Amdahl Yasası
DetaylıMPI İLE PARALEL PROGRAMLAMANIN TEMELLERİ
MPI İLE PARALEL PROGRAMLAMANIN TEMELLERİ Devkan Kaleci Eğitim Fakültesi BÖTE Bölümü devkan@inonu.edu.tr Ali Şahin Fen Edebiyat Fakültesi Fizik Bölümü asahin@inonu.edu.tr Olgun Adem Kaya Eğitim Fakültesi
DetaylıBİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama
BİL 542 Paralel Hesaplama Dersi Projesi MPJ Express Java Paralel Programlama Recep Ali YILMAZ 131419106 Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Yüksek Lisans Programı
DetaylıSınav tarihi : Süre : 60 dak.
Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =
DetaylıBölüm 10. Eşzamanlılık (Concurrency) ISBN
Bölüm 10 Eşzamanlılık (Concurrency) ISBN 0-321-49362-1 Eşzamanlılık Nedir? Kodun iki veya daha fazla parçasının aynı anda eş zamanlı çalıştırılmasıdır Programlama dillerindeki eş zamanlılık kavramı ile
DetaylıÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME
ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME Ecem İren Halilcan Can Akince Aylin Kantarcı Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü
DetaylıDemodülasyon Algoritmaları İçin En İyilenmiş Windows İşletim Sistemi Uygulamaları
Demodülasyon Algoritmaları İçin En İyilenmiş Windows İşletim Sistemi Uygulamaları Alparslan Fişne afisne@aselsan.com.tr 1/46 1 İçerik Giriş Demodülasyon Algoritmaları Optimizasyon JNI Kullanımı Sonuçlar
DetaylıDr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net
Bilgisayar Programlama Ders 1 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlamaya C ile Programlamaya Yazılım: Bilgisayarın işlemler yapması ve karar vermesi
DetaylıAlgoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip
DetaylıİŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği
İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol
DetaylıProgram Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.
PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki
DetaylıParalel Hesaplama ve MATLAB Uygulamaları
Paralel Hesaplama ve MATLAB Uygulamaları Muammer AKÇAY 1, Hüseyin Aşkın ERDEM 2 1 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kütahya, Türkiye 2 Dumlupınar Üniversitesi, Bilgisayar Mühendisliği
DetaylıGezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması
Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması E M R U L L A H S O N U Ç A K A D E M I K B I L I Ş I M Ş U B A T 2 0 1 5 E M R U L L A H S O N U Ç,
DetaylıOMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü
Bilgisayar Mühendisliği Bölümü OMNET++ 4.2.2 Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları OMNET++ OMNET++ (Objective Modular Network Testbed in C++), nesneye yönelik (objectoriented)
DetaylıSınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0
Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden
DetaylıBigisayar Programlama
Bigisayar Programlama (GÜZ 2015) DERS-02: C de Programlamaya Giriş Yrd. Doç Dr. Yakup EMÜL Cumhuriyet Üniv., Teknoloji Fakültesi Yazılım Mühendisliği Bölümü yakupemul@cumhuriyet.edu.tr Ofis Saatleri :
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 14: Çoklu İşlev İçerik Çoklu İşlevin Gerçekleştirilmesi Saf Sanal Fonksiyonlar ve Soyut Sınıflar Sanal Yıkıcı Fonksiyonlar Statik ve Dinamik Bağlama 2 Çoklu İşlev
DetaylıSunum İçeriği. Programlamaya Giriş 22.03.2011
Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon
DetaylıAlgoritma ve Akış Diyagramları
Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları
DetaylıKONTROL VE OTOMASYON KULÜBÜ
KONTROL VE OTOMASYON KULÜBÜ C DİLİ İLE MİKROKONTROLÖR PROGRAMLAMA EĞİTİMİ Serhat Büyükçolak Ahmet Sakallı 2009-2010 Güz Dönemi Eğitimleri Mikrokontrolör Gömülü sistemlerin bir alt dalı olan mikrokontrolör
DetaylıBİLİŞİM SİSTEMLERİNİN PRENSİPLERİ
BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ Derleyen: Prof. Dr. Güngör BAL Bölüm 4 Yazılım: Sistemler ve uygulama yazılımı Prensipler ve Öğrenme hedefleri Sistemler ve uygulama yazılımı bireylerin ve organizasyonların
DetaylıGenel Programlama I
Genel Programlama I 30.09.2010 1 Genel Programlama I Ders İçeriği Programlamaya giriş ve algoritma kavramları Basit ve karmaşık veri tipleri Program kontrol komutları (Döngü ve şart yapıları) Diziler ve
DetaylıELN1001 BİLGİSAYAR PROGRAMLAMA I
ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave
DetaylıBLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA
BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı
DetaylıDr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net
Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)
DetaylıFONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.
C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra
DetaylıPROGRAMLAMAYA GİRİŞ DERS 2
PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı
DetaylıBüyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları
Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları Güven Fidan AGMLAB Bilişim Teknolojileri 18/10/11 GRID ÇALIŞTAYI 2007 1 MapReduce Nedir? Büyük data kümelerini işlemek ve oluşturmak
DetaylıKüme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara
Küme Bilgisayarlar Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden hesaplamada kümeleme? Kümeleme nedir? Yüksek kullanılabilirlik kümeleri Yük dengeleme
DetaylıİŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; 1. Performans: İşletim sistemi, makine
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;
DetaylıQt ile Bir Ağ Uygulaması
Qt ile Bir Ağ Uygulaması Aykut Aksoy aykutaksoy@myway.com sürüm 1.0 Özet Bu belge Qt ile hazırlanmış bir ağ uygulamasını anlatır. C++ bilinmesi beklenir. Bu belgede "QProcess.h" kütüphanesine ağırlık verilmiştir.
DetaylıAHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ
AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar LABİRENT HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN
DetaylıPARALEL HESAPLAMA ÇAĞRI GİDER ENES BİLGİN
PARALEL HESAPLAMA ÇAĞRI GİDER 13011016 ENES BİLGİN - 13011004 Paralel Hesaplama Nedir? Paralel Hesaplamanın Avantajları Paralel Hesaplamanın Kullanım Alanları Paralel Hesaplama Yöntemleri, Donanım ve Yazılım
DetaylıOpenGL Uygulamaları. 1. Giriş. 2. OpenGL. Deney 2
Deney 2 OpenGL Uygulamaları 1. Giriş Günümüzde yazılım ve donanımın gelişmesi ile birlikte bilgisayar grafikleri alanında oldukça önemli gelişmeler kaydedilmektedir. Bu gelişmelere paralel olarak yazılım
DetaylıYZM 3102 İşletim Sistemleri
YZM 3102 İşletim Sistemleri Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 5 Bu bölümde, Thread (İş Parçacığı) Thread lerin Faydaları
DetaylıFonksiyonlar (Altprogram)
Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.
DetaylıAlgoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu
Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu Öğr. Gör. M. Ozan AKI r1.0 Algoritmalar (Algorithms) Algoritma, bir problemin çözümünü sağlayan ancak deneme-yanılma ve sezgisel çözüme karşıt bir
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
DetaylıHafta 13 Fonksiyonlar
BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.
DetaylıAdı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.
Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap
DetaylıBüyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları
Büyük Ölçekli Paralel Nükleer Kabuk Modeli Hesaplamaları Yrd. Doç. Dr. Erdal DİKMEN Süleyman Demirel Üniversitesi Fizik Bölümü Araştırma Grubu: Sündüz Korkmaz (Doktora) Oğuz Öztürk (Yüksek Lisans) Hilal
DetaylıYrd. Doç. Dr. Caner ÖZCAN
Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni
DetaylıYrd. Doç. Dr. Caner ÖZCAN
Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,
DetaylıBİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ
BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların
DetaylıBMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel
Detaylı1 PROGRAMLAMAYA GİRİŞ
İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)
DetaylıGörsel Programlama DERS 02. Görsel Programlama - Ders02/ 1
Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden
DetaylıFonksiyonlar -Genel Test- A
1 Fonksiyonlar -Genel Test- A 1. C dilinde fonksiyon bildirimi için hangisi gereklidir? (a) Fonksiyonun döndüreceği veri tipi (b) Fonksionun adı (c) Fonksiyon parantezi ( ) (d) Hepsi 2. C dilinde fonksion
DetaylıProses. Prosesler 2. İşletim Sistemleri
2 PROSESLER Proses Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkinbirdenfazlaprosesolabilir. Görev
DetaylıAndroid e Giriş. Öğr.Gör. Utku SOBUTAY
Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,
DetaylıPROSESLER. Proses. Proses
Proses 2 PROSESLER Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkin birden fazla proses olabilir.
DetaylıDers 5: Temel Kütüphane Fonksiyonlar
Ders 5: Temel Kütüphane Fonksiyonlar Giriş Bu kısımda, C Programlama Dili'nde sık kullanılan ve diğer bölümlerde yararlanacağımız kütüphane fonksiyonlarının bazıları işlenecektir. Kütüphane fonksiyonu
DetaylıParalel Programlama Ortamları
Paralel Programlama Ortamları Elis Soylu ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ esoylu@ogu.edu.tr Paralel Programlama Ortamları Paralel Programlama Tanımı İş Parçacığı Tabanlı Yöntemler Java Thread ile Paralel
DetaylıGörsel Programlama DERS 03. Görsel Programlama - Ders03/ 1
Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit
DetaylıDeğişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:
C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.
DetaylıBLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)
1 BLM 112- Programlama Dilleri II Hafta 5 İşaretçiler (Pointers) Dr. Öğr. Üyesi Caner Özcan Hiç hata yapmayan insan, hiçbir şey yapmayan insandır. Ve hayatta en büyük hata, kendini hatasız sanmaktır. ~Y.
DetaylıC++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 11: Bileşim, Arkadaş ve Diğer Araçlar İçerik Bileşim Arkadaş Fonksiyonlar ve Sınıflar Arkadaş Fonksiyonlar Arkadaş Sınıflar Sabit Nesneler Sabit Üye Fonksiyonlar
DetaylıNESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları
Sayfa1 NESNE TABANLI PROGRAMLAMA 25.01.2011 Final Sınavı Cevapları CEVAPLAR 1. A ve C 3x3 boyutlu kare matrislerdir. Bu matrisler için, iken, işlemini gerçekleştirerek C matrisini oluşturan bir C++ programı
DetaylıBİL-141 Bilgisayar Programlama I (Java)
1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,
DetaylıBİLG Dr. Mustafa T. Babagil 1
BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)
DetaylıÖrnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,
DetaylıProgramlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1
Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)
DetaylıEskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2
Paralel Programlama Ortamları Elis Soylu 1, M. Akçay 2 1 Eskişehir Osmangazi Üniversitesi, Fen Edebiyat Fakültesi Matematik- Bilgisayar Bölümü, Eskişehir 2 Dumlupınar Üniversitesi, Mühendislik Fakültesi,
DetaylıPython Programlama Dili
Python Programlama Dili 2. Python da Koşul ifadeleri Python da koşullu durumların nasıl oluşturulacağını bu bölümde öğreneceğiz. Bu iş için kullanacağımız üç tane deyim var: if, else ve elif 2.1. if If
DetaylıProgramlama Dillerinde Kullanılan Veri Tipleri
Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C
Detaylıemon: Gerçek Zamanlı Gömülü Sistemlerin Çalışma Zamanı Görselleştirilmesi İçin Monitör Yazılımı
emon: Gerçek Zamanlı Gömülü Sistemlerin Çalışma Zamanı Görselleştirilmesi İçin Monitör Yazılımı 1 Berkant AKIN Mehmet GÖKÇAY, Kaan DOĞAN TUBİTAK-SAGE Ulusal Yazılım Mimarisi Konferansı Ankara, 2010 Neden
Detaylıint faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); }
FONKSİYONLAR Fonksiyon, programcı tarafından seçilen bir kod bloğuna isim vermek için kullanılan araçtır. Fonksiyon ismi program içerisinde çağrıldığında fonksiyonun temsil ettiği kod çalıştırılır. Örneğin
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C ve Fonksiyonlar Fonksiyon Tanımı 8. BÖLÜM 3 Fonksiyonlar
DetaylıArş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015
Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari
DetaylıJAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ
JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra
DetaylıC PROGRAMLAMA D İ L İ
C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,
DetaylıOPC Data Access (DA) Temelleri
OPC Data Access (DA) Temelleri Hazırlayan Kepware Technologies Türkçe Meal Salih GÖK Anket Data Access nedir? Data Access in getirileri OPC DA e giriş (Data Access) OPC DA Özelliklerine bakış Hızlı bir
Detaylı/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.
Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :26.11.2012, 60 dak. Dikkat!!! Soru kitapçığında
DetaylıBASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN
BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"
Detaylı8. İŞARETCİLER (POINTERS)
8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu
Detaylı5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi
5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını
DetaylıWEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu
WEB TASARIM I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta PHP Tanımı ve Sunucu Kurulumları 2. Hafta PHP Yazım Notasyonu
DetaylıBLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar
1 BLM 112- Programlama Dilleri II Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar Dr. Öğr. Üyesi Caner Özcan Kendi yolculuğumuzu yapmak için buradayız; bu yolculukta kendimiz
DetaylıTarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan
BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını
DetaylıÖzyineleme (Recursion)
C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,
DetaylıÖğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1
Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte
DetaylıParalel Hesaplama Kütüphaneleri (Mpi, Pvm) ve Linux Ağında Çalıştırılmaları
Paralel Hesaplama Kütüphaneleri (Mpi, Pvm) ve Linux Ağında Çalıştırılmaları Abbas Ayhan Kanmaz İstanbul Teknik Üniversitesi Bilişim Enstitüsü 80626, Maslak, İstanbul kanmaz@be.itu.edu.tr Anahtar Kelimeler:
DetaylıBilgisayar İşletim Sistemleri BLG 312
Bilgisayar İşletim Sistemleri BLG 312 İşletim Sistemlerine Giriş Bilgisayar Sistemi uygulama programları derleyici editör komut yorumlayıcı işletim sistemi makina dilinde programlar mikroprogram (ROM da)
DetaylıBölüm 4: Threads (İş Parçaları)
Bölüm 4: Threads (İş Parçaları) Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013 Bölüm 4: Threads (İş Parçaları) Genel bakış Çok çekirdekli programlama Çok iş parçalı modeller
DetaylıStruct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -
BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri 1-14. hafta - Araş. Gör. Nesibe YALÇIN
DetaylıBölüm 2 - C ile Programlamaya Giriş
1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1 Giriş 2.2 Basit C Programları: Bir Metni Yazdırmak 2.3 Basit C Programları: İki Tam Sayıyı Toplamak 2.4 Hafıza Konuları 2.5 C de Aritmetik 2.6 Karar
DetaylıİNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ
İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el
DetaylıC PROGRAMLAMA DİLİNE GİRİŞ
C PROGRAMLAMA DİLİNE GİRİŞ C Dilinin Tarihçesi 1972 de Dennis Ritchie tarafından AT&T Bell Laboratuarlarında B dilinden geliştirildi. C dili konusundaki ilk kitap 1978 de Dennis Ritchie ve Brain Kernighan
DetaylıDr. Fatih AY Tel:
Bilgisayar Programlama Ders 5 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyonlar Fonksiyonlar Büyük programlar geliştirmenin en iyi yolu, onu orijinal programdan daha kolay
DetaylıDiziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU
Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip
DetaylıGiriş ve Motivasyon. Enabling Grids for E-sciencE. Onur Temizsoylu. BAŞARIM09 ODTÜ, Ankara. www.eu-egee.org
Giriş ve Motivasyon Onur Temizsoylu BAŞARIM09 ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden paralel hesaplama? Terminoloji Paralel hesaplamanın tarihi Teori: Hızlanma,
DetaylıBilgisayar Programlama Dilleri
Bilgisayar Programlama Dilleri Ömer YÜCEL 13253072 1/32 Sunum İçeriği 1. Program ve Programlama Dili Nedir? 2. Programlama Dillerinin Tarihçesi 3. Programlama Dillerinin Sınıflandırılması 4. Programlama
Detaylı