18 Kasım 2007 Pazar

Pascal Alıştırmaları

Eveet.. Gene bir gecenin köründe burdayım. Pascal demiştik sorular demiştik, cevapları vercez demiştik.Buyrun hadi:
1-2 ve 3 basamaklı armstrong sayılarını bulan program (153=1^3+5^3+3^3).
2-Goldbach varsayımını girilen sayılar için test et. 2den büyük her çift sayı 2 asal sayının toplamı şeklinde yazılabilir. 4=1+3 gibi..
3-bu formulden yararlanarak piyi hesapla.









Gelelim cevaplara:
1-program armstrongnaber;
uses crt;
vari,a,b,c,kup,kare,sayi:integer;
begin clrscr;
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do begin
sayi:=100*a+10*b+1*c;
kup:=a*a*a+b*b*b+c*c*c;
if sayi=kup then writeln(sayi);end;
for a:=1 to 9 do

for b:=0 to 9 do begin
sayi:=10*a+1*b;
kare:=a*a+b*b;
if sayi=kare then
writeln(sayi);end;
readln;end.




2-program goldbach;
uses crt;
var i, j, k, l, m, n: integer;
begin

write( '2''den buyuk cift bir sayi giriniz: ' ); readln( i );
for j:=1 to i do begin n:=1;
for l:=2 to j-1 do
if (j mod l)=0 then n:=0;
if n=1 then begin
k:=i-j; m:=1;
for l:=2 to k-1 do
if (k mod l)=0 then m:=0; end;
if (n=1) and (m=1) then begin
writeln( 'Girilen sayi Goldbach sayisidir.' );
j:=i+1;
end; end;
readln;end.


3-program pi;
uses crt;
var k, m, n: integer; i, j, p: real;
begin
i:=0; j:=0;
for k:=1 to 100 do begin n:=1;
for m:=1 to k do n:=n*m; i:=i+(1/n); end;
for k:=1 to 100 do j:=j+(1/(k*k*k*k));
p:=0.5*(sqrt(6*i)+sqrt(sqrt(90*j)));
writeln( 'Pi sayisi = ', p );
readln;end.

Hiç yorum yok: