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



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

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

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

C# Çalışma Örnekleri

BİL1001 Bilgisayar Bilimlerine Giriş 1

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

Görsel Programlama 1

Dr. Fatih AY Tel: fatihay@fatihay.net

İ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İ

11- FONKSİYONLAR (FUNCTIONS)

HSancak Nesne Tabanlı Programlama I Ders Notları

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

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

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

C Programlama Dilininin Basit Yapıları

Pascal Programlama Dili

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

T.C. MARMARA ÜNİVERSİTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI PROGRAMLAMA DERSİ KAPSAMINDA YAPILAN

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

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

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

Ö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.

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

C# Console Uygulamaları ifelse Yapıları 2

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

BİLG Dr. Mustafa T. Babagil 1

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

C++ Dersi: Nesne Tabanlı Programlama

M.ilkucar MAKU MYO 1

Diziler (Arrays) Çok Boyutlu Diziler

ALGORİTMA VE PROGRAMLAMA II

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

Klavyeden Basit Giriş/Çıkış İşlemleri

C# Örnek Uygulamalar I

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

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

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

NESNEYE YÖNELİK PROGRAMLAMA

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

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

Data Structures Lab Güz

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

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

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

// hataları işaret eden referans

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA GÜZ DÖNEMİ ÖDEV-1

