Đến nội dung

Zz NTL zZ

Zz NTL zZ

Đăng ký: 20-05-2016
Offline Đăng nhập: 09-06-2016 - 19:21
-----

Trong chủ đề: Có ai rành pscal không nhỉ giải thích giúp tôi/

28-05-2016 - 09:39

thansk!

 

nếu cho n=4

for chạy i= 1 đến 4

vd a1=3, a2=4, a3=1, a4=9

khi for j:=1 thì i đến giá trị gì? khi nào vòng lặp này dừng

b[1]:=?

--------------------------------------------

bó tay?

Ô vậy bạn chưa hiểu rồi, thế này:

i sẽ chạy đến 4

j sẽ chạy đến i

=> j sẽ chạy lần lượt các vị trí i.

Khi for j:=1 to i thì giá trị i sẽ thay đổi lần lượt theo giá trị i của vòng for i:=1 to 4 .

Tại sao giá trị i thay đổi ?

Vì vòng for j:=1 to i(1) nằm trong vòng for i:=1 to 4(2) cho nên khi giá trị i trong vòng (2) tăng lên kéo theo giá trị i của vòng (1) tăng .Do đó ta có thể tính tổng i  phần tử đầu tiên của mảng a.

Vòng lặp (1) dùng khi i=4,tức là khi giá trị i bằng số phần tử trong mảng a.

khi i=1, thì j:=1 chạy đến 1 

=> b[1]:=b[1]+a[j]; mà giá trị ban đầu b[1]=0 => b[1]:=a[j]=a[1]=3.

khi i=2, thì j:=1 chạy đến 2

=> b[2]:=b[2]+a[j] ( cái này lặp 2 lần) mà giá trị ban đầu b[2]=0 =>b[2]:=b[2]+a[1]+a[2] => b[2]:=7

khi i:=3, thì j:=1 chạy đến 3

=>b[3]:=b[3]+a[j] ( cái này lặp 3 lần) mà giá trị ban đầu b[3]=0 =>b[3]:=b[3]+a[1]+a[2]+a[3] => b[3]:=8

khi i:=4, thì j:=1 chạy đến i

b[4]:=b[4]+a[j] ( cái này lặp 4 lần) mà giá trị ban đầu b[4]=0 =>b[4]:=b[4]+a[1]+a[2]+a[3]+a[4] => b[4]:=17

*Nói tóm lại bạn chỉ cần hiểu thế này:

Vòng for i:=1 to n dùng để điều chỉnh vị trí của i ( i là vị trí của các giá trị phần tử trong mảng a)

Vòng for j:=1 to i dùng để  tính tổng i phần tử 


Trong chủ đề: Danh hiệu trên diễn đàn

28-05-2016 - 08:44

Liên hệ admin ấy , lý do rõ ràng , gặp admin đẹp trai thì k sao , đổi free  !! Nếu gặp admin nào xấu trai thì bị trừ 500 like mới đc đổi :D

Thế làm sao biết được admin nào đẹp trai để liên hệ vậy chị :))


Trong chủ đề: Chương trình con và Mảng 1 chiều

26-05-2016 - 21:24



Bài 1: Viết chương trình nhập vào từ bàn phím một xâu S có độ dài không quá 250 kí tự. Hãy cho biết trong xâu S có '112211' không?

Bài 2: Viết chương trình nhập vào từ bàn phím mảng 1 chiều A gồm n (n $\leq$ 200) phần tử nguyên dương. Đếm xem trong mảng A có bao nhiêu số chẵn. Thông báo ra màn hình kết quả tìm được. (Sử dụng chương trình con kiểm tra chẵn lẻ để viết).

Mình chỉ cung cấp cho bạn đoạn chính thôi ,còn mấy cái khai báo ,nhập ,... thì bạn tự viết nhé :)

Bài 1:

k:='112211';

kt:=false;

For i:=1 to length(s) do

Begin

t:='';

for j:=i to i+5 do t:=t+s[j];

if t=k then 

begin

kt:=true;

break;

end;

end;

If kt=true then write('Co') else write('khong');

Bài 2:

Sử dụng chương trình con kiểm tra chẵn lẻ: ta dùng hàm kiểm tra !

Function chanle(n:word):boolean;

var kt:boolean;

begin

kt:=false;

if n mod 2=0 then kt:=true else kt:=false;

chanle:=kt;

end;

Chương trình chính :

Begin

clrscr;

----- nhập mảng -----

d:=0;

for i:=1 to n do

if chanle(a[i]) then d:=d+1;

writeln('Co ',d,' so chan');

end.

P/s: Có gì không hiểu cứ hỏi nhiệt tình :lol:


Trong chủ đề: Có ai rành pscal không nhỉ giải thích giúp tôi/

26-05-2016 - 21:01



Tạo mảng B trong đó mảng b là tổng giá trị của i phần tử đầu tiên của mảng a.

var a,b: array[1..100] of integer;

i,j,n: integer;

begin

readln(n);

for i:=1 to n do 

begin

  write('a[',i,']'); readln(a[i]);

end;

for i:=1 to n do

begin

b[i]:=0;

for j:=1 to i do b[i]:=b[i]+a[j];

end;

for i:=1 to n do write(b[i]:5);

end.

Mình không hiểu vòng lặp for j:=1 to i do gì cả? các bạn giải thích giúp mình nhé!!!

Vòng lặp for j:=1 to i có tác dụng là lặp từ vị trí thứ 1 cho đến vị trí thứ i của mảng a !

Tức là thế này ,mình sẽ giải thích luôn phần chữ đỏ:

Cho chạy từ vị trí thứ nhất đến vị trí cuối cùng của các phần tử trong mảng a

Gán cho mỗi phần tử trong mảng b có giá trị bằng 0 ( để xác định hay là cho trước giá trị của mỗi phần tử của mảng b )

Cho chạy từ 1 đến i để xác định vị trí của i phần tử dầu tiên trong mảng a, kèm theo là tính tổng giá trị của i phần tử đầu tiên đó thôi và lưu vào 1 phần tử của mảng b

P/s: Có gì không hiểu bạn cứ hỏi thoải mái :)


Trong chủ đề: $1^2+2^2+3^2+...+(n-1)^2=\frac{n(n-1)(2n-1)}{6...

25-05-2016 - 19:34

Chứng minh rằng với mọi số tự nhiên $n>1$ ta luôn có

$1^2+2^2+3^2+...+(n-1)^2=\frac{n(n-1)(2n-1)}{6}$

Dùng Phương pháp chứng minh Quy nạp ấy bạn :)