PDA

View Full Version : giup em bai pascal nay zoi!!!!



Sad†bboy
15-10-2009, 08:08
Chuong trình sau thực hiện việc nhập từ bàn phím hai số nguyên dương M và N(M<N),tính và đưa ra màn hình tổng các số chia hết cho 3 hoặc chia hết cho 5 trong phạm vi từ M đến N.
Các anh viết bài giảng ra giùm em.bài này ông thầy nói ra thi đó.

orchid_qt
15-10-2009, 09:17
Bài này quá dễ rồi còn gì:
khai báo 4 biến : sum, n,m, i : integer;
Sum:=0;
nhap vao n,m;
if m>=n báo lỗi.
else
for i:=m to n do
if (i mod 3=0) or (i mod 5=0)
sum:=sum+i;
readln (sum);
Bạn viết lại chương trình là OK

lehang_gb1
15-10-2009, 22:00
Var i, m,n,S:integer;
Begin
Repeat
write('Nhap vao m,n:');
Readln(m,n)
until m<n;
S:=0;
For i:=m to n do
if (i mod 3=0) or (i mod 5=0) then S:=S+i;
Write('Tong la:',S);
Readln
End.

mylinh9006
16-10-2009, 09:02
các bác ơi có bác nào biết sử dụng unit viết chương trình không?em tính viết chương trình hình học phẳng(các chương trình con là chu vi hình chữ nhật, chu vi hình tròn, chu vi tam giác, diện tích hình chữ nhật, diện tích hình tròn, diện tích hình tam giác) bác nào giúp được em thì vào chỉ cho em với nhé.thật sự em hok hỉu gì về nó hết mà phải làm bài thi giữa kì.bác nào giúp em giải quyết với.cảm ơn các bác nhé!!!

Sad†bboy
16-10-2009, 11:00
Bài này quá dễ rồi còn gì:
khai báo 4 biến : sum, n,m, i : integer;
Sum:=0;
nhap vao n,m;
if m>=n báo lỗi.
else
for i:=m to n do
if (i mod 3=0) or (i mod 5=0)
sum:=sum+i;
readln (sum);
Bạn viết lại chương trình là OK

em cảm ơn nhìu nha !!:D:D:D

mylinh9006
16-10-2009, 11:01
em có một bài tập như thế này:
tạo unit tính diện tích hình chữ nhật, diện tích hình tròn , diện tích hình thang , chu vi hình chữ nhật, chu vi đường tròn
em đã viết như thế này mong mọi người coi giùm em và chĩ chỗ sai cho em nhé




UNIT hinh_hoc_phang;
INTERFACE
function dtcn(a,b:real):real;
function dttr (a :real):real;
function dtt (a,b,h :real):real;
function cvcn(a,b :real):real;
function cvtr (a :real):real;
IMPLEMATION
function dtcn(a,b:real):real;
begin
write('nhap so do chieu dai:a= ');readln(a);
write('nhap so do chieu rong :b= ');readln(b);
writeln('dien tich hinh chu nhat la: ', a*b:10:2);
readln;
end;

function dtt(a,b:real):real;
begin
write('nhap so do day be:a= ');readln(a);
write('nhap so do day lon :b= ');readln(b);
write('nhap so do chieu cao :h= ');readln(h);
writeln('dien tich hinh thang la: ', (a+b)/2*h:10:2);
readln;
end;
function dttr(a:real):real;
begin
write('nhap ban kinh duong tron:a= ');readln(a);
writeln('dien tich duong tron la: ', a*a*3.14:10:2);
readln;
end;
function cvcn(a,b:real):real;
begin
write('nhap so do chieu dai:a= ');readln(a);
write('nhap so do chieu rong :b= ');readln(b);
writeln('chu vi hinh chu nhat la: ', (a+b)*2:10:2);
readln;
end;

function dttr(a:real):real;
begin
write('nhap ban kinh duong tron:a= ');readln(a);
writeln('chu vi duong tron la: ', a*2*3.14:10:2);
readln;
end;
END.



có chỗ nào sai chỉ cho mình với nha

vivi0001
16-10-2009, 15:15
Mình chưa hiểu rõ mục đích unit này của bạn là gì.

Nếu khai báo của bạn là đúng

INTERFACE
function dtcn(a,b:real):real;
function dttr (a :real):real;
function dtt (a,b,h :real):real;
function cvcn(a,b :real):real;
function cvtr (a :real):real;
IMPLEMATION

thì unit của bạn chỉ đơn giản thế này:

UNIT hinh_hoc_phang;

INTERFACE

function dtcn(a,b:real):real;
function dttr (a :real):real;
function dtt (a,b,h :real):real;
function cvcn(a,b :real):real;
function cvtr (a :real):real;

IMPLEMATION

function dtcn(a,b:real):real;
begin
dtcn:=a*b;
end;

