Computer Programming Instructor: Assoc. Prof. Dr. Oğuz GÜNGÖR Office: Room 210 Phone: +90 (462) 3772761 Course.

Slides:



Advertisements
Benzer bir sunumlar
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Advertisements

Bilgisayar Programlama I
Ayrık Yapılar Matlab Notları
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
BPR151 ALGORİTMA VE PROGRAMLAMA - I
ALGORİTMA VE AKIŞ ŞEMALARI.
Bölüm 3 – Yapısal Programlama
Algoritma ve Akış Diyagramları
Yapısal Program Geliştirme – if, if-else
ALGORİTMA ve PROGRAMLAMA
AKIŞ ŞEMALARI 2.DERS.
Görsel C# ile Windows Programlama
Bilgisayar Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bilgisayar Programlama Güz 2011
Bilgisayar Programlama Dersi KTÜ Jeodezi ve Fotogrametri Müh. Böl
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Temel tanımlar ve işleyiş
MATLAB’te Döngüler.
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
ALGORİTMA.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
COMPANY Veritabanı Örneği (Gereksinimler)
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bilgisayar Programlama Güz 2011
BİL 102 BİLGİSAYAR PROGRAMLAMA DERS 1. PROGRAM GELİŞTİRME AŞAMALARI 1- Probleme ilişkin veriler nelerdir? 2- Çözüm yöntemi nasıl olacaktır? 3- Çözüm sonucunda.
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
Algoritma Mantığı ve Akış Diyagramları
While EndDo Repeat Until For Next.  Program mantığı içinde belirli bir düzene bağlı kalarak sürekli tekrar eden işlemlerin belirli bir kritere/değişkene.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
ALGORİTMA NEDİR? İster bilgisayarda, ister matematikte, isterse günlük hayatta karşımıza çıkan her problemin çözüm yolu vardır. Örneğin yemek yerken farkında.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
S ÜLEYMAN Ş AH ÜN İ VERS İ TES İ DERS KAYIT İŞ LEMLER İ / COURSE REGISTRATION PROCESS.
BİLGİSAYAR programlama II
Bilgisayar Programlama Dersi KTÜ Harita Müh. Böl. 2015/2016Bahar Dönemi Doç. Dr. Oğuz Güngör Yrd. Doç. Dr. Emine Tanır Kayıkçı Yrd. Doç. Dr. Esra TUNÇ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
5. HAFTA Mart Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
PROGRAMLAMA TEMELLERİ Burak UZUN Bilişim Teknolojileri Öğretmeni Burak UZUN.
Students social life and join the social clubs. BARIŞ KILIÇ - EGE DÖVENCİ IŞIK ÜNİVERSİTESİ
Algoritma Örnekleri.
Algoritma ve Programlama
Algoritma ve Akış Şemaları
Bilgisayar Programlama BIL 107
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BM-103 Programlamaya Giriş Güz 2016 (5. Sunu)
C Sharp 9. hafta - dIZILER.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Doç. Dr. Emine TANIR KAYIKÇI Yrd. Doç. Dr. Esra TUNÇ GÖRMÜŞ
Algoritmanın Hazırlanması
Örnekler.
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
İleri Algoritma Analizi
Algoritma Nedir? Algoritmayı, herhangi bir problemin çözümü için izlenecek yolun adımlar halinde yazılması olarak tanımlayabiliriz. Algoritma, bir problemin.
Problemi Çözme Adımları
Discussion: comp.soft-sys.matlab
Akis diyagramı Örnekleri
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Algoritma ve Akış Diyagramları
NİŞANTAŞI ÜNİVERSİTESİ
Doç. Dr. Emine TANIR KAYIKÇI
Sunum transkripti:

Computer Programming Instructor: Assoc. Prof. Dr. Oğuz GÜNGÖR Office: Room 210 Phone: +90 (462) Course Schedule Monday19:00 – 21:00 Tuesday17: :00 Office Hours Monday will be announced later Grading Will be announced later Resouce MATLAB Getting Started Guide. MATLAB ile Programlama - Deniz Dal, Ekin Yayınevi

Key to Success Try to attend all lectures. During the lecture, do presented examples by yourself using your PC. Ask questions. At the beginning of each lecture, I will offer the opportunity for questions from the previous lecture. Or, visit me during my office hours. If you cannot come during regular office hours, contact me to set up an appointment. During lectures, focus on listening to the material being presented and synthesizing this information by taking notes that summarize the key points. At the end of each week, review your class notes and examples to be sure that you learned the course materials introduced in the lectures that week.

Attendance Policy This course consists of 4 lecture hours per week Attendance will be recorded at every lecture 80% lecture attendance is regarded as the minimum for satisfactory course attendance.

Classroom policy Every student is expected to respect the instructor’s right to teach and other students’ right to learn. Any behavior which distracts or disturbs the other students or the instructor, or disrupts class in any way is unacceptable and will not be tolerated. Any student engaging in inappropriate behavior will be asked to leave. Such behaviour might also reflect negatively on the course grade of the student. You must be in class before the lecture starts. The lecture starts at 10:00. Students are expected to do their best to be in class on time. No one is allowed in after 10:05. You must stay for the entire duration of the lecture. If you must leave due to an emergency, first raise your hand and let the instructor know. You must turn off all your electronic equipment before the lecture starts. In particular, cell phones, laptops, media players, and game consoles must be turned off and put away or should not be brought to class at all. You must avoid all activities which are better performed elsewhere. In particular, you must not do homework, read newspapers, use internet, play games or sleep in class. You must not talk to your classmates during the lecture. If you have a question or comment related to the course, raise your hand and address the entire class; otherwise, wait until the end of the lecture. If you talk to your classmates during the lecture, you will be asked to leave.

1.Hafta: Hafta: Hafta:

Dersin Amacı: Programlama becerisini geliştirmek, Algoritmik düşünme yeteneği kazandırmak, Jeodezik problemleri çözmeye yönelik olarak MATLAB yazılımını öğretmek

bilgisayar yazılımının oluşturulması adımları  Problemin tanımı Problem anlaşılmalıdır. Mevcut bilgiler ve bunların, elde edilmesi istenen sonuçlarla ilişkileri öğrenilmeli.  Çözüm yönteminin belirlenmesive Algoritma/İş Akış Şeması geliştirme Mevcut bilgilerle, problemin çözümü için izlenecek yol tanımlanır (Algoritma) Gerekirse, problem alt birimlere bölünerek, her birimin çözümü ayrı ayrı yapılır. (Bir problemin birden fazla çözümü olabilir, en uygun olanı belirlenir). Çözüm adımlarına uygun yazılan algoritmanın daha anlaşılabilir olması ve çözüm adımlarının birbirleriyle ilişkileri için akış şeması oluşturulur.  Program Kodlama Problemin yapısına uygun seçilen bir programlama dili yardımıyla akış şemaları dilin kurallarına uygun olarak bilgisayarın anlayabileceği duruma getirilir.  Programın çalışır duruma getirilmesi (varsa, yazım ve mantıksal hatalar düzeltilerek)  Programın test edilmesi Çözümü daha önceden bilinen problemlerin, yazılan program kodları yardımıyla çözümü bulunarak, programın doğru çalışıp çalışmadığı test edilir.  Belgeleme ve güncelleştirme

Bilgisayar programlaması sırasında izlenebilecek bir çok yol ve yöntem vardır. Bilgisayar programcısının probleme ilişkin çözümü ortaya çıkarabilmesi için problem çözümü ile ilgili bilgileri bilmesi gerekir. Bilgisayar programlamasında genel olarak belirli kalıp ve kurallara uyulur.

ya kişi otobüsü kaçırmışsa! bir sorunun çözümü için birbirinden farklı birden fazla sayıda algoritma hazırlanabilir, ve birbirinden farklı yüzlerce program yazılabilir!!!

Programlamada Mantıksal Yapı 1. Sıralı Yapı

2. Karar Verme Yapısı If...Then... Else

3. Tekrarlı Yapı

1.Uygulama 1.Uygulama bir dizinin en büyük elamanını bulma algoritması: 50 kişilik bir sınıfta en yüksek notun bulunması örneği 1. Dizideki ilk notu en yüksek not olarak seç ve sırayı ikinci öğrenciye geçir. 2. Sırada öğrenci varsa 3. adıma yoksa 5. adıma geç 3. Sıradaki öğrencinin notu bu ana kadarki en yüksek nottan büyükse bu yeni notu en yüksek not olarak seç 4. Sırayı bir sonraki öğrenciye geçir ve 2. adıma dön 5. En yüksek notu bildir

algoritmanın biçimsel ifadesi notlar: 50 elamanlı tamsayı dizisi max: o ana kadar bulunmuş en yüksek not için değişken i: öğrenci sırasını gösteren sayaç

Algoritmaya ait akış diyagramı

2.Uygulama: 2.Uygulama: 1'den 100'e kadar olan sayıların toplamlarını ve ortalamalarını veren programın akış diyagramı Matlab’de Say ve say iki farklı değişken olarak algılanacaktır o yüzden burada say değişkeninin ilk harfi büyük olmalıydı

3.Uygulama 3.Uygulama 1' den 100'e kadar sayıların karelerini, kareköklerini, küplerini, küpköklerini toplamlarını ve ortalamalarını veren programın akış diyagramı karar mantığı yapısı ile Matlab’de Say ve say iki farklı değişken olarak algılanacaktır o yüzden burada say değişkeninin ilk harfi büyük olmalıydı

döngü yapısı ile 4.Uygulama 4.Uygulama 1' den 100'e kadar sayıların karelerini, kareköklerini, küplerini, küp köklerini toplamlarını ve ortalamalarını veren programın akış diyagramı

65Uygulama 65Uygulama Ax2+Bx+C=0 şeklinde 2. derece denklemin köklerini bulan programa ait akış diyagramını çiziniz.

6. Uygulama 6. Uygulama 10 tane sayının faktöriyelini hesaplayan programın akış diyagramını çiziniz.

7Uygulama 7Uygulama 6. Uygulamayı tekrarlı yapı olarak tanımladığımız döngü yapısı ile çözdüğümüzde.

88. Uygulama 88. Uygulama Elimizde bulunan A,B ve C gibi 3 adet sayıdan en büyüğünü ve en küçüğünü bulan akış diyagramını çiziniz.

30/31 9. Uygulama Elimizde bilinmeyen sayıda koni bulunmaktadır ve koniye ait yarıçap ® ve yükseklik (H) değerleri girilmek suretiyle V=R2.H/3 formülü ile hacim hesabı yapılacaktır. Koniye ait yarıçap değeri 0 girildiğinde programın çalışması duracaktır. Programda her girilen veri için hacim değeri rapor edilecek, programın çalışması bittiğinde toplam kaç koni için hacim hesabı yapıldığı da belirtilecektir.

Uygulama 10. Klavyeden girilen bir sayının pozitif, negatif veya sıfıra eşit olma durumuna göre ekrana sırasıyla “Sayı Pozitiftir”, “Sayı Negatiftir” veya “Sayı Sıfıra Eşittir” yazdıran algoritma ve akış şemasını hazırlayınız. (S : Sayı) A1 : Başla A2 : Oku S A3 : Eğer S > 0 ise “Pozitif” yaz, A4 : Eğer S < 0 ise “Negatif” yaz, A5 : Eğer S = 0 ise “Sıfıra eşit” yaz, A6 : Dur

BAŞLA DUR S = 0 ? YAZ “Sıfıra eşit” YAZ “Pozitif” YAZ “Negatif ” S < 0 S > 0 S = 0 OKU S

UYGULAMA 11: 10 elemanlı bir sayı dizisinde negatif ve pozitif elemanların ayrı ayrı ortalamasını bulan akış şemasın oluşturunuz. A1. Başla, A2. I=1, TN=0, TP=0, N=0, P=0, ORTP=0, ORTN=0 al, A3. A(I)’ yı gir, A4. Eğer A(I)=0 ise A7. adıma git, A5. Eğer A(I)<0 ise TN=TN+A(I), N=N+1 al ve A7. adıma git, A6. TP=TP+A(I), P=P+1 al A7. Eğer I=0 ise A9. adıma git, A8. I=I+1 al ve A3. adıma geri dön, A9. Eğer P=0 ise A11. adıma git, A10. ORTP=TP/P A11. Eğer N=0 ise A13. adıma git, A12. ORTN=TN/N al, A13. ORTP ve ORTN’ yi yaz, Başla A14. Dur.

E E H H E H

UYGULAMA 12: Girilen bir tam sayının tam kare olup olmadığını araştıran akış şemasını oluşturunuz. A1. Başla, A2. A sayısını gir, A3. B=A^(1/2) al, A4. C=TAM(B) al, A5. D=C^2 al, A6. Eğer A=D ise A9. adıma git, A7. “tam kare değil” yaz, A8. A10. adıma git, A9. “tam kare”yaz, A10. Dur.

UYGULAMA 13: 100 kişilik bir sınıfta arası her yaş grubunda kaç öğrencinin bulunduğunu belirleyip yazan programın akış çizelgesi şöyledir OSA:Öğrenci sayısını, I18:18 yaşında olan öğrencilerin sayısını I19:19 yaşında olan öğrencilerin sayısını I20:20 yaşında olan öğrencilerin sayısını I21:21 yaşında olan öğrencilerin sayısını I22:22 yaşında olan öğrencilerin sayısını IYOS:İşlem yapılan öğrenci sayılarını göstersin.

