SAB104 Bilgisayar Programlama

Benzer belgeler
Karakter Değişkenlere İlişkin Komutlar

Temel Bilgisayar Programlama ve BASIC Diline Giriş

BM202 SAYISAL ÇÖZÜMLEME

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

Problem. N sayıda öğrencinin boy ortalaması. N: Öğrenci sayısı S: Başlangıç değeri TOP: Toplam BOY: Boy ORT: Ortalama. Algoritma

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

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

PASCAL PROGRAMLAMA DİLİ YAPISI

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

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

Algoritma ve Akış Diyagramları

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

Bilgisayar Programlama

Pascal Programlama Dili

GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ

BİLGİSAYAR PROGRAMLAMA DERSİ

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

BİLGİSAYAR PROGRAMLAMA DERSİ

PROGRAMLAMA ALGORĠTMA

AOSB 2017 EĞİTİM PROGRAMI

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

PROGRAMLAMAYA GİRİŞ DERS 2

BÖLÜM 2: ALGORİTMALAR

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

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

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

C++ Operatörler (Operators)

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BİL-142 Bilgisayar Programlama II

VISUAL BASIC STANDART KÜTÜPHANE FONKSİYONLARI

Bölüm 2 - C ile Programlamaya Giriş

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

Algoritma ve Akış Diyagramları

FORTRAN da Giriş/Çıkış Ve Tanımlamalar

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

BİLGİSAYAR PROGRAMLAMA MATLAB

Fonksiyonlar (Altprogram)

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

MatLab. Mustafa Coşar


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

<fn> FORMAT (a1,a2,a3,...) : format deyiminin satır numarasıdır READ, WRITE deyimleri ile verilir. : alan bildirim deyimleridir.

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Genel Programlama II

Imports ifadesi, program satırlarının en üstüne (Public Class satırından önce) yazılmalıdır. Aksi halde hata mesajı ile karşılaşılır.

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

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları

PASCAL ARŞİVİ BÖLÜM Giriş. 7.2 Sistem Birimi ve Katarlar Chr

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

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

PROGRAMLAMA TEMELLERİ

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Nesne Tabanlı Programlama

Fortran da kullanılan giriş çıkış komutları PRINT, WRITE ve READ dir.

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Algoritma ve Programlamaya Giriş

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Uygulama 1) Sabit olarak belirlenen sayıda tekrar eden (5 kez) Visual Basic kaynak kodlarını yazınız.

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

OPERATÖRLER BÖLÜM Giriş Aritmetik Operatörler

Dr. Fatih AY Tel:

C Programlama Dilininin Basit Yapıları

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

KONTROL YAPILARI (CONTROL STRUCTURES)

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

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

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Bilgisayar Programlamaya Giriş I KAREKÖK BULMA Acaba hesap makinesi bir sayının karekökünü nasıl buluyor? başlangıç değeri olmak üzere,

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Bilgisayar Programlama MATLAB

COS işlevi Sözdizimi COS sayı Sayı Uyarılar Örnek 1 Formül Açıklama (Sonuç) SİN işlevi Sözdizimi SİN sayı Sayı Uyarı

Akış Kontrol Mekanizmaları

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

Ders 6: Karşılaştırma Deyimleri

Java da İşleçler, Ders #3 (4 Kasım 2009)

YZM 2105 Nesneye Yönelik Programlama

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

Matlab da Dizi ve Matrisler. Mustafa Coşar

ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Fen ve Mühendislik Uygulamaları ile MATLAB

Temel Bilgisayar Programlama

Transkript:

Hafta 1 Programlamanın Tanımı Ankara Üniversitesi Uygulamalı Bilimler Fakültesi

dersine ait sunumlar hazırlanırken ağırlıklı olarak Quick Basic ile Bilgisayar Programlama (Dr. İsmail Gürkan, Dr. Bülent Altunkaynak) kitabından yararlanılmıştır

GİRİŞ

Bütün programlama dillerine bakıldığında aşağıdaki özellikler gözlenir. Dilin alfabesi Değişmezler Sayısal değişmezler Alfa sayısal değişmezler Mantıksal değişmezler Değişkenler Sayısal değişkenler Alfa sayısal değişkenler Mantıksal değişkenler Aritmetik ifadeler Okuma deyimi Ekrandan okuma Diskten okuma Manyetik şeritten okuma Yazma deyimi Ekrana yazma Diske yazma Manyetik şeride yazma Satır yazıcıya yazma Karşılaştırma (Koşul) deyimi Döngü yapıları Dizinli değişkenler Dizgi değişkenler Hazır fonksiyonlar Deyim fonksiyonları Alt programlar Kütükler (dosyalar) ile ilgili de yimler