/*int sayi1, sayi2,toplam=0;

Sunum İçeriği. Programlamaya Giriş

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

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

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

Dizi ( Array ) ve Dizgi ( String )

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

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)

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

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

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

Fonksiyonlar (Altprogram)

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

BİLGİSAYAR PROGRAMLAMA DERSİ

Ders 8: Metotlar. barisgokce.com

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

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

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

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

YZM 2105 Nesneye Yönelik Programlama

Java String İşlemleri

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

İNTERNET TABANLI PROGRAMLAMA- 3.ders

Hafta 13 Fonksiyonlar

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

BİLGİSAYAR PROGRAMLAMA DERSİ

Giriş. ENF102 Jeoloji

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Ders - 7 while döngüsü

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

Bigisayar Programlama

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

Bölüm 9. Altprogramlar ISBN

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

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

Programlama Dilleri 3

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

Nesneye Dayalı Programlama Laboratuvarı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Excel de Düşeyara Vlookup) Fonksiyonunun Kullanımı

Özyineleme (Recursion)

C Programlama printf() Fonksiyonu

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

Eln 1001 Bilgisayar Programlama I

Transkript:

Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı iki farklı fonksiyon ile hesaplanmıştır. İnceleyiniz. static void Main() Console.Write("Type a positif number: "); int value = Convert.ToInt32(Console.ReadLine()); int sumregular = SumRegular(value); int sumrecursive = SumRecursive(value); static int SumRecursive(int val) if (val == 0) return 0; return val + SumRecursive(val - 1); static int SumRegular(int val) int sum = 0; for (int i = 1; i <= val; i++) sum += i; return sum; 2. Aşağıda dizilerin fonksiyona parametre olarak gönderilmesi ve fonksiyonların geri dönüş değeri olarak atanmasına yönelik bir örnek bulunmaktadır. İnceleyiniz. static void Main() int[,] myarray = GetArrayItems(2, 3); PrintArrayItems(myArray); static int[,] GetArrayItems(int row, int column) int[,] myarray = new int[row, column]; for (int i = 0; i < row; i++) for (int j = 0; j < column; j++) myarray[i, j] = Convert.ToInt32(Console.ReadLine()); return myarray;

static void PrintArrayItems(int[,] arr) int row = arr.getlength(0); int column = arr.getlength(1); for (int i = 0; i < row; i++) for (int j = 0; j < column; j++) Console.WriteLine(i.ToString() + ":" + j.tostring() + " = " + arr[i, j].tostring()); 3. Klavyeden girilen string tipinde bir değeri klavyeden girilen bir karaktere göre ayrıştıran program kodunu yazınız. Split ismindeki hazır fonksiyonu kullanmayınız. Beklenen Fonksiyonlar ve Main Fonksiyon static string[] Split(string text, char splitter) static void PrintArrayItems(string[] arr) static void Main(string[] args) Console.Write("Type a text: "); string tex = Console.ReadLine(); Console.Write("\nType a character as splitter: "); char splitter = Convert.ToChar(Console.ReadLine()); string[] words = Split(tex, splitter); PrintArrayItems(words); Beklenen ekran çıktısı (boşluk karakterine göre ayrıştırılmış metin) 4. Fibonacci serisini özyineli fonksiyonla uygulayınız. Oluşan seriyi integer bir diziye atıp ekrana yazdırınız. F n = F n 1 + F n 2 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,

5. Klavyeden girilen x ve y değerleri için aşağıdaki f(x,y) fonksiyonu sonucunu veren program kodunu fonksiyon overload işlemi ile yazınız. Fonksiyonlardan dönen değerler ve parametre türlerine aşağıda yer verilmiştir. (integer)(x + y ) Eğer x ve y integer değişken ise f(x, y, z) = (double) x y Eğer x integer ve y double değişken ise (integer)(x/y) Eğer x ve y double değişken ise Overload: Aynı imzaya sahip ancak aldıkları parametrelerin türleri ve/veya geri döndürdüğü değerin tipi farklılık gösteren fonksiyonlardır. Aşağıdaki kod bloğunda f fonksiyonu üç kere overload edilmiştir. static int f(int x, int y) static double f(double x, int y) static double f(double x, double y) 6. Koordinat düzleminde A noktası A(x, y) olarak ifade edilmektedir. Kullanıcı tarafından girilen n adet noktanın orijine olan uzaklıklarını hesaplayıp orijine en yakın olan noktadan en uzak olana sıralama yapıp, noktaları bu sıra ile ekrana yazdıran program kodunu C# programlama dili ile yazınız. K ve L iki nokta olmak üzere bu iki nokta arasındaki uzaklık formülü aşağıdadır. 2 KL = (x k x l ) 2 + (y k y l ) 2 7. Klavyeden girilen bir tamsayının karesini hesaplayan, aynı imzaya sahip fakat parametre tipi sırasıyla integer, double ve string olan 3 farklı fonksiyonu yazarak sonuçları ekranda gösteriniz. 8. Klavyeden girilen bir sayı için 1'den o sayıya kadarki sayıların üstlerini alarak toplamlarını veren konsol uygulamasını özyineli bir şekilde yazınız. 9. Taban alanı ve yükseklik bilgisi klavyeden girilen bir silindirin hacmini, aynı imzaya sahip ancak parametre tipi bir fonksiyon için integer diğer fonksiyon için double olan fonksiyon ile bulunuz. 10. Programın istenen Fibonacci sayısını ekrana yazdırması beklenmektedir. Programın çalışma adımları Kullanıcıya fibonacci serisinde kaçıncı indexteki değeri öğrenmek istediği sorulacaktır. "Index giriniz..." -Alınan indexteki değer ekrana yazdırılacaktır.

"X numaralı indexteki değer Y dir" Kullanılacak Fonksiyonlar: - static void Main(string[] args) - static int Fibb(int value) Program Kuralları: - Belirtilen fonksiyonlardan başka fonksiyon kullanılmamalıdır. - Belirtilen fonksiyonlardan Fibb fonksiyonu özyinelemeli olacaktır. - Fibb fonksiyonu Main içerisinden bir kere çağırılacak ve sorunu çözecektir. Konsoldan "Quit" değeri girilene kadar program çalışmaya devam edecektir. 11. Klavyeden girilen bir sayı için 1'den o sayıya kadarki sayıların üstlerini alarak toplamlarını veren konsol uyulamasını özyineli bir şekilde yazınız. 12. Programın aşağıda belirtilen kurallar çerçevesinde -source- olarak tanımlanan dizideki değerleri, -helper- dizisinin yardımıyla, -destination- olarak tanımlanan diziye taşıması beklenmektedir. Programın Çalışma Adımları a. Kullanıcıdan dizi boyutu istenecektir. Mesaj Şablonu: "Lütfen Dizi boyutu giriniz..." b. Kullanıcıdan gelen cevaba göre -source-, -helper- ve -destination- dizileri oluşturulacaktır. -source- dizisi gösterildiği gibi yüksek her bellek bölgesine, o bölgenin indexi gelecek şekilde doldurulacaktır. Oluşturulan diziler aşağıda verilen şablona göre ekrana yazıdırlacaktır. [0] [-] [-] [2] [-] [-] [3] [-] [-] [4] [-] [-] c. Diziler oluşturulduktan sonra verilen komutla dizi taşıma işlemi gerçekleştirilecektir. Taşımaya dair kurallar aşağıda belirtilmiştir. Komut Şablonu: "Go!" Taşıma Kuralları: - Tek seferde bir değer taşınabilir. - Taşımalar en üstteki değerden başlar, üstü boş olmayan değer taşınamaz. - Altı boş olan indexe değer taşınamaz. Değer en alttaki indexe taşınır. - Taşıma sırasında büyük değer küçük değerin üstüne gelemez. Fonksiyonlar: - static void Main(string[] args) - static void Move(int value, int [] source, int [] destination, int [] helper) Program Kuralları: - Belirtilen fonksiyonlardan başka fonksiyon kullanılmamalıdır.

- Belirtilen fonksiyonlardan Move fonksiyonu özyinelemeli olacaktır. - Move fonksiyonu Main içerisinden bir kere çağırılacak ve sorunu çözecektir. - -source-, -helper- ve -destination- dizilerinin integer (int) tipinde olması gerekmektedir. - Programın N boyutlu bir dizide sonucu 2^N-1 adımda bulması beklenmektedir. Konsol Mesajları: - Yapılan her taşıma belirtilen parametreleri içerecek şekilde, belirtilen şablona uygun olacak şekilde konsoldan gösterilmelidir. Parametreler: -değer- D -hedef dizi- HD -kaynak dizi- KD -değerin hedef dizideki indexi- HDI -değerin kaynak dizideki indexi- KDI Mesaj Şablonu: D değeri KD (KDI) dizisinden HD (HDI) dizisine taşınmıştır. Örnek: Durum 1: [2] [0] [-] [4] [3] [-] Durum 2: [2] [-] [-] [4] [3] [0] Mesaj: "0 değeri Helper (3) dizisinden Destination (4) dizisine taşınmıştır." d. Dizi taşıma işlemi tamamlandıktan sonra dizilerin son hali verilen şablona göre konsola yazdırılmalıdır. [-] [-] [0] [-] [-] [1] [-] [-] [2] [-] [-] [3] [-] [-] [4] d. Dizi taşıma işlemi tamamlandıktan işlemin kaç adımda tamamlandığı ekrana yazılmalıdır. "Taşıma işlemi X adımda tanımlanmıştır."