Ödevlerin en iyi ÇÖZÜMLERİ

Slides:



Advertisements
Benzer bir sunumlar
Turbo Pascal 7.0 Öğr. Gör. İrfan MACİT Endüstri Mühendisliği Bölümü
Advertisements

JavaScript Birinci Hafta.
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
Ders İçeriği: Kitaplar:
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ ***** Prof.Dr. Mustafa Ergün
ALGORİTMA ÖRNEKLERİ Programlamaya Giriş
Visual Basic 6.0 Ders Notları
OOP UYGULAMA 5.
4. KONTROL VE DÖNGÜ KOMUTLARI
Özel Üçgenler Dik Üçgen.
Sayı Teorisinin Temelleri
Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI
BPR152 ALGORİTMA VE PROGRAMLAMA - II
T-SQL-2.Konu Akış Kontrolleri.
Fortran PROGRAMLAMA DİLİ
ASAL SAYILAR VE ÇARPANLARINA AYIRMA
DÜŞÜNELİM Bir marketin açılışında her beşinci müşteriye tavuk kuponu ve her yedinci müşteriye ise dondurma kuponu hediye edilmektedir. Marketin açılışına.
ARALARINDA ASAL SAYILAR
SAYI SİSTEMLERİ.
ALIŞTIRMALAR - 1 Sunu 1 ve Sunu 2 İçeriği
SÖZDE –KODLAR (pseudo-code)
Veri Yapıları Veri, her türlü değer demektir. Veri yapılarının tasarlanma ve oluşturulma amacı; “verinin işlenmesini kolaylaştırmak ve bu işlemi daha verimli.
Tam sayılarda bölme ve çarpma işlemi
DERS 2 MATRİSLERDE İŞLEMLER VE TERS MATRİS YÖNTEMİ
Kabuk Programlama Kerem ERZURUMLU
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
PASCAL ile Programlamaya Giriş
Matematik Dersi üslü sayılar.
MURAT ŞEN AKDENİZ ÜNİVERSİTESİ Üçgenler.
Bir bölme işleminde bölen 8,Bölüm 7, kalan 1ise bölünen Kaçtır?
Kabuk Programlama Kerem ERZURUMLU
FONKSİYONLAR İbrahim Onur Sığırcı.
a) b) c) d) e) Pi= 4* atan(1) y=Log10 | x | +4 Y= LOG10 (ABS(x))+4
Asal Sayılar ve Çarpanlarına Ayırma
BİL 102 BİLGİSAYAR PROGRAMLAMA
PROGRAM DENETİM DEYİMLERİ
4. KONTROL VE DÖNGÜ KOMUTLARI
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN PASCAL ile Programlamaya Giriş DÖNGÜLER (Loops)
Procedure ve Function PASCAL’da
Nesne Tabanlı Programlama 2
MATEMATİK ÖĞRENEBİLİR
MATLAB’ de Programlama
Kabuk Programlama Shell Scripting(bash)
IF/Else/Else IF. If...Then...Else Belli bir ş artı kontrol ederek, ş artın do ğ ru durumu için ve yanlı ş durumu için yapılacak i ş lemleri belirtmek.
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.
KIRPMA (Clipping) Bir grafik veri tabanından bir parçayı çıkarma işlemi olan kırpma bilgisayar grafiğinin temel işlerinden birisidir. Kırpma algoritmaları.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
YAPISAL PROGRAMLAMA KAVRAMI
VB’DE OPERATÖRLER. VB’DE ARİTMETİK İŞLEMLERİN BAZILARI OPERATÖRLERLE YAPILIRKEN BAZILARI DA FONKSİYONLARLA YAPILIR. VB’DE KULLANILAN ARİTMETİK VE LOJİK.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BSM208 PROGRAMLAMA DİLLERİNİN PRENSİPLERİ Dil Çevrimi (Hafta4) 1.
SBS 6.SINIF EBOB&EKOK Aşağı Yön Tuşları ile ilerleyiniz.
METHODLAR VE KOŞULLAR.
DİL ÇEVRİMİ Yüksek düzeyli bir dilde yazılmış bir program ancak makine diline çevrilerek bir bilgisayarda çalıştırılabilir.
Excel’de VBA Programlama (Visual Basic Application)
Pascal’da Kullanılan Standart Prosedür ve Fonksiyonlardan Bazıları
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
DÖNGÜLER.
Uygulama-2   Yukarıdaki matrisi bir dosyaya kaydedin ve bu dosyadan matris değerlerini okuyarak matrisin 2. satır değerlerini.
FONKSİYONLAR İbrahim Onur Sığırcı.
Örnek: Dışarıdan rast gele girilen 10 tane sayıdan kaç tanesi tek ve kaç tanesi çift ayrıca tekleri ve çiftleri ayrı ayrı toplayan programı yazınız. var.
Uygulama-2   Yukarıdaki matrisi bir dosyaya kaydedin ve bu dosyadan matris değerlerini okuyarak matrisin 2. satır değerlerini.
Akis diyagramı Örnekleri
7. DİZİLER Bir dizi, aynı tipteki elemanların yan yana sıralanışı ile elde edilen bir bilgi kümesidir. Matematikte kullanılan doğal sayılar (1,2,3,..),
1.) Bellekteki A= , B=0.01, C= değerleri WRITE (6 ,10) A,B,C 10 FORMAT (1X,E11.5,5X,E8.2/1X,e13.6) ile yazdırılırsa çıkış görüntüsü nasıl.
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
PASCAL`DA OPERATORLAR
S1. Aşağıda Form dizaynı Şekil 1’de verilen Visual Basic projesinde;
Pascal’da Kullanılan Standart Prosedür ve Fonksiyonlardan Bazıları
Sunum transkripti:

Ödevlerin en iyi ÇÖZÜMLERİ ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

OBEB (Ortak Bölenlerin En Büyüğü) ve EKOK (En Küçük Ortak Kat) Ödev: OBEB (Ortak Bölenlerin En Büyüğü) ve EKOK (En Küçük Ortak Kat) algoritmalarını yazınız. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

EBOB hesabında Öklit yöntemi Büyük sayıyı bul. Büyüğü küçüğe böl. Kalanını al. Kalan diğer sayı olsun. Büyük sayıyı bul. Büyüğü küçüğe böl. Kalanını al. Kalan diğer sayı olsun. Kalan sıfır olana kadar devam et. Son bölen ebob olur. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

if i > j then i := i - j else j := j - i; writeln ('OBEB : ',(i)); Örnek 1 program obeb; uses wincrt; var i, j : integer; begin write ('iki sayı gir : '); read (i, j); while i <> j do if i > j then i := i - j else j := j - i; writeln ('OBEB : ',(i)); end. i=36, j=48 i<>j oluncaya kadar (36<>48) 36>48 değil, o zaman j=48-36=12 i=36, j=12 36<>12 36>12 öyleyse i=36-12=24 i=24, j=12 24>12 öyleyse i=24-12=12 i=12, j=12 i=j mi, EVET O halde obeb=i Başla İki sayı al (i,j) İ, j’ye eşit oluncaya kadar devam Eğer i>j, i=i-j; yoksa j=j-i Devam Son çıkan i ebob olur. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

function obeb(a, b: integer): integer; begin if b = 0 then obeb := a Örnek 2 program obeb2; uses wincrt; var x, y: integer; function obeb(a, b: integer): integer; begin if b = 0 then obeb := a else obeb := obeb(b, a mod b end; write ('OBEBi alınacak iki sayı giriniz : '); read(x, y); write('OBEB : ',obeb(x, y)) end. Burada bölme sonucu kalanı gösteren mod komutu kullanılarak a,b sayılarının yerini değiştiren bir function kullanılıyor. Write (obeb(x,y)) dediğimizde iş bitiyor. Örnek 2’nin açılımı >>>>> ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

B=0 mı? EVET. O halde obeb=a, yani obeb=24 Örnek 2’nin açılımı Function obeb (a,b), işlemdeki obeb (b,a mod b) yani (b,a). Dikkat!..... a=192, b=72 olduğunda b=0 mi, değil O halde obeb (72,192 mod 72), yani (72,48), obeb (a,b) olduğu için a=72, b=48 O halde obeb (48,72 mod 48), yani (48,24), obeb (a,b) olduğu için a=48, b=24 O halde obeb (24,48 mod 24), yani (24,0), obeb (a,b) olduğu için a=24, b=0 B=0 mı? EVET. O halde obeb=a, yani obeb=24 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

Örnek 3 Obeb (m,n) Burada da function kullanılıyor ama yazımı değişik! program obeb3; uses wincrt; var m,n,r : integer; function obeb (m, n: integer): integer; begin r := m mod n; if r = 0 then obeb := n else obeb := obeb(n, r) end; write ('İki sayı giriniz : '); read (m,n); write (m,' ve ',n,' sayılarında Obeb : ',obeb(m,n)) end. Obeb (m,n) M=75, n=35 ise R=m mod n=75 mod 35=5 R=0 değil Obeb (n,r) yani obeb (35,5) R=m mod n=35 mod 5=0 R=0 ?, Evet. O halde obeb=n=5 Burada da function kullanılıyor ama yazımı değişik! Obeb (n,r) ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

OBEB’e başka örnekler Program obeb4; uses wincrt; var m,n:integer; function gcd(m,n:integer):integer; var prev:integer; begin while m<>0 do prev:=m; m:=n mod m; n:=prev; end; gcd:=n writeln ('İki sayı giriniz : '); read (m,n); write (m,' ve ',n,' sayılarında Obeb : ',gcd(m,n)); end. Program obeb5; uses wincrt; var m,n,p,ebob:integer; function gcd(m,n:integer):integer; begin if n=0 then gcd:=abs(m) else gcd:=gcd(n,m mod n) end; writeln ('İki sayı giriniz : '); read (m,n); write (m,' ve ',n,' sayılarında Obeb : ',gcd(m,n)); end. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

EKOK hesabı algoritma ve programı program ekok; uses wincrt; var i,k,b:integer; Begin write('Küçük sayıyı giriniz :');readln(k); write('Büyük sayıyı giriniz :');readln(b); i:=b; repeat i:=i+1; until (i mod k=0) and (i mod b=0); writeln; writeln('En küçük ortak kat :',i); repeat until keypressed; End. Küçük ve büyük sayıları al. İ=büyük sayı, İ’yi birer artırarak yükselt. i mod k =0 ve i mod b=0 oluncaya kadar arttır. Her ikisi de tam bölünüyorsa ekok odur. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN

var m,n:integer; ekok:real; function gcd(m,n:integer):integer; Program obebekok; uses wincrt; var m,n:integer; ekok:real; function gcd(m,n:integer):integer; var prev: integer; begin while m<>0 do prev:=m; m:=n mod m; n:=prev; end; gcd:=n writeln ('İki sayı giriniz : '); read (m,n); writeln (m,' ve ',n,' sayılarında Obeb : ',gcd(m,n)); ekok:=(m/gcd(m,n))*n; write (m,' ve ',n,' sayılarında Ekok : ',ekok:8:0) end. ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Prof.Dr.Mustafa ERGÜN