30 Aralık 2009 Çarşamba

24 Aralık 2009 Perşembe

Processing

www.reas.com

UCLA profesorlerinden biri olan Casey Reas'ın Processing kullanarak yaptığı çalışmalar

24 aralık sıralama

PROGRAM siralama;

USES crt;

VAR
Dizi1:ARRAY[1..5] of integer;
i,j, temp : integer;

BEGIN
clrscr;
WRITELN('5 adet tam sayi degeri giriniz');

for i := 1 to 5 do
READ(Dizi1[i]);


for j := 4 downto 1 do

begin

for i := 1 to j do
if(Dizi1[i] < Dizi1[i+1]) then
BEGIN
temp := Dizi1[i];
Dizi1[i] := Dizi1[i + 1];
Dizi1[i + 1]:= temp;
END;

end;



for i := 1 to 5 do
WRITE(Dizi1[i]:2,' ');
READLN;



READLN;
END.

17 Aralık 2009 Perşembe

17 Aralık- Dizinin Elemanlarının Ortalaması ve Sıralama

5 elemanlı bir dizinin elemanlarını gerçek sayı olarak klavyeden girelim.
Dizinin:
a) En buyuk elemanını;
b) En kucuk elemanını;
c) Elemanlarının ortalamsını ekrana yazdıran bir program yazalım.

d) Diznin elemanlarını buyukten kucuge dogru sıralayalım.

Ekrana carpi yazdirilmasi

program yildiz;
var i,j : integer;
begin
for i := 1 to 15 do
begin
for j := 1 to 15 do
begin
if (i = j) or (i + j = 16) then
write ('*') else write('-');
end;
writeln;
end;
readln;
end.

YILDIZ-4

aynı şeklin ayarlısı:

PROGRAM YILDIZ;
USES CRT;
VAR i, j, a :INTEGER;

BEGIN
CLRSCR;

WRITELN('KLAVYEDEN TEK BIR SAYI GIRINIZ');
READ(a);

FOR
i:=1 TO a DO
BEGIN
FOR j:=1 TO a DO
BEGIN
IF (j=(a+1)/2) OR (i=(a+1)/2) THEN
WRITE('*')
ELSE
WRITE('-');
END;
WRITELN();
END;

READLN;
READLN;
END.

YILDIZ-4

---*---
---*---
---*---
*******
---*---
---*---
---*---

İÇİN;


PROGRAM YILDIZ;USES CRT;VAR i, j :INTEGER;
BEGINCLRSCR;
FORi:=1 TO 7 DO
BEGIN
FOR j:=1 TO 7 DO
BEGIN
IF (j=4) OR (i=4) THEN
WRITE('*')
ELSE
WRITE('-');
END;
WRITELN();
END;

READLN;
END.

17.12.2009 Dizilerle ilgili ornekler

For döngüleri ve dizileri kullanarak aşağıdaki oruntuleri ekrana ve dosyaya yazdıralım.



----*
---**
--***
-****
*****


-****
-****
--***
---**
-----

----*----
---***---
--*****--
-*******-
*********


---*---
---*---
---*---
*******
---*---
---*---
---*---

********
*------*
*------*
*------*
*------*
*------*
********

a[]= { 4, 8, 3, 1, 18, 9, 21, 20, 5, 17}

****
********
***
*
******************
*********
*********************
********************
*****
*****************



1 2 3
4 5 6
7 8 9
10 11 12



1 1 1
2 2 2
3 3 3
4 4 4
5 5 5


1 2 3
1 2 3
1 2 3
1 2 3
1 2 3

10.12.2009-Dizideki Maksimum Sayıyı Bulma

PROGRAM MAKSIMUM;
TYPE SAYI= ARRAY[1..5] OF INTEGER;
VAR DIZI: SAYI;
i, max: INTEGER;

BEGIN


WRITELN('5 SAYI GIRINIZ.');
FOR i:= 1 TO 5 DO
READLN(DIZI[i]);

max:=DIZI[1];

