Algoritma ve Programlama II Dersi 3.ÖDEVĠ

Benzer belgeler
Algoritma ve Programlama II Dersi Proje Ödevi

PROGRAMLAMAYA GİRİŞ DERSİ II. ÖDEVİ

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İ

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İ

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

Şimdi de [ ] vektörünün ile gösterilen boyu veya büyüklüğü Pisagor. teoreminini iki kere kullanarak

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

Bigisayar Programlama

Program akıģı sırasında belirtilen satır numaralı yere gitmek için kullanılır. Genel formu: [<satır numarası>] GOTO <satır numarası 1> GOTO n

Bilgisayar Programlama. 1.Hafta

EĞĠTĠM TEKNOLOLOJĠLERĠ ARAġTIRMALARI DERGĠSĠ

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

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ BAHAR DÖNEMİ ÖDEV-3

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

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

Program AkıĢ Kontrol Yapıları

ĠTÜ ĠNġAAT FAKÜLTESĠ GEOMATĠK MÜHENDĠSLĠĞĠ BÖLÜMÜ (Lisans Öğretimi) ÖDEV-PROJE-ÇALIġMA RAPORU YAZMA DÜZENĠ

kiģilerle iletiģimlerini sağlamak amacıyla oluģturdukları, gönderdikleri veya sakladıkları belirli bir standart ve içeriği olan belgelerdir.

Robot İzleme (Robot Tracing)

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

Dr. Fatih AY Tel: fatihay@fatihay.net

Özyineleme (Recursion)

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

Eln 1002 Bilgisayar Programlama II

C++ Dersi: Nesne Tabanlı Programlama

GAZĠOSMANPAġA ÜNĠVERSĠTESĠ PAZAR MESLEK YÜKSEKOKULU. YÖNLENDĠRĠLMĠġ ÇALIġMA DERSĠ YAZIM KILAVUZU DERS YÖNERGESĠ

Math 103 Lineer Cebir Dersi Final Sınavı

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

Math 103 Lineer Cebir Dersi Final Sınavı

SÜLEYMAN DEMĠREL ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ ELEKTRONĠK VE HABERLEġME MÜHENDĠSLĠĞĠ BÖLÜMÜ

Diziler (Arrays) Çok Boyutlu Diziler

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

ALGORİTMA VE PROGRAMLAMA I

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

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

STAJ RAPORU YAZIM KLAVUZU

Parametrik doğru denklemleri 1

ALGORİTMA VE PROGRAMLAMA I

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

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Görsel Programlama 1

Math 103 Lineer Cebir Dersi Final Sınavı

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

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

ENF182 Temel Bilgisayar Bilimleri Ö Ğ R. G Ö R. G Ö K H A N K U T L U A N A

MATLAB MATLAB MAT LAB MAT LAB MATLAB

B02.8 Bölüm Değerlendirmeleri ve Özet

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Dr. Fatih AY Tel: fatihay@fatihay.net

BLM 111 Algoritma ve Programlama I Güz 2018

Atatürk Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BM Web Programlama ÖDEV 1

Atabek Koleji 3.Sınıflar 1.Matematik Olimpiyatı 16 Nisan 2011

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

BMT207 VERİ YAPILARI DATA STRUCTURE

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

Veri Yapıları ve Algoritmalar

Fortran komut satırı toplam 80 kolon ve 5 bölgeden oluģur. Komut satırının yapısı aģağıdaki gibidir:

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Nokta uzayda bir konumu belirtir. Noktanın 0 boyutlu olduğu kabul edilir. Herhangi bir büyüklüğü yoktur.

Hafta 12 Karakter Tutan Diziler

HSancak Nesne Tabanlı Programlama I Ders Notları

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Fall Object-Oriented Programming Laboratory 03

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ı

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

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

14 Beyan Sahibi/Temsilcisi 15 Sevkiyat/Gönderilen Yer

I- MATEMATİKSEL FONKSİYONLAR

BLM 111 ALGORİTMA VE PROGRAMLAMA I

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR

GRAFİK KÜTÜPHANESİNİN DEVC++ PLATFORMUNA EKLENMESİ VE KULLANILMASI. (Windows 7, 8 ve 10 için) A. Platformun Kurulması ve Kütüphanenin Eklenmesi

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

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

SIMAN KULLANIM KILAVUZU

DENİZ HARP OKULU TEMEL BİLİMLER BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

YZM 2105 Nesneye Yönelik Programlama

Php İle Mysql Veritabanından Bilgi Çekme

T.C. OSMANİYE KORKUT ATA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ GIDA MÜHENDİSLİĞİ BÖLÜMÜ OSMANİYE STAJ RAPORU

Lambda, Map, Filter ve Dizi Tamamlama

int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); }

T.C. SAKARYA ÜNİVERSİTESİ ADAPAZARI MESLEK YÜKSEKOKULU WEB TABANLI VERİ TABANI UYGULAMASI YÖNLENDİRİLMİŞ ÇALIŞMA. Enes Al 1027.

ALGORİTMA VE PROGRAMLAMA II

MATEMATİK TESTİ LYS YE DOĞRU. 1. Bu testte Matematik ile ilgili 50 soru vardır.

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

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

Hansel zeki bir çocukmuģ. Sabah ormana doğru yürürlerken, akģam yemeğinde cebine sakladığı kuru ekmeğin kırıntılarını (yere iz bırakıp kaybolmamak ve

ÇUKUROVA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİYOMEDİKAL MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR PROGRAMLAMA 1 UYGULAMA FİNAL PROJESİ

Programlama Dilleri 1. Ders 4: Diziler

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

ALGORİTMA VE PROGRAMLAMA I

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

ELEKTRONİK TABLOLAMA Aritmetiksel işlemler ve mantısal karşılaştırmaların yapıldığı programlar elektronik tablolama programlarıdır.

EĞRİSEL HAREKET : Silindirik Bileşenler

PROGRAMLAMA TEMELLER. C Program Yap s

Transkript:

Algoritma ve Programlama II Dersi 3.ÖDEVĠ 1. 3 boyutlu uzayda koordinatları dıģarıdan girilen bir üçgenin normalini ve açılarını bulan programı yazınız. 3 boyutlu uzaydaki bir V vektörünün x,y ve z koordinatları 3 B bir vektörün uzunluğu V simgesi ile gösterilir ve aģağıdaki formül ile elde edilebilir. Uzunluğu 1 birim olan vektörlere birim vektör adı verilir. Bir vektörü birim vektör haline getiren iģleme normalizasyon adı verilir. Dot Product (nokta çarpımı) iģlemi iki vektör arasındaki açıyı bulmak için kullanılmaktadır. A ve B gibi iki birim vektörün nokta çarpımı A.B Ģeklinde gösterilir. Nokta çarpımı iki yöntem ile bulunabilmektedir. A α B A. B A x B x A y B y A z B z A. B A B cosα Cross Product (çapraz çarpım) iģlemi iki vektöre dik olan bir vektörü bulmak için kullanılır. A ve B birim vektörlerinin çapraz çarpımı A x B Ģeklinde gösterilir. Çapraz çarpım sonucunda A ve B vektörüne dik yeni bir vektör elde edilecektir. (http://en.wikipedia.org/wiki/cross_product) A x B A Y B Y A Z B Z i A x B x A Z B Z j A x B x A y B y k A 2 3 4 gibi bir vektör A 2i 3j 4k şeklinde de gösterilebilmektedir. AĢağıdaki üçgene dik olan bir vektörü (normal) bulabilmek için öncelikle üçgen ile aynı düzlemde bulunan iki vektör elde etmemiz gerekir. AĢağıda bu iki vektörün nasıl elde edildiği gösterilmiģtir. Üçgenin normal vektörü üçgenin yüzeyine dik olan vektördür. p 3 a p 3 p 1 p 1 p 2 b p 2 p 1 normal a x b

AĢağıda projenizde bulunması gereken Math3D.h dosyası verilmiģtir. Bu dosyadaki bütün fonksiyonların gövdeleri Math3D.cpp dosyasına yazılacaktır. Ödevin çalıģtırılabilir halini aģağıdaki linkten indirebilirsiniz. http://www.kayhanayar.com/dersler/algoritma2/odevler/bin/odev3_1.zip Kosinüsün tersini almak için acos fonksiyonu kullanılabilir. http://www.cplusplus.com/reference/cmath/acos/

2. Bu soruda bir tam sayı dizisine, boģ bir kutuya kitap yerleģtirip çıkarma iģleminde olduğu gibi ilk yerleģtirilen sayının ilk çıkarılmasını sağlayacak bir yapı ve bu yapıyı manipüle eden fonksiyonları tasarlayacaksınız. Ödevin çalıģtırılabilir halini aģağıdaki linkten indirebilirsiniz. http://www.kayhanayar.com/dersler/algoritma2/odevler/bin/odev3_2.zip ÇALIġMA ÖRNEĞĠ BoĢ dizi. Sırayla,,,44 eklendiğinde 44 Bir eleman çekildiğinde 44 55 elemanı eklendiğinde 55

Yapımızın ve fonksiyonların bulunduğu kutu.h dosyası aģağıda gösterilmiģtir. kutu yapısının elemanlar adlı dizisi kutuya eklenen sayıları tutacaktır. Kutuya son eklenen sayının indeksi tepe değiģkeninde tutulacaktır. Bu durumlar göz önünde bulundurularak yukarıda verilen fonksiyonların gövdeleri kutu.cpp dosyası içerisine yazılmalıdır. BĠRĠNCĠ SORU : 60 PUAN ĠKĠNCĠ SORU : 40 PUAN Ödevin son teslim tarihi : 14.03.2013 :00

UYULMASI GEREKEN KOD DÜZENĠ Her C++ dosyasının baģında aģağıdaki yorum bloğu bulunacaktır. Yorum bulunmayan her C++ dosyası için 10 puan kırılacaktır. (pdf üzerinden kopyalayıp yapıģtırmanız problem çıkartabilir) /**************************************************************************** ** 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Ü ** ALGORĠTMA VE PROGRAMLAMA II DERSĠ ** ** ÖDEV NUMARASI...: ** ÖĞRENCĠ ADI...: ** ÖĞRENCĠ NUMARASI.: ** DERSĠN ALINDIĞI GRUP: ** ****************************************************************************/ DeğiĢken isimleri anlamlı olmalıdır. Örneğin tek sayı adedini tutacak bir değiģken için YANLIġ DOĞRU yerine yazılmalıdır. int a; int TekAdedi; Her bir küme parantezinin altındaki kodları yazmadan önce tab tuģuna basılarak boģluk bırakılmalıdır. YANLIġ DOĞRU if(true) { int a =6; printf("merhaba"); if(false) printf("nasilsin"); } if(true) { } int a =6; printf("merhaba"); if(false) printf("nasilsin"); Her döngü ve koģul iģlemlerinden önce yapılan iģlem hakkında yorum yazılmalıdır YANLIġ DOĞRU int t = 0; for(int i=0;i<100;i++) t+=i; int Toplam = 0; //1 den 100 e kadar olan sayılar toplanıyor for(int i=0;i<100;i++) Toplam+=i; Fonksiyon gövdelerinin üstüne aģağıdaki gibi yorum blokları bulunmalıdır. /* Bir sayının istenen üssünü hesaplar. (Sadece pozitif sayılarda çalışır.) @Param taban üstü alınacak olan sayı @Param ust tabanın alınacak üst değeri. Negatif girilmemelidir. @return ust alma işleminin sonucu döndürülür. */ int ustal(int taban,int ust) { int sonuc = 1; for(int i=0;i<ust;i++) sonuc*=taban; return sonuc; }

Ödev Teslim Kuralları KURAL 1 Birinci soru için Math3D.h ve Math3D.cpp dosyaları oluģturulmalı fakat bu dosyalar içerisinde main fonksiyonu bulunmamalıdır. Ġkinci soru için kutu.h ve kutu.cpp dosyaları oluģturulmalı fakat bu dosyalar içerisinde main fonksiyonu bulunmamalıdır. Her bir soru için iki farklı.cpp dosyası ve bu iki dosya içerisinde birer main fonksiyonu bulunacaktır. Dosya ismi: ÖğrenciNumarası_SoruNumarasi. cpp Öğrenci numarasının 0001.10002 olduğunda ödev dosyalarının isimleri aģağıdaki gibi olacaktır. b0000002_1.cpp b0000002_2.cpp KURAL 2 Ġki dosyayı derleyebilecek bir Makefile dosyası oluģturulmalıdır. Programların derlenmesi ile oluģacak dosyaların ismi aģağıdaki gibi olmalıdır. program1 program2 KURAL 3 Ödev dosyaları zip dosya formatı ile sıkıģtırılmalı ve sıkıģtırılan dosyanın ismi aģağıdaki kurala uymalıdır. Dosya Ġsmi: ÖğrenciNumarası_ÖdevNumarasi.zip Öğrenci numarasının 0001.10002 olduğunu ve 1.ödevi teslim edildiğini düģünelim. Gönderilecek dosyanın ismi b0000002_odev1.zip 1.sorunun main fonksiyonunun bulunduğu.cpp dosyası 2.sorunun main fonksiyonunun bulunduğu.cpp dosyası

KURAL 4 Derleme için mingw C++ derleyicisi kullanılacaktır. Dosya isimlerinde yapılan hatalar her dosya için 10 puan kırılmasına sebep olacaktır. Zamanında teslim edilmeyen ödevden 0 puan alınacaktır. KURAL 5 Ödevler mail yoluyla teslim edilecektir. GRUP 1.Öğretim A Grubu 2.Öğretim A Grubu 1.Öğretim B Grubu 2.Öğretim B Grubu 1.Öğretim C Grubu 2.Öğretim C Grubu 1.Öğretim D Grubu 2.Öğretim D Grubu Karma Öğretim A Grubu Karma Öğretim B Grubu TESLİM EDİLECEK MAİL Algoritma1a@gmail.com Algoritma2a@gmail.com Algoritma1b@gmail.com Algoritma2b@gmail.com Algoritma1c@gmail.com Algoritma2c@gmail.com Algoritma1d@gmail.com Algoritma2d@gmail.com Algoritma3a@gmail.com Algoritma3b@gmail.com KOD PAYLAġMAK YASAKTIR Ödevler bireyseldir ve verilen bütün ödevler karģılaģtırılacaktır. Birbirine çok benzeyen ödevler kopya muamelesi görecektir. Bu tür ödevleri teslim edenlerin hepsi 0 alacaktır. Kesinlikle kod paylaģımı yapılmamalıdır.