PDA

View Full Version : [Help]Giải dùm :)



avada_kedavra
25-10-2009, 20:57
em sắp kiểm tra 1 tiết rồi, bà cô ra hàng chục bài và nói sẽ lấy vài bài trong hàng chục bài đó kiểm tra, mong các sư huynh giúp em hen. Cảm ơn vô cùng

Bài 1: Viết chương trình nhập 3 số x,y,z. Cho biết số lớn nhất, số nhỏ nhất trong 3 số đó.

Bài 2: Viết chương trình tìm số lớn nhất trong 4 số được nhập từ bàn phím.

Bài 3: Viết chương trình nhập một chữ cái từ bàn phím rồi xác định xem chữ cái đó là chữ hoa hay chữ thường.

Bài 4: Viết chương trình nhập điểm các môn: Toán, Lý, Hóa, Tin (điểm từ 0  10). Tính điểm trung bình theo hệ số tương ứng là 3, 2, 2, 1 rồi xếp loại theo quy định sau:
Loại Giỏi : ĐTB >=8.0
Loại Khá : 6.5 <= ĐTB < 8.0
Loại Trung bình: 5.0 <= ĐTB < 6.5
Loại Yếu: 4.0 <= ĐTB < 5
Còn lại xếp loại Kém

Bài 5: Viết chương trình nhập 3 số nguyên từ bàn phím rồi in ra màn hình theo thứ tự tăng dần, giảm dần.

Bài 6: Viết chuong trình nhập một ký tự từ bàn phím va in ra màn hành:
- Số nếu nó là số
- Chữ hoa nếu nó là chữ thường
- Chữ thường nếu nó là chữ hoa
- Câu ‘TAM BIET’ nếu nó không phải là chữ hay số.
Biết mã ASCII của chữ thường bằng mã ASCII củ chữ hoa cộng 32.

Bài 7:Viết chương trình nhập chiều dài và chiều rộng của hình chữ nhật rồi in ra màn hình hình chữ nhật đó bằng các dấu *. Ví dụ với chiều dài =5, chiều rộng = 3 thì hình chữ nhật có dạng như sau:
* * * * *
* * * * *
* * * * *

Bài 8:Hãy xác định kết quả của việc thực hiện các câu lệnh sau:
For i:=1 to 10 do
Begin
Write('i');
i:=i+1;
End;
Với i có kiểu Byte.

Bài 9:Viết chương trình nhập chiều dài và chiều rộng của hình chữ nhật rồi in ra màn hình hình chữ nhật đó bằng các dấu *. Ví dụ với chiều dài =5, chiều rộng = 4 thì hình chữ nhật có dạng như sau:

http://i563.photobucket.com/albums/ss78/avada_kedavra1981/1-14.jpg

Bài 10: Hãy xác định kết quả của việc thực hiện các câu lệnh sau:
For i:=1 to 4 do
For i:= 1 to 3 do write('i');
Với i có kiểu Byte.

Bài 11:Viết chương trìn kiểm tra công thức toán học sau:
1+2+3+ … +N = N(N+1)/2

Bài 12: Viết chương trìn kiểm tra công thức toán học sau:
1 bình phương + 2 bình phương + 3 bình phương + … + N bình phương = N(N+1)(2N+1)/6

Bài 13: Vết chương trình tìm các số có 2 chữ số mà chữ số hàng chục là số chẳn, chữ số hàng đơn vị là số lẻ.

Bài 14:Viết chương trình tính tổng các số có 3 chữ số chia hết cho 3.

Bài 15: Viết chương trình tính giá trị F(x) với
F(x) =1+1/2 + 1/4 + 1/8 + .. 1/2 mũ N. Với số N được nhập từ bàn phím

Bài 16: Ta định nghĩa số hoàn hảo là số bằng tổng các ước số của nó không kể chính nó. Vd: 28=1+2+4+7+14. viết chương trình nhập vào một số nguyên dương rồi xác định xem số đó có phải là số hoàn hảo không?

Bài 17:Viết chương trình tìm các số có 3 chữ số abc sao cho abc = a lập phương + b lập phương + c lập phương

Bài 18: Viết chương trình in ra màn hình tất cả các số nguyên tố từ 2 đến N. Với N được nhập từ bàn phím.

Bài 19: Viết chương trình nhập vào các số nguyên cho đến khi nào gặp số 0 thì kết thúc. Hãy đếm xem có bao nhiêu số chẵn vừa được nhập vào