Adım 1-Başla Adım 2-I18=0 I19=0 I20=0 I21=0 I22=0 IYOS=0 Adım 3-OSA oku Adım 4-OSA=18 ise I18'i arttır, Adım 9'a git Adım 5-OSA=19 ise I19'u arttır, Adım 9'a git Adım 6-OSA=20 ise I20'yi arttır,Adım 9'a git Adım 7-OSA=21 ise I21'i arttır,ADım 9'a git Adım 8-OSA=22 ise I22'Yİ arttır,Adım 9'a git Adım 9-IYOS<100 ise Adım 3'e git Adım 10-I18,I19,I20,I21,I22,yaz Adım 11-DUR

UYGULAMA 14: Klavyeden girilen,bir öğrencinin numarasını,ismini ve bilgisayar programlama dersinin 3 vize sınavından aldığı notları okuyan,bu notların aritmetik ortalamasını bulan,eğer ortalaması 50'ye eşit veya 50'den büyükse yazıcıya numara,isim,notlar ve vize notlarının ortalamasını,küçükse numara,isim ve "tekrar" mesajı yazan programın algoritma ve akış şeması şu şekildedir. INO:öğrencinin numarasını, AD:öğrencinin ismini, VIZE1:1.vize sınavını, VIZE2:2.vize sınavını, VIZE3:3.vize sınavını, VIZORT:üç vize sınavının aritmetik ortalamasını, VIZTO:üç vizenin toplamını göstersin. Adım 1-Başla Adım 2-INO,AD,VIZE1,VIZE2,VIZE3,oku Adım 3-VIZTO=(VIZE1+VIZE2+VIZE3) ve VIZORT=VIZTO/3 bul. Adım 4-Eğer VIZORT>=50 ise Adım 6'ya git. Adım 5-INO,AD ve "TEKRAR" yaz ve Adım 7'ye git. Adım 6-INO,AD,VIZE1,VIZE2,VIZE3,VIZORT yaz Adım 7-DUR

UYGULAMA 15: 300 elemanlı bir veri grubunda bulunan pozitif,sıfır ve negatif değerlerin sayısını bulup yazan programın algoritması ve akış şeması şöyledir: SS:Okunan sayı adedi PSS:pozitif sayı adedi NSS:Negatif sayı adedi SSS:Sıfır sayı adedi Adım 1-Başla Adım 2-SS=PSS=NSS=SSS=0 Adım 3-Sayı oku Adım 4-SS=SS+1 Adım 5-Eğer SS>300 ise dur Adım 6-Eğer sayı<0 ise adım 9'a git Adım 7-Eğer sayı=0 ise adım 10'a git Adım 8-PSS=PSS+1 hesapla,adım 3'e git Adım 9-NSS=NSS+1 hesapla,adım 3'e git Adım 10-SSS=SSS+1 hesapla,adım 3'e git

UYGULAMA 16: İsim ve soyadınızı ekrana 10 defa yazdıran bir programın algoritma ve iş akış diyagramı hazırlayınız. 1.Başla 2.say=0 3.Yaz “Ecren Kayıkçı” 4.say=say+1 5.say<10 mu? Git 3 6.Dur ceng.anadolu.edu.tr/emrekacmaz/btp101/algoritma.doc

1. BAŞLA 2. Sayac=2, Toplam=0 3. Toplam=Toplam+Sayac 4. Sayac=Sayac+2 5. EĞER Sayac<=100 İSE GİT 3 6. YAZ “1-100 Arası Çift Sayıların Toplamı=”, Toplam 7. BİTİR UYGULAMA 17: arasındaki çift sayıların toplamını bulan programın algoritmasını ve yazın? ceng.anadolu.edu.tr/emrekacmaz/btp101/algoritma.doc BAŞLA Sayac=2, Toplam=0 Sayac=Sayac+2 Sayac< =10 0 Toplam=Toplam+Sayac Yaz “1-100 arası çift sayıların toplamı=”,Toplam BİTİR E H

1. BAŞLA 2. Sayac=1, Toplam=0 3. Toplam=Toplam+Sayac 4. Sayac=Sayac+2 5. EĞER Sayac<=100 İSE GİT 3 6. YAZ “1-100 Arası Çift Sayıların Toplamı=”, Toplam 7. BİTİR UYGULAMA 19: arasındaki tek sayıların toplamını bulan programın algoritmasını ve yazın? ceng.anadolu.edu.tr/emrekacmaz/btp101/algoritma.doc BAŞLA Sayac=1, Toplam=0 Sayac=Sayac+2 Sayac< =10 0 Toplam=Toplam+Sayac Yaz “1-100 arası tek sayıların toplamı=”,Toplam BİTİR E H