FOR i:= 1 TO 5 DO
BEGIN
READLN(DIZI[i]);
IF DIZI[i] > max THEN
max := DIZI[i];
END;

WRITLN('EN BUYUK SAYI= ', max);

READLN;
END.

10 Aralık 2009 Perşembe

Mario'nun Pascal Hali

Mario Dosyasının Pascal Grafik komutları kullanarak oluşturulan görüntüsü

Dizilerle İlgili Çeşitli Görseller


Kunsthaus, Graz




Başka bir örnek...!

Diziler-Dosya OKuma-Yazdırma












gorsellerin uyarlandigi kaynak: http://www.abitare.it/events/grid-pattern-grid-pattern-grid-pattern/


veri1.txt
6 6

1 1 1 2 1 2
0 0 2 1 2 1
1 1 1 2 3 2
0 2 1 3 0 1
2 1 2 3 0 3
1 3 2 3 3 2

veri2.txt
3 3

1 2 3
3 2 1
2 1 3

Matrisle Tanım Tekniği ve Diziler



Yukaridaki gorsele iliskin yapilmasi beklenen şunlardır:
(a) renk farkliligi bilgisini iceren veri dosyasinin olusturulmasi;
(b) bu verilerin dosyadan okunarak, renklerin hangi oranlarda bulundugunun hesaplatilarak baska bir dosyaya yazdirilmasi.
Örnek:
Beyaz: % XXX oranında,
Kırmızı: % XXX oranında,
Turuncu : % XXX oranında,
Siyah: % XXX oranında kullanılmıştır.

6 Aralık 2009 Pazar

ÖDEV-3





veri dosyasinda yer alacak olan bolum:

23 5

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1


0.8 2.15 1.5 2.15 1.5 2.15 1.5 2.15 1.5 2.15 1.5 3 1.5 2.15 1.5 2.15 1.5 2.15 1.5 2.15 1.5 2.15 0.8

1.5 0.425 1.075 2.75 0.7

sonuc dosyasinda istenenler:
- duvarın opak kısmının (1 nolu bölgelerin) alanı
- duvarın saydamlık oranı ( boş alanların toplam alana oranı)
- duvardaki kapı ve pencere oranları

5 Aralık 2009 Cumartesi

Pascalda Dosyalama ,yazdırma-okutma,bir dosyadan digerine işlem yaparak aktarma.

Program ORNEK1;

uses crt;

var n1,n2:integer;
veri1:text;

begin

clrscr;

writeln('Program basladı');
assign(veri1,'D:/DATA.txt');
reset(veri1);
repeat
readln(veri1,n1);
writeln(n1);
until eof(veri1);{Until end of file=until eof=Kontrol amaçlı}
writeln('Program sonuclandı');
close(veri1);
readln;

end.

Program ORNEK2;

uses crt;
var n:integer;
sonuc1:text;
begin
clrscr;

writeln('Program basladı');
assign(sonuc1,'D:/cikti.son');
rewrite(sonuc1);
writeln(sonuc1,'Program basladi');
writeln('Program sonuclandı');
close(sonuc1);
writeln('Bir tusa basınız');
readln;

end.

Program ORNEK 3;

var n1,n2:integer;
sonuc1,veri1:text;
TOP,CARP:integer;
begin

writeln('Program basladı');
assign(veri1,'D:girdi.txt');
reset(veri1);
assign(sonuc1,'D:/cikti.abc');
rewrite(sonuc1);
readln(veri1,n1);
readln(veri1,n2);
TOP:=n1+n2;
CARP:=n1*n2;
writeln(sonuc1,' 2 sayinin toplam');
writeln(sonuc1,TOP:6);
writeln(sonuc1,' 2 sayinin carpim');
writeln(sonuc1,CARP:6);
close(sonuc1);
close(veri1);
writeln('Bir tusa basınız');
readln;

end.

Program ORNEK1;

uses crt;

var n1,n2:integer;

veri1:text;
begin

clrscr;

writeln('Program basladı');