Bài 20: Viết chương trình phân tích một số ra thừa số nguyên tố. Ví dụ: N=100 sẽ in ra màn hình:
100 | 2
50 | 2
25 | 5
5 | 5
1 |

brolly
28-10-2009, 11:14
B1 :
uses crt;
var x,y,z : integer;
function max(a:integer;b:integer):integer
begin
if a>b then max := a else max :=b;
end;
function min(....

begin
write (x,y,z);
readln (x,y,z);
max(max(x,y),z);
min(min(x,y),z);
write .....
end.

B2 tuong tu b1
B3
uses crt;
type chuhoa:[65..90]
var c:char;
begin
write ('C : ');readln (c);
if (ord(c) in chuhoa) then write ('La chu hoa)
else write ('La chu thuong');
readln
end.

B19
uses crt;
var A:array[1..100] of integer;
k,n,i : integer;
begin
n:=1;
while a[n]<> do
begin
write ('a[,'n']= ');
readln (a[n]);
inc(n);
end;
k:=0;
for i:=1 to n do
if (a[i] mod 2 = 0) then k:= k+1;
write ('Co ',k,' so chan chua trong mang');
readln
end.
(bạn test thử bài này nghen, mình k chắc là nó đúng =.=")

lehang_gb1
28-10-2009, 20:07
Phần bài tập này sử dụng các kiểu dữ liệu đơn giản chuẩn, cấu trúc rẽ nhánh và lặp.
Tất cả các bài trên đã code chuẩn, bạn tham khảo và có thể có có cách giải khác, bạn tham khảo nhé. Chúc bạn học tốt ngôn ngữ lập trình Pascal


program Bai1;
Var x,y,z,max,min:Real;
Begin
Write('Nhap vao 3 so:');
Readln(x,y,z);
if x>y then
Begin
max:=x;
min:=y;
end
else
Begin
max:=y;
min:=x;
end;
if max<z then max:=z;
if min>z then min:=z;
Writeln('Max=',max:5:2);
Writeln('min=',min:5:2);
Readln
End.

program Bai2;
Var a,b,c,d,max:Real;
Begin
Write('Nhap vao 4 so:');
Readln(a,b,c,d);
if a>b then max:=a else max:=b;
if max<c then max:=c;
if max<d then max:=d;
write('Max cua 4 so do la:',max:5:2);
Readln
End.

program Bai5;
Var a,b,c,max,min,tg:Integer;
Begin
Write('Nhap vao 3 so nguyen a,b,c:');
Readln(a,b,c);
if a>b then
Begin
Max:=a;
min:=b;
end
else
begin
max:=b;
min:=a;
end;
if max<c then max:=c;
if min>c then min:=c;
if (a<>max) and(a<>min) then tg:=a;
if (b<>max) and(b<>min) then tg:=b;
if (c<>max) and (c<>min) then tg:=c;
writeln('3 so sau khi sap xep tang dan la:', min:5,tg:5,max:5);
writeln('3 so sau khi ap xep giam dan la:',max:5,tg:5,min:5);
Readln
End.


program bai11;
Var i,N,S1:integer;S2:Real;
Begin
Write('Nhap vao so nguyen duong N:');
Readln(N);
S1:=0;
For i:=1 to N do S1:=S1+i;
S2:=N*(N+1)/2;
Writeln('1+2+3+...+N=',S1);
Writeln('N(N+1)/2=',S2:5:0);
if S1=S2 then writeln('Cong thuc 1+2+...+N=N(N+1)/2 la dung')
else writeln('Cong thuc sai');
Readln
End.


Program Bai12;
Var i,N,S1:integer; S2:Real;
Begin
Write('Nhap vao so nguyen duong N:');
Readln(N);
S1:=0;
For i:=1 to N do S1:=S1+i*i;
S2:=N*(N+1)*(2*N+1)/6;
Writeln('1 binh phuong +2binh phuong+...+N binh phuong=',S1);
Writeln('N(N+1)(2N+1)/6=',S2:5:0);
If S1=S2 then writeln('Cong thuc toan hoc do la dung')
else writeln('Cong thuc toan hoc do la sai');
Readln
End.

program Bai13;
Var i,N,a,b: integer;
Begin
Writeln('Cac so thoa man yeu cau bai toan la:');
For i:=10 to 99 do
Begin
a:=i div 10;
b:=i mod 10;
if (a mod 2=0) and (b mod 2<>0) then write(i:3);
end;
Readln
End.


program Bai17;
Var a,b,c:Byte;
i,N:integer;
Begin

For a:=1 to 9 do
For b:=0 to 9 do
For c:=0 to 9 do
if (a*a*a+b*b*b+c*c*c=100*a+10*b+c) then
Begin
N:=100*a+10*b+c;
write(N:5);
end;



Readln
End.






[=========> Bổ sung bài viết <=========]



Program Bai14;
Var i:integer;
S:longint;
Begin
For i:=100 to 999 do
if i mod 3 =0 then S:=S+i;
Write('Tong S=',S);
Readln
End.


program Bai15;
Var i,N:integer; mu:longint;
F:Real;
Begin
Write('Nhap N='); Readln(N);
F:=1;mu:=1;
For i:=1 to N do
Begin
mu:=mu*2;
F:=F+1/mu;
end;
Write('F(x)=',F:10:6);
Readln
End.


program Bai16;
Var i,N:integer;S:Real;
Begin
Write('Nhap N='); Readln(N);
S:=0;
For i:=1 to N div 2 do
if N mod i =0 then S:=S+i;
if S=N then Write(N,' La so hoan hao')
Else Write(N,' khong la so hoan hao');
Readln
End.



Program Bai18;
Var i,N,j,dem:integer;
Begin
Write('Nhap N='); Readln(N);

For i:=1 to N do
Begin
dem:=0;
For j:=1 to i do if i mod j=0 then inc(dem);
if dem=2 then write(i:5);
end;
Readln
End.

Program Bai19;
Var i,N,dem:integer;
Begin
writeln('Nhap vao cac so nguyen den khi gap so 0 thi ket thuc');
Repeat
Readln(N);
if N mod 2 =0 then
dem:=dem+1;
Until N=0;
Writeln('Co ',dem,' so chan vua duoc nhap vao');
Readln
End.


program Bai4;
Var toan,li,hoa,tin,tb:Real;
Begin
Write('Nhap vao diem cac mon lan luot toan, li, hoa, tin:');
Readln(toan, li,hoa,tin);
tb:=(toan*3+li*2+hoa*2+tin)/8;
writeln('Diem trung binh:',tb:5:2);
if tb>8.0 then write('Xep loai Gioi')
else if tb>=6.5 then write('Xep loai Kha')
else if tb>=5.0 then write('Xep loai trung binh')
else if tb>=4.0 then write('Xep loai Yeu')
else write('Xep loai Kem');
Readln
End.


Program Bai7;
Var i,j,dai,rong:integer;
Begin
Write('Nhap vao chieu dai:');
Readln(dai);
Write('Nhap vao chieu rong:');
Readln(rong);
For i:=1 to rong do
Begin
For j:=1 to dai do write('*':2);
writeln;
End;
Readln
End.



Program Bai9;
Var i,j,dai,rong:integer;
Begin
Write('Nhap vao chieu dai cua hinh chu nhat');
Readln(dai);
Write('Nhap vao chieu rong cua hinh chu nhat');
Readln(rong);
For i:=1 to dai do write('*');
Writeln;
For j:=1 to rong-2 do
Begin
write('*','*':dai-1);
Writeln;
end;
For i:=1 to dai do write('*');
Readln
End.


Programm bai6;
Var ch:char;
Begin
write('Nhap vao ki tu:'); Readln(ch);
if (ord(ch)>=48) and (ord(ch)<=57) then write(ch,' la so')
else
if (ord(ch)>=97) and (ord(ch)<=122) then write(chr(ord(ch)-32))
else
if (ord(ch)>=65) and (ord(ch)<=90) then write(chr(ord(ch)+32))
else Write('TAM BIET');

Readln
End.



Program bai20;
Var i,N:integer;
Begin
write('Nhap vao N:'); Readln(N);
i:=2;
Repeat
While N mod i=0 do
begin

Write(N,'|');writeln(i);
N:=N div i;
if N=1 then write(N);
end;
i:=i+1;

until N=1;
Readln
End.



[/code]

mrcuongwinter
28-10-2009, 21:50
mình viết bằng c++ được không bạn?

lehang_gb1
28-10-2009, 22:06
Bài 8. Đoạn chương trình đưa ra iiiii (5 chữ i)
bài 10. Vòng lặp vô hạn, nhấn tổ hợp phím CTRL+BREAK hoặc CTRL+ALT+DELETE để thoát.