1. Trang chủ
  2. » Giáo án - Bài giảng

Bài tập và hướng dẫn Pascal THCS 1

11 264 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài tập và hướng dẫn Pascal THCS 1
Trường học Trường Trung Học Cơ Sở
Chuyên ngành Tin học
Thể loại Bài tập
Định dạng
Số trang 11
Dung lượng 84,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 6 : Viết chươ

Trang 1

I 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

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 )

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

Trang 2

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

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 Var

Thu , Ngay , Thang : Byte ;

Nam : Integer ;

BEGIN

Write (' Doc Ngay Thang Nam : ') ;

Readln ( Ngay , Thang , Nam ) ;

Trang 3

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

Uses Crt ;

Var SBD : Integer;

Van , Toan , Ngoaingu , Tongdiem : Real ;

BEGIN

Trang 4

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

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 (+ - * /) : ') ;

Trang 5

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ỳ ý

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‘

Uses Crt ;

Trang 6

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

II VỊNG LẶP XÁC ĐỊNH VÀ KHƠNG XÁC ĐỊNH

1 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

Var i : Byte ; (* chỉ số chạy *)

p : word ; (* tích số *)

BEGIN

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)

Uses Crt ;

Var a : Array[ 'A' 'Z' ] of integer;

ch : char ;

i : byte ;

BEGIN

Clrscr ;

For ch :='A' to 'Z' Do a[ch] := 0 ;

Writeln (' Go phim 50 lan ') ;

For i := 1 To 50 Do

Begin

Trang 7

ch :=Readkey ;

ch := Upcase(ch) ;

a[ch] := a[ch] + 1 ;

End;

Writeln (' So lan xuat hien cac ki tu la :') ;

For ch :='A' to 'Z' do

If a[ch] > 0 Then

Writeln (ch , a[ch] : 4 , ' lan ') ;

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 a 1 + 1/22 + 1/32 + … + 1/n2

a b 1 + 1/2! + 1/3! + … + 1/n!

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 ;

Trang 8

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 )

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

2 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 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

Trang 9

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 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

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 :

Trang 10

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

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ố , sau đó sắp xếp lại theo thứ tự tăng dần

Uses Crt;

Var A : Array [1 100] Of Integer ;

i , j , n , T : Integer ;

BEGIN

Clrscr ;

Write(' Do dai cua day so N = ') ; Readln (N) ;

Writeln (' Nhap day so : ') ;

For i := 1 To N Do

Begin

Write('A[', i ,'] = ') ; Readln ( A[i] ) ;

End ;

Trang 11

i := 1 ;

While (i <= n-1) Do

Begin

j := i+1;

While j<=n do

Begin

If A[j] < A[i] then

Begin

T := A[j];

A[j ] := A[i];

A[i] := T ;

End ;

j := j + 1;

End ;

i := i + 1;

End ;

Writeln(' Day sau khi sap xep : ') ; For i := 1 To N Do Write(A[i] : 4) ; Readln ;

END

Ngày đăng: 26/12/2013, 20:07

TỪ KHÓA LIÊN QUAN

w