Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama Pascal Su Dağıtım Programı


Su Dağıtım Programı

Pascal programlama dilinde yazılmış bu programda bir su tankeri 100 litre su ile doludur. Bidonlara bu tankerden su doldurulacaktır. Bidon kapasiteleri programa veri olarak girilecektir. Veri girme işlemini bitirmek için 0 gözcü değeri kullanılacaktır. İstekte bulunanların hangilerinin tankerden istedikleri suyun tamamını, hangilerinin bir kısmını ve hangilerinin hiç alamayacaklarını  gösterilmiştir.

Test İşlemi:
Girdi : 30 40 20 30 50 10 0
Sonuç:  3 bidon tamamen doldurulur. 2 bidon hiç doldurumaz.  4. bidonun 30 litreden 10 litresi doldurulur.

Program Kodu:

  1.  
  2.  
  3. uses crt;
  4. var
  5. bidon:array[1..100] of integer;
  6. dl:array[1..100] of integer;
  7. i,j,s,b,d,kalan:integer;
  8.  
  9. begin
  10. clrscr;
  11. writeln('Bidon kapasitelerini giriniz...:');
  12. s:=0;b:=0;d:=0;
  13.  
  14. repeat
  15. readln(b);s:=s+1; bidon[s]:=b;
  16. until b=0;
  17.  
  18. readln;
  19. for i:=1 to s-1 do
  20.  dl[i]:=0;
  21.  
  22. kalan:=100;
  23. for i:=1 to s-1 do
  24. begin
  25.  kalan:= kalan-bidon[i];
  26.  if kalan >= 0 then dl[i]:=2
  27.  else if kalan < 0 then begin kalan:= kalan + bidon[i]; i:=s-1;end;
  28.  
  29.  
  30. j:=0;
  31. if kalan<>0 then
  32. begin
  33. for i:=1 to s-1 do
  34. begin
  35. if j=0 then
  36.  if dl[i]<>2 then begin dl[i]:=1; j:=i;end;
  37.  
  38. for i:=1 to s-1 do
  39. if dl[i]=0 then b:=b+1
  40. else if dl[i]=2 then d:=d+1;
  41. writeln('');
  42. writeln(d, ' bidon tamamen doldurulur.');
  43. writeln(b, ' bidon hic doldurulmaz.');
  44. if kalan<>0 then
  45. writeln(j, '. bidonun ', bidon[j], ' litreden ', kalan, ' litresi doldurulur.');
  46. readln;
  47.  
  48.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Çarşamba, 01 Ağustos 2012 16:10 )