1-Dışardan girilen bir cümle’nin içindeki boşlukların sayısını bulan program
program bossayisi;
uses crt;
var
kelime tring;
uzunluk,i,bossayi:integer;
begin
clrscr;
write('Kelimeyi giriniz :');
readln(kelime);
uzunluk:=length(kelime);
for i:=1 to uzunluk do
if (kelime=' ')or(kelime=' ') then
bossayi:=bossayi+1;
write('Kelimedeki bos harfi adedi :',bossayi);
readkey;
end.
2-Dışardan girilen bir metnin içindeki kelimelerin ilk harflerini ekrana yazdıran programı yazınız ?
Uses crt;
Var
yazi:string;
Begin
clrscr;
write('Yazıyı girin = ');read(yazi);
Procedure ilkharf;
begin
clrscr;
writeln('Girilen yazının ilk harfi = ',copy(yazi,0,1));
end;
ilkharf;
readln(yazi);
end.
3-Dışardan girilen bir metni tersten büyüterek yazdıran programı yazınız ?
Uses crt;
Var
Ad:string; s,adet:byte;
Begin
Clrscr;
Write(‘adınızı giriniz’);
Readln(Ad);
Adet:=length(Ad);
For s:=adet downto 1 do
Write (Ad[s]);
Readln;
End.
4-Bilgisayarda bir tahmin oyunu yazılacaktır.Oyun şöyledir bilgisayar rastgele bir sayı üretecek kullanıcı bu üretilen sayıyı bilmeye çalışacak.Kullanıcı kendi tahminlerinin girdikçe bilgisayar kullanıcıyı ‘küçük sayı girdiniz’,’büyük sayı girdiniz’,’Bildiniz’ şeklinde uyaracak.Sonuçta kullanıcı sayıyı kaç tahminde bilmişse ekrana yazılacak.
uses crt;
hak,tah,max,t,x:integer;
x:integer;
begin
clrscr;
write^('hak sayısını giriniz:');readln(hak);
write('maximum sınırı giriniz:');readln(max);
randomize;
t:=random(max);
for x:=1 to hak do begin
write(x,'.sayıyı giriniz:');readln(tah);
if t=tah then begin write('kazandınız...');readln;halt;end;
if t>tah then write('daha büyük sayı giriniz:');
if t<tah then write('daha küçük sayı giriniz:');
end;
readln;
end.
Arkadaşlar programı yaptım ama test etmeye fırsatım olmadı çünkü delphi programı yok sizce doğrumu arkadaşlar ?
Yardım edin arkadaşlar ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Yardım edin arkadaşlar ?
lazarus kurup test edebilirsiniz.
Re: Yardım edin arkadaşlar ?
s.a.
öncelikle sorunun başlığını düzenlersen sevinirim.
delphin olsada olmaz.bunlar delphi değil pascal kodları.
kolay gelsin.
öncelikle sorunun başlığını düzenlersen sevinirim.
delphin olsada olmaz.bunlar delphi değil pascal kodları.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Yardım edin arkadaşlar ?
Delphi, pascalın üzerine kurulmuş bir dildir. Projeyi VCL Application değil de Console Application olarak açarsanız kodları çalıştırabilirsiniz... Benzer durum C kodlarını C++ Builder üzerinde koşmak için de geçerlidir...
Hızlıca göz gezdirdiğim kadarıyla:
* Boş sayısı bulma programı çalışacaktır. Yalnız "if (kelime=' ')or(kelime=' ') then" if içerisinde aynı durumu neden kontrol ettiriyorsunuz ki? "if kelime=' ' then yeterli olacaktır. Ve bir de sayicini sıfırlaman lazım başta ( bossayi:=0; ). Rastgele bir sonuç çıkabilir... Ayrıca Pos fonksiyonu ile daha hızlı çalışacak bir mantık kurulabilir. Pos içeriğini incelemedim ( şu an ona bakmak için ide yi açıyorum ) ama tüm string i teker teker gezmekten daha hızlı bir sonuç üreteceğini düşünüyorum.
* Kelimelerin ilk harflerini bulan programda bazı hatalarınız var, hem yazım olarak hem de mantık olarak. Öncelikle ilkharf prosedürünüzü ana programın begin-end bloğu içinden dışarı alın... İkincil olarak da ilk harf kodunuzu düzeltmeniz gerekli, cümlenin ilk harfini bulur sadece, cümle içindeki tüm kelimelerin ilk harflerini değil. Bunun için bir önceki programınızdaki boşluk bulma olayından faydalanabilirsiniz.
* Tersten yazdırma programınızda da ufak bir ekleme yapabilirsiniz. Evet tersten yazdırıyor ama karakterleri büyük harfe çevirmiyor. Write(Uppercase(Ad[s])); olarak düzenleyebilirsiniz ya da karakterlerin ASCII kodlarından faydalanabilirsiniz. a-z arası 97-122, A-Z arasının da 65-90 olduğundan faydalanabilirsiniz. Farkındaysanız bir karakterin küçük ile büyük hali arasında 32 kadar bir fark var
Bu durumu koda yansıtabilirsiniz.
if ((Ord(Ad[s]=>97) and (Ord(Ad[s]<=122)) then Ad[s]:=Chr(Ord(Ad[s])-32); gibi... Büyükten küçüğe çevirme durumunda ise şartları ters çevirip düzenleyin işte..
* Son sorunuzda, sayı bulmaca, bir mantık hatası daha var. Siz hakları sınırlıyorsunuz, hakları sınırlamayın. İstenen kaç adet tahminde bulunulduğu zaten
Sonlanma şartınızı "hakkınız doldu" olarak değil "sayınız bulundu" olarak düzenleyin
Sade bir repeat-until ile bunu gerçekleyebilirsiniz...
Hızlıca göz gezdirdiğim kadarıyla:
* Boş sayısı bulma programı çalışacaktır. Yalnız "if (kelime=' ')or(kelime=' ') then" if içerisinde aynı durumu neden kontrol ettiriyorsunuz ki? "if kelime=' ' then yeterli olacaktır. Ve bir de sayicini sıfırlaman lazım başta ( bossayi:=0; ). Rastgele bir sonuç çıkabilir... Ayrıca Pos fonksiyonu ile daha hızlı çalışacak bir mantık kurulabilir. Pos içeriğini incelemedim ( şu an ona bakmak için ide yi açıyorum ) ama tüm string i teker teker gezmekten daha hızlı bir sonuç üreteceğini düşünüyorum.
* Kelimelerin ilk harflerini bulan programda bazı hatalarınız var, hem yazım olarak hem de mantık olarak. Öncelikle ilkharf prosedürünüzü ana programın begin-end bloğu içinden dışarı alın... İkincil olarak da ilk harf kodunuzu düzeltmeniz gerekli, cümlenin ilk harfini bulur sadece, cümle içindeki tüm kelimelerin ilk harflerini değil. Bunun için bir önceki programınızdaki boşluk bulma olayından faydalanabilirsiniz.
* Tersten yazdırma programınızda da ufak bir ekleme yapabilirsiniz. Evet tersten yazdırıyor ama karakterleri büyük harfe çevirmiyor. Write(Uppercase(Ad[s])); olarak düzenleyebilirsiniz ya da karakterlerin ASCII kodlarından faydalanabilirsiniz. a-z arası 97-122, A-Z arasının da 65-90 olduğundan faydalanabilirsiniz. Farkındaysanız bir karakterin küçük ile büyük hali arasında 32 kadar bir fark var

if ((Ord(Ad[s]=>97) and (Ord(Ad[s]<=122)) then Ad[s]:=Chr(Ord(Ad[s])-32); gibi... Büyükten küçüğe çevirme durumunda ise şartları ters çevirip düzenleyin işte..

* Son sorunuzda, sayı bulmaca, bir mantık hatası daha var. Siz hakları sınırlıyorsunuz, hakları sınırlamayın. İstenen kaç adet tahminde bulunulduğu zaten

