UNIT PROGRAMLAR BÖLÜM 13

Benzer belgeler
Programın çalışma yönünün değiştirilmesi için kullanılan GOTO deyiminin genel kullanımı şu şekildedir; GOTO Etiket;

TEKRARLAMA DEYİMLERİ BÖLÜM Giriş. 9.2 For-Do

ALT PROGRAMLAR BÖLÜM Giriş Alt Programlar Hakkında Genel Bilgiler

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

PASCAL PROGRAMLAMA DİLİ YAPISI

KAYITLAR BÖLÜM Giriş

SİSTEM BİRİMİ VE EKRAN KOMUTLARI

Pascal Programlama Dili

Pascal Programlama Dili (2. hafta)

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

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMA TEMELLER. C Program Yap s

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

VERİ TABANI ve YÖNETİMİ

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

HSancak Nesne Tabanlı Programlama I Ders Notları

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

HSancak Nesne Tabanlı Programlama I Ders Notları

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

BİL-142 Bilgisayar Programlama II

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri

Bölüm 9. Altprogramlar ISBN

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

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

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Göstericiler (Pointers)

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

Bilgisayar Programlama

Kitaplik adlı Programın Turbo Pascal Kodları:

WebInstaller. 1. Kurulum Đçin Gereksinimler

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Öğr. Gör. Serkan AKSU 1

C#(Sharp) Programlama Dili

program uc_hata implicit none integer : x(5),i

Akıllı Kod Desteği. Şekil 1

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

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

PROGRAMLAMA DİLLERİ I

Değişken adları 63 karakter uzunluğunu geçmemelidir. Değişken adının 63 karakteri geçmesi halinde 63. karakterden sonraki kısımlar göz ardı edilir.

BİL-142 Bilgisayar Programlama II

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Dr. Fatih AY Tel: fatihay@fatihay.net

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

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

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

CEVAP ANAHTARI 1-B 2-C 3-C 4-C 5-B 6-E 7-D 8-E 9-C 10-E 11-E 12-A 13-A 1-A 2-D 3-C 4-D 5-D 6-B 7-D 8-B 9-D 10-E 11-D 12-C

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

JAVASCRIPT JAVASCRIPT DİLİ

DOSYALAR BÖLÜM Giriş Text Dosyalar

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

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

VERİ TABANI YÖNETİM SİSTEMLERİ I

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

Programlama Dillerinde Kullanılan Veri Tipleri

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

SEÇİM İŞLEMLERİ. Yüzde Hesaplamaları HÜCRE KOPYALAMA & TAŞIMA FORMÜL GİRİŞİ FORMULLER 3) DÖRT İŞLEM. a) Bugün: b) Şimdi: c) Topla: d) Çarpım:

BİLGİSAYAR PROGRAMLAMA DERSİ

NESNEYE YÖNELİK PROGRAMLAMA

Üst Düzey Programlama

4. Bölüm Programlamaya Giriş

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

BİL-142 Bilgisayar Programlama II

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

BİLGİSAYAR PROGRAMLAMA DERSİ

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

ALGORİTMA VE PROGRAMLAMA I

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

MARMARA ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ESNEK İMALAT SİSTEMLERİ DERS NOTLARI 2 Arş. Gör.

ALGORİTMA VE PROGRAMLAMA I

Akış Kontrol Mekanizmaları

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

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

Dr. Fatih AY Tel: fatihay@fatihay.net

Temel Bilgisayar Programlama

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

C PROGRAMLAMA DİLİ. Hedefler

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

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

Burada dikkat edilmesi gereken nokta, bilinmeyen veya değişkeninizi yazarken diğer bilinmeyenler ile arasına boşluk koymanız gerektiğidir.

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

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

Şekil 6.2 Çizgisel interpolasyon

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

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

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

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

ALGORİTMA VE 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.

Pointer Kavramı. Veri Yapıları

PROGRAMLAMA TEMELLERİ

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ DERS NOTLARI

ALGORİTMA VE PROGRAMLAMA I

Transkript:

BÖLÜM 13 UNIT PROGRAMLAR Pascalın en büyük özelliklerinden biri yazılan program parçalarının diğer Pascal programları tarafından paylaşılıp, o program içindeki alt programların diğer programlar tarafından kullanılabilmesidir. Pascalda, diğer programların kullanabileceği pascal programlarına unit programlar denilmektedir. Bu programlar derlendikten sonra Turbo Pascal tarafından.tpu (Windows 'ta.tpw, korumalı modda.tpp) uzantısını alırlar. Unitler birer bağımsız programdırlar, ancak kendi başlarına çalıştırılamazlar. Kendilerini çalıştıran bir ana program vasıtasıyla çalışabilirler. Unitler, bir program hacminin 64 KB sınırını aşması veya birden fazla program tarafından kullanılabilecek alt programları tekrar yazmamak için oluşturulurlar. Ana programın derlenmesi sırasında çalıştırılmak istenilen unitler de derlenirler. Bir unit programın genel yapısı şu şekildedir. Unit Unitadi; procedure altprogadi1(...); procedure altprogadi2(...); function function1(...):...; function function2(...):...; var... type... const

143 procedure altprogadi1(...); {işlemler} procedure altprogadi2(...); {işlemler} function function1(...):...; {işlemler} function function2(...):...; {işlemler} Ana program ile unitler arasındaki önemli farklılıklardan biri de unitlerde, mutlaka UNIT komutu ile başlayan ve unitin adını belirten bir unit başlığı kullanılması zorunludur. Unit adı sekiz karakteri geçemez ve burada verilecek unit adı, programın diske kaydedilirken kullanılan ad ile aynı olmalıdır. Bir unit programın ana program tarafından kullanılabilmesi için ana programda USES komutuyla birlikte unit adının yazılması gereklidir. Örneğin; Sekiller isimli unitin ana program tarafından kullanılabilmesi için ana programda aşağıdaki satırlar yazılmalıdır. Program sekillerin_alan_hesabi; USES sekiller;... Bir unit, ve olmak üzere iki bölümden oluşur. Interface bölümünde, bu uniti kullanan program tarafından kullanılacak olan değişken, sabit, procedure ve function alt programlar yazılır. Ayrıca bu bölümde, bu unit programın kullanacağı hazır unitler ve kullanıcı unitleri de USES komutu ile tanıtılır. Bu bölümde yapılan tüm tanımlamalar ana program tarafından tanınmaktadır. Implementation bölümünde ise geçerli unit içinde bulunan ancak ana program tarafından kullanılmayan alt programlar yazılır. Burada değişken, sabit ve tip tanımlamaları da yapılabilir. Burada yapılan tanımlamalar sadece unit içerisinde geçerlidir. Unite ait en son "End." deyiminden önce yazılan komutlar varsa, ana program çalışmaya başladığında ilk olarak bu komutlar çalıştırılır. Bu komutların çalışması için end 'den

144 önce deyimi kullanılmalıdır. İki unit program birbiri içindeki alt programları da kullanabilirler. unit sekiller; var uzunluk,alan:integer; procedure alan_hesabi; procedure alan_hesabi; write('karenin kenar uzunluğunu giriniz ='); Readln(uzunluk); alan:=sqr(uzunluk); Writeln('Karenin Alanı =',Alan); writeln('kare ALANININ HESAPLANMASI'); writeln; program kare_alan_hesabi; uses sekiller; alan_hesabi; writeln('alan hesabı işlemi tamamlandı'); Program çalıştırıldığında once unit programdaki; writeln('kare ALANININ HESAPLANMASI'); writeln; satırları işleme alınır, sonra alan_hesabi isimli procedure alt programı çalışır. Alt programdaki işlemler yapıldığında ise ana programdaki; writeln('karenin Kenar uzunluğu =',uzunluk); writeln('alan hesabı işlemi tamamlandı'); satırı çalışarak programın çalışması sona ermektedir. Ana programda uzunluk isimli bir değişken tanımlı olmamasına rağmen, uzunluk değişkeni unit programda altında tanımlandığından ana program tarafından tanınmaktadır.

145 Aşağıda verilen örnek programda iki unit programın birbiri içindeki alt programları kullanmasına aittir. Burada birici unitteki alt program kullanılacak ise 'den sonraki komut satırında USES ile birlikte kullanılacak unitin adı yazılır. Birinci unit programda ise ikinci unit programın kullanılacağı deyiminden sonraki USES komutunda verilecektir. Aşağıda verilen örnekte bir karenin alanı ve çevresi hesaplanmaktadır. USES komutlarının nasıl kullanıldığına ve deger_gir isimli alt programın parametreli olduğuna dikkat ediniz. Deger_gir isimli alt programda parametre transferi yapılmaz ise diğer unit bu değeri sıfır olarak algılamaktadır. unit sekiller; uses wincrt; var uzun,uzunluk,alan:integer; procedure alan_hesabi; procedure deger_gir(var UZUNLUK:INTEGER); USES CEVRE; procedure deger_gir(var UZUNLUK:INTEGER); write('karenin kenar uzunluğunu giriniz ='); Readln(uzun); uzunluk:=uzun; procedure alan_hesabi; cevre_hesapla; alan:=sqr(uzun); Writeln('Karenin Alanı =',Alan,' birim²'); writeln('karenin ÇEVRE ve ALANININ HESAPLANMASI'); writeln;writeln; unit cevre; uses SEKILLER,wincrt; var uzunluk:integer; procedure cevre_hesapla; procedure cevre_hesapla; deger_gir (UZUNLUK);

146 Writeln('Karenin Çevresi =', 4*uzunluk;,' birim'); Program kare_ile_ilgili; uses sekiller,wincrt; alan_hesabi; writeln('karenin Kenar uzunluğu =',uzun,' birim'); writeln('alan hesabı işlemi tamamlandı'); Örnek: Aşağıda verilen örnekte daire, kare,dörtgen ve üçgen gibi geometrik şekillerin alan hesapları yapılmaktadır. unit Alanlar; function Alan_daire(Ycap:real):real; function Alan_Kare(uzun:real):real; function Alan_Dortgen(uzun,Yuk:real):real; function Alan_Ucgen(Taban,Yuk:real):real; var My_Pi : real; procedure Mult_Two_Numbers(Number1, Number2 : real; var Result : real); Result := Number1 * Number2; function Alan_daire(Ycap:real):real; Alan_Daire:= sqr(ycap)*my_pi; function Alan_Kare(Uzun:real):real; Alan_Kare:= uzun*uzun; function Alan_Dortgen(uzun,Yuk:real):real; Alan_Dortgen:= uzun*yuk; function Alan_Ucgen(Taban,Yuk:real):real;

147 Alan_Ucgen := Taban*Yuk/ 2.0; My_Pi := 3.14159267; program Sekillerin_alan_hesabi; uses Alanlar,Crt; var Ch : char; uzun,gen,yuk,taban,ycap: real; (* Ana program *) repeat Writeln; Writeln('Lütfen Alan Hesabı Yapacağınız Nesneyi seçiniz :'); Writeln; Writeln('[K]are'); Writeln('[D]ikdörtgen'); Writeln('[U]çgen'); Writeln('d[A]ire'); Writeln('[C]ıkış'); Write('Alan hesabı yapılacak nesne (K/D/U/A)?='); repeat Readln(Ch); ch:=upcase(ch); until Ch in ['K','D','U','A','C']; case Ch of 'K' : Write('Karenin kenar uzunluğu ='); Readln(uzun); Writeln('Alan =',Alan_kare(uzun):12:4); 'D' : Write('Dörtgenin Genişliği = '); Readln(gen); Write('Dörtgenin Yüksekliği ='); Readln(yuk); Writeln('DörtgeninAlan=,Alan_Dortgen(gen,yuk):12:4); 'U' : Write('Üçgenin Taban Uzunluğu ='); Readln(Taban); Write('Üçgenin Yüksekliği =');

148 Read(yuk); Writeln('Üçgenin Alanı 'A' : Write('Dairenin Çapı Readln(Ycap); Writeln('Dairenin Çapı = ',Alan_Ucgen (Taban,Yuk):12:3); ='); =',Alan_Daire(Ycap):12:3); 'C' : Writeln('Bitti');exit; else Writeln(' Tanımsız giriş'); until (Ch = 'c') or (Ch = 'C'); (* Ana program sonu *) Örnek: Aşağıda verilen örnek program 10 tane X değeri için f(x) fonksiyonunu değerlerini hesaplamaktadır. Unit program içinde us alma işlemi gerçekleştirilmektedir. Bu şekilde karmaşık üs alma işlemleri kısaltılmıştır. Kesikli fonksiyonun değeri; dir. x < 1 2 x < 2 3 x > 3 f(x) = x f(x) = x f(x) = x 5 2 x 2 5 x x 1 3 4 3 3 5 x unit usalma; function us(ust,asil:real):real; Implementation function us(ust,asil:real):real; us:=exp(ust*ln(asil)); Program Ana_program; uses wincrt,usalma; Var x:real; x2,fx:array [1..10] of Real; i,x1:integer;

149 Procedure Hesaplamalar; CASE X1 OF 101..200: fx[i]:=us(5,x)-us((1/3),x); 201..300: fx[i]:=us((5/2),x)-us(x,(4/3)); else fx[i]:=sqrt(x)+ us((3/5),x)-x; procedure verigirisi; for i:=1 to 10 do Repeat Write(i,'. X degeri = '); readln(x); Until X>0; x2[i]:=x; X1:=Trunc(x*100); Hesaplamalar; Procedure Sonucuyaz; for i:=1 to 10 do gotoxy(25,i);writeln('için Verigirisi; Hesaplamalar; Sonucuyaz; Y=',fx[i]:5:2);