Bài tập PasCal

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn: Sưu tầm & Biên soạn
Người gửi: Hoàng Đức Hà
Ngày gửi: 00h:24' 14-03-2008
Dung lượng: 279.5 KB
Số lượt tải: 116
Nguồn: Sưu tầm & Biên soạn
Người gửi: Hoàng Đức Hà
Ngày gửi: 00h:24' 14-03-2008
Dung lượng: 279.5 KB
Số lượt tải: 116
Số lượt thích:
0 người
Bµi tËp ch¬ng 1
Sö dông c©u lÖnh If……then……..Else:
Bµi 1:
NhËp 3 sè a , b , c bÊt k× . H·y kiÓm tra xem ba sè ®ã cã thÓ lµ ®é dµi ba c¹nh cña mét tam gi¸c hay kh«ng ? Th«ng b¸o lªn mµn h×nh ‘ Tháa m·n ‘, ‘ Kh«ng tháa m·n trong tõng trêng hîp t¬ng øng .
Bµi gi¶i:
Var
a , b , c : Real ;
BEGIN
Writeln (` Nhap do dai 3 canh cua tam giac : `) ;
Write (` a = `) ; Readln ( a ) ;
Write (` b = `) ; Readln ( b ) ;
Write (` c = `) ; Readln ( c ) ;
If ( a + b > c ) and ( b + c > a ) and ( c + a > b )
and ( a > 0 ) and ( b > 0 ) and ( c > 0 ) Then
Writeln (` Thoa man : Day la 3 canh cua mot tam giac `)
Else
Writeln (` Khong thoa man ! `) ;
Readln ;
END .
Bµi 2 :
NhËp N sè bÊt k× .
§Õm c¸c sè lín h¬n 10 vµ nhá h¬n 20 vµ tÝnh tæng cña chóng . Sau ®ã , ®a ra mµn h×nh :
So cac so >10 vµ <20 la : ( gia tri )
Tong cua chung la : ( gia tri )
Bµi gi¶i:
Var
Tong , So : Real ;
I , N , Dem : Integer ;
BEGIN
Write (` Bao nhieu so : `) ; Readln ( N ) ;
Tong := 0 ; Dem := 0 ;
For I := 1 To N Do
Begin
Write (` So = `) ; Readln ( So ) ;
If ( So > 10 ) and ( So < 20 ) Then
Begin
Tong := Tong + So ;
Dem := Dem + 1 ;
End ;
End ;
Writeln (` So cac so >10 va <20 la : `, Dem ) ;
Writeln (` Tong cua chung la :`, Tong ) ;
Readln ;
END .
Bµi 3 :
NhËp bèn sè a , b , c , d . H·y t×m gi¸ trÞ lín nhÊt cña chóng vµ g¸n gi¸ trÞ lín nhÊt ®ã cho biÕn Max .
Bµi gi¶i:
Var
Max , a , b , c , d : Real ;
BEGIN
Writeln (` Nhap gia tri cua 4 so : `) ;
Write (` a = `) ; Readln ( a ) ;
Write (` b = `) ; Readln ( b ) ;
Write (` c = `) ; Readln ( c ) ;
Write (` d = `) ; Readln ( d ) ;
Max := a ;
If Max < b Then Max := b ;
If Max < c Then Max := c ;
If Max < d Then Max := d ;
Writeln (` Gia tri lon nhat la : `, Max ) ;
Readln ;
END .
Bµi 4 :
§äc ngµy th¸ng n¨m , sau ®ã viÕt ra mµn h×nh ®ã lµ ngµy thø mÊy trong tuÇn .
Bµi gi¶i:
Var
Thu , Ngay , Thang : Byte ;
Nam : Integer ;
BEGIN
Write (` Doc Ngay Thang Nam : `) ;
Readln ( Ngay , Thang , Nam ) ;
Nam := 1900 + ( Nam mod 1900 ) ;
If Thang < 3 Then
Begin
Thang := Thang + 12 ;
Nam := Nam - 1 ;
End ;
Thu := Abs ( Ngay + Thang * 2 + ( Thang + 1 ) * 3
div 5 + Nam + Nam div 4 ) mod 7 ;
Case Thu Of
0 : Writeln (` Chu Nhat `) ;
1 : Writeln (` Thu Hai `) ;
2 : Writeln (` Thu Ba `) ;
3 : Writeln (` Thu Tu `) ;
4 : Writeln (` Thu Nam `) ;
5 : Writeln (` Thu Sau `) ;
6 : Writeln (` Thu Bay `) ;
End ;
Readln ;
END .
Bµi 5 :
ViÕt ch¬ng tr×nh :
Nh©p sè b¸o danh
NhËp ®iÓm v¨n , to¸n , ngo¹i ng÷
In ra mµn h×nh díi d¹ng :
_ PhiÕu ®iÓm :
_ Sè b¸o danh :
_ §iÓm v¨n :
_ §iÓm to¸n :
_ §iÓm ngo¹i ng÷ :
_ Tæng sè ®iÓm :
B¹n ®· tróng tuyÓn ( hoÆc B¹n ®· kh«ng tróng tuyÓn ) víi ®iÒu kiÖn Tæng sè ®iÓm >= 15 hay ngîc l¹i .
Bµi gi¶i:
Uses Crt ;
Var SBD : Integer;
Van , Toan , Ngoaingu , Tongdiem : Real ;
BEGIN
Clrscr ;
Write (` So bao danh : `) ; Readln( SBD ) ;
Write (` Diem toan : `) ; Readln( Toan ) ;
Write (` Diem ngoai ngu : `) ; Readln( Ngoaingu ) ;
Write (` Diem van : `) ; Readln ( Van ) ;
Tongdiem := Toan + Van + Ngoaingu ;
Clrscr ;
Writeln (` Phieu Bao Diem `) ;
Writeln (` So bao danh : `, SBD ) ;
Writeln (` Diem van : `, Van ) ;
Writeln (` Diem toan : `, Toan ) ;
Writeln (` Diem ngoai ngu : `, Ngoaingu) ;
Writeln (` Tong diem : `, Tongdiem) ;
If Tongdiem >= 15 Then
Writeln(` Ban da trung tuyen `)
Else
Writeln(` Ban khong trung tuyen `) ;
Readln ;
END .
Bµi 6 :
ViÕt ch¬ng tr×nh nhËp hai sè thùc . Sau ®ã hái phÐp tÝnh cÇn thùc hiÖn vµ in kÕt qu¶ cña phÐp tÝnh ®ã .
NÕu lµ “+” , in kÕt qu¶ cña tæng lªn mµn h×nh .
NÕu lµ “-” , in kÕt qu¶ cña hiÖu lªn mµn h×nh .
NÕu lµ “/” , in kÕt qu¶ cña th¬ng lªn mµn h×nh .
NÕu lµ “*” , in kÕt qu¶ cña tÝch lªn mµn h×nh . NÕu lµ “+” , in kÕt qu¶ cña tæng lªn mµn h×nh .
NÕu lµ “+” , in kÕt qu¶ cña tæng lªn mµn h×nh .
Bµi gi¶i:
Uses Crt ;
Var
a , b , T : Real ;
Pt : Char ;
BEGIN
Clrscr ;
Write (` a = `) ; Readln( a ) ;
Write (` b = `) ; Readln( b ) ;
Write (` Phep tinh thuc hien la (+ - * /) : `) ;
Readln( Pt ) ;
If Pt = `+’ Then T := a + b ;
If Pt = `-’ Then T := a - b ;
If Pt = `*’ Then T := a * b ;
If Pt = `/’ Then T := a / b ;
Write ( a , pt , b , ` = `, T ) ;
Readln ;
END .
Bµi 7 :
Gi¶i vµ biÖn luËn ph¬ng tr×nh :
x2 + ( m – 2 ) x + 1 = 0
ë ®©y m lµ tham sè thùc tuú ý .
Bµi gi¶i:
Uses Crt;
Var
m , Delta : Real ;
BEGIN
Clrscr;
Write (` m = `) ; Readln( m ) ;
Delta := sqr( m-2 ) - 4 ;
If Delta < 0 Then
Writeln(` Phuong trinh vo nghiem `)
Else
Begin
If Delta = 0 Then
Writeln(` Phuong trinh co nghiem kep X= `, -( m - 2 ) / 2 )
Else
Begin
Writeln(` Phuong trinh co 2 nghiem : `) ;
Writeln (` X1 = `, ( -(m-2) + sqrt(delta) ) / 2 ) ;
Writeln (` X2 = `, ( -(m-2) - sqrt(Delta) ) / 2 ) ;
End ;
End ;
Readln ;
END .
Bµi 8 :
ViÕt ch¬ng tr×nh nhËp hai sè tù nhiªn N, M vµ th«ng b¸o ‘Dung‘ nÕu N , M cïng tÝnh ch½n lÏ , trong trêng hîp ngîc l¹i th× th«ng b¸o ‘Sai‘.
Bµi gi¶i:
Uses Crt ;
Var
N , M : Integer ;
Begin
Clrscr ;
Write(` N , M = `) ; Readln( N , M ) ;
If ( (N + M) mod 2 = 0 ) Then Writeln(` Dung ! `)
Else Writeln(` Sai ! `) ;
Readln ;
END .
Bµi tËp ch¬ng 2
Sö dông lÖnh For
Bµi 1 :
LËp tr×nh tÝnh tÝch c¸c sè tù nhiªn tõ 1 tíi 10 .
Bµi gi¶i:
Var i : Byte ; (* chØ sè ch¹y *)
p : word ; (* tÝch sè *)
BEGIN
p := 1; (* cho gi¸ trÞ ban ®Çu cña tÝch *)
For i := 1 to 10 Do (* cho i ch¹y tõ 1 tíi 10 *)
p := p * i ; (* lÇn lît nh©n i víi p *)
Write (` 1 * 2 * ... * 10 = `, p ) ;
Readln ;
END .
Bµi 2 :
ViÕt ch¬ng tr×nh ®Õm sè lÇn xuÊt hiÖn cña c¸c kÝ tù thuéc b¶ng ch÷ c¸i trong 50 lÇn gâ kÝ tù b»ng bµn phÝm (kh«ng ph©n biÖt a víi A, b víi B …, dïng hµm Upcase ®Ó chuyÓn ®æi ch÷ thêng víi ch÷ hoa) .
Bµi gi¶i:
Uses Crt ;
Var a : Array[ `A`..`Z` ] of integer; (* m¶ng bé ®Õm *)
ch : char ; (* biÕn nhËp kÝ tù *)
i : byte ; (* chØ sè cña lÇn gâ phÝm *)
BEGIN
Clrscr ;
For ch :=`A` to `Z` Do a[ch] := 0 ; (* x¶ bé ®Õm *)
Writeln (` Go phim 50 lan `) ;
For i := 1 To 50 Do (* thùc hiÖn 100 lÇn *)
Begin
ch :=Readkey ; (* nhËp kÝ tù vµo Ch kh«ng cÇn gâ Enter *)
ch := Upcase(ch) ; (* §çi ch÷ thêng thµnh ch÷ hoa *)
a[ch] := a[ch] + 1 ;
End;
Writeln (` So lan xuat hien cac ki tu la :`) ;
For ch :=`A` to `Z` do (* KiÓm tra bé ®Õm tõ `A` tíi `Z` *)
If a[ch] > 0 Then (* NÕu Ch cã xuÊt hiÖn *)
Writeln (ch , a[ch] : 4 , ` lan . `) ; (* ViÕt ra mµn h×nh kÝ tù vµ
sè lÇn xuÊt hiÖn *)
Readln ;
END .
Bµi 3 :
Cho sè tù nhiªn n , h·y lËp tr×nh ®Ó tÝnh c¸c tæng sau :
a. 1 + 1/22 + 1/32 + … + 1/n2
b. 1 + 1/2! + 1/3! + … + 1/n!
Bµi gi¶i:
a)
Var n , i : Word ;
S : Real ;
BEGIN
Write (` Nhap n : `) ; Readln (n) ;
S := 0 ;
For i := 1 To n Do
S := S + 1 / sqr(i) ;
Writeln (` S = `, S:0:2) ;
Readln ;
END .
b)
Var n , i , j , p : Word ;
S : Real ;
BEGIN
Write (` Nhap n : `) ; Readln(n) ;
p := 1 ;
s := 0 ;
For i :=1 To n Do
Begin
p := p * i ; (* tÝnh i *)
S := S + 1 / p ;
End ;
Writeln (` S = `, S:0:2) ;
Readln ;
END .
Bµi 4 :
TÝnh gi¸ trÞ cña biÓu thøc sau :
( 1 + 1/12 ) ( 1 + 1/22 ) … ( 1 + 1/n2 )
Bµi gi¶i:
Var i , n : Byte ;
p : Real ;
Begin
Write(` Nhap n : `) ; Readln (n) ;
p := 1 ;
For i := 1 To n Do p := p * ( 1 + 1/sqr(i) ) ;
Writeln(` p = `, p:10:5 ) ;
Readln ;
End .
Sö dông lÖnh While
Bµi 5 :
LËp tr×nh tÝnh tæng :
A = 1 + 1/2 + 1/3 + … + 1/n
ë ®©y n lµ sè tù nhiªn ®îc nhËp vµo tõ bµn phÝm .
Bµi gi¶i:
Uses Crt ;
Var i , n : Integer ;
tong: Real ;
BEGIN
Clrscr ;
Write (` Cho so tu nhien n : `) ; Readln (n) ;
tong :=0 ;
i :=1 ;
While i <= n Do
Begin
tong := tong + 1/i ;
i := i + 1 ;
End ;
Writeln (` Tong can tim la : `, tong:12:6 ) ;
Readln ;
END .
Bµi 6 :
TÝnh hµm lòy thõa an , ë ®©y a thùc vµ n tù nhiªn ®îc nhËp vµo tõ bµn phÝm .
Bµi gi¶i:
Uses Crt ;
Var i , n : Integer ;
a , giatri : Real ;
BEGIN
Clrscr ;
Write (` Cho so a : `) ; Readln(a) ;
Write (` Cho so mu n : `) ; Readln(n) ;
i := 1 ;
giatri := 1 ;
While i <= n Do
Begin
giatri := giatri * a ;
i:= i+1 ;
End ;
Writeln(` a mu n bang : `, giatri ) ;
Readln ;
END .
Bµi 7 :
ViÕt ch¬ng tr×nh nhËp mét d·y sè tèi ®a 100 sè , sau ®ã in ra mµn h×nh c¸c sè kh¸c nhau .
Bµi gi¶i:
Uses Crt;
Var A : Array [1..100] Of Integer;
i , j , n : Integer ;
BEGIN
Clrscr ;
Write(` Do dai cua day so N = `) ; Readln (N) ;
For I := 1 To N Do
Begin
Write (`A[`, i , `]= `) ; Readln ( A[i] ) ;
End ;
Writeln (` Cac so khac nhau la : `) ; Writeln ( A[1] ) ;
i := 2 ;
While i <= N Do
Begin
j := 1 ;
While ( j < i ) and ( A[j] <> A[i] ) Do inc(j) ;
If j = i Then Writeln( A[i] ) ;
i :=i + 1 ;
End ;
Readln ;
END .
Bµi 8 :
ViÕt ch¬ng tr×nh nhËp mét d·y sè tèi ®a 100 sè
Sö dông c©u lÖnh If……then……..Else:
Bµi 1:
NhËp 3 sè a , b , c bÊt k× . H·y kiÓm tra xem ba sè ®ã cã thÓ lµ ®é dµi ba c¹nh cña mét tam gi¸c hay kh«ng ? Th«ng b¸o lªn mµn h×nh ‘ Tháa m·n ‘, ‘ Kh«ng tháa m·n trong tõng trêng hîp t¬ng øng .
Bµi gi¶i:
Var
a , b , c : Real ;
BEGIN
Writeln (` Nhap do dai 3 canh cua tam giac : `) ;
Write (` a = `) ; Readln ( a ) ;
Write (` b = `) ; Readln ( b ) ;
Write (` c = `) ; Readln ( c ) ;
If ( a + b > c ) and ( b + c > a ) and ( c + a > b )
and ( a > 0 ) and ( b > 0 ) and ( c > 0 ) Then
Writeln (` Thoa man : Day la 3 canh cua mot tam giac `)
Else
Writeln (` Khong thoa man ! `) ;
Readln ;
END .
Bµi 2 :
NhËp N sè bÊt k× .
§Õm c¸c sè lín h¬n 10 vµ nhá h¬n 20 vµ tÝnh tæng cña chóng . Sau ®ã , ®a ra mµn h×nh :
So cac so >10 vµ <20 la : ( gia tri )
Tong cua chung la : ( gia tri )
Bµi gi¶i:
Var
Tong , So : Real ;
I , N , Dem : Integer ;
BEGIN
Write (` Bao nhieu so : `) ; Readln ( N ) ;
Tong := 0 ; Dem := 0 ;
For I := 1 To N Do
Begin
Write (` So = `) ; Readln ( So ) ;
If ( So > 10 ) and ( So < 20 ) Then
Begin
Tong := Tong + So ;
Dem := Dem + 1 ;
End ;
End ;
Writeln (` So cac so >10 va <20 la : `, Dem ) ;
Writeln (` Tong cua chung la :`, Tong ) ;
Readln ;
END .
Bµi 3 :
NhËp bèn sè a , b , c , d . H·y t×m gi¸ trÞ lín nhÊt cña chóng vµ g¸n gi¸ trÞ lín nhÊt ®ã cho biÕn Max .
Bµi gi¶i:
Var
Max , a , b , c , d : Real ;
BEGIN
Writeln (` Nhap gia tri cua 4 so : `) ;
Write (` a = `) ; Readln ( a ) ;
Write (` b = `) ; Readln ( b ) ;
Write (` c = `) ; Readln ( c ) ;
Write (` d = `) ; Readln ( d ) ;
Max := a ;
If Max < b Then Max := b ;
If Max < c Then Max := c ;
If Max < d Then Max := d ;
Writeln (` Gia tri lon nhat la : `, Max ) ;
Readln ;
END .
Bµi 4 :
§äc ngµy th¸ng n¨m , sau ®ã viÕt ra mµn h×nh ®ã lµ ngµy thø mÊy trong tuÇn .
Bµi gi¶i:
Var
Thu , Ngay , Thang : Byte ;
Nam : Integer ;
BEGIN
Write (` Doc Ngay Thang Nam : `) ;
Readln ( Ngay , Thang , Nam ) ;
Nam := 1900 + ( Nam mod 1900 ) ;
If Thang < 3 Then
Begin
Thang := Thang + 12 ;
Nam := Nam - 1 ;
End ;
Thu := Abs ( Ngay + Thang * 2 + ( Thang + 1 ) * 3
div 5 + Nam + Nam div 4 ) mod 7 ;
Case Thu Of
0 : Writeln (` Chu Nhat `) ;
1 : Writeln (` Thu Hai `) ;
2 : Writeln (` Thu Ba `) ;
3 : Writeln (` Thu Tu `) ;
4 : Writeln (` Thu Nam `) ;
5 : Writeln (` Thu Sau `) ;
6 : Writeln (` Thu Bay `) ;
End ;
Readln ;
END .
Bµi 5 :
ViÕt ch¬ng tr×nh :
Nh©p sè b¸o danh
NhËp ®iÓm v¨n , to¸n , ngo¹i ng÷
In ra mµn h×nh díi d¹ng :
_ PhiÕu ®iÓm :
_ Sè b¸o danh :
_ §iÓm v¨n :
_ §iÓm to¸n :
_ §iÓm ngo¹i ng÷ :
_ Tæng sè ®iÓm :
B¹n ®· tróng tuyÓn ( hoÆc B¹n ®· kh«ng tróng tuyÓn ) víi ®iÒu kiÖn Tæng sè ®iÓm >= 15 hay ngîc l¹i .
Bµi gi¶i:
Uses Crt ;
Var SBD : Integer;
Van , Toan , Ngoaingu , Tongdiem : Real ;
BEGIN
Clrscr ;
Write (` So bao danh : `) ; Readln( SBD ) ;
Write (` Diem toan : `) ; Readln( Toan ) ;
Write (` Diem ngoai ngu : `) ; Readln( Ngoaingu ) ;
Write (` Diem van : `) ; Readln ( Van ) ;
Tongdiem := Toan + Van + Ngoaingu ;
Clrscr ;
Writeln (` Phieu Bao Diem `) ;
Writeln (` So bao danh : `, SBD ) ;
Writeln (` Diem van : `, Van ) ;
Writeln (` Diem toan : `, Toan ) ;
Writeln (` Diem ngoai ngu : `, Ngoaingu) ;
Writeln (` Tong diem : `, Tongdiem) ;
If Tongdiem >= 15 Then
Writeln(` Ban da trung tuyen `)
Else
Writeln(` Ban khong trung tuyen `) ;
Readln ;
END .
Bµi 6 :
ViÕt ch¬ng tr×nh nhËp hai sè thùc . Sau ®ã hái phÐp tÝnh cÇn thùc hiÖn vµ in kÕt qu¶ cña phÐp tÝnh ®ã .
NÕu lµ “+” , in kÕt qu¶ cña tæng lªn mµn h×nh .
NÕu lµ “-” , in kÕt qu¶ cña hiÖu lªn mµn h×nh .
NÕu lµ “/” , in kÕt qu¶ cña th¬ng lªn mµn h×nh .
NÕu lµ “*” , in kÕt qu¶ cña tÝch lªn mµn h×nh . NÕu lµ “+” , in kÕt qu¶ cña tæng lªn mµn h×nh .
NÕu lµ “+” , in kÕt qu¶ cña tæng lªn mµn h×nh .
Bµi gi¶i:
Uses Crt ;
Var
a , b , T : Real ;
Pt : Char ;
BEGIN
Clrscr ;
Write (` a = `) ; Readln( a ) ;
Write (` b = `) ; Readln( b ) ;
Write (` Phep tinh thuc hien la (+ - * /) : `) ;
Readln( Pt ) ;
If Pt = `+’ Then T := a + b ;
If Pt = `-’ Then T := a - b ;
If Pt = `*’ Then T := a * b ;
If Pt = `/’ Then T := a / b ;
Write ( a , pt , b , ` = `, T ) ;
Readln ;
END .
Bµi 7 :
Gi¶i vµ biÖn luËn ph¬ng tr×nh :
x2 + ( m – 2 ) x + 1 = 0
ë ®©y m lµ tham sè thùc tuú ý .
Bµi gi¶i:
Uses Crt;
Var
m , Delta : Real ;
BEGIN
Clrscr;
Write (` m = `) ; Readln( m ) ;
Delta := sqr( m-2 ) - 4 ;
If Delta < 0 Then
Writeln(` Phuong trinh vo nghiem `)
Else
Begin
If Delta = 0 Then
Writeln(` Phuong trinh co nghiem kep X= `, -( m - 2 ) / 2 )
Else
Begin
Writeln(` Phuong trinh co 2 nghiem : `) ;
Writeln (` X1 = `, ( -(m-2) + sqrt(delta) ) / 2 ) ;
Writeln (` X2 = `, ( -(m-2) - sqrt(Delta) ) / 2 ) ;
End ;
End ;
Readln ;
END .
Bµi 8 :
ViÕt ch¬ng tr×nh nhËp hai sè tù nhiªn N, M vµ th«ng b¸o ‘Dung‘ nÕu N , M cïng tÝnh ch½n lÏ , trong trêng hîp ngîc l¹i th× th«ng b¸o ‘Sai‘.
Bµi gi¶i:
Uses Crt ;
Var
N , M : Integer ;
Begin
Clrscr ;
Write(` N , M = `) ; Readln( N , M ) ;
If ( (N + M) mod 2 = 0 ) Then Writeln(` Dung ! `)
Else Writeln(` Sai ! `) ;
Readln ;
END .
Bµi tËp ch¬ng 2
Sö dông lÖnh For
Bµi 1 :
LËp tr×nh tÝnh tÝch c¸c sè tù nhiªn tõ 1 tíi 10 .
Bµi gi¶i:
Var i : Byte ; (* chØ sè ch¹y *)
p : word ; (* tÝch sè *)
BEGIN
p := 1; (* cho gi¸ trÞ ban ®Çu cña tÝch *)
For i := 1 to 10 Do (* cho i ch¹y tõ 1 tíi 10 *)
p := p * i ; (* lÇn lît nh©n i víi p *)
Write (` 1 * 2 * ... * 10 = `, p ) ;
Readln ;
END .
Bµi 2 :
ViÕt ch¬ng tr×nh ®Õm sè lÇn xuÊt hiÖn cña c¸c kÝ tù thuéc b¶ng ch÷ c¸i trong 50 lÇn gâ kÝ tù b»ng bµn phÝm (kh«ng ph©n biÖt a víi A, b víi B …, dïng hµm Upcase ®Ó chuyÓn ®æi ch÷ thêng víi ch÷ hoa) .
Bµi gi¶i:
Uses Crt ;
Var a : Array[ `A`..`Z` ] of integer; (* m¶ng bé ®Õm *)
ch : char ; (* biÕn nhËp kÝ tù *)
i : byte ; (* chØ sè cña lÇn gâ phÝm *)
BEGIN
Clrscr ;
For ch :=`A` to `Z` Do a[ch] := 0 ; (* x¶ bé ®Õm *)
Writeln (` Go phim 50 lan `) ;
For i := 1 To 50 Do (* thùc hiÖn 100 lÇn *)
Begin
ch :=Readkey ; (* nhËp kÝ tù vµo Ch kh«ng cÇn gâ Enter *)
ch := Upcase(ch) ; (* §çi ch÷ thêng thµnh ch÷ hoa *)
a[ch] := a[ch] + 1 ;
End;
Writeln (` So lan xuat hien cac ki tu la :`) ;
For ch :=`A` to `Z` do (* KiÓm tra bé ®Õm tõ `A` tíi `Z` *)
If a[ch] > 0 Then (* NÕu Ch cã xuÊt hiÖn *)
Writeln (ch , a[ch] : 4 , ` lan . `) ; (* ViÕt ra mµn h×nh kÝ tù vµ
sè lÇn xuÊt hiÖn *)
Readln ;
END .
Bµi 3 :
Cho sè tù nhiªn n , h·y lËp tr×nh ®Ó tÝnh c¸c tæng sau :
a. 1 + 1/22 + 1/32 + … + 1/n2
b. 1 + 1/2! + 1/3! + … + 1/n!
Bµi gi¶i:
a)
Var n , i : Word ;
S : Real ;
BEGIN
Write (` Nhap n : `) ; Readln (n) ;
S := 0 ;
For i := 1 To n Do
S := S + 1 / sqr(i) ;
Writeln (` S = `, S:0:2) ;
Readln ;
END .
b)
Var n , i , j , p : Word ;
S : Real ;
BEGIN
Write (` Nhap n : `) ; Readln(n) ;
p := 1 ;
s := 0 ;
For i :=1 To n Do
Begin
p := p * i ; (* tÝnh i *)
S := S + 1 / p ;
End ;
Writeln (` S = `, S:0:2) ;
Readln ;
END .
Bµi 4 :
TÝnh gi¸ trÞ cña biÓu thøc sau :
( 1 + 1/12 ) ( 1 + 1/22 ) … ( 1 + 1/n2 )
Bµi gi¶i:
Var i , n : Byte ;
p : Real ;
Begin
Write(` Nhap n : `) ; Readln (n) ;
p := 1 ;
For i := 1 To n Do p := p * ( 1 + 1/sqr(i) ) ;
Writeln(` p = `, p:10:5 ) ;
Readln ;
End .
Sö dông lÖnh While
Bµi 5 :
LËp tr×nh tÝnh tæng :
A = 1 + 1/2 + 1/3 + … + 1/n
ë ®©y n lµ sè tù nhiªn ®îc nhËp vµo tõ bµn phÝm .
Bµi gi¶i:
Uses Crt ;
Var i , n : Integer ;
tong: Real ;
BEGIN
Clrscr ;
Write (` Cho so tu nhien n : `) ; Readln (n) ;
tong :=0 ;
i :=1 ;
While i <= n Do
Begin
tong := tong + 1/i ;
i := i + 1 ;
End ;
Writeln (` Tong can tim la : `, tong:12:6 ) ;
Readln ;
END .
Bµi 6 :
TÝnh hµm lòy thõa an , ë ®©y a thùc vµ n tù nhiªn ®îc nhËp vµo tõ bµn phÝm .
Bµi gi¶i:
Uses Crt ;
Var i , n : Integer ;
a , giatri : Real ;
BEGIN
Clrscr ;
Write (` Cho so a : `) ; Readln(a) ;
Write (` Cho so mu n : `) ; Readln(n) ;
i := 1 ;
giatri := 1 ;
While i <= n Do
Begin
giatri := giatri * a ;
i:= i+1 ;
End ;
Writeln(` a mu n bang : `, giatri ) ;
Readln ;
END .
Bµi 7 :
ViÕt ch¬ng tr×nh nhËp mét d·y sè tèi ®a 100 sè , sau ®ã in ra mµn h×nh c¸c sè kh¸c nhau .
Bµi gi¶i:
Uses Crt;
Var A : Array [1..100] Of Integer;
i , j , n : Integer ;
BEGIN
Clrscr ;
Write(` Do dai cua day so N = `) ; Readln (N) ;
For I := 1 To N Do
Begin
Write (`A[`, i , `]= `) ; Readln ( A[i] ) ;
End ;
Writeln (` Cac so khac nhau la : `) ; Writeln ( A[1] ) ;
i := 2 ;
While i <= N Do
Begin
j := 1 ;
While ( j < i ) and ( A[j] <> A[i] ) Do inc(j) ;
If j = i Then Writeln( A[i] ) ;
i :=i + 1 ;
End ;
Readln ;
END .
Bµi 8 :
ViÕt ch¬ng tr×nh nhËp mét d·y sè tèi ®a 100 sè
 








Các ý kiến mới nhất