Tin K20 CTN chào đón bạn!
Vui lòng đăng kí nếu chưa có nick!
Nếu có nick vui lòng đăng nhập!
Tin K20 CTN chào đón bạn!
Vui lòng đăng kí nếu chưa có nick!
Nếu có nick vui lòng đăng nhập!
Tin K20 CTN chào đón bạn!
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Tin K20 CTN chào đón bạn!


 
Trang ChínhPortalLatest imagesĐăng kýĐăng Nhập
ngày 19/8/2010 sẽ đi học chính thức. Còn ngày tập trung chưa thấy thông báo gì. Ai có thắc mắc liên hệ cô giáo chủ nhiệm. GO TO SCHOOL
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
» ảnh lớp mình...
mảng trong pascal. Icon_minitimeWed Jun 16, 2010 12:21 am by nhok.kiss

» ảnh lớp mình.
mảng trong pascal. Icon_minitimeMon Jun 07, 2010 9:20 pm by Love.Admin

» Giúp mình viết 1 bài sắp xếp mảng.
mảng trong pascal. Icon_minitimeFri May 28, 2010 7:30 am by AnhCoYeuEm

» Vào đây mà xem
mảng trong pascal. Icon_minitimeSat May 15, 2010 3:33 am by Khách viếng thăm

» Viết chương trình nhập vào một mảng 1 chiều có 7 phần tử. Viết các chương trình?
mảng trong pascal. Icon_minitimeThu May 13, 2010 7:40 am by Khách viếng thăm

» pascal về xâu.
mảng trong pascal. Icon_minitimeSat May 08, 2010 10:12 pm by Khách viếng thăm

» Giúp em bài excel này với.
mảng trong pascal. Icon_minitimeSun May 02, 2010 5:20 am by Khách viếng thăm

» theo yeu cau cua Admin :))
mảng trong pascal. Icon_minitimeSat May 01, 2010 9:22 am by Khách viếng thăm

» mình muốn nói là bài viết này là bài thử để tìm cái thùng rác.
mảng trong pascal. Icon_minitimeSat May 01, 2010 8:46 am by Khách viếng thăm

Navigation
 Portal
 Diễn Đàn
 Thành viên
 Lý lịch
 Trợ giúp
 Tìm kiếm
Diễn Đàn
Affiliates
free forum


 

 mảng trong pascal.

Go down 
2 posters
Tác giảThông điệp
AnhCoYeuEm
Member
Member



Tổng số bài gửi : 25
Points : 25718
Rep power : 0
Join date : 25/04/2010
Age : 30
Đến từ : Ninh Bình.

mảng trong pascal. Empty
Bài gửiTiêu đề: mảng trong pascal.   mảng trong pascal. Icon_minitimeMon Apr 26, 2010 3:33 am

đề: nhập vào 1 mảng số thực.
+ sắp xếp theo thứ tự tăng dần
+ nhập vào 1 số thực x kiểm tra xem x có trong mảng không? nếu có thì in ra tất cả vị trí của x trong mảng, nếu không có thì chèn x vào mảng sao cho mảng vẫn tăng.

ai biết giúp em nhé.
Về Đầu Trang Go down
sun
Moderator
Moderator
sun


Tổng số bài gửi : 72
Points : 26147
Rep power : 26
Join date : 17/02/2010
Age : 30
Đến từ : Thái Nguyên City

mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitimeWed Apr 28, 2010 12:51 am

cái này cũng dễ mà
Code:
program sun;
uses crt;
const nmax=100;
var a:array[1..nmax]of real;
      n,x:integer;
procedure nhap;
  var i:integer;
  begin
          write('Nhap so phan tu: ');readln(n);
          for i:=1 to n do
                write('Nhap so thu ',i,': ');readln(a[i]); inc(i);
  end;
procedure dc(var i,j:integer);
  begin
          a[i]:=a[i]+a[j];a[j]:=a[i]-a[j];a[i]:=a[i]-a[j];
  end;
procedure sap_xep;
  var i:integer;
  begin
          for i:=1 to n do
              for j:= 1 to n do
                    if a[i]>a[j] then dc(i,j);
  end;
procedure chen(x,i:integer);
  var j:integer;
  begin
          for j:=n+1 downto i+1 do a[j]:=a[j-1];
          a[i]:=x;
  end;
procedure tim(x:integer);
  var i:integer;
  begin
          for i:=1 to n do
                if x<=a[i] then
                  begin
                          if x=a[i] then begin writeln('Co');exit; end
                          else chen(x);
                  end;
  end;
BEGIN
        clrscr;
        nhap;
        sap_xep;
        write('Nhap so can tim: ');readln(x);
        tim(x);
        readln;
END.
Có gì sai thì cứ pm nick chat của tớ nhá YH

P/s: Lần sau bỏ code vào thẻ code cho dễ nhìn nhé bạn. Lần này mình sửa hộ.
Về Đầu Trang Go down
AnhCoYeuEm
Member
Member



Tổng số bài gửi : 25
Points : 25718
Rep power : 0
Join date : 25/04/2010
Age : 30
Đến từ : Ninh Bình.

mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitimeWed Apr 28, 2010 3:40 am

sun đã viết:
cái này cũng dễ mà
program sun;
uses crt;
const nmax=100;
var a:array[1..nmax]of real;
n,x:integer;
procedure nhap;
var i:integer;
begin
write('Nhap so phan tu: ');readln(n);
for i:=1 to n do
write('Nhap so thu ',i,': ');readln(a[i]); inc(i);
end;
procedure dc(var i,j:integer);
begin
a[i]:=a[i]+a[j];a[j]:=a[i]-a[j];a[i]:=a[i]-a[j];
end;
procedure sap_xep;
var i:integer;
begin
for i:=1 to n do
for j:= 1 to n do
if a[i]>a[j] then dc(i,j);
end;
procedure chen(x,i:integer);
var j:integer;
begin
for j:=n+1 downto i+1 do a[j]:=a[j-1];
a[i]:=x;
end;
procedure tim(x:integer);
var i:integer;
begin
for i:=1 to n do
if x<=a[i] then
begin
if x=a[i] then begin writeln('Co');exit; end
else chen(x);
end;
end;
BEGIN
clrscr;
nhap;
sap_xep;
write('Nhap so can tim: ');readln(x);
tim(x);
readln;
END.
Có gì sai thì cứ pm nick chat của tớ nhá YH

mình mới biết pascal mà bạn viết cái chương trình ra rồi nói thế thì làm sao mà hiểu được? bạn có thể phân tích hộ mình được không?
Về Đầu Trang Go down
Khách vi
Khách viếng thăm




mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitimeWed Apr 28, 2010 4:16 am

sun đã viết:

Code:
procedure nhap;
  var i:integer;
  begin
          write('Nhap so phan tu: ');readln(n);
          for i:=1 to n do
                write('Nhap so thu ',i,': ');readln(a[i]); inc(i);
  end;

cái nhập này đáng nhẽ phải nằm trong begin - end; chứ?
Code:
procedure nhap;
  var i:integer;
  begin
          write('Nhap so phan tu: ');readln(n);
          for i:=1 to n do
                begin
                write('Nhap so thu ',i,': ');readln(a[i]);
                end;
                { inc(i);}
  end;

inc(i) là tăng i lên 1 đơn vị phải không nhỉ? lâu không xem lại nên cũng không nhớ, nếu đúng thì trong vòng for tăng lên làm gì?

Code:
procedure dc(var i,j:integer);
  begin
          a[i]:=a[i]+a[j];a[j]:=a[i]-a[j];a[i]:=a[i]-a[j];
  end;
procedure sap_xep;
  var i:integer;
  begin
          for i:=1 to n do
              for j:= 1 to n do
                    if a[i]>a[j] then dc(i,j);
  end;
2 cái thủ tục này sao không viết thành 1 cho gọn? Và dùng luôn 1 biến tạm sắp xếp cho nhanh, sao dùng j mà không khai báo?

Code:
var i,j:integer;
tam: real;
  begin
          for i:=1 to n - 1 do
              for j:= i + 1 to n do
                    if a[i]>a[j] then
                    begin
                    tam:=a[j];
                    a[j] := a[i];
                    a[i] := tam;
                    end;
  end;

còn cái chèn này thì cũng chưa biết. Để xem lại xem sao.

Code:
procedure chen(x,i:integer);
  var j:integer;
  begin
          for j:=n+1 downto i+1 do a[j]:=a[j-1];
          a[i]:=x;
  end;

Cũng chưa biết bài này có đúng không nữa. Chưa test, nhờ mấy bạn test thử rồi cho ý kiến về bài của Sun nhé.


Được sửa bởi DucMjnh1992 ngày Wed Apr 28, 2010 7:37 am; sửa lần 2.
Về Đầu Trang Go down
AnhCoYeuEm
Member
Member



Tổng số bài gửi : 25
Points : 25718
Rep power : 0
Join date : 25/04/2010
Age : 30
Đến từ : Ninh Bình.

mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitimeWed Apr 28, 2010 4:56 am

2 Mod cãi nhau không biết ai thắng đây nhỉ? mọi người giúp em làm nhanh mấy bài hộ em với em đang cần. Hj, thanks mọi người nhiều.
Về Đầu Trang Go down
Khách vi
Khách viếng thăm




mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitimeThu Apr 29, 2010 2:50 am

Code:
program mang_thuc;
uses crt;
var a:array[1..100] of real;
   i, j, n: integer;
   tam, x: real;
   kt: boolean;
begin
   clrscr;
   writeln('nhap vao so luong phan tu cua mang: ');
   readln(n);
{**** Nhap mang. ****}   
   for i := 1 to n do
      begin
         write('nhap vao phan tu thu ',i,' cua mang: ');
         readln(a[i]);
      end;
{**** ket thuc nhap mang bat dau sap xep. ****}      
   for i := 1 to n - 1 do
      for j := i + 1 to n do
         if a[i] > a[j] then
            begin
               tam := a[i];
               a[i] := a[j];
               a[j] := tam;
            end;
{**** ket thuc sap xep, bat dau in ra mang da sap xep. ****}            
   writeln('mang sau khi sap xep la:');
   for i := 1 to n do
      write(a[i]:6);
{**** ket thuc in, xuong dong, nhap vao 1 so thuc x. ****}      
   writeln;
   writeln('nhap vao 1 so thuc:');
   readln(x);
{**** gan kt = false de lam bien danh dau. ****}   
   kt := false;
{**** ket thuc nhap, bat dau kiem tra x co nam trong mang hay khong. ****}
{**** neu x nam trong mang thi xuat ra tat ca cac vi tri cua x. ****}
{**** va dung bien kt = true de danh dau x co trong mang. ****}      
   for i := 1 to n do
      if x = a[i] then
         begin
            write(i:6);
            kt := true;
         end;
{**** ket thuc kiem tra x, neu x co trong mang thi bo qua day lenh sau. ****}
{**** neu x khong co trong mang thi thuc hien day lenh duoi. ****}            
   if kt = false then
      begin
         for i := n downto 0 do
            begin
               j := i + 1;               
               {**** x lon nhat, nam trong mang hoac x la nho nhat thi deu thuc hien. ****}   
               if (x > a[i]) and (kt = false) then
                  begin
                     a[j] := x;
                     kt := true;
                  end
               {**** neu x la lon nhat hoac x khong lon nhat. ****}
               {**** nhung  dieu kien tren  da duoc thuc hien 1 lan thi lam. ****}
               else if (x > a[i]) and (kt = true) then
                  a[j] := a[i + 1]
               {**** khi x la nho nhat thi lam. ****}
               else
                  a[j] := a[i];
               end;
{**** ket thuc chen x vao mang, in mang da sap xep ra man hinh. ****}         
         writeln('mang sau khi chen la:');
         for i := 1 to n + 1 do
            write(a[i] : 6);
      end;   
{**** ket thuc chuong trinh. ****}
   readln;
end.

Trên đây là chương trình mình viết, trong chương trình có chú thích giải thích code rồi nên không cần giải thích nữa. Mình làm như trên và đã test, những lần mình test đều đúng nhưng chưa test được hết tất cả các trường hợp vì không có nhiều thời gian. Ai test thấy sai chỗ nào thì cho mình ý kiến để sửa hoặc sửa hộ mình nhé. Ai có cách khác nhanh hơn thì chỉ mình nhé, mình không được thong minh lắm nên chỉ nghĩ ra được như thế thôi, code hơi dài hơn so với code của Sun. Cũng chưa test code của Sun nên chưa biết là đúng hay sai.
Về Đầu Trang Go down
sun
Moderator
Moderator
sun


Tổng số bài gửi : 72
Points : 26147
Rep power : 26
Join date : 17/02/2010
Age : 30
Đến từ : Thái Nguyên City

mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitimeFri Apr 30, 2010 12:52 am

hihi tại hôm đấy buồn ngủ quá nên chưa test lại! Sory nha
Sao anh lại để hết vào chương trình chính thế ! Viết chương trình con thì dễ hiểu hơn mà đỡ phải chú thích nhiều như anh Wink) nhìn hoa hết mắt kaka
Về Đầu Trang Go down
Khách vi
Khách viếng thăm




mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitimeSat May 01, 2010 8:21 am

sun đã viết:
hihi tại hôm đấy buồn ngủ quá nên chưa test lại! Sory nha

kiểu này thì chết con người ta rồi còn gì Smile) =)).

Sun đã viết:
Sao anh lại để hết vào chương trình chính thế ! Viết chương trình con thì dễ hiểu hơn mà đỡ phải chú thích nhiều như anh Wink) nhìn hoa hết mắt kaka

thực ra cũng không cần chú thích nhưng mà chú thích thế để cho em đó hiểu thôi. Còn chương trình con thì với chương trình đơn giản như thế không cần thiết phải dùng.
Về Đầu Trang Go down
AnhCoYeuEm
Member
Member



Tổng số bài gửi : 25
Points : 25718
Rep power : 0
Join date : 25/04/2010
Age : 30
Đến từ : Ninh Bình.

mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitimeSat May 01, 2010 8:36 am

Thế là bài trên đúng rồi à? hj` chép về đi chấm điểm cái. Thứ 2 phải nộp bài rồi, cảm ơn mọi người nhé.
Về Đầu Trang Go down
Sponsored content





mảng trong pascal. Empty
Bài gửiTiêu đề: Re: mảng trong pascal.   mảng trong pascal. Icon_minitime

Về Đầu Trang Go down
 
mảng trong pascal.
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» pascal về xâu.
» đọc và xử lí tệp trên pascal?
» Giúp mình viết 1 bài sắp xếp mảng.
» Viết chương trình nhập vào một mảng 1 chiều có 7 phần tử. Viết các chương trình?

Permissions in this forum:Bạn không có quyền trả lời bài viết
Tin K20 CTN chào đón bạn! :: Học tập :: Môn Chuyên (Tin)-
Chuyển đến