You are on page 1of 29

Müh. Ve Bil.

Programlamaya Giriş

3. HAFTA
Akış Diyagramları, Matlab'ın Genel
Yapısı ve Tanıtımı, Değişkenler,
Operatörler, Giriş-Çıkış ve Özel Komutlar
2. Hafta - Tekrar
• Yazılım Geliştirme Aşamaları

• Problem Çözme Yaklaşımları

• Algoritma

• Algoritmaların Gösterim Şekilleri


– Doğal Dil
– Sözde Kod
– Akış Şeması

• Problemler
– Obeb ve Okek kısa yol
– Tahmin oyunu

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 2


Problemler
• Problem-10
– Kullanıcıdan alınan 10’luk tabandaki bir sayıyı 2’lik
tabana çeviren algoritma

• Problem-11
– Kullanıcıdan alınan 10’luk tabandaki bir sayıyı gene
kullanıcıdan alınan bir tabana çeviren algoritma

• Problem-12
– Kullanıcıdan alınan bir sayının faktöriyelini bulan
algoritma

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 3


Problem – Maaş Hesabı
• Bir şirket personel maaş zamlarının hesaplanmasını istemektedir.

• Şirket maaş zammı hesaplaması esnasında mevcut maaş, çocuk sayısı ve önceki
zam miktarını dikkate almaktadır.

• Zam oranı;
– Maaşı 2000’den küçük olanlar için %20,
– 2000 ve 3000 arasında olanlar için %15,
– 3000’ den büyük olanlar için %10
Belirlenmektedir.

• Ayrıca şirket, personele her bir çocuk için 30 TL ekstra zam vermektedir.

• Şirket, personele yapılan yeni zam miktarı eski zam miktarından daha az olması
durumda eski maaş zammını dikkate almaktadır.

• Bilgileri verilen personel için maaş zam miktarını ve yeni maaşını hesaplayan
algoritmanın akış şeması

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 4


Matlab Genel Tanıtımı ve Yapısı

5
1 3

4 6
2
Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 5
Programlama için Kullanılan Genel
Terimler
• Değişken

• Atama

• Operand ve Operatör

• İfade (Expression or Statement)

• Şart ve Döngü Deyimleri

• Sayaç

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 6


Değişken Tanımlamaları
• Değişken isimleri daima bir harf ile başlamalıdır. İlk harfi başka harfler, rakamlar ve
alt çizgiler ( _ ) izleyebilir.
– Örneğin 1sayi uygun bir değişken ismi değilken, sayi_1 kullanılabilir bir değişken adıdır.

• Değişken isimleri noktalama işaretleri ve boşluk(lar) barındırmamalıdır.


– sayi.1 veya sayi 2 (2 den önceki boşluğa dikkat) şeklinde tanımlanan değişken adları bu kural
ihlaline 2 güzel örnektir.

• Değişken isimleri içerisinde küçük veya büyük Türkçe “ç, ğ, ı, ö, ş, ü” karakterleri


kullanılmamalıdır.

• Değişken isimlerinin küçük ve büyük harf kullanımına duyarlı olduğu


unutulmamalıdır.
– orta, Orta, ORTA veya orTa adlı değişkenler MATLAB için farklı değişkenlerdir.

• Değişken isimleri en fazla 63 karakter içerebilir ve bundan fazlası MATLAB


tarafından dikkate alınmaz.

• Matlab fonksiyonları değişken adı olarak kullanılmamalıdır.

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 7


MATLAB Diline Ayrılmış Özel Kelimeler
• 'break' • 'global'
• 'case' • 'if'
• 'catch' • 'otherwise'
• 'classdef' • 'parfor'
• 'continue' • 'persistent‘
• 'else' • 'return‘
• 'elseif‘ • 'spmd'
• 'end' • 'switch‘
• 'for' • 'try'
• 'function' • 'while'
iskeyword() fonksiyonu yardımıyla belirtilen ismin özel kelime olup olmadığı anlaşılabilir.

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 8


Örnek
Yanlış Tanımlama Neden Yanlış?
1Letter Sayı ile başlıyor
new count boşluk içeremez
while özel kelime
if özel kelime
TWO*FOUR * karakteri kullanılamaz
joe’s ‘ karakteri kullanılamaz

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 9


[1]

Kodlama Standartları
• Coding standards define a programming style.

• A coding standard does not usually concern itself with wrong or right in a
more abstract sense.

• It is simply a set of rules and guidelines for the formatting of source code.

• Common Aspects of a Coding Standard:


• Naming Conventions
• File Naming and Organization
• Formatting and Indentation
• Comments and Documentation
• Classes, Functions and Interfaces
• Pointer and Reference Usage
• Testing

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 10


Benefits of Coding Standarts
• Code Integration • Minimizes Communication

• Team Member Integration • Minimizes Performance


Pitfalls
• Maintenance
• Saves Money Due to Less
• Uniform Problem Solving Man Hours

DISADVANTAGES?

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 11


[2]
5 Reasons Coding Standards Are
Essential
• Poor, Inconsistent Code - Causes You Pain

• Your Code is Easier to Read

• Your Code is Easier to Understand

• Your Code is Easier to Maintain

• Your Code is Easier to Collaborate On

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 12


Adlanlandırma Kuralları
• Upper Case
– Tamamen BÜYÜK harf

• Lower Case
– Tamamen KÜÇÜK HARF

• Pascal Case
– İsimler BÜYÜK harfle başlar. İsmi olusturan ifade birden fazla kelimeden
oluşuyorsa, kelimelerin ilk harfleri BÜYÜK harflerle yazılır.

• Camel Case
– İsimler küçük harfle baslar. İsmi olusturan ifade birden fazla kelimeden
olusuyorsa, isimdeki ilk kelime küçük harfle baslar. Sonraki kelimeler BÜYÜK
harfle baslar.