function dtt(a,b,h:real):real;
begin
dtt:=(a+b)/2*h;
end;

function dttr(a:real):real;
begin
dttr:=a*a*3.14;
end;

function cvcn(a,b:real):real;
begin
cvcn:=(a+b)*2;
end;

function dttr(a:real):real;
begin
dttr:=a*2*3.14;
end;

END.

mylinh9006
16-10-2009, 20:28
mình cũng hok hiểu lắm về đề bài
nhưng thầy giáo mình yêu cầu như thế mà mình lại hok biết gì hết.trên diễn đàn mình ai biết thì chỉ cho mình với nhá.cảm ơn bạn vivi0001 nha. ý mình là viết chương trình để tính mấy diện tích với chu vi đó đó

mrcuongwinter
17-10-2009, 10:00
minh chua hoc qua pascal. nhung ma minh thay thuat toan ban ghi nhu the la ok roi. con phan code thi ban hoc chac biet HjHJ

quangtq
17-10-2009, 17:33
1) Function mà vứt mấy phần đọc biến vào à :|, tham số vứt đi đâu :|
2) Function ko thấy trả về kq :|
3) Unit cơ bản gồm


Unit <tên_unit>;

Interface <khai báo các hằng, biến, ct con trong unit>
Uses .....
Type .....
Label .....
Const .....
Var .....
Procedure.....
Function SHCN(a,b:Real):Real;

Implementation <thực thi>
<Bên trên chỉ khai báo tên, giờ mới code đầy đủ>
Function SHCN(a,b:Real):Real;
Begin
SHCN:=a*b;
End;

.....

END.

Hết

Mickey_09
17-10-2009, 21:22
Các bạn àk!
Giải giúp mình bài này với nhé! ;)
[Bài 3.31 SBT Tin 11 í] ;)
Lập trình nhập số thực x và số nguyên dương n từ bàn phím. Tính và đưa ra màn hình giá trị biểu thức P.
P= 1+ 2x+ 3x^2+ 4x^3+ ...+ nx^(n-1)+ (n+1)x^n.

phieudu241
17-10-2009, 22:39
Tính :P= 1+ 2x+ 3x^2+ 4x^3+ ...+ nx^(n-1)+ (n+1)x^n.


var
n,i,j:integer;
p,s,x:real;

begin
writeln('Nhap n:');
readln(n);
writeln('Nhap x:');
readln(x);
p:=1;
s:=1;

for i:=2 to (n+1) do
begin
for j:=1 to (i-1) do s:=s*x;
p:=p+i*s;
s:=1 ;
end ;
writeln('Tong P:',p:6);
readln
end.

mrcuongwinter
17-10-2009, 22:54
minh không học pascal nhưng mình mới đọc qua nó. đẻ xem mình viết thế này có đúng không nha.

PROGRAM //TÊN CHƯƠNG TRÌNH
VAR
x: real;
n,i: integer;
kq: real;
funtion LuyThua(a: real, b: integer): real;
begin
kq:=1;
for i:=1 to b do
kq:=kq*a;
LuyThua:=kq;
end;
function TinhTong( a: real, b: integer):real;
begin
kq:=0;
for i:=0 to n do
kq:=kq+((n+1)*LuyThua(a,b));
TinhTong:=kq;
emd;

BEGIN
writeln('nhap x và n');
readln(x,n);
writeln('ket qua la',TinhTong(x,n));
END.

nếu có gì sai thì ban thử xem mấy cái biến có trùng nhau không. tại mình cũng không rành pascal lắm.

lehang_gb1
19-10-2009, 22:14
Các bạn àk!
Giải giúp mình bài này với nhé! ;)
[Bài 3.31 SBT Tin 11 í] ;)
Lập trình nhập số thực x và số nguyên dương n từ bàn phím. Tính và đưa ra màn hình giá trị biểu thức P.
P= 1+ 2x+ 3x^2+ 4x^3+ ...+ nx^(n-1)+ (n+1)x^n.




Cách viết sau không sử dụng chương trình con
Program BT;
Var i,n:integer;
x.P:Real;
Begin
Write('Nhap vao so thuc x:'); Readln(x);
write('Nhap vao so nguyen duong n:');Readln(n);
P:=1;gt:=1;
For i:=1 to n do
Begin
gt:=gt*x;
P:=P+(i+1)*gt;
end;
Write('Gia tri bieu thuc P=',P:10:3);
Readln
End.

nghia_tdh21
19-10-2009, 22:58
@mylin9006
Bạn nên xem nội dung unit ở trong các chương trình mẫu của Pascal ra (Nằm trong thư mục cài đặt), xem cách thức khai báo một unit như thế nào. Còn vấn đề viết các hàm bên trong thì giống như viết chương trình bình thường thôi.