ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

Benzer belgeler
Koşul doğru olduğu sürece istenilen işlem/işlemlerin tekrarlanmasını sağlayan yapıdır.

Fonksiyonlar (Altprogram)

ALGORİTMA VE PROGRAMLAMA II

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

ALGORİTMA VE PROGRAMLAMA II

C Programlama Dilininin Basit Yapıları

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Ders 5: Temel Kütüphane Fonksiyonlar

Diziler (Arrays) Çok Boyutlu Diziler

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

YZM 2105 Nesneye Yönelik Programlama

ALGORİTMA VE PROGRAMLAMA II

Özyineleme (Recursion)

ALGORİTMA VE PROGRAMLAMA I

Temel Giriş/Çıkış Fonksiyonları

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

1 PROGRAMLAMAYA GİRİŞ

BİLG Dr. Mustafa T. Babagil 1

BLM 111 ALGORİTMA VE PROGRAMLAMA I

2. Dereceden Denklemin Köklerini Bulan Program

Yrd. Doç. Dr. Caner ÖZCAN

PROGRAMLAMAYA GİRİŞ DERS 2

Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA I

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

ALGORİTMA VE PROGRAMLAMA II

Görsel Programlama 1

Programlama Dilleri 1. Ders 4: Diziler

Fonksiyonlar -Genel Test- A

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

Pointer Kavramı. Veri Yapıları

ALGORİTMA VE PROGRAMLAMA I

YZM 3215 İleri Web Programlama

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA I

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

BLM 111 ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

ALGORİTMA VE PROGRAMLAMA I

Adım Adım C-II. Eksik kalmış konular

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

C#(Sharp) Programlama Dili

ALGORİTMA VE PROGRAMLAMA I

C PROGRAMLAMA D İ L İ

ALGORİTMA VE PROGRAMLAMA I DERS#1

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

POLİNOMLARIN TANIMI. ÖĞRENCİNİN ADI SOYADI: KONU: POLİNOMLAR NUMARASI: SINIFI:

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Programlama Dillerinde Kullanılan Veri Tipleri

ALGORİTMA VE PROGRAMLAMA II

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

ALGORİTMA VE PROGRAMLAMA I

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

C Konsol Giriş Çıkış Fonksiyonları

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

8. İŞARETCİLER (POINTERS)

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

ALGORİTMA VE PROGRAMLAMA I

YZM 2105 Nesneye Yönelik Programlama

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

C Konsol ve Komut Satırı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Giriş. ENF102 Jeoloji

Hafta 13 Fonksiyonlar

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

C Programlama printf() Fonksiyonu

Final Sınavı Soruları Güz, Süre: 90 Dakika

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Final Sınavı Örnek Soruları Güz 2018 Süre: 90 Dakika

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Dr. Fatih AY Tel: fatihay@fatihay.net

STRİNG DİZİLER(KATARLAR)

BİL1001 Bilgisayar Bilimlerine Giriş 1

ALGORİTMA VE PROGRAMLAMA I

C++ Dersi: Nesne Tabanlı Programlama

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Sunum ve Sistematik. Bu başlıklar altında uygulamalar yaparak öğrenciye yorum, analiz, sentez yetisinin geliştirilmesi hedeflenmiştir.

Dr. Fatih AY Tel: fatihay@fatihay.net

BİL-142 Bilgisayar Programlama II

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

Transkript:

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi

Genel Bakış 2 Giriş Esnek Argümanlı Fonksiyonlar main() Fonksiyonuna Parametre Aktarımı

9. BÖLÜM 3 Esnek Argümanlı Fonksiyonlar ve main() Fonksiyonuna Parametre Aktarımı

Giriş 4 Aşağıdaki gibi üçüncü dereceden bir polinomu ele alalım: P(x) = a + bx + cx 2 + dx 3 a, b, c, d katsayıları gerçel sayı sabitleridir. x ise gerçel sayı türündeki bir değişkendir. Bu polinomu temsil eden basit bir fonksiyonu nasıl tanımlarız?

Esnek Argümanlı Fonksiyonlar 5 P(x) = a + bx + cx 2 + dx 3 float p(float x, float a, float b, float c, float d) { float p = a + b*x + c*x*x + d*x*x*x; return p; }

Esnek Argümanlı Fonksiyonlar (devam.) 6 Buna göre, x = 1.7'de, P(x) = 1-2x değerini hesaplamak için bu fonksiyon aşağıdaki gibi çağırılmalıdır: sonuc = p(1.7, 1.0, -2.0, 0.0, 0.0); Burada, kullanılmayan katsayılar için 0.0 değeri mutlaka fonksiyona geçirilmelidir.

Esnek Argümanlı Fonksiyonlar (devam.) 7 Kullanılmayan argümanlar geçirilmeden de fonksiyonu çağırmak mümkündür. C Programlama dili, kullanıcılarına argümanları esnek olarak geçirme imkanı verir. Bunun anlamı, belli kurallar sağlandığında, p() fonksiyonunun aşağıdaki gibi çağrılabilmesidir: /* x a b */ sonuc = p(1.7, 1.0, -2.0);

Esnek Argümanlı Fonksiyonlar (devam.) 8 Esnek argümanlar için 2 temel kural vardır: 1. Esnek argümanlar kullanımı isteğe bağlıdır. 2. Esnek argümanları oluşturan küme ardışık olarak listeye eklenmelidir. Bu türden argümanlar, aşağıdaki gibi, fonksiyonun parametre listesi kısmında... (3 nokta) ile belirtilir. double p(double x, int n,...) { }

Esnek Argümanlı Fonksiyonlar (devam.) 9 Esnek argümanlı fonksiyon tanımlaması yapabilmek için stdarg.h kütüphanesinde üç tane makro fonksiyon tanımlanmıştır. Tip / Fonksiyon va_list va_start(ap, n) va_arg(ap, tip) va_end(ap) Açıklama ardışık esnek argümalar için tip belirleyici va_list tipinde bildirilmiş ap göstericisi için bellekten n elemanlı yer ayırır. Veri tipi tip ile belirlenmiş küme elemanlarına erişimi sağlar. va_list tipinde bildirilmiş ap göstericisi için bellekten bölgeyi boşaltır.

Örnek1: n Tane Sayının Toplamı 10 Öyle bir fonksiyon yazalım ki istediğimiz kadar sayıyı fonksiyona girdi (argüman) olarak verebilelim ve sonucunda bu sayıları toplasın. Kaç sayı olacak? 3 sayı? 5 sayı? Normalde bu bilgi önemli mi? Cevap: Evet Ancak Esnek argümanlı fonksiyon ile argüman sayısı önemsiz hale gelecek.

Örnek1: n Tane Sayının Toplamı (devam ) 11

12 Örnek2: n Tane Sayının En Küçüğünü Bulan Fonksiyon Öyle bir fonksiyon yazalım ki istediğimiz kadar sayıyı fonksiyona girdi (argüman) olarak verebilelim ve geriye değer olarak bu sayılardan en küçüğünü dönsün.

13 Örnek2: n Tane Sayının En Küçüğünü Bulan Fonksiyon (devam )

main() Fonksiyonuna Parametre Aktarımı 14 Ana programa yani main() fonksiyonuna parametre aktarımı, derlenmiş (çalıştırılabilir) bir program komut satırından (işletim sistemi ortamından) çalıştırılacağı zaman yapılır. Parametre aktarımı, programın adı yazılıp bir boşluk bırakıldıktan hemen sonra yapılır. Parametreler, komut satırından sayısal olarak girilse bile program içinde karakter topluluğu (string) olarak gelir. Bu durumda, bu ifadeleri sayısal değerlere çeviren (atoi(), atol(), atof() gibi) fonksiyonlar kullanılır.

main() Fonksiyonuna Parametre Aktarımı (devam ) 15 int main(arguman_sayısı, arguman_vektörü) int arguman_sayısı; char *arguman_vektörü[]; {.. if(arguman_sayısı <...){ printf("eksik parametre!\n"); exit(1); } if(arguman_sayısı >...){ printf("cok fazla parametre!\n"); exit(1); }.... arguman_vektörü[0]... /* 1. eleman program adı */... arguman_vektörü[1]... /* 2. eleman 1. parametre */ }

16 Örnek1: Komut Satırından Girilen 2 Sayının Toplamı Run veya Ctrl+F10

17 Örnek1: Komut Satırından Girilen 2 Sayının Toplamı (devam )

18 Örnek1: Komut Satırından Girilen 2 Sayının Toplamı (devam ) Run veya Ctrl+F10

19 Örnek1: Komut Satırından Girilen 2 Sayının Toplamı (devam ) Ya da Windows işletim sistemi için DOS komutu satırına geçilir ve ilgili exe uygulaması bulunarak aşağıdaki gibi program çalıştırılabilir: