Sınav Dağılım & IMKB Endeks

Benzer belgeler
D İ Z İ L E R A R R A Y S

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

YMT219 VERİ YAPILARI ÖDEV-1

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

11- FONKSİYONLAR (FUNCTIONS)

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BPR152-Algoritma ve Programlama II Uygulama -13

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

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

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

Final Sınavı Örnek Soruları Bahar 2018

Diziler (Arrays) Çok Boyutlu Diziler

MAT213 Bilgisayar Programlama I

JAVADA DİZİ İŞLEMLERİ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

Fonksiyonlar (Altprogram)

Balon & Banka Teslim tarihi: 17 Kasım 2008

Programlama Dilleri 3

Lambda İfadeleri (Lambda Expressions)

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

M.ilkucar MAKU MYO 1

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

BİL1001 Bilgisayar Bilimlerine Giriş 1

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

HSancak Nesne Tabanlı Programlama I Ders Notları

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

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

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

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

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

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı

Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

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

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Görsel Programlama 1

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Sınav tarihi : Süre : 60 dak.

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

Nesne Yönelimli Programlama

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

1 PROGRAMLAMAYA GİRİŞ

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

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

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

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

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

Alıştırma 1: Yineleme

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

İç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

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

Program akıģı sırasında belirtilen satır numaralı yere gitmek için kullanılır. Genel formu: [<satır numarası>] GOTO <satır numarası 1> GOTO n

Pascal Programlama Dili (2. hafta)

Nesne Tabanlı Programlama

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

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

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

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

Giri. Program yazmaya balamadan önce

C# Çalışma Örnekleri

Nesne Tabanlı Programlama

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

KUYRUKLAR. Doç. Dr. Aybars UĞUR

3.Hafta. . Kontrol Deyimleri/İfadeler

C++ Dersi: Nesne Tabanlı Programlama

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Final Sınavı Soruları Güz, Süre: 90 Dakika

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Dr. Fatih AY Tel: fatihay@fatihay.net

BPR152-Algoritma ve Programlama II Uygulama -12

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

MAT213 Bilgisayar Programlama I Dersi Dönem Sonu Sınavı ( )

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Final Sınavı Örnek Soruları Güz 2018 Süre: 90 Dakika

Kitaplik adlı Programın Turbo Pascal Kodları:

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

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

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

Dizi ( Array ) ve Dizgi ( String )

Transkript:

Sınav Dağılım & IMKB Endeks Ege Üniversitesi Bilgisayar Mühendisliği Veri Yapıları Proje-1 Hüseyin YAŞAR 05-06-7657 Didem KAYALI 05-06-7669 Umut BENZER 05-06-7670 Özlem GÜRSES 05-07-8496 Sürüm: 0.2

Bölüm 1: Sınav Dağılımı Genel Bilgi Proje yerleştirilmesi uygun sınıflar verilmesi halinde rastgele öğrenci isim ve numaraları üreterek bunları sınıflara yerleştirir. Proje kolaylık açısından fonksiyonlara parçalanmıştır. Her fonksiyonun algoritmaları pseudocode olarak verilmiştir. Ayrıca fonksiyonlarda birçok açıklama mevcuttur. Aşağıda fonksiyon listesini ve giriş/çıkış değerlerini tek bir bakışta görebilirsiniz. / function main Author: Hüseyin Yaşar / public static void main(string[] args) {} / function sirala Author: Didem Kayalı @param: Sıralanacak integer dizisi @return: Sıralanmış integer dizisi (büyükten küçüğe) Dizi referans olarak gönderileceğinden void döndürmesi yeterlidir. Asıl değişiklikler asıl diziye yansıtılır. / private void sirala(int[] sinifkapasite) {} / function dagilimbul Author: Hüseyin Yaşar @param: Sıralanmış sınıf kapasiteleri, öğrenci sayısı, boş sınıf mevcudu dizisi @return: Sınıflara kaçar kişi koyulacağının bilgisi / private void dagilimbul(int[] sinifkapasite, int ogrsayi, int sinifmevcut[]) {} / function dagit Author: Özlem Gürses @param: Sıralanmış sınıf kapasiteleri, içerilerine yerleştirilecek öğrenci sayısı @return: Ekrana çıktı / private void dagit(int[] sinifkapasite, int sinifmevcut[]) {} / function kacsinirkullanilacak Author: Hüseyin Yaşar @param: Öğrenci sayısı ve sınıf kapasiteleri @return: Öğrencilerin kaç sınıfa yerleştirileceği / private int kacsinifkullanilacak(int ogrsayi, int sinifkapasite[]) {} 2