• Snake Case
– Küçük harf ve altı çizgi ayracı (_)
Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 13
[3]

Örnek Kodlama Standardı


• Kadir Çamoğlu , Editor

• Türkçe İçerikli Kodlama Standardı

• Visual C# Kodlama Standartları


– Versiyon 1.1

• 10.02.2010.

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 14


[4]

Veri Tipleri
• Numeric arrays,
• Characters and strings,
• Tables,
• Structures,
• Cell arrays,

DATA TYPES
• By default, MATLAB® stores all numeric variables as double-precision
floating-point values.

• whos

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 15


Operatörler
• Aritmetik

• İlişkisel

• Mantıksal

• Özel Karakterler

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 16


[5]

Aritmetik Operatörler
Symbol Role More Information

+ Addition plus
- Subtraction minus
.* Element-wise multiplication times
* Matrix multiplication mtimes
./ Element-wise right division rdivide
/ Matrix right division mrdivide
.\ Element-wise left division ldivide
\ Matrix left division mldivide
(also known as backslash)
.^ Element-wise power power
^ Matrix power mpower
.' Transpose transpose
' Complex conjugate transpose

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 17


[5]

İlişkisel Operatörler
Symbol Role More Information

== Equal to eq

~= Not equal to ne

> Greater than gt

>= Greater than or equal to ge

< Less than lt

<= Less than or equal to le

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 18


[5]

Mantıksal Operatörler

Symbol Role More Information


& Logical AND and

| Logical OR or

&& Logical AND (with short-circuiting) Logical Operators: Short-


Circuit && ||
|| Logical OR (with short-circuiting)

~ Logical NOT not

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 19


[5]
Symbol
Özel Karakterler
Symbol Name Role
•Decimal point
•Element-wise operations
. Period or dot
•Structure field access
•Object property or method specifier

... Dot dot dot or ellipsis Line continuation

, Comma Separator
•Vector creation
: Colon •Indexing
•For-loop iteration
•Signify end of row
; Semicolon
•Suppress output of code line
•Operator precedence
() Parentheses •Function argument enclosure
•Indexing
•Array construction
•Array concatenation
[] Square brackets
•Empty matrix and array element deletion
•Multiple output argument assignment
{} Curly brackets Cell array assignment and contents
•Comment
% Percent
•Conversion specifier
%{ %} Percent curly bracket Block comments
! Exclamation point Operating system command
? Question mark Metaclass for MATLAB class
'' Single quotes Character array constructor
N/A Space character Separator
•Logical NOT
~ Tilde
•Argument placeholder
= Equal sign Assignment

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 20


Özel Komutlar
• clc
– Komut penceresini temizler.

• clear all
– Bütün değişkenleri ve fonksiyonları bellekten siler.
– (Bütün değişkenleri çalışma alanından (workspace) çıkarır.)

• help
– Verilen komutun kullanımı hakkında bilgi verir.

• doc
– Verilen komut hakkında yardım ekranını açar.

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 21


Giriş Komutu
• input

– sayi = input(‘Bir sayi giriniz’);

– str=input(‘Bir isim giriniz’, ’s’);

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 22


Çıkış Komutları

• disp komutu

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 23


Çıkış Komutları
• fprintf
– fprintf('Ekrana Basılacak Açıklama %X \n', deger);

– Burada %X Kısmında Kullanabileceğimiz Seçenekler :


• %c : deger in tek bir karakter olduğunu gösterir.
• %s : deger in bir karakter dizisi (string) olduğunu gösterir.
• %d : deger in bir tamsayı olduğunu gösterir.
• %f : deger in bir ondalıklı sayı olduğunu gösterir.
• %g : deger i mümkün olan en kompakt forma sokar.

– Diğer yandan :
• \n : İmleci bir alt satırın başına götürür. (n, newline)
• \t : İmleci bir TAB kadar sağa kaydırır.

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 24


Çıkış Komutları- fprintf

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 25


disp vs fprintf
• disp komutu ekrana çıktı verdikten sonra bir alt satıra
otomatik olarak atlar.

• fprintf komutunu bir alt satıra götürebilmek için ise \n


kullanılmalıdır.

• Ayrıca disp komutu satır veya sütun vektörleri ile matrisleri


ekrana kolayca yazdırabilirken aynı işlemi

• fprintf ile yapabilmek daha çok işlem gerektirmektedir.

• fprintf ile yazım formatı doğrudan ayarlanabilmektedir.

Dr. Hüseyin HAKLI Müh. Ve Bil. Programlamaya Giriş Dersi-3. Hafta 26


Önümüzdeki Hafta
• Şart ve Kontrol Deyimleri

– if-else, elseif

– switch-case

Müh. Ve Bil. Programlamaya Giriş Dersi-3.


Dr. Hüseyin HAKLI 27
Hafta
Kaynakça
1. https://www.valid-computing.com/benefits-of-
coding-standards.html
2. https://masterzendframework.com/software-
engineering-2/5-reaons-coding-standards-are-
essential/
3. Çamoğlu, Kadir, Türkçe İçerikli Kodlama Standartları,
Visual C# Kodlama Standartları, Versiyon 1.1,
10.02.2010.
4. https://www.mathworks.com/help/matlab/matlab_pr
og/fundamental-matlab-classes.html
5. https://www.mathworks.com/help/matlab/matlab_pr
og/matlab-operators-and-special-characters.html

28
Görsel (Resim) Kaynakça
1. https://okumusamele.com/maas-hesabi-
nasil-yapilir-brut-maas-nedir/
2. https://www.alfredforum.com/topic/4818-
code-case/

29

You might also like