assign(veri1,'D:/DATA.txt');

reset(veri1);

repeatreadln(veri1,n1);

writeln(n1);

until eof(veri1);

writeln('Program sonuclandı');

close(veri1);

readln;
end.

Program ORNEK2;

uses crt;

var n:integer;

sonuc1:text;
begin

clrscr;

writeln('Program basladı');

assign(sonuc1,'D:/cikti.son');

rewrite(sonuc1);

writeln(sonuc1,'Program basladi');

writeln('Program sonuclandı');

close(sonuc1);

writeln('Bir tusa basınız');

readln;
end.

Program ORNEK 3;

var n1,n2:integer;

sonuc1,veri1:text;
TOP,CARP:integer;

begin
writeln('Program basladı');

assign(veri1,'D:girdi.txt');

reset(veri1);

assign(sonuc1,'D:/cikti.abc');

rewrite(sonuc1);

readln(veri1,n1);

readln(veri1,n2);

TOP:=n1+n2;

CARP:=n1*n2;

writeln(sonuc1,' 2 sayinin toplam');

writeln(sonuc1,TOP:6);

writeln(sonuc1,' 2 sayinin carpim');

writeln(sonuc1,CARP:6);

close(sonuc1);

close(veri1);

writeln('Bir tusa basınız');

readln;
end.

3 Aralık 2009 Perşembe

Matris kullanarak tanımlanan bir planın Pascal'a okutulması ve sonuçlarının bir dosyaya yazdırılması

Girdi Dosyası (plan.txt)

6 6
1 1 1 1 1 1
1 2 2 1 3 3
1 2 2 1 1 1
1 2 2 1 1 6
1 1 1 5 1 6
1 4 1 1 1 1


0.2 4.5 0.2 2.0 1.2 2.0
0.2 0.5 0.2 2.0 1.2 7.0

____________________________________________

Pascal Kodu

program alan;
uses crt;
type kat=array[1..30,1..30] of integer;
dizi=array[1..30] of real;
var m:kat;
x,y:dizi;
i,j,is,js:integer;
t,top,t1,t2,t3,t4,t5,t6:real;
plan,cikti:Text;
begin
clrscr;
assign(plan,'z:plan.txt');
assign(cikti,'z:cikti.txt');
reset(plan);
rewrite(cikti);
read(plan,is,js);
writeln(cikti,'sonuclar');
write(cikti,'is ve js degerleri:');
write(cikti,is:2,js:2);
writeln(cikti);
writeln(cikti,'konutun plan duzeni:');
for i:= 1 to is do
begin
for j:= 1 to js do
begin
read(plan,m[i,j]);
write(cikti,m[i,j]);
end;
writeln(cikti);
end;
write(cikti,'x[j]:');
for j:=1 to js do
begin
read(plan,x[j]);
write(cikti,x[j]:6:1);
end;
writeln(cikti);
write(cikti,'y[i]:');
for i:=1 to is do

begin
read(plan,y[i]);
write(cikti,y[i]:6:1);
end;
writeln(cikti);
t1:=0;
t2:=0;
t3:=0;
t4:=0;
t5:=0;
t6:=0;
for i:=1 to is do
begin
for j:=1 to js do
begin
if m[i,j]<>0 then
t:=x[j]*y[i];
case m[i,j] of
1:t1:=t1+t;
2:t2:=t2+t;
3:t3:=t3+t;
4:t4:=t4+t;
5:t5:=t5+t;
6:t6:=t6+t;
end;
end;
end;
top:=t1+t2+t3+t4+t5+t6;
writeln(cikti,'duvar alani:',t1:6:2);
writeln(cikti,'sirkulasyon alani:',t2:6:2);
writeln(cikti,'yasama alani:',t3:6:2);
writeln(cikti,'banyo alani:',t4:6:2);
writeln(cikti,'yatak odasi alani:',t5:6:2);
writeln(cikti,'cocuk odasi alani:',t6:6:2);
writeln(cikti,'toplam alan:', top:6:2);
writeln('program sona erdi');
close(cikti);
close(plan);
readln;
end.

____________________________________________


Çıktı Dosyası (cikti.txt)

sonuclar
is ve js degerleri: 6 6
konutun plan duzeni:
111111
122133
122111
122116
111516
141111
x[j]: 1.0 1.0 1.0 1.0 1.0 1.0
y[i]: 0.2 4.5 0.2 2.0 1.2 2.0
duvar alani: 31.80
sirkulasyon alani: 13.40
yasama alani: 9.00
banyo alani: 2.00
yatak odasi alani: 1.20
cocuk odasi alani: 3.20
toplam alan: 60.60

25 Kasım 2009 Çarşamba

Ogrencilerin dersten gecme-kalma durumu ve not ortalamalari

program gectiKaldi;
var
durum: array [1..10] of real;ortalama, toplam : real;gec, kal, i,k : integer;
begin
gec := 0;
kal := 0;toplam:= 0;
writeln ( '10 tane ogrenci icin not durumunu yaziniz');{readln ( durum[1], durum[2], durum[3], durum[4]....)}
for i := 1 to 10 do
beginreadln ( durum [i]);
end;
for k := 1 to 10 dobegin
if durum [k] < 50 then
kal := kal+1
else
gec := gec +1;
toplam := toplam + durum [k];
end;
writeln ('gecenler :' , gec:6, ' kalanlar: ', kal :6);
ortalama := toplam / 10;
writeln ('ortalama= ', ortalama :3:2);
readln;
end.

Farkli dongu komutlari kullanilarak 1' den n' ye kadar olan sayilarin toplaminin ekrana yazdirilmasi

program DALLANMA;
VAR i, n: INTEGER;
Top : Real;
Cev: Char;
Label Basla, Devam, Son;
begin
Basla:
i:= 0;
Top :=0;
Write ('Hangi sayiya kadar hesaplanacak?');
Readln (n);
Devam:
i := i+1; top := top + i;
if i = n then goto Son;
goto devam;
Son:
Writeln('1 den', n, 'e kadar sayilarin toplami: ', top: 5:0, 'dir.');
Writeln ('Toplama islemine tekrar baslamak istiyor musunuz? E/H');
Readln (Cev);
if ( Cev = 'E') or (Cev ='e') then goto Basla;
readln;
end.

program DALLANMA;
VAR i, n: INTEGER;
Top : Real;
Cev: Char;
Begin
repeat
Write ('Hangi sayiya kadar hesaplanacak?');
Readln (n);
i:= 0;
Top :=0;
For i := 1 to n do
top := top + i;
Writeln('1 den', n, 'e kadar sayilarin toplami: ', top: 5:0, 'dir.');
Writeln ('Toplama islemine tekrar baslamak istiyor musunuz? E/H');
readln (Cev);
until (Cev = 'h') or (Cev = 'H');
readln;
end.

program DALLANMA;
VAR i, n: INTEGER;
Top : Real;
Cev: Char;
Begin
i:= 0;
Top :=0;
Write ('Hangi sayiya kadar hesaplanacak?');
Readln (n);
While i <= n do
begin
Top := Top + i;
i := i + 1;
end;
Writeln('1 den', n: 3, 'e kadar sayilarin toplami: ', Top: 5:0, 'dir.');
readln;
end.

18 Kasım 2009 Çarşamba

Yoğunluk Bulma Programı

/* Bu program yariçapı verilen daire şeklinde olduğu varsayılan bir şehrin
kilometrekareye düşen insan sayısını hesaplar. */
#include
using namespace std;

int main()
{
const double PI = 3.14;
double yaricap,yogunluk = 0;
int nufus = 0;
cout << "Yogunlugunu hesaplayacaginiz sehrin\n";
cout << "a- Yaricap degerini km cinsinden giriniz: ";
cin >> yaricap;
cout << "Insan sayisini yaziniz: ";
cin >> nufus;
yogunluk = PI * yaricap * yaricap / nufus;
cout << "Yogunluk degeri = ";
cout.precision(4);
cout << yogunluk;
cout << " km^2/kisi'dir \n";
return 0; // Return 0 to the OS
}

Öğrenci Ortalamaları Alan Program

/* Bu program klavyeden girilen bir sayı değeri kez çalışarak kullanıcıya öğrecilerin notlarını sorar. Eğer öğrenci 2.00 dan düşük aldıysa onu kalmış olarak kabul eder ve kaydını tutar. Programın sonunda öğrencilerin not ortalaması ve o dersten kalan öğrenci sayısı ekrana gönderilir.*/

#include<iostream>//Girdi-Çıktıları düzenleyen bir kütüphane olan iostream'i çağırır #include<iomanip>
usingnamespace std; // std namespace'ini çağırır böylelikle her seferinde std::cin demek yerine cin

int main()
{

int ogrenciSayisi = 0;
cout << "Lutfen ogrenci sayisini girin: ";
cin >> ogrenciSayisi;

double toplamNot = 0;

double ogrenciNot = 0;

int counter = 0;

int kalanOgrenciSayisi = 0;
counter = ogrenciSayisi;

while (counter > 0)
     {
cout << "Lutfen " << ogrenciSayisi - counter + 1 << ". ogrencinin notunu ";
cout << "giriniz: ";
cin >> ogrenciNot;
         while ((ogrenciNot > 4) || (ogrenciNot < 0)) // || isareti OR yerine geçer
{
     cout << "Yanlis not girdiniz, lutfen tekrar giriniz: ";
cin >> ogrenciNot;
}

if (ogrenciNot < 2.00)
kalanOgrenciSayisi = kalanOgrenciSayisi + 1;
toplamNot = toplamNot + ogrenciNot;
counter = counter - 1;
     }
cout << "Ogrencilerin ortalamasi: ";
cout << setiosflags(ios::fixed) << setprecision(2) << (toplamNot / ogrenciSayisi) <<"\n" ;
cout << "Kalanlarin Sayisi :" << kalanOgrenciSayisi <<"\n";

return
0;
}

 
 

C++’a Giriş

Merhabalar,

Derste yaptığımız birkaç örneğin C++ programlama dilinde nasıl yapılacağının örneklerini vereceğim. Ama önce birkaç ufak bilgilendirme vermek istedim. C++, Pascalda da kullanılan prosedürel programlamanın yanı sıra nesne tabanlı (object oriented) programlamaya da olanak verir. Günümüzde birçok program C++'da yazılmaktadır. C++'ın bu kadar yaygın olmasının nedeni hızlı ve popüler olmasıdır. C++ hakkında daha fazla bilgi için:

http://www.cplusplus.com/doc/tutorial/

http://www.learn-programming.za.net/programming_cpp_learn04.html

Aslında bakıldığı zaman C++un syntax'ı Pascal çok benzer, birçok anahtar kelime ve gramer ya aynıdır ya da pascal'a çok yakındır. Bunu örneklerden de anlayabilirsiniz. Ancak birkaç küçükte olsa farklılık vardır. Örneğin,

Pascalda

PROGRAM programİsmi

VAR değişkenler

BEGIN

    program

END şeklinde olan syntax

C++'da

int main() (programın ana metodu olduğunu gösterir, bunun dışında da metodlar yazılabilir)

{ (begin end anahtar kelimeleri yerine c++'da parantezler kullanılır)

    program

}

C++ kullanabilmek için bir compiler yüklenmesi gerekir. Bu iş için Dev C++ adlı program kullanılabilir aynı zamanda bir IDEdir

http://www.bloodshed.net/devcpp.html

Visual Studio, RAD Studio, NetBeans kullanılabilecek başka IDE'lerdir.

Kolay Gelsin.

14 Kasım 2009 Cumartesi

girilen sayilarin ortalamasinin alinmasi

program ortalama1;

uses

crt;


var

sayi : real;

ortalama: real;

toplam:real;

sayac:integer;

cevap:char;

begin

sayac:=1;

toplam:=0;

repeat

writeln('sayigirin');

readln(sayi);

sayac:=sayac+1;

toplam:=toplam+sayi;

writeln(' devam etmek icin entera basiniz // islemden cikmak icin h tusuna basiniz');

readln(cevap);

until cevap='h';

ortalama:= toplam/sayac;

writeln(sayac:5, 'adet sayi girdiniz');

writeln('ortalamaniz', ortalama:5:2);

readln;

end.


case kullanarak iki sayi arasinda 4 islem yaptirmak

program dortislem;

uses

crt;

label

islemadi;

var

i,j : integer;

a:char;

begin

clrscr;

repeat


writeln('sayigir -- cikmak icin q yazin');

readln(i);

writeln('sayigir -- cikmak icin q yazin');

readln(j);

islemadi:

writeln('islem adini girin (+,-,*,/)');

readln(a);


case a of

'+': writeln(i+j:15);

'-': writeln(i-j:15);

'*': writeln(i*j:15);

'/': writeln(i/j:15);


else

begin

writeln('yanlis islem girdiniz');

goto islemadi;

end

end


until a='q';

readln;


end.


500'den kucuk sayilari 5er artacak sekilde yazdirmak -- repeat until kullanarak

program repeatd;

uses

crt;


var

i : integer;


begin

i:=0;

repeat

begin

writeln(i:14);

i:=i+5

end;

until i>500;


readln;

end.


if dongusu - 500den kucuk sayilari 50'ye bölümünden kalan sıfır olcak şekilde yazdırmak

program ifdongusu;

uses

crt;


var

i : integer;


begin

i:=0;

while i<500 do

begin

if ((i mod 50)=0) then

writeln(i:15);

i:=i+5;

end;

readln;

end.


11 Kasım 2009 Çarşamba

12 KASIM DERSİ !!!

Arkadaşlar merhaba;
daha önce konuştuğumuz gibi 12 kasım/perşembe, mimarlıkta bilgisayar programlama dersi yapılmayacaktır... (sema alaçam aslan)

23 Ekim 2009 Cuma

UYGULAMA12-22EKİM

Klavyeden üç kenar uzunluğu verilen bir üçgenin çizilebilirlik kontrolü.

----------------------------------------------------------------------

program ucgensarti;
uses crt;
var a,b,c: real;

begin

clrscr;
writeln ('cizmek istediiniz ucgenin 3 uzunlugunu giriniz' :5);
readln (a,b,c);


if (a>=b+c) OR (a<=abs(b -c)) then
writeln ('bu ucgen cizilemez' :5)

else if (b>=a+c) OR (b<=abs(a-c)) then
writeln ('bu ucgen cizilemez' :5)

else if (c>=b+a) OR (c<=abs(b-a)) then
writeln ('bu ucgen cizilemez' :5)

else
writeln('mumkundur olabilir' :5);


readln;

end.

UYGULAMA11-22EKİM

klavyeden girilen 3 sayının (a,b,c) karşılaştırılması.
---------------------------------------------------------------------------

PROGRAM abcsirasi;
USES CRT;
VAR a, b, c: REAL;

BEGIN

CLRSCR;
WRITELN ('siralamak istediginiz a,b ve c sayilarini sirayla giriniz');
READLN (a,b,c);

if a>b then
begin
if a>c then

begin
if b>c then
writeln ('a>b>c')
else
writeln ('a>c>b')
end

else
writeln ('c>a>b')
end;


if b>a then
begin
if b>c then

begin
if a>c then
writeln ('b>a>c')
else
writeln ('b>c>a')
end

else
writeln ('c>b>a')
end;


READLN;

END.

UYGULAMA10-22EKİM

bir sayının "0"a göre durumu
if,else if, else uygulaması

-------------------------------------------------------------------------

program sayidurumu;
uses crt;
var a : real;

begin

CLRSCR;
writeln('bir sayi yaziniz' :5);
readln(a);

if a>0 then
writeln('pozitif bir sayi yazdiniz' :5)

else if a<0 then
writeln('negatif bir sayi yazdiniz' :5)

else
writeln ('0 yazdiniz' :5);

READLN;

end.

UYGULAMA-9 22 EKİM

Klavyeden sınıtaki öğrenci sayısı girilen bir sınıfın öğrencilerinin başarı durumlarının geçti(G)/kaldı(K) şeklinde girilmesi ve sınıfı kaç kişinin geçip kaç kişinin kaldığının ekrana yazdırılması.

----------------------------------------------------------------------------------

program basari;
var gecensayisi, kalansayisi, ogrencisayisi, i, j :integer;
basariDurumu: CHAR;

BEGIN

WRITELN ('ogrenci sayisini giriniz:');
READLN (ogrencisayisi);

gecensayisi :=0;
kalansayisi :=0;

for i:=1 to ogrencisayisi do
begin

writeln (i, 'ogrencilerin basari durumunu yaziniz (G/K):');
readln (basariDurumu);

if (basariDurumu = 'G') then
gecensayisi := gecensayisi + 1

else if (basariDurumu = 'g') then
gecensayisi := gecensayisi + 1

else if (basariDurumu = 'K') then
kalansayisi := kalansayisi+1

else if (basariDurumu = 'k') then
kalansayisi := kalansayisi+1

end;

writeln ('gecenlerin sayisi :' ,gecensayisi :8);
writeln ('kalanlarin sayisi :' ,kalansayisi :8);
writeln ('iyi tatiller');

READLN;

END.

UYGULAMA-8 22 EKİM

Klavyeden a, b, c degerleri girilen iki bilinmeyenli bir denklemin (ax2+bx+c = 0) x1 ve x2 koklerini hesaplayarak ekrana yazdıran bir program yazınız.

------------------------------------------------------------------

PROGRAM ciftdenk;USES CRT;
VAR a, b, c, x1, x2, D : REAL;

BEGIN
CLRSCR;
WRITELN ('ax2+bx+c=0 denklemi reel sayilar icin tanimlidir');
WRITELN ('denkleminizi saglayan x degerlerini bulmak icin');
WRITELN (' a degerini' :12);
WRITELN (' b degerini' :12);
WRITELN ('ve c degerini giriniz' :12);
READLN (a,b,c);

D := b*2 - 4*a*c;

if D > 0 then
begin
x1 := (-b-sqrt(D))/2*a;
x2 := (-b+sqrt(D))/2*a;
writeln ('birinci x degeri', x1:12:2);
writeln ('ikinci x degeri', x2:12:2);
end

else if D < 0 then
writeln ('gercel kokler yoktur' :12)

else
begin
x1 := -b/-2*a;
x2 := x1;
writeln ('birinci x degeri:', x1:12:2);
writeln ('ikinci x degeri:', x2:12:2);
end;

READLN;

END.

19 Ekim 2009 Pazartesi

UYGULAMA 7 -15 Ekim 2009

Klavyeden yaklasik olarak yaricap degeri ve insan sayisi verilen bir sehir icin,
yogunlugu hesaplarak ekrana yazdırılması...
---------------------------------------------------------------------------------

PROGRAM YOGUNLUK;

CONST PI: = 3.14;

VAR nufus, yogunluk, yaricap: REAL;

BEGIN

WRITELN('Yogunlugunu hesaplayacağınız şehrin: ');
WRITE('a- Yarıçap değerini km cinsinden giriniz: ');
READLN(yaricap);
WRITE('b- İnsan sayısını yazınız: ');
READLN(nufus);

yogunluk := PI * SQR(yaricap) / nufus;

WRITELN('Yoğunluk değeri = ', yogunluk:8:2, 'km2/kişi dir.');
WRITELN('Bir tuşa basınız...);

READLN;

END.

UYGULAMA 6 - 15 Ekim 2009

Asagidaki ifadelerin ekrana yazdırılması...
---------------------------------------------------------------------------------
a) (azalan X ler)
XXXXX
XXXX
XXX
XX
X

b) (- 'ler yazdirilmayacak)
-----XXXXX-*
-----XXXX--**
-----XXX---***
-----XX----****
-----X-----*****

-----X-----
----XXX----
---XXXXX---
--XXXXXXX--
-XXXXXXXXX-

c)
--------506
-------1263
----------0
---------26
--------123
---------16.62
-------3434.4343
------34234.4534535

UYGULAMA 5 - 15 Ekim 2009

Klavyeden girilen a,b ,h ölçülerindeki bir dikdortgenler
prizmasının:
a) ayrıt sayısının,
b) ayrıtların toplam uzunluğunun,
c) hacminin hesaplanarak ekrana yazdırılması...
---------------------------------------------------------------------------------

16 Ekim 2009 Cuma

UYGULAMA 4 - 08 Ekim 2009

Klavyeden yükseklik değeri girilen bir silindirin:
(a) Yanal alanının;
(b) Hacminin hesaplanarak ekrana yazdırılması...

---------------------------------------------------------------------------------
PROGRAM SILINDIR;

CONST PI = 3.14;

VAR r, h, yanalAlan, Hacim: REAL;


BEGIN

WRITE('Silindir için sırasıyla yarıçap ve yükseklik değerleri giriniz: ');
READLN(r, h);

yanalAlan := 2 * PI * r * h;
Hacim := PI * SQR(r) * h;

WRITELN('Silindirin yanal alanı = ', yanalAlan: 8:2,' m2 dir.');
WRITELN('Silindirin hacmi= ', Hacim: 8:2,' m3 tür.');
WRITELN('Bir tuşa basınız...');

READLN;

END.

UYGULAMA 3 - 08 Ekim 2009

Klavyeden girilen bir gerçek (real) sayının:
(a) Karesinin;
(b) Küpünün;
(c) Karekökünün ekrana yazdırılması...

---------------------------------------------------------------------------------
PROGRAM KAREKOK;

VAR a, aKare, aKup, aKok: REAL;


BEGIN

WRITE('Bir sayı giriniz: ');
READLN(a);

aKare := SQR(a);
aKup := SQR(a) * a;
aKok := SQRT(a);

WRITELN('Sayının Karesi = ', aKare: 8: 2);
WRITELN('Sayının Küpü = ', aKup: 8: 2);
WRITELN('Sayının Karekökü = ', aKok: 8: 2);
WRITELN('Bir tuşa basınız...');

READLN;

END.

UYGULAMA 2 - 08 Ekim 2009

Klavyeden girilen iki tam sayı değerinin :
(a) Toplamının;
(b) Çarpımının ekrana yazdırılması...

---------------------------------------------------------------------------------
PROGRAM TOPLAM;

VAR n1, n2, toplam, carpim: INTEGER;


BEGIN

WRITE('Bir sayı giriniz: ');
READLN(n1);
WRITE('Başka bir sayı giriniz: ');
READLN(n2);

toplam := n1 + n2;
carpim := n1 * n2;

WRITELN('Sayıların Toplamı = ', toplam: 8);
WRITELN('Sayıların Çarpımı = ', carpim: 8);
WRITELN('Bir tuşa basınız...');

READLN;

END.

UYGULAMA 1 - 01 Ekim 2009

Klavyeden yarıçap değeri girilen dairenin cevresinin ve alanın hesaplanıp ekrana yazdırılması...
---------------------------------------------------------------------------------
PROGRAM D_ALAN;

CONST PI = 3.14;

VAR ycap, cevre, alan: REAL;


BEGIN

WRITE('Yarıçap değerini giriniz: ');
READLN(ycap);

cevre := 2 * PI * ycap;
alan := PI * SQR (ycap);

WRITELN('cevre = ', cevre: 8: 2);
WRITELN('alan = ', alan: 8: 2);
WRITELN('Bir tuşa basınız...');

READLN;

END.