Bütün programlama dillerinin alfabesi genel olarak aynıdır. A ile Z arasındaki İngiliz harfleri, 0 ile 9 arasındaki rakamlar Özel işaretler Genel olarak klavye üzerine gördüğünüz ve yukarıda sayılmayan karakterlerdir. Bunlar dışında, klavyede görülmeyen bir takım karakterler de kullanılmaktadır. QBasic'te, programda yer alan her deyimin tamsayı değer olan bir deyim nu marası bulunmalıdır. Genel işleyiş olarak programda yer alan deyimler, deyim numarası küçükten büyüğe doğru sıralanmalıdır. Program, aksi söylenmediği sürece, deyimlerin en küçük deyim numarasınd an başlanarak, sırayla, deyimlerin işlenmesi yoluyla yürütülür. QBasic' te bir satıra iki nokta ( : ) ile ayrılmış birden çok deyim yazılabilir.

Açıklama satırı: İşlem görmez sadece açıklama yapar: Değişmezler (1) REM ----------------------------- REM Karekök bulma programı REM ----------------------------- CLS K=0 (2) ---------------------------------- Newton-Raphson yöntemi ---------------------------------- DEF FNX(x)=2*X*X+3*X-1 DEF FNT(x)=2*X+3 150% Tamsayı 1654356& Uzun tamsayı 9288333722# Çift duyarlıklı 1672345! Tek duyarlıklı CADDE Dizgi CONST PI = 3.141593 INPUT "Dairenin yarıçapı = "; r PRINT "Alan = "; PI * r ^ 2 Tür Bildirileri INTEGER LONG SINGLE DOUBLE STRING 16-bit işaretli tamsayı, 32-bit işaretli tamsayı, 32-bit tek duyarlıklı, kayan noktalı, 64-bit çift duyarlıklı, kayan noktalı, değişken uzunlukta dizgi, STRING*n% n% uzunlukta,sabit uzunlukta dizgi değişkeni belirler.

REM -------------------------------------------------- REM Tür belirtme hataları için örnek program REM -------------------------------------------------- CLS DIM K, N AS INTEGER DIM M, L, S AS DOUBLE DIM D, E, F AS SINGLE L = 65.924: M = 76.23 a# = 23.75: b# = 48.72 D = 15.65: E = 45.96 S = L * M K = L * M c% = a# * b# D# = a# * b# F = D * E N = D * E PRINT "L (çift d) =", L PRINT "M (çift d) =", M PRINT "Beklediğiniz sonuç (L*M) =", S PRINT "Alacağınız sonuç (L*M) =", K PRINT "a# (çift d) =", a# PRINT "b# (çift d) =", b# PRINT "Beklediğiniz sonuç (a#*b#) =", D# PRINT "Alacağınız sonuç (a#*b#) =", c% PRINT "65.924*76.23 doğrudan çarpımı =", 65.924 * 76.23 PRINT "D (tek d) =", D PRINT "E (tek d) =", E PRINT "Beklediğiniz sonuç (D*E) =", F PRINT "Alacağınız sonuç (D*E) =", N END

Aritmetik işlemler ve deyimler Aritmetik işleçler ve öncelikleri İşleç Öncelik ^ 1 Tekil - 2 *, / 3 +, - 4 Mantıksal işlemler ve deyimler Cebirsel ifade QBasic karşılığı -------------------------------- ------------------------------------------------- 2 2 A +B A^2+B^2 X C+D D-A + + Y 2 X X/Y+(C+D)/2+(D-A)/X 2 T1 T1 N N 1 (T1-T1^2/N)/(N-1) (parantez kullanımına dikkat ediniz) NOT AND OR XOR EQV IMP Değildir Ve Veya Yalnız Denklik Gerektirme İşleç NOT *, /, MOD, AND +, -, OR <, <=, =, <>, >=, > Öncelik sırası En yüksek En düşük Mantıksal bağlantı elemanları Bağlantı Elemanı Anlamı İfade = Eşittir A = B <>, > < Eşit değildir A <> B < Küçüktür A < B > Büyüktür A > B >= Büyük, eşittir A >= B <= Küçük, eşittir A <= B Aşağıdaki mantıksal ifadelerde A, B, ve C gerçel sayılardır. A=6.0, B=8.0 ve C=4.0 (A>C) AND (B>C) (A+B/C) <= 7.0 (C>A) OR (C>B) (A=2.0) OR (A=6.0) (C<A) AND (A<B) (A<=C) OR (A>=B) Doğru Yanlış Yanlış Doğru Doğru Yanlış

Ekrandan okunan iki sayının toplamını bulup yazdıran QBasic programı. Akış Şeması : BAŞLA OKU A, B C A + B Deyim numarası vererek Deyim numarası vermeden --------------- ---------------- 100 CLS CLS 110 INPUT A,B INPUT A,B 120 C = A + B C = A + B 130 PRINT C PRINT C 140 END END YAZ C DUR

Eğer, akış şemasını (doğru) çizebiliyorsak, kodlama zor bir iş değildir BAŞLA - DUR EKRANA YAZMA VERİ GİRİŞİ / Klavye İŞLEM DÖNGÜ FONKSİYON SUBROUTINE DİSKTEN OKUMA YAZICI ÇIKTISI İKİLİ KARAR

GİRİŞ-ÇIKIŞ DEYİMLERİ

CLS: Ekranı tümünü siler. Genel yazılışı, CLS [{0 1 2}] CLS 0 :Bütün yazı ve grafik ekranını temizler. CLS 1 :Sadece grafik materyalleri siler veya grafik konumunda değil ise bütün ekranı temizler CLS 2 : Yazı materyallerini siler. LOCATE: imleci ekranın belirlenen konumuna hareket ettirir. LOCATE 10,10 : PRINT 10. satır 10. kolon LOCATE SAT,SUT CSRLIN: imlecin o anda bulunduğu pozisyonu verir. CLS LOCATE 5, 5, 1 Satir% = CSRLIN Sutun% = POS(0) PRINT "000000000111111111122222222222" PRINT "123456789012345678901234567890" PRINT "*"; Satir%; Sutun% DO LOOP WHILE INKEY$ = "" LOCATE (Satir% + 4), (Sutun% + 2), 1 PRINT "*"; Satir%; Sutun% END INPUT: Ekrandan veri okutmak için kullanılır 200 INPUT A,B,C 400 INPUT DEGER1,DEĞER2 300 INPUT Bir sayı giriniz..>,sayi 160 INPUT Virgülle ayırarak 4 değer giriniz.>,deg1,deg2,deg3,deg4 500 INPUT, Değişken listesi

INKEY$: Klavyeden sadece bir (1) karakter okur CLS KONTROL = 1 WHILE KONTROL = 1 LOCATE 10, 10 K$ = INKEY$ IF K$ = CHR$(27) THEN KONTROL = 0 ELSE IF K$ = "A" THEN PRINT "A...ya bastınız" IF K$ = "B" THEN PRINT "B...ya bastınız" IF K$ = "C" THEN PRINT "C...ya bastınız" LOCATE 10, 15 PRINT K$; "...tuşuna bastınız" END IF WEND END LINE INPUT: bir kütük veya klavyeden en çok 255 karaktere kadar olan bir satır okur. READ DATA: LINE INPUT Tam adres giriniz ;ADRES$ LINE INPUT ; Ad soyad giriniz ; ADSOY$ TAB: Yazı imlecini belirlenen yazma pozisyonuna hareket ettirir. GOTO: Programın ilerleyişi sırasında, programın akış yönünü değiştirmek a macıyla kullanılır.

RESTORE: READ deyimi ile DATA deyim (leri) ardına sıralanan veri değerlerinin yeniden (baştan başlayarak) okunması amacı ile kullanılır. PRINT: Programda elde edilen sonuçları, açıklamaları ekrana yazdırmak için kullanılır.

KARŞILAŞTIRMA DEYİMLERİ

IF.. THEN. ELSE ENDIF: Bir problemin çözümü sırasında, bir koşulun sonucuna göre yapılacak işlemler farklılık gösterebilir. Diğer bir deyişle, koşul doğru olduğunda yapılacaklar ile, yanlış olduğunda yapılacaklar birbirinden farklı olabilir. Bu işlem (karşılaştırma) QBasic te IF deyimi ile gerçekleştirilir. REM -------------------------------------------------- REM Bu program ekrandan girilen üç sayının en büyüğünü REM bulup yazdırır REM -------------------------------------------------- INPUT Virgül ile ayırarak üç sayı giriniz >,A,B,C IF A > B THEN IF A > C THEN PRINT A en büyük ELSE PRINT C en büyük ENDIF ELSE IF B > C THEN PRINT B en büyük ELSE PRINT C en büyük ENDIF ENDIF END REM -------------------------------------------------- REM Bu program ikinci derece denklem köklerini bulur. REM -------------------------------------------------- INPUT Virgül ile ayırarak ikinci derece denklemin katsayılarını giriniz. >,A,B,C DELTA = B*B 4*A*C IF DELTA > 0 THEN X1 = (-B + SQR(DELTA))/(2*A) X2 = (-B - SQR(DELTA))/(2*A) PRINT 1. Kök = ;X1 PRINT 2. Kök = ;X2 ELSE ENDIF END IF DELTA = 0 THEN X1 = -B /(2*A) PRINT Çift Kök = ;X1 ELSE PRINT Gerçek kök yok ENDIF

ON GOTO: Koşullu sapma deyimi BIR: IKI: UC: CLS INPUT "DEĞER GİRİNİZ...>", DEGER IF DEGER = 1 THEN GOTO BIR IF DEGER = 2 THEN GOTO IKI IF DEGER = 3 THEN GOTO UC IF DEGER = 4 THEN GOTO DORT GOTO YANLISGIRIS A = SQR(DEGER) GOTO YAZ A = DEGER * DEGER GOTO YAZ A = DEGER ^ 3 GOTO YAZ DORT: A = DEGER ^ 4 GOTO YAZ YANLISGIRIS: PRINT Hatalı değer girdiniz GOTO SON YAZ: PRINT A SON: END BIR: IKI: UC: CLS INPUT "DEĞER GİRİNİZ...>", DEGER ON DEGER GOTO BIR, IKI, UC, DORT GOTO YANLISGIRIS A = SQR(DEGER) GOTO YAZ A = DEGER * DEGER GOTO YAZ A = DEGER ^ 3 GOTO YAZ DORT: A = DEGER ^ 4 GOTO YAZ YANLISGIRIS: PRINT "Yanlış değer girdiniz" GOTO SON YAZ: PRINT A SON: END

CASE: Gizli karşılaştırma yapısı '------------------------------------------------------ ' Case yapısı örnek (1) '--------------------------------------------- CLS INPUT "DEĞER GİRİNİZ...>", DEGER SELECT CASE DEGER CASE 1 K = SQR(DEGER) PRINT K CASE 2 K = DEGER * DEGER PRINT K CASE 3 K = DEGER ^ 3 PRINT K CASE 4 K = DEGER ^ 4 PRINT K CASE ELSE PRINT "Yanlış değer girdiniz" END SELECT END

YİNELEME DEYİMLERİ

WHILE WEND: Genel olarak, tekrar edilecek, fakat tekrar sayısı bilinmeyen deyim veya deyim gruplarının tekrarlanmasını sağlayan bir yapıdır. CLS TOPLAM = 0 SAYAC = 0 KONTROL = 1 WHILE KONTROL = 1 INPUT "Sayı giriniz...>", SAYI IF SAYI <= 0 THEN KONTROL = 0 ELSE TOPLAM = TOPLAM + SAYI SAYAC = SAYAC + 1 END IF WEND ORT = TOPLAM / SAYAC PRINT "Sayıların toplamı = "; TOPLAM PRINT "Kaç sayı olduğu = "; SAYAC PRINT "Sayıların ortalaması = "; ORT END

DO..LOOP: Bir deyimler bloğunu bir koşul doğru iken veya doğru olana kadar tekrarlar. Veya DO [{WHILE UNTIL} koşul] [deyim bloğu] LOOP DO [deyim bloğu] LOOP [{WHILE UNTIL} koşul] FOR NEXT: Yinelenen ve yinelenme sayısı bilinen deyim veya deyimler g rubu, FOR ve NEXT deyimlerin arasına konulmak yoluyla, daha kısa ve anl aşılabilir bir yapıda tasarlanabilir. FOR I = 1 TO 10 FOR J = 1 TO 10 FOR K = 1 TO 10...... NEXT K NEXT J NEXT I FOR I = 1 TO 10 FOR J = 1 TO 10 FOR K = 1 TO 10...... NEXT J NEXT K NEXT I

HAZIR MATEMATİKSEL FONKSİYONLAR

ABS: bir sayının mutlak değerini verir. SGN, verilen sayısal ifadenin işaretini elde etmek için kullanılır. ATN, belirlenen sayısal ifadenin arctanjant ını verir. TAN, verilen açı değerinin tanjantını hesaplar. COS, verilen açı değerinin kosinüsünü verir. EXP, e x sayısının nümerik değerini hesaplar. LOG, bir sayısal ifadenin doğal logaritmasını verir. SIN, verilen bir açı değerinin sinüsünü bulur. SQR, verilen bir sayısal ifadenin karekökünü bulur. INT, sayısal bir ifadenin değerinden küçük veya eşit olan en büyük tamsayıyı verir. MODE, İki sayısı bölerek, bölme işleminin kalanını geri döndürür. (Modüler aritmetik). CINT, sayısal ifade değerini tamsayıya yuvarlar.