Pseudocode main() kntrl=0; read str do{ top :=0 if kntrl=1 then write "Hatali giris" write "Yerlestirilecek ogrenci sayisini giriniz: " read ogrsayi if ogrsayi<100 or ogrsayi>200 then kntrl := 1 continue repeat for i:=0 to 5 write (i+1) write ". sinifin kapasitesini giriniz: " read sinifkapasite[i] if sinifkapasite[i]<0 then break top :=top + sinifkapasite[i] if top<ogrsayi then kntrl :=1 kntrl :=0 } while kntrl=1 Call sirala(sinifkapasite) Call dagilimbul(sinifkapasite, ogrsayi, sinifmevcut) Call dagit(sinifkapasite, sinifmevcut) dagilimbul(sinifkapasite[], ogrsayi, sinifmevcut[]) kapasitelertoplami := 0 a := kacsinifkullanilacak(ogrsayi,sinifkapasite) kusuratlartoplami := 0 repeat for i := 0 to a kapasitelertoplami := kapasitelertoplami + sinifkapasite[i] repeat for j :=0 to <a sinifmevcutondalikli[j] := sinifkapasite[j](ogrsayi/kapasitelertoplami) sinifmevcut[j] := (int)sinifmevcutondalikli[j] kusuratlartoplami := kusuratlartoplami + sinifmevcutondalikli[j] sinifmevcut[j] if kusuratlartoplami>0 then repeat for i=0 to a sinifmevcut[i] := sinifmevcut[i] + 1 3

kusuratlartoplami := kusuratlartoplami - 1 if kusuratlartoplami<=0 then break / Son kısım küsüratların toplamı olan tamsayıyı soldan sağa birer birer bitene kadar dağıtır. Küsüratlar toplamı daima tamsayı gelmesi gereken bir sayıdır, örneğin 0.2 ve 0.8 gibi artanlar olur, bunların toplamı daima tamsayıdır, ama bazen bölümlerde 0.19999999 ve 0.7999999999 gibi sayılar gelebilir, bunların toplamları 0.999999 gibi sayılardır, dolayısıyla 1 eksildiği zaman 0'ın altına düşer, bu yüzden if satırında küçüktür kusuratlartoplami<=0 ibaresi kullanılmıştır. / kacsinifkullanilacak(ogrsayi, sinifkapasite[]) kapasitelertoplami := 0 kullanilacaksinifsayisi := 0 Repeat for i := 0 to 4 kapasitelertoplami := kapasitelertoplami + sinifkapasite[i] kullanilacaksinifsayisi := kullanilacaksinifsayisi + 1 if kapasitelertoplami>=ogrsayi then break return kullanilacaksinifsayisi sirala(sinifkapasite[]) repeat for i:=0 to length(sinifkapasite)-1 repeat for j=i+1 to length(sinifkapasite) if sinifkapasite[j]>sinifkapasite[i] then tmp := sinifkapasite[j] sinifkapasite[j] := sinifkapasite[i] sinifkapasite[i] := tmp dagit(sinifkapasite[],sinifmevcut[]) ad[13]={umut,didem,özlem,hüseyin,hülya,banu,ajdar,ayşe,mehmet,hüsnü,canan,metin,okşan} soyad[13]={benzer,kayalı,gürses,yaşar,avşar,alkan,anık,sert,andıç,yılmaz,şahin,kur t,çelik,boya,hüyük,güler,sever,ceylan} eklead[4] = {can,gül,nur,su} eklesoyad[3] = {oğlu,gil,öz} repeat for i=0 to sinifkapasite.length-1 if sinifkapasite[i]=0 write(i+1,. sınıf boş sınıftır. ) if sinifmevcut[i]=0 write(sinifkapasite[i], kişilik sınıfa öğrenci yerleştirilmemiştir. ) ort = 100 sinifmevcut[i] / sinifkapasite[i] write(sinifkapasite[i], kişilik sınıfa,sinifmevcut[i], kişi yerleştirildi.sınıfın doluluk oranı: ort, %dır. ) repeat for k=0 to sinifmevcut[i] 4

yeniisim = ad[(int) (Math.random() ad.length)].concat(eklead[(int) (Math.random() eklead.length)]) yenisoyisim = soyad[(int) (Math.random() soyad.length)].concat(eklesoyad[(int) (Math.random() eklesoyad.length)]) yil=(int) (Math.random() 8) write((k+1),. 05-0,yil, -,(int) (Math.random() 9),(int) (Math.random() 9),(int) (Math.random() 9),(int) (Math.random() 9),yeniIsim,yeniSoyisim) end if 5

Bölüm 2: IMKB Endeksi Genel Bilgi Proje sinüs fonksiyonu ve çeşitli parçalı fonksiyonlar ile üretilen rastgele endeks değerlerini kullanarak bir yıla ait endeks değerlerinin değişim oranlarını, ortalamalarını ve en yüksek/düşük endeks değerlerini hesaplayarak ekrana yazdırır. Proje kolaylık açısından fonksiyonlara parçalanmıştır. Her fonksiyonun algoritmaları pseudocode olarak verilmiştir. Ayrıca fonksiyonlarda birçok açıklama mevcuttur. Aşağıda fonksiyon listesini ve giriş/çıkış değerlerini tek bir bakışta görebilirsiniz. / function main Author: Umut Benzer / public static void main(string[] args) {} / function hangigun Author: Didem Kayalı @param: Seans numarası @return: Ayın bir günü (1-31) Seansın ayın hangi gününe ait olduğunu döndürür. / private static int hangigun(int seansno) {} / function hangiay Author: Didem Kayalı @param: Seans numarası @return: Yılın bir ayı (1-12) Seansın ayın hangi aya ait olduğunu döndürür. / private static int hangiay(int seansno) {} / function degisimorani Author: Didem Kayalı @param: İlk seansın değeri @param: İkinci seansın değeri @return: Seanslar arası değişim oranı Seanslar arasındaki değişim oranını % cinsinden döndürür. / private static float degisimorani(float ilkyuzde, float sonyuzde) {} / function tatilmi Author: Özlem Gürses @param: Seans numarası @return: Seansın olması gerektiği günün tatil olup olmadığı / private static boolean tatilmi(int no) {} / function deger Author: Hüseyin Yaşar @param: Seans numarası @return: Eğer seans tatil gününe denk gelmiyorsa rastgele bir seans değeri üretir. Tatil günleri için -1 döndürür. / private static float deger(int seansno) {} private static float randomfonksiyon(int x) {} private static float parcalifonksiyon(int a) {} 6

Pseudocode main Ay = 1 IMKB Değerleri Toplamı = 0 IMKB Değerleri Sayısı = 0 Bir Önceki Ayın Son Seansının IMKB Değeri = deger(0) Bir Önceki Seansın Değeri = deger(0) Bir Önceki Seansın Numarası = 0 En Yüksek Değerler = { -1, -1, -1 }; En Yüksek Değerlerin Seans Numaraları = { -1, -1, -1 }; En Düşük Değerler = { -1, -1, -1 }; En Düşük Değerlerin Seans Numaraları = { -1, -1, -1 }; for sayac = 1 to sayac = 730 if (deger(sayac)!= -1) / Eğer tatil gününe denk gelmediysek / / Değişim oranını ilgili fonksiyonda hesapla ve ekrana yazdır. / print degisimorani(bir Önceki Seansın Değeri, deger(sayac)) Bir Önceki Seansın Değeri = deger(sayac) Bir Önceki Seansın Numarası = sayac IMKB Değerleri Toplamı += deger(sayac); IMKB Değerleri Sayısı++; if En Düşük Değerler Listesi Boşsa ya da deger(sayac) En Düşük Değerler Listesindeki elemanlardan daha düşük bir değere sahipse deger(sayac) kendisinden büyük ilk elemanla kendisinden küçük ilk eleman arasına geçer, listenin en büyük elemanı listeden silinir. En düşük değerler seans numarasının uygun yerine sayac değeri yazılır. if En Yüksek Değerler Listesi Boşsa ya da deger(sayac) En Yüksek Değerler Listesindeki elemanlardan daha yüksek bir değere sahipse deger(sayac) kendisinden küçük ilk elemanla kendisinden büyük ilk eleman arasına geçer, listenin en küçük elemanı listeden silinir. En büyük değerler seans numarasının uygun yerine sayac değeri yazılır. if (hangiay(sayac + 1)!= ay) / Ay sonu / / Ay için endeks ortalaması ve değişim oranı / print IMKB Değerleri Toplamı / IMKB Değerleri Sayısı print degisimorani Bir Önceki Ayın Son Seansının IMKB Değeri, deger(sayac)) endfor Bir Önceki Ayın Son Seansının IMKB Değeri = deger(sayac); IMKB Değerleri Toplamı = 0 IMKB Değerleri Sayısı = 0 Ay++; En Düşük Seans ve En Yüksek Seans bilgileri kullanılarak en yüksek ve en düşük seans bilgileri ekrana yazdırılır. 7

deger (seansno) if seansno is tatil then return -1 IMKBdegeri = 30000 + 20000 randomfonksiyon(seansno) return IMKBdegeri randomfonksiyon (x) y = sin(x) + 1 y = y + sin(x/2) + 1 y = y + parcalifonksiyon(x) y = y / 4 return y; / Yukarıda y değerinin randomlaşması aşama aşama gösterilmiştir, kodlamada hepsi tek satırda yazılabilir. / parçalıfonksiyon (x) if 0<=x and x<70 then y:=0 if 70<=x and x<315 then y:=-x/180+1 if 315<=x and x<450 then y:=1 if 450<=x and x<720 then y=x/360+2 if 720<=x then y=0 write "Random hatası" y:=-1 return y; tatilmi(no) yil[12]={0,31,28,31,30,31,30,31,31,30,31,30,31} ay<--hangiay(no) gun<--0 Repeat for i<--0 to ay gun<--gun+yil[i] End Repeat gun<--gun+hangigun(no) if (gun mod 7 = 0) OR (gun mod 7 =6) then return true return false 8

hangiay(seansno) if (seansno>=1) AND (seansno<=62) 1 döndür if (seansno>=63) AND (seansno<=118) 2 döndür if (seansno>=119) AND (seansno<=180) 3 döndür if (seansno>=181) AND (seansno<=240) 4 döndür if (seansno>=241) AND (seansno<=302) 5 döndür if (seansno>=303) AND (seansno<=362) 6 döndür if (seansno>=363) AND (seansno<=424) 7 döndür if (seansno>=425) AND (seansno<=486) 8 döndür if (seansno>=487) AND (seansno<=546) 9 döndür if (seansno>=547) AND (seansno<=608) 10 döndür if (seansno>=609) AND (seansno<=668) 11 döndür if (seansno>=669) AND (seansno<=730) 12 döndür -1 döndür / Her gün için iki seans bulunduğundan 730 seans numarası vardır. Fonksiyon seans numarasını alarak yılın hangi ayı içerisinde olduğunu döndürür. / degisimorani(ilk değer, son değer) (100 (sonyuzde - ilkyuzde)) / ilkyuzde değerini döndür hangigun(seansno) int kalan = seansno( mod) 2 if ((seansno >= 1) AND (seansno <= 62)) ((seansno / 2) + 1) döndür (seansno / 2) döndür if ((seansno >= 63) AND (seansno <= 118)) (((seansno - 62) / 2) + 1) döndür ((seansno - 62) / 2) döndür if ((seansno >= 119) AND (seansno <= 180)) (((seansno - 118) / 2) + 1) döndür ((seansno - 118) / 2) döndür if ((seansno >= 181) AND (seansno <= 240)) 9

(((seansno - 180) / 2) + 1) döndür ((seansno - 180) / 2) döndür if ((seansno >= 241) AND (seansno <= 302)) (((seansno - 240) / 2) + 1) döndür ((seansno - 240) / 2) döndür if ((seansno >= 303) AND (seansno <= 362)) (((seansno - 302) / 2) + 1) döndür ((seansno - 302) / 2) döndür if ((seansno >= 363) AND (seansno <= 424)) (((seansno - 362) / 2) + 1) döndür ((seansno - 362) / 2) döndür if ((seansno >= 425) AND (seansno <= 486)) (((seansno - 424) / 2) + 1) döndür ((seansno - 424) / 2) döndür if ((seansno >= 487) AND (seansno <= 546)) (((seansno - 486) / 2) + 1) döndür ((seansno - 486) / 2) döndür if ((seansno >= 547) AND (seansno <= 608)) (((seansno - 546) / 2) + 1) döndür ((seansno - 546) / 2) döndür if ((seansno >= 609) AND (seansno <= 668)) (((seansno - 608) / 2) + 1) döndür ((seansno - 608) / 2) döndür if ((seansno >= 669) AND (seansno <= 730)) (((seansno - 668) / 2) + 1) döndür ((seansno - 668) / 2) döndür -1 döndür 10