Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri



Benzer belgeler
Programlama Dilleri Laboratuvarı

Programlama Dilleri Laboratuvarı

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

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

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Diziler (Arrays) Çok Boyutlu Diziler

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

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

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

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

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

#ifndef COMPLEX_H #define COMPLEX_H

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

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

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

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ, MÜHENDİSLİK FAKÜLTESİ, BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BAHAR Y.Y. BM106 PROGRAMLAMA DİLLERİ 1, ARA SINAVI

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

Adı Soyadı : Öğrenci No :

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

BİLG Dr. Mustafa T. Babagil 1

C dilinde if-else yapısı

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

Eln 1002 Bilgisayar Programlama II

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

Yrd. Doç. Dr. Caner ÖZCAN

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Giris {\} /\ Suhap SAHIN Onur GÖK

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

Programlama Dilleri 1. Ders 5: Göstericiler

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

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

ALGORİTMA VE PROGRAMLAMA II

Adım Adım C. Dr. Hidayet Takcı

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

sayi=3 harf=a reelsayi=8.72 Bellek durumu 5. İşaretç iler (pointers)

Bil Hafta Çalışma Soruları (Yanıtlar)

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

Fonksiyonlar (Altprogram)

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

C PROGRAMLAMA D İ L İ

Fall Object-Oriented Programming Laboratory 03

2. Dereceden Denklemin Köklerini Bulan Program

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

STRİNG DİZİLER(KATARLAR)

8. İŞARETCİLER (POINTERS)

C++ Dersi: Nesne Tabanlı Programlama

Temel Giriş/Çıkış Fonksiyonları

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

BİLG Dr. Mustafa T. Babagil 1

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p)

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

C Programlama printf() Fonksiyonu

11- FONKSİYONLAR (FUNCTIONS)

Döngü ve Koşul Deyimleri

C++ Dersi: Nesne Tabanlı Programlama

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

7. FONKSİYONLAR. Dönüş_Tipi Fonksiyon_Adı (tip giriş_parametreleri);

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;

C++ Dersi: Nesne Tabanlı Programlama

Dr. Fatih AY Tel:

HSancak Nesne Tabanlı Programlama I Ders Notları

İşaretciler - Pointer

Fonksiyonlar. Yrd.Doç.Dr.Bülent Çobanoğlu

Hafta 11 Çok Boyutlu Diziler

D İ Z İ L E R A R R A Y S

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

Bigisayar Programlama

Dr. Fatih AY Tel: fatihay@fatihay.net

Dr. Musa KILIÇ Öğretim Görevlisi

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Fall Object-Oriented Programming Laboratory 02 - Structures

ALGORİTMA VE PROGRAMLAMA II

C PROGRAMLAMA D İ L İ

int printf (const char *format [, argument,...]);

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

Adı Soyadı : Öğrenci No :

C# Çalışma Örnekleri

ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Transkript:

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri 7.0. Amaç Ve Kapsam Deneyde C dilinde kullanılan fonksiyon tanımlama ve parametre aktarım yöntemleri hakkında bilgi verilecektir. 7.1. Deneyden önce yapılması gerekenler 7.2. Deneyin Uygulanması a) Fonksiyon nedir yazınız. b) Aşağıdaki programda eksik yerleri tamamlayınız ve çalıştırınız, ne iş yaptığını açıklayınız. #include "stdio.h" int toplama(. x, y) int toplam=x+y; return sonuc; int main() int islem=toplama(4,7); printf("%...",islem);

c) Aşağıdaki programda eksik yerleri tamamlayınız ve çalıştırınız, ne iş yaptığını açıklayınız. #include<stdio.h> void swap(, ); int main() int m = 25, n = 34; printf("değişkenlerin ilk değeri m = %d \n ve n = %d",,.); swap(&m, &n); void swap(int *a, int *b) int tmp; tmp = *a; *a = *b; *b = tmp; printf("\n değişkenlerin sonraki değeri a = %... \n ve b = %...", *a, *b); d) Aşağıdaki programda eksik yerleri tamamlayınız ve çalıştırınız, ne iş yaptığını açıklayınız. #include <iostream.h> int subtraction (, ) int r; r=a-b; return (r); int main () int x=5, y=3, z; z = subtraction (7,2); cout << "İlk sonuç " << z << '\n'; cout << "İkinci sonuç " << subtraction (7,2) << '\n'; cout << "Üçüncü sonuç" << subtraction (x,y) << '\n'; z= 4 + subtraction (x,y); cout << "Dördüncü sonuç " << z << '\n';

e) 1-1000 arasındaki asal sayıları bulup toplayan programı fonksiyon kullanarak yazınız. (Asal sayı bulma kısmı fonksiyon halinde yazılmalıdır.) f) Fibonacci serisini bulan programı fonksiyon olarak yazıp ana programdan çağıran programı yazınız. g) Aşağıdaki program kodları ile yapılan işlemlerin ekran çıktısını yandaki kutuya yazınız. (Final Sorusu) int dizi[] = 4, 8, 15, 16, 23, 42, 90 ; int *ptr, elm; elm = ptr[ 3 ]; printf( %d \n, elm); elm = ( ptr+2 )[ 3 ]; printf( %d \n, elm); elm = *( ptr + 3 ); printf( %d \n, elm); elm= *ptr; printf( %d \n, elm); h) Aşağıdaki program kodları ile yapılan işlemlerin ekran çıktısını yandaki kutuya yazınız. (Final Sorusu) int dizi[] = 24, 80, 15, 13, 23, -42, 60 ; int *ptr, elm; elm = *( ptr + 2 ); printf( %d \n, elm); ptr = &ptr[ 1]; printf( %d \n, elm); elm = *( ptr + 1 ); printf( %d \n, elm); elm = ( ptr+2 )[ 2 ]; printf( %d \n, elm); i) Aşağıda tanımlanan işlemleri gerçekleştirecek kodu yazınız: (Final Sorusu) a. 20 adet öğrenci için Ad-Soyad ve Sınav Notu (0-100 arası) bilgilerini klavyeden girdiren fonksiyon yazınız. b. Bu 20 sınav notu arasından en düşüğünü bulan minimumbul isimli bir fonksiyon yazınız. c. Yazmış olduğunuz fonksiyonları kullanarak bir program yazınız. Oluşturacağınız program Ad-Soyad ve Sınav notlarını klavyeden okuduktan sonra en düşük puana sahip olan öğrencinin Adını Soyadını ve Puanını ekrana yazdırsın. j) Aşağıda tanımlanan işlemleri gerçekleştirecek kodu yazınız: (Final Sorusu) a. 10 adet öğrenci için Ad-Soyad ve Sınav Notu (0-100 arası) bilgilerini klavyeden girdiren verigir isimli bir fonksiyon yazınız. b. Bu 10 sınav notu arasından en yükseğini bulan maksimumbul isimli bir fonksiyon yazınız. c. Yazmış olduğunuz fonksiyonları kullanarak bir program yazınız. Oluşturacağınız program Ad-Soyad ve Sınav notlarını klavyeden okuduktan sonra en yüksek puana sahip olan öğrencinin Adını Soyadını ve Puanını ekrana yazdırsın. k) (Final Sorusu) int FonksiyonBir (int a) a = a + 10; return a; void FonksiyonIki (int deger) printf( Giris = %d, deger++); void FonksiyonUc(int *y) (*y) += 10; int * FonksiyonDort(int *y) FonksiyonUc(y);

printf( Sonuc = %d,++deger); int main() int a=-10, b=7, c=3; int sonuc = 0; printf( Çıktı= %d\n, FonksiyonBir(a)); FonksiyonIki(b+c); a) Bu fonksiyonun çağırılma biçimi nedir? b) Ekran çıktısını hazırlayınız. int * ptr = y; return ptr; int main() int b=10; int *bptr = &b; FonksiyonUc(&b); printf("sonuç 1 = %d\n", b); int * c = FonksiyonDort(bPtr); printf("sonuç 2 = %d\n", *c); c) Bu fonksiyonun çağırılma biçimi nedir? d) Ekran çıktısını hazırlayınız. l) (Final Sorusu) int FonksiyonBir (int a) a = a - 10; return a; void FonksiyonIki (int deger) printf( Girilen = %d, deger--); printf( Sonuc = %d,--deger); int main() int a=-6, b=-3, c=9; int sonuc = 0; printf( Çıktı= %d\n, FonksiyonBir(a)); FonksiyonIki(b+c); a) Bu fonksiyonun çağırılma biçimi nedir? b) Ekran çıktısını hazırlayınız. void FonksiyonUc(int *y) (*y) -= 10; int * FonksiyonDort(int *y) FonksiyonUc(y); int * ptr = y; return ptr; int main() int b=7; int *bptr = &b; FonksiyonUc(&b); printf("sonuç 1 = %d\n", b); int * c = FonksiyonDort(bPtr); printf("sonuç 2 = %d\n", *c); c) Bu fonksiyonun çağırılma biçimi nedir? d) Ekran çıktısını hazırlayınız. m) Aşağıdaki program kodları ile yapılan işlemlerin ekran çıktısını yandaki kutuya yazınız. (Büt Sorusu) #include <stdio.h> int main(void) int i; int dizi [] = 13, 24, 48, -4, 77, 81, 6, 12, 5, 142, 43, 55, 66, 88, 100, 3; int *ptr, a; for (i = 1; i< 3; i ++) a= * (ptr +i); printf( %d \n, a); ptr = &ptr [i+1]; a= (ptr +2) [1]; printf( %d, a);

n) Aşağıdaki program kodları ile yapılan işlemlerin ekran çıktısını yandaki kutuya yazınız. #include <stdio.h> int main(void) int i; int dizi [] = 10, 5, 23, 80, 46, 75, 2, 11, 8, 112, 40, 58, 61, 64, 90, 8; int *ptr, a; for (i = 2; i< 5; i ++) a= * (ptr +i); printf("%d \n", a); ptr = &ptr [i+1]; a= (ptr +2) [1]; printf("%d", a); o) Prototipi aşağıdaki gibi olan ve argüman olarak aldığı taban ve kuvvet değerlerini kullanarak (taban kuvvet ) üslü sayısını hesaplayıp, döndüren fonksiyonu yazınız. int UsAl(int, int); ö) Prototipi aşağıdaki gibi olan ve argüman olarak aldığı değere kadar tek doğal sayıların toplamını bulup sonucu döndüren fonksiyonu yazınız. int tektopla(int); 7.3. Sonuçlar Deneyde yaptıklarınızı, öğrendiklerinizi, yorumlarınızı deney içerisinde geçen soruların cevaplarını verecek şekilde rapor halinde sununuz. (Rapor bir sonraki uygulama dersinin girişinde deney sorumlusuna teslim edilecektir.)