çi̇zelgeleme projesi̇

20
ÇİZELGELEME 3003080041 Hakkı ÖZTÜRK 3003080041 Burak İZCİ 3103080015 Anıl DEMİR 3103080014 Gizem ÇINAR

Upload: burak-izci

Post on 22-Jul-2015

585 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: çİzelgeleme projesi̇

ÇİZELGELEME

3003080041 Hakkı ÖZTÜRK

3003080041 Burak İZCİ

3103080015 Anıl DEMİR

3103080014 Gizem ÇINAR

Page 2: çİzelgeleme projesi̇

İÇİNDEKİLER: Problemin Tanımı………………………………………………………………………………3

Problemin Algoritması…………………………..………………………………………….4

Problemin Akış Şeması………………………………………………………………………6

Problemin C Kodu……………………………………………………………………………..8

Örnekler

a) Örnek 1…………………………………………………………………………………………….…...18

b) Örnek 2……………………………………………………………………………………….…………19

2

Page 3: çİzelgeleme projesi̇

ÇİZELGELEME:Teslim tarihi ve işlem süresi verilen N tane işi, seçimli

olarak ya en kısa işlem süresine göre ya da en yakın teslim tarihli işe göre sıralayarak, seçilen sıralama türüne göre oluşan toplam gecikmeyi hesaplayan bir C programı yazınız. Yapılması gerekenler aşağıda sıralanmıştır:1. Kullanıcıdan N sayısı istenecektir.2. Bu N işe ait işlem süreleri kullanıcıdan istenecektir.3. Her işe ait teslim süresi (1-5) arasında üretilen bir rastgele sayı ile

işlem süresinin çarpılması ile hesaplanacaktır. Örnek: işlem süresi 15 ise teslim süresi 15*4=60 olacaktır.

4. Kullanıcıya hangi kritere göre işlerin sıralanacağı sorulacaktır. Verilen cevaba göre işler sıralanacaktır.

5. İşler sıralandıktan sonra toplam gecikme (işin bitiş zamanı-teslimat süresi) hesaplanacaktır. Teslim tarihinden önce biten işlerde gecikme olmadığını unutmayın.

3

PROBLEMİN TANIMI

Page 4: çİzelgeleme projesi̇

PROBLEMİN ALGORİTMASI Adım 1: Programa başla. Adım 2: N sayısını iste. Adım 3: N sayısını oku. Adım 4: İşlem sürelerini iste. Adım 5: İşlem sürelerini oku. Adım 6: a[i] dizisine 1 ile 5 arasında rastgele sayı ata. Adım 7: Teslim süresi=işlem süresi*a[i] Adım 8: Teslim süresini yaz. Adım 9: Teslim süresinin ilk haline x i işlem süresinin ilk halini

normal işlem süresine ata. Adım 10: Seçime götür. Seçim 1 ise en kısa işlem süresine göre

sırala veya seçim 2 ise en kısa teslim süresine göre sırala. Değilseadım 1’e dön

Adım 11: Sıralamayı yazdır.

4

Page 5: çİzelgeleme projesi̇

5

Adım 12: Gecikme süresi=işlem süresi-normal işlem

Adım 13: Gecikme süresini yazdır.

Adım 14: Gecikme süresi >0 ise gecikmeleri toplat ve yazdır. Değilse adım 15’e geç.

Adım 15: Bitir.

Page 6: çİzelgeleme projesi̇

PROBLEMİN AKIŞ ŞEMASI

6

Page 7: çİzelgeleme projesi̇

7

Page 8: çİzelgeleme projesi̇

PROBLEMİN C KODU #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> main () { int n; srand(time(NULL)); printf("n sayisini giriniz:\n"); scanf("%d",&n); int

islemsuresi[n],teslimsuresi[n],a[n],i,j,secim,k,x[n],normalislem[n],gecikme[n],toplam=0;

8

Page 9: çİzelgeleme projesi̇

for(i=0;i<n;i++)

{

printf("%d.islem suresini giriniz:\n=",i+1);

scanf("%d",&islemsuresi[i]);

a[i]=1+rand()%5;

teslimsuresi[i]=0;

}

printf("teslim suresi:\n");

9

Page 10: çİzelgeleme projesi̇

for(i=0;i<n;i++) { gecikme[i]=0; x[i]=0; normalislem[i]=0; teslimsuresi[i]=a[i]*islemsuresi[i]; } for(i=0;i<n;i++) { printf("%d.urunun teslim suresi=\n",i+1); printf("%d\n",teslimsuresi[i]); }

10

Page 11: çİzelgeleme projesi̇

strcpy(x,teslimsuresi);

strcpy(normalislem,islemsuresi);

printf("***MENU***\n");

printf("[1] en kisa islem suresine gore\n");

printf("[2] en kisa teslim tarihine gore\n");

printf("seciminiz:\n");

scanf("%d",&secim);

switch(secim)

11

Page 12: çİzelgeleme projesi̇

{ case 1: for(i=0;i<=n;i++) { for (j=i+1;j<=n-1;j++) { if(islemsuresi[i]>islemsuresi[j]) { k=islemsuresi[i]; islemsuresi[i]=islemsuresi[j]; islemsuresi[j]=k; } } } for(i=0;i<n;i++) { printf("%d-",islemsuresi[i]); } break;

12

Page 13: çİzelgeleme projesi̇

case 2: for(i=0;i<=n;i++) { for (j=i+1;j<=n-1;j++) { if(teslimsuresi[i]>teslimsuresi[j]) { k=teslimsuresi[i]; teslimsuresi[i]=teslimsuresi[j]; teslimsuresi[j]=k; } } } for(i=0;i<n;i++) { printf("%d-",teslimsuresi[i]); } break;

13

Page 14: çİzelgeleme projesi̇

default:

printf("Yanlis secim. Tekrar deneyin!");

break;

}

14

Page 15: çİzelgeleme projesi̇

if(secim=1) { for(i=0;i<n;i++) { gecikme[i]=islemsuresi[i]-normalislem[i]; printf("\n"); printf("%d\n",gecikme[i]); if(gecikme[i]>0) { toplam+=gecikme[i]; } } }

15

Page 16: çİzelgeleme projesi̇

else { for(i=0;i<n;i++) { gecikme[i]=teslimsuresi[i]-x[i]; printf("%d\n",gecikme[i]); if(gecikme[i]>0) { toplam+=gecikme[i]; } } }

16

Page 17: çİzelgeleme projesi̇

printf("toplam gecikme=%d",toplam);

return 0;

}

17

Page 18: çİzelgeleme projesi̇

Örnek 1:

18

ÖRNEKLER

Page 19: çİzelgeleme projesi̇

Örnek 2:

19

Page 20: çİzelgeleme projesi̇

Bizi dinlediginiz için tesekkür ederiz …

20