Thứ Sáu, 24 tháng 2, 2012

Tính tổng chỉ sổ cột hàng chẵn trong mảng 2 chiều

Lập chương trình nhập mảng 2 chiều m hàng n côt. tính và in ra màn hình tổng các phần tử có chỉ số hàng chẵn, chỉ số cột lẹ M, N được nhập từ bàn phím.


Var a:array[1..100,1..100] of integer;
    i,j,m,n:integer;
Begin
  Write('Nhap so hang va cot');readln(m,n);
  For i:=1 to m do
  For j:=1 to n do
  begin
    write('A[',i,',',j,']=');readln(a[i,j]);
  end;
  i:=2;j:=1;
  While i<=m do
  begin
  While j<=n do
   begin
    write('A[',i',',j,']='a[i,j],'   '); j:=j+2;
   end;
  i:=i+2;
  end;
  Readln;
End.

Đảo ngược mảng 1 chiều

Lập chương trình thực hiện đảo ngược mảng số đó.

Var a:array[1..100] of integer;
    n,i:integer;
Begin
  write('Do dai cua mang can nhap?');readln(n);
  For i:=1 to n do
  begin
    write('Phan tu thu ',i,'=?');readln(a[i])
  end;
  writeln('Mang dao nguoc la :');
  For i:=n downto 1 do write(a[i]:5);
  Readln;
End.

Dãy Tribonacci

Dãy Tribonacci là dãy 1 , 1 , 2 , 3 , 7 , 13 , 24... dãy này được sinh ra bới công thức đệ qui sau :
Tr(1) = 1 , Tr(2) = 1 , Tr(3) = 2 , Tr(k) = Tr(k-1)+Tr(k-2)+Tr(k-3) ... với 3< k <37
Mọi số tự nhiên N đều có thể biểu diễn duy nhất dưới dạng tổng của một số số trong dãy Tribonacci.
VD: 17 = 13 + 4; 30 = 24 + 4 + 2;
Cho trước số tự nhiên N nhập từ bàn phím. Viết chương trình tìm biểu diễn Tribonacci của số N.

Ý tưởng: Xây dựng 1 mảng số Tribonacci từ 1 tới 37 (đến 37 vì theo đề bài ...), rồi duyệt từng phần tử của dãy Tribonacci, nếu n> Tribonacci[i] thì in ra Tribonacci[i] và giảm n tới khi n<0 thì thôi.

Uses crt;
Const
  max=37;
Var
  a:array[1..max] of longint;
  n,i:longint;
BEGIN
  Clrscr;
  a[1]:=1; a[2]:=1; a[3]:=2;
  For i:=4 to max do
    a[i]:=a[i-1]+a[i-2]+a[i-3];
  Write('Nhap so n:'); readln(n);
  i:=max;
  While a[i]>n do i:=i-1;
  Write(n,'=',a[i]);
  n:=n-a[i];
  While n>0 do
    Begin
      i:=i-1;
      If n>=a[i] then
        Begin
          Write('+',a[i]);
          n:=n-a[i];
        End;
    End;
  Readln;
END.

Số hoàn thiện

Một số có tỗng các ước nhỏ hơn nó bằng chính nó dc gọi là số hoàn chỉnh.VD 6 có ước nhỏ hơn nó là 1,2,3. Tổng là 1+2+3=6.Viết chương trình xét xem một số n dược nhập từ bàn phím có phải là số hoàn chỉnh không.
PROGRAM hoanthien;
VAR n:INTEGER;
FUNCTION kiemtra(x:INTEGER):BOOLEAN;
VAR tam,i:INTEGER;
BEGIN
tam:=0; kiemtra:=FALSE;
FOR i:= 1 TO (x DIV 2) DO
IF x MOD i = 0 THEN tam:=tam+i;
IF tam = x THEN kiemtra:=TRUE;
END;
BEGIN
writeln('Nhap so can kiem tra ');
readln(n);
IF kiemtra(n) THEN writeln('So ',n,' la so hoan thien')
ELSE
writeln('So ',n,' khong phai la so hoan thien');
readln;
END.

Đếm số nguyên tổ trong mảng 1 chiều

Trong bài viết trước, Code Pascal đã giới thiệu cách xác định tính nguyên tố của 1 số được nhập vào từ bàn phím. Mở rộng đề bài ra thành đếm số nguyên tố trong dãy số N được nhập vào từ bàn phím cũng không quá khó.

Có rất nhiều cách để giải bài toán này, cách dưới đây tuy không bám sát vào cách làm trong bài viết Kiểm tra số nguyên tổ trong pascal nhưng cũng khá dễ hiểu.

var i,j,n:Integer;
    A:array[1..50] of Integer;
begin
      write('nhap n:');
      readln(n);
      for i:=1 to n do
      begin
            write('nhap a[',i,'] ');
            readln(a[i]);
      end;
      j:=1;
      for i:=1 to n do
            if a[i]>1 then
            begin
                 repeat
                       inc(j);
                 until (a[i] mod j=0);
                 if j>(a[i] div 2) then inc(d);
                 j:=1;
            end;
      write('Co ',d,' so ngto trog day');
      readln;
end.

Kiểm tra số nguyên tổ trong pascal

Nhập vào 1 số. Xác định xem số đó có phải số nguyên tố hay không.

Đây là một bài toán rất căn bản trong Pascal. Ý tưởng: Số nguyên tố là số chia cho 1 và chính nó. Giả sử số vừa nhập vào là n, ta cho i chạy từ 2 đến n-1, nếu n chia hết cho i trong bất cứ lần lặp nào thì có nghĩa là n không nguyên tố, nếu không chia hết cho bất cứ lần lặp nào là nguyên tố. Về nguyên tắc là như vậy, nhưng người ta đã chứng minh được rằng chỉ cần xét từ 1 đến phần nguyên căn 2 của N. Như thế thuật toán sẽ tối ưu hơn.


program kiem_tra_nguyen_to;
uses crt;
var n,i:integer; bl:boolean;
begin
 clrscr;
 bl:=true;
 write('nhap vao so can kiem tra tinh nguyen to: '); readln(n);
 if n<=1 then bl:=false;
 for i:=2 to trunc(sqrt(n)) then
  if n mod i=0 then bl:=false;
 if bl=true then write('so vua nhap nguyen to.')
 else write('so vua nhap khong nguyen to.');
readln;
end.

Bouns: Chứng minh: Chỉ cần xét từ 1 đến phần nguyên căn 2 của N thay vì xét đến N: 
Lấy ví dụ số không nguyên tố:
9=3*3
12=3*4
18=2*9=3*6
20=4*5=2*10
trong các ví dụ trên, các số không nguyên tố được phân tích thành tích các cặp ước của chúng, trong mỗi cặp số nhỏ đứng trước, số lớn đứng sau. Trong mỗi cặp, ta có thể thấy rõ một điều: số đứng trước (nhỏ hơn) luôn luôn nhỏ hơn hoặc bằng căn bậc hai của số cần xét. Ví dụ ta thấy 20=4*5, rõ ràng 4 nhỏ hơn căn bậc hai của 20. Bạn tự xét các ví dụ khác nhé. Có thể chứng minh được điều này bằng toán học như sau:


Chứng minh: Gọi số cần xét là n, căn bậc hai của nó là x, hai ước tương ứng có tích bằng n của nó là a và b(a<>b), ta cần chứng minh a<x hoặc b<x. Vì a và b có vai trò tương đương, nên ta giả sử a<b.
Giả sử a>x và b>x, ta có a*b>x*x=n => trái với giải thiết. Vậy trong hai số a và b, phải có một số nhỏ hơn x. 
Dựa vào đặc điểm trên, ta sẽ giới hạn phạm vi của i là 2->n-1 thành 2->sqrt(n). Tuy nhiên, sqrt(n) với n không chính phương sẽ ra số vô tỉ, trong khi i là số nguyên, vậy cần làm tròn sqrt(n). Phạm vi mới sẽ là 2->trunc(sqrt(n)).

Thứ Năm, 23 tháng 2, 2012

In bảng cửu chương

Lập chương trình Pascal để in bảng cửu chương ra màn hình.

Uses crt;
Var
  a:array[1..9,1..9] of Integer ;
  i,j:byte ;
BEGIN
  Clrscr ;
  For i := 1 to 9 do
    For j := 1 to 9 do
      A[i,j] := i*j ;
  For i := 1 to 9 do
    Begin
      For j := 1 to 9 do Write(a[i,j]:5);
      Writeln ;
      Writeln ;
    End ;
  Readln ;
END.

Dãy số Fibonaci

In ra màn hình dãy số Fibonaci với n số nhập từ bàn phím. Biết dãy số Fibonaci là dãy số mà F(1)=0, F(2)=1, F(n)=F(n-1)+F(n-2).

uses crt;
var i,n,f1,f2: integer;
begin
 clrscr;
 write('Nhap n: ');
 readln(n);
 f1:=0;
 f2:=1;
 for i:=1 to n do
 begin
  write(f1,' ');
  f2:=f2+f1;
  f1:=f2-f1;
 end;
 readln;
end.

Phân loại lứa tuổi

Nhập họ tên và năm sinh của người và cho biết người này thuộc lứa tuổi nào: sơ sinh, nhi đồng, thiếu niên, thanh niên, trung niên, người lớn tuổi. Biết rằng:
+ Sơ sinh tuổi từ 0->0
+ Nhi đồng tuổi từ 2->9
+ Thiếu niên tuổi từ 10->15
+ Thanh niên tuổi 16->32
+ Trung niên tuổi từ 33 -> 50
+ Người già tuổi từ 50 trở lên


uses crt;var
a:array[1..100] of longint;
i,n:longint;
begin
clrscr;
write('nhap so nguoi:');
readln(n);
for i:=1 to n do
begin
write('nhap tuoi cua nguoi thu ',i,':');
readln(a[i]);
end;
for i:=1 to n do
begin
write('nguoi thu',i,':');
case a[i] of
0:writeln('tre so sinh');
2..9:writeln('nhi dong');
10..5:writeln('thieu nien');
16..32:writeln('thanh nien');
33..50:writeln('trung nien');
Else writeln('nguoi gia');
end;
end;
readln;
end. 

Phân loại lao động của công nhân

1 xí nghiệp tính tiền thưởng hàng tháng cho công nhân theo công thức: tiền thưởng bằng hệ số * 200, trong đó hệ số được tính dựa vào kết quả bình chọn phân loại a, b, c và nơi làm việc cơ sở 1 hay 2 của mỗi người trong tháng cụ thể trong bảng sau:
|Loại 1|___|CS1|___|CS2|
|A|_______|2.0|___ |2.5|
|B|_______|1.5|___ |1.8|
|C|_______|1.0|___ |1.0|
Viết chương trình nhập họ tên, phân loại lao động và nơi làm việc của công nhân. Tính tiền thưởng cho người đó.

var ten, cs: string;
  loai: char;
  i,n: integer;
  hs,tien: real;
begin
 write('Nhap so cong nhan: ');
 readln(n);
 for i:=1 to n do
 begin
  write('Nhap ten cong nhan thu ',i,': ');readln(ten);
  write('Nhap phan loai lao dong (a/b/c): ');readln(loai);
  write('Nhap noi lam viec (cs1/cs2): ');readln(cs);
  Case loai of
   'a' : if cs='cs1' then hs:=2.0
         else hs:=2.5;
   'b' : if cs='cs1' then hs:=1.5
         else hs:=1.8;
   'c' : hs:=1.0 ;
  end;
  tien:=hs*200;
  writeln('So tien thuong cua cong nhan ',ten,' la: ',tien:0:2);
 end;
 readln;
end.

Kiểm tra đồng thời tính chẵn lẽ của 2 số

Viết chương trình nhập 2 số tự nhiên M, N và thông báo đúng nếu M, N cùng tính chẵn lẻ, trong trường hợp ngược lại thì thông báo sai.

uses crt;
var n,m : integer;
begin
 clrscr;
 write('Nhap 2 so m, n: ') ; readln(m,n) ;
 if( (m+n) mod 2=0 ) then writeln('Dung !')
 else writeln('Sai !') ;
 readln;
end.

Bài toán gà chó

Vừa gà vừa chó, bó lại cho tròn, ba mươi sáu con, một trăm chân chẵn. Hỏi có bảo nhiêu chó gà?


Bài giải

+ Gọi số gà là x ( Điều kiện x nguyên dương, x< 36)
Thì số chó là 36 - x

Số chân gà là 2x, số chân chó là 4 (36 - x)
Tổng số chân là 100 nên theo bài ra ta có phương trình:
2x + 4(36 - x ) = 100

+ Giải phương trình trên :
2x + 4( 36 - x) = 100
=> x = 22

Lập trình trong Pascal


uses crt;
var g,c: integer;
begin
 clrscr;
 for c:=1 to 25 do
 begin
  g:=36-c;
  if 4*c+2*g=100 then
   write('So ga: ',g,' So cho: ',c);
 end;
 readln;
end.

Nhập số thực hỏi phép tính

Viết chuơng trình nhập 2 số thực, sau đó hỏi phép tính cần thực hiện.


uses crt;
var a,b,kq: real;
pt: char;
begin
 clrscr;
 write('Nhap 2 so a, b: ');
 readln(a,b);
 writeln ('Nhap phep tinh can thuc hien: ');
 readln(pt);
 case pt of
   '+' : kq:=a+b;
   '-' : kq:=a-b;
   '*' : kq:=a*b;
   '/' : kq:=a/b;
 end;
 write('Ket qua: ',kq:0:2);
 readln ;
end.

Kiểm tra tam giác

Nhập 3 số thực, kiểm tra xem chúng có phải là độ dài của 3 cạnh tam giác không, nếu có thì nó là tam giác gì (tam giác cân, tam giác đều, tam giác vuông)?

uses crt;
var a,b,c: real;
begin
 clrscr;
 write('Nhap 3 so a, b, c: ');readln(a,b,c);
 if (a+b>c)and(a+c>b)and(b+c>a) then
 begin
  write('3 canh vua nhap la tam giac');
  if (a=b)or(b=c)or(a=c) then
  begin
   if(a=b)and(b=c) then
    write(' deu')
   else
    write(' can');
  end;
  if (a*a=b*b+c*c)or(b*b=a*a+c*c)or(c*c=a*a+b*b) then
   write(' vuong');
 end
 else
  write('3 canh vua nhap ko phai la tam giac');
 readln;
end.

Thứ Tư, 22 tháng 2, 2012

Sắp xếp mảng 1 chiều

Viết chương trình nhập vào một mảng gồm N số nguyên. Sắp xếp lại mảng theo thứ tự tăng dần và in kết quả ra màn hình.

Ý tưởng:
Cho biến i chạy từ 1 đến N-1, đồng thời cho biến j chạy từ i+1 đến N: Nếu A[i]>A[j] thì đổi chổ A[i], A[j].

Dưới đây là thuật toán sắp xếp mảng 1 chiều:

Uses Crt;
Type Mang = ARRAY[1..50] Of Integer;
Var A:Mang;
N,i,j,Tam:Integer;
Begin
{Nhập mảng}
Write('Nhap N='); Readln(N);
For i:=1 To N Do
Begin
Write('A[',i,']='); Readln(A[i]);
End;
{Sắp xếp}
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;
{In kết quả ra màn hình}
Writeln('Ket qua sau khi sap xep:');
For i:=1 To N Do Write(A[i]:5);
Readln;
End.

Tìm giá trị lớn nhất mảng 1 chiều

Đề bài: Viết chương trình tìm giá trị lớn nhất của một mảng chứa các số nguyên gồm N phần tử.

Ý tưởng:
- Cho số lớn nhất là số đầu tiên: Max:=a[1].
- Duyệt qua các phần tử a[i], với i chạy từ 2 tới N: Nếu a[i]>Max thì thay Max:=a[i];

Uses Crt;
Type Mang = ARRAY[1..50] Of Integer;
Var A:Mang;
N,i,Max:Integer;
Begin
Write('Nhap N='); Readln(N);
For i:=1 To N Do
Begin
Write('A[',i,']='); Readln(A[i]);
End;
Max:=A[1];
For i:=2 To N Do
If Max<A[i] Then Max:=A[i];
Writeln('Phan tu lon nhat cua mang:', Max);
Readln;
End.

Thứ Năm, 16 tháng 2, 2012

Tính trung bình cộng các số dương, âm nhập vào từ mảng 1 chiều trong Pascal

Viết chương trình nhập số nguyên N (0 < N ≤ 10 000) và mảng a gồm N số nguyên. Tính và in ra trung bình cộng của các số âm, số dương trong a. Không tính số 0.

Ví dụ : a[] = {1, -6, 0, 3, -1}. Trung bình cộng là -0.75

PROGRAM tbc_am_duong_mang;
USES crt;
VAR a:ARRAY[1..100] OF REAL;
    i,n,x,y:INTEGER;
    tongam,tongduong,tba,tbd:REAL;
BEGIN
    clrscr;
    write('So phan tu cua day n= ');readln(n);
    FOR i:=1 TO n DO
        BEGIN
            write('Nhap phan tu a[',i,']: ');
            readln(a[i]);
        END;
   
    tongam:=0; x:=0;
    FOR i:=1 TO n DO
    IF a[i]<0 THEN
        BEGIN tongam:=tongam+a[i];
              x:=x+1;
        END;
    tba:=tongam/x;
    write('TB cong cac so am la: ',tba:5:1);
   
    writeln;
   
    tongduong:=0; y:=0;
    FOR i:=1 TO n DO
    IF a[i]>0 THEN
        BEGIN tongduong:=tongduong+a[i];
              y:=y+1;
        END;
    tbd:=tongduong/y;
    write('TB cong cac so duong la: ',tbd:5:1);
   
    readln;
END.  

Thứ Tư, 15 tháng 2, 2012

Giải phương trình bậc hai bằng Pascal

Ý tưởng: Để giải phương trình bậc 2 bằng Pascal, chúng ta sẽ tính del-ta như khi giải phương trình bậc 2 bình thường.

PROGRAM ptb2;
USES crt;
VAR a,b,c,x1,x2,d:REAL;
BEGIN
    clrscr;

    REPEAT
     write('Nhap cac he so a, b, c: ');
     readln(a,b,c);
    UNTIL a<>0;

    d:=sqr(b)-4*a*c;
   
    IF d<0 THEN write('Phuong trinh vo nghiem!')
    ELSE
    BEGIN
         x1:=(-b-sqrt(d))/(2*a);
         x2:=(-b+sqrt(d))/(2*a);
         IF d=0 THEN writeln('Phuong trinh co nghiem kep x = ',x1:5:1)
         ELSE writeln('Phuong trinh co 2 nghiem phan biet: ',x1:5:1,x2:5:1);
    END;

    readln;
END. 

Những điểm mới trong tuyển sinh ĐH, CĐ 2012

Việc bổ sung khối thi A1 gồm ba môn toán, lý, tiếng Anh được sự nhất trí cao của các trường ĐH. Khối thi mới bên cạnh khối A cho một số ngành có nhu cầu tuyển sinh sẽ giúp mở rộng đối tượng dự thi, nhất là ở các chuyên ngành đào tạo cần tiếng Anh.

Nhiều cải tiến trong mùa tuyển sinh 2012 sẽ tạo cơ hội cho thí sinh và cả các trường ĐH, CĐ. Trong ảnh: học sinh tham dự Ngày hội tư vấn tuyển sinh - hướng nghiệp 2012 do báo Tuổi Trẻ tổ chức tại Trường ĐH Bách khoa TP.HCM - Ảnh: H.T.V.



1. Chính thức bổ sung khối thi A1

Việc bổ sung khối thi A1 gồm ba môn toán, lý, tiếng Anh được sự nhất trí cao của các trường ĐH. Khối thi mới bên cạnh khối A cho một số ngành có nhu cầu tuyển sinh sẽ giúp mở rộng đối tượng dự thi, nhất là ở các chuyên ngành đào tạo cần tiếng Anh.

Theo Thứ trưởng Bộ GD-ĐT Bùi Văn Ga, để bảo đảm sự ổn định ở các trường tuyển sinh theo khối thi truyền thống và không ảnh hưởng đến việc học tập, định hướng ôn tập của học sinh trong ba năm THPT (theo ban và theo khối), các trường sẽ vẫn phải tuyển sinh theo các khối thi của từng ngành đào tạo như những năm trước. Việc bổ sung khối thi mới được thực hiện nếu trường thấy cần thiết và phù hợp với từng ngành đào tạo.

2. Thêm cụm thi Hải Phòng, mở rộng cụm thi Vinh

Để tạo điều kiện thuận tiện cho việc đi lại, thi tuyển và tiết kiệm chi phí cho thí sinh, năm 2012 ngoài các cụm thi Vinh, Quy Nhơn, Cần Thơ sẽ có thêm cụm thi Hải Phòng - nơi tiếp nhận thí sinh Hải Phòng, Quảng Ninh thi vào ĐH Hàng hải và các trường ĐH tại Hà Nội. Cụm thi Vinh sẽ mở rộng việc tiếp nhận thí sinh các tỉnh Nghệ An, Hà Tĩnh, Quảng Bình, Quảng Trị thi vào các ĐH tại TP.HCM, TP Hà Nội và ĐH Vinh.

3. Bộ không đứng tên trong cuốn Những điều cần biết...

Trước hội nghị, Bộ GD-ĐT dự kiến sẽ không in cuốn Những điều cần biết về tuyển sinh ĐH, CĐ như mọi năm. Các thông tin chi tiết về trường, chỉ tiêu cụ thể, mã ngành dự thi, khối thi, xét tuyển, vùng tuyển sinh, phương thức tuyển sinh mà trường đăng ký với bộ sẽ được đưa lên trang thông tin điện tử của Bộ GD-ĐT.

Các thông tin chi tiết khác về tuyển sinh như chuyên ngành đào tạo, chỉ tiêu tuyển sinh phân bổ cho từng ngành, môn thi năng khiếu, môn nhân hệ số, học phí, số chỗ trong ký túc xá, các trường công bố công khai trên website của trường, các phương tiện truyền thông và hoàn toàn chịu trách nhiệm về các thông tin do trường công bố.

Tuy nhiên, tại hội nghị, đại diện nhiều trường cho rằng việc thiếu vắng cuốn Những điều cần biết... là sự thiệt thòi, không công bằng cho học sinh vùng sâu vùng xa. Lãnh đạo Bộ GD-ĐT khẳng định trường THPT nào chưa có mạng Internet thì thông báo với Cục Công nghệ thông tin của bộ, lập tức sẽ được nối mạng, phục vụ thí sinh.

Trước băn khoăn của nhiều trường, Bộ trưởng Bộ GD-ĐT Phạm Vũ Luận kết luận sẽ đề nghị Nhà xuất bản Giáo Dục xem xét việc in cuốn sách này, nhưng bìa sách sẽ không để tên Bộ GD-ĐT như mọi năm, vì đó không phải nội dung do Bộ GD-ĐT quy định, ban hành. Tính chính xác của thông tin tuyển sinh sẽ do các trường chịu trách nhiệm.

4. Không giới hạn hồ sơ xét tuyển

Một nội dung nằm trong chiến lược giao quyền tự chủ cho các trường ĐH, CĐ là năm 2012 Bộ GD-ĐT giao cho các trường tự chủ, tự chịu trách nhiệm khi xét tuyển. Thí sinh sẽ được nộp hồ sơ xét tuyển không giới hạn đến các trường khác nhau và các trường sẽ xét tuyển nhiều lần mà không bị hạn định về thời gian mỗi đợt xét tuyển hay bắt buộc điểm xét tuyển lần sau phải cao hơn lần trước...

Sau khi xét tuyển và triệu tập thí sinh trúng tuyển nhập học đối với thí sinh đăng ký dự thi vào trường, nếu còn chỉ tiêu, các trường thông báo công khai các điều kiện xét tuyển, thời gian nhận hồ sơ, thời gian công bố điểm trúng tuyển, danh sách thí sinh trúng tuyển, chỉ tiêu cần tuyển, ngành và khối xét tuyển, mức điểm nhận hồ sơ đăng ký xét tuyển...

Bộ cũng dự định hằng năm chậm nhất đến ngày 31-12, các trường sẽ báo cáo về kết quả thực hiện chỉ tiêu của năm. Thậm chí sau ngày 31-12, nếu các trường chưa tuyển hết chỉ tiêu (nhất là các trường theo học chế tín chỉ) có thể tiếp tục tuyển sinh.

Phát biểu kết luận hội nghị, ông Phạm Vũ Luận khẳng định sẽ giao Vụ Kế hoạch - tài chính xem xét lại phương án gia hạn thời gian đăng ký xét tuyển cho các trường đến hết ngày 31-12 vì thời hạn như vậy quá dài. “Chốt thời gian báo cáo kết quả tuyển sinh về bộ là ngày 31-12 sẽ có thể khiến xã hội có cảm giác các cơ sở giáo dục vơ hết cái này, cái kia. Bộ sẽ điều chỉnh theo hướng rút ngắn thời hạn xét tuyển của các trường, phù hợp với ngày bộ báo cáo chỉ tiêu tuyển sinh lên Quốc hội” - bộ trưởng cho biết.

5. Trường đặc thù có thể tuyển sinh trung cấp

Theo thông tư 57 quy định về xác định chỉ tiêu tuyển sinh vào các trường ĐH, CĐ được áp dụng bắt đầu từ mùa tuyển sinh 2012, các trường ĐH sẽ không được phép tuyển sinh hệ trung cấp. Tuy nhiên, tại hội nghị hiệu trưởng các trường ĐH, nhiều trường thuộc khối năng khiếu - nghệ thuật, y - dược cho rằng quy định này quá cứng nhắc, không phù hợp với thực tế đào tạo tại nhà trường.

Đại diện Học viện Âm nhạc quốc gia VN thẳng thắn cho rằng: “Học viện Âm nhạc quốc gia với đặc thù đào tạo riêng biệt, nếu không có hệ trung cấp thì cũng không phát triển được đào tạo ĐH. Thực tế đa số sinh viên ĐH xuất phát từ hệ trung cấp của trường”.

Bộ trưởng Phạm Vũ Luận khẳng định sẽ xem xét cụ thể đề nghị của các trường, đáp ứng nguyện vọng thật sự của người học và người dạy, có thể điều chuyển để một số trường ĐH đặc thù về văn hóa - nghệ thuật, các trường quốc phòng - an ninh, y - dược tiếp tục được tuyển sinh đào tạo trình độ trung cấp.

6. Tuyển thẳng học sinh giỏi quốc gia vào ĐH

Một quyết định được nhiều học sinh các trường THPT chuyên, học sinh thi học sinh giỏi quốc gia mong đợi là quyết định tuyển thẳng học sinh đoạt giải trong kỳ thi chọn học sinh giỏi quốc gia vào ĐH.

Đối với học sinh không sử dụng quyền tuyển thẳng hoặc không đăng ký vào học đúng nhóm ngành theo môn thi đoạt giải, nếu dự thi ĐH, CĐ thì được ưu tiên theo hai hướng: thứ nhất, nếu dự thi đủ số môn quy định, kết quả thi đạt điểm sàn ĐH trở lên, không có môn nào bị điểm 0 thì các trường tuyển thẳng vào ĐH; thứ hai, nếu dự thi đủ số môn quy định, kết quả thi đạt điểm sàn CĐ đến dưới điểm sàn ĐH, không có môn nào bị điểm 0 thì các trường tuyển thẳng vào CĐ.

LÙI NGÀY THI ĐẠI HỌC VÀ CAO ĐẲNG

Thời gian thi sẽ được lùi lại 4-5 ngày so với năm trước (những năm trước đợt 1 thi ngày 4 và 5-7, đợt 2 ngày 9 và 10-7, đợt 3 ngày 14 và 15-7) để các ngày thi rơi vào đúng thứ bảy, chủ nhật, tránh tắc đường; thời gian giữa hai đợt thi giãn ra để các trường kịp chuẩn bị, không cập rập.

Ðợt 1: 7 và 8-7

Khối A, A1, V

Ðợt 2: 14 và 15-7

Khối B, C, D và các khối năng khiếu

Ðợt 3: 21 và 22-7

Thi CÐ tất cả các khối (như năm 2011)

NGỌC HÀ - VĨNH HÀ
Nguồn: tuoitre.vn

Chủ Nhật, 12 tháng 2, 2012

Bài 4: Mảng trong Pascal

1. Mảng 1 chiều:

- Có thể hiểu nôm na: Mảng 1 chiều là dãy số hữu hạn.
vd: nhiệt độ mỗi ngày trong tuần (tháng/năm), cấp số cộng, cấp số nhân...

- Chỉ số của mảng:
vd: Xét mảng: 10 20 30 5 6 7
là một dãy các số tự nhiên bất kì có 6 phần tử mà
phần tử thứ 1 là 10
phần tử thứ 2 là 20
phần tử thứ 3 là 30
phần tử thứ 4 là 5
phần tử thứ 5 là 6
phần tử thứ 6 là 7


Lưu ý!
Xét dãy: Ti Suu Dan Mao Thin Ti Ngo Mui Than Dau Tuat Hoi
cũng được coi là mảng 1 chiều, trong đó:
  • Phần tử 1 là Ti
  • Phần tử 2 là Suu
  • Phần tử 3 là Dan
  • Phần tử 4 là Mao
  • Phần tử 5 là Thin
  • ...

- Cách tham chiếu đến mảng: A[i] với i là chỉ số phân tử trong mảng.
vd: Vẫn xét mảng 10 20 30 5 6 7
A[1]=10; A[2]=20; A[3]=30; A[4]=50; A[5]=6; A[7]=7

- Cách khai báo mảng: Có 2 cách khai báo:
  • Khai báo trực tiếp: Thường thì cách khai báo trực tiếp được dùng nhiều hơn vì nó ngắn gọn.

var <tên mảng>:array[kiểu chỉ số] of <kiểu phần tử>; 

vd:
a:array[1..100] of integer;
b,c:array[1..250] of integer;
  • Khai báo gián tiếp:
type <tên kiểu mảng>=array[kiểu phần tử] of <kiểu chỉ số>;
var <tên mảng>:<tên kiểu mảng>;

vd:
type mang=array[1..100] of integer;
var a,b,c:mang;

- Cách nhập/xuất mảng 1 chiều:
var a:array[1..100] of integer;
    n,i:integer; 
begin
    {Nhập số phần tử mảng}
     writeln('Nhap so phan tu cua mang:'); readln(n); 
    {Nhập mảng}
     for i:=1 to n do 
        begin
            write('A[',i,']='); readln(A[i]);
        end; 
    {Xuất mảng}
     for i:=1 to n do
        writeln(A[i]);
end.



2. Mảng 2 chiều:

- Khái niệm: Nếu mảng 1 chiều là dãy thì mảng 2 chiều là bảng các phần tử cùng kiểu (bảng các số).

- Tham chiếu: Vì mảng 2 chiều là bảng nên sẽ cần chỉ số hàng và chỉ số cột: A[i,j] với i là chỉ số hàng, j là chỉ số cột.

- Khai báo: Tương tự như mảng 1 chiều nhưng thêm chỉ số cột.

- Cách nhập/xuất mảng 2 chiều:
var A:array[1..50,1..50] of Integer;
      i,j,N,Max,k,c,M:Integer;
begin
     write('So hang cot:');readln(N,M);Max:=0;
     for i:=1 to N do
      for j:=1 to M do
       begin
            write('A[',i,',',j,']=');readln(A[i,j]);
       end;
     for i:=1 to N do
       begin
            for j:=1 to M do
            write(A[i,j]);
       end;
end.


Tổng hợp và biên tập

Thứ Năm, 9 tháng 2, 2012

Bài 3: Câu lệnh vòng lặp trong Pascal (for, while, repeat)

- Đánh răng mỗi ngày hai lần, học Tin học mỗi tuần 2 tiết, mỗi ngày tắm một lần...
- Học cho đến khi thuộc bài, rửa tách trà cho đến khi sạch...

Trong cuộc sống, những hành động trên được gọi là lặp đi lặp lặp lại nhiều. Trong Pascal, cách mô tả công việc (hoạt động) được lặp lại nhiều lần gọi là cấu trúc lặp. Có 3 loại cấu trúc vòng lặp như sau:

1. Vòng lặp for

- Đây là vòng lặp căn bản và được sử dụng nhiều nhất trong kiến thức phổ thông. Vòng lặp for dùng để lặp với số lần định trước, có cấu trúc như sau:

for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

Dạng khác (giảm dần biến đếm của vòng lặp for):

for <biến đếm>:= <giá trị cuối> downto 1 do <câu lệnh>;

vd: Tính tổng các số liên tiếp từ 1 đến 100

program Tinh_tong;
var i,S:integer;
begin   
    S:=0;
    for i:=1 to 100 do S:=S+1;
    write('Tổng là:',S);
    readln;
end.

2. Vòng lặp while

- Cú pháp:  

while <điều kiện> do <câu lệnh>

- Câu lệnh sẽ được lặp lại nhiều lần cho đến khi nào điều kiện còn đúng (nếu điều kiện sai thì các lệnh này sẽ không thực hiện nữa). Đối với lệnh này điều kiện sẽ được kiểm tra trước khi thực hiện lệnh nên nên điều kiện sai thì không có lệnh nào được thực hiện.

vd: Tính tổng các số liên tiếp từ 1 đến 100

var i: byte;
    S: longint;
begin
    S:= 0;
    i:= 1;
    while i <= 100 do
         begin
              S:= S + i;
              i:= i +1;
         end;
    write('Tong tu 1 den 100 la:',S);
    readln;
end.


3. Vòng lặp repeat 

- Cú pháp:

repeat
<câu lệnh>;
until <điều kiện>;

- Câu lệnh giữa repeat và until sẽ được lặp lại nhiều lần khi nào điều kiện sai, nếu điều kiện đúng thì ngưng (ngược với vòng lặp while). Đối với lệnh này điều kiện sẽ được kiểm tra sau khi thực hiện các lệnh giữa repeat và until nên ít nhất các lệnh sẽ được thực hiện trước 1 lần rồi mới kiểm tra điều kiện đúng hay sai (nếu sai thì thực hiện tiếp vòng lặp, đúng thì ngưng).

vd: Tính tổng các số liên tiếp từ 1 đến 100

var i,n: integer;
    S: real;
begin   
    S:=0; i:=1;
    repeat 
    S:=S+i; i:=i+1;
    until i>100;
    writeln('Tong = ',S);
    readln;
end.

Tổng hợp và biên tập

Bài 2: Câu lệnh điều kiện (If then)

Trong cuộc sống, có những hoạt động chỉ được thực hiện khi một điều kiện cụ thể được xảy ra. Điều kiện thường là một sự kiện được mô tả sau từ “Nếu”. Vd: Nếu em bị ốm, em sẽ không tập thể dục buổi sáng... Trong Pascal cũng như vậy.

Trước khi bắt đầu về câu lệnh điều kiện, chúng ta sẽ tìm hiểu tính đúng/sai, phép so sánh và cấu trục rẽ nhánh.

1. Tính đúng hoặc sai của các điều kiện

Khi kết quả kiểm tra là đúng, ta nói điều kiện được thỏa mãn, còn khi kết quả kiểm tra là sai, ta nói điều kiện không thỏa mãn.

vd: Nếu x mod 2=0, thì x là số chẵn; ngược lại x là số lẻ.
Nếu nhấn phím Enter, thì sẽ đưa con trỏ soạn thảo xuống dòng.

2. Điều kiện và phép so sánh

Các phép so sánh có vai trò rất quan trọng trong việc mô tả thuật toán và lập trình. Chúng thường được sử dụng để biểu diễn các điều kiện.
vd: Tìm số lớn nhất: Nếu a > b, thì a là số lớn nhất; ngược lại b là số lớn nhất.

3. Cấu trúc rẽ nhánh

Cấu trúc rẽ nhánh được sử dụng để chỉ thị cho máy tính thực hiện các hoạt động khác nhau tùy theo một điều kiện cụ thể có được thỏa mãn hay không. Cấu trúc rẽ nhánh có 2 dạng: Dạng thiếu và dạng đầy đủ. vd. Nếu chăm chỉ học tập, An sẽ được mẹ mua cho một cái máy vi tính; (dạng thiếu).
Nếu chăm chỉ học tập, An sẽ được mẹ mua cho một cái máy vi tính; ngược lại, An sẽ bị cô giáo phàn nàn và An sẽ không được mẹ mua cho một cái máy vi tính (dạng đủ).

4. Câu lệnh điều kiện

* Trong Pascal, câu lệnh điều kiện được viết như sau:

+ Dạng thiếu:

If <điều kiện> then <câu lệnh>;

vd: if (x mod 2)=0 then writeln(x,' la so chan');

+ Dạng đầy đủ:

If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;

vd:  if (x mod 2) =0 then writeln(x,' la so chan') 
   else writeln(x,' la so le');

Sưu tầm và biên tập

Thứ Hai, 6 tháng 2, 2012

Bài 1: Cấu trúc chương trình Pascal

Điều đầu tiên chúng ta quan tâm sẽ là cấu trúc của chương trình. Hầu như chương trình nào cũng đi theo quy tắc:
[<phần khai báo>]
<phần thân chương trình>
Trong đó phần khai báo có thể có hoặc không.
 Trước khi bắt đầu, chúng ta sẽ nhắc lại một số khái niệm cơ bản:



Có 2 loại chương trình, một là có chương trình con, 2 là không có chương trình con. Thực ra 2 loại này cũng tương tự như nhau.  Nhưng loại có chương trình con sẽ gọi

1. Chương trình không có chương trình con:

Dưới đây là cụ thể. Lời chú giải từng phần được đặt trong (*   *) hoặc { }

(* Phần khai báo dữ liệu *)
Program ...; {Khai báo tên chương trình. Tên chương trình được đặt theo quy tắc đặt tên. Đây là phần khai báo không bắt buộc}
Const …; {Khai báo hằng: Sử dụng cho những giá trị hằng số xuất hiện nhiều lần trong chương trình}
Users ...; {Khai báo thư viện: Cung cấp các chương trình có sẵn}
Var …; {Khai báo biến}
(* Thân chương trình chính *)
Begin
… {Các lệnh được viết ở đây}
End.

Ví dụ: Chương trình tính diện tích hình tròn:

Program Dien_tich_HT;
const pi=3.14;
uses crt;
var R,S: Integer;
begin
clrscr;
writeln('Nhập bán kính:');readln(r);
S:=R*R*pi;
write('Dien tich hinh tron la: ',S:8:3,'m2');
readln
end.
Chú ý:
- Lệnh clrscr; để xóa những gì đang có trên màn hình. Ở phần khai báo phải có uses crt; thì lệnh mới hoạt động.
- Ngoài những lệnh khai báo trên ta còn có label (khai báo nhãn)... Tuy nhiên 4 lệnh khai báo trên là sử dụng nhiều nhất.

2. Khai báo có chương trình con:

Chủ Nhật, 5 tháng 2, 2012

Tổng hợp các Giáo trình học Pascal

Pascal là kiến thức bắt buộc trong chương trình phổ thông và đại học. Tuy nhiên, nếu bạn chưa đến tuổi học Pascal nhưng lại muốn tìm hiểu, hay đơn giản là muốn mở rộng thêm kiến thức ngoài sách giáo khoa, hoặc muốn những dòng lý thuyết khô khan được trình bày sinh động, dễ hiểu nhất, thì những Giáo trình tự học Pascal sau đây chắc chắn giúp ích cho bạn.

CD-Room giáo trình Pascal toàn tập

1. CD-Room giáo trình Pascal toàn tập:

- Dung lượng: 308MB

Đây là 1 phần mềm - 1 sản phẩm của nhóm SSDG™ - Nhóm phát triển phần mềm sinh viên học sinh.

Chương trình có các phần thư giãn giải trí sau khi học là nghe nhạc hoặc chơi các game như xếp hình. Giáo trình có 2 dạng bài tập cơ bản và nâng cao để bạn tham khảo, nếu thích bạn vào để lấy bài tập mẫu đó ra X>SSDG>Thu vien (X là ổ đĩa khi cài SSDG Pascal).

- Phụ lục:
PHẦN 1 : LÝ THUYẾT
Chương 1 : Khái Niệm Ngôn Ngữ Lập Trình
Chương 2 : Thuật Toán
Chương 3 : Giới Thiệu Ngôn Ngữ Lập Trình Pascal
Chương 4 : Kiểu Dữ Liệu Trong Pascal
Chương 5 : Hằng – Biến – Biểu Thức
Chương 6 : Cấu Trúc Điều Khiển
Chương 7 : Cấu Trúc Điều Khiển (Tiếp Theo)
Chương 8 : Mảng
Chương 9 : Kiểu Chuỗi Ký Tự
Chương 10 : Hàm - Thủ Tục
Chương 11 : Tham Số Trị – Tham Số Biến
Chương 12 : Kiểu Bản Ghi Chương 1 : Kiểu Tập Hợp

PHẦN 2 : BÀI TẬP
Bài tập cơ bản
Bài tập nâng cao

PHẦN 3 : THƯ VIỆN
PHẦN 4 : THƯ GIÃN
- Download:

2. Pascal Study 1.00

- Dung lượng: 20MB

Pascal Study được viết nhằm mục đích giới thiệu cách viết chương trình bằng ngôn ngữ Pascal, giúp các bạn làm quen hoặc nâng cao kiến thức của mình về ngôn ngữ này. Phần mềm phục vụ cho các đối tượng là học sinh, sinh viên đang bắt đầu tiếp cận với lập trình máy tính. Phần mềm có nội dung dễ hiểu và rất rộng, chắc chắn sẽ đáp ứng được phần lớn nhu cầu của người sử dụng. Phần mềm có các phần như Lý thuyết và Bài tập, ngoài ra còn bổ sung thêm các phần mở rộng như Phụ lục và Ứng dụng - Trò chơi. Do đó, ngoài việc học lý thuyết cơ bản của Pascal, bạn còn được tiếp cận với các kỹ thuật nâng cao như đồ họa, viết game, viết ứng dụng... Nội dung của mỗi phần đều rất rộng. Phải thừa nhận phần nội dung chính là thế mạnh của phần mềm. Nội dung phần mềm được tổng hợp từ rất nhiều nguồn tài liệu. Pascal Study là phần mềm đầu tay của Nguyễn Anh Tú.

- Download:

3. EPascal - phần mềm hỗ trợ học Pascal tiếng việt

- Dung lượng: ~ 3MB

Phần mềm ePascal là một phần mềm do nhóm BK02 viết.

- Phần mềm gồm:
- 10 bài học lí thuyết (10 chương)
- 200 câu hỏi trắc nghiệm (10 chương)
- Hơn 100 bài tập (10 chương)
  • Giả lập môi trường Pascal
  • Làm bài tập theo các cấp độ khác nhau
  • Biên dịch và báo lỗi bằng tiếng Việt
  • Trợ giúp về chương trình, thủ tục hàm hoàn toàn bằng tiếng Việt
- Các trò chơi giải trí tăng cường kiến thức
  • Trắc nghiệm tổng hợp
  • Giải ô chữ
  • Chiếc nón kì diệu
- 10 chương trình mẫu kèm hướng dẫn chi tiết, source code đầy đủ
- 3 phần mềm mẫu viết bằng Pascal
- Từ điển về các hàm, thủ tục Pascal bằng tiếng Việt
- Ngoài ra còn có: Bộ sách em học Pascal, Trang web học Pascal, Bộ việt hóa Pascal.
- Download:

4. Giáo trình Pascal online:

Nếu bạn chỉ đơn thuần muốn tìm đọc lý thuyết về Pascal thì đây sẽ là lựa chọn hợp lý. Không cần phải download rắc rối mà các bạn có thể xem online tại đây.

Tổng hợp Biên tập

Chú thích!
Trên CodePascal.blogspot.com cũng sẽ cung cấp những kiến thức cơ bản về Pascal. Tuy nhiên chỉ là sự nhắc lại và đòi hỏi bạn (ít nhất) phải định hình được về Pascal. Bởi vậy bên cạnh những bài viết trên blog, CodePascal.blogspot.com cũng giới thiệu những giáo trình học Pascal trên đây. Để có được kiến thức chắc chắn nhất, bạn nên kết hợp cả giáo trình lẫn những bài viết trên CodePascal.blogspot.com.

Tuy nhiên, nếu bạn đã/đang học về Pascal thì có lẽ, chỉ cần những bài hướng dẫn trên CodePascal.blogspot.com là đủ.

Download TurboPascal 7.0 Full (Borland Pascal with Objects v7.0)

Turbo Pascal 7.0
Như đã giới thiệu ở bài viết trước, Pascal là ngôn ngữ lập trình cơ bản, là ngôn ngữ đại cương phổ biến nhất trong giảng dậy trên thế giới. Có rất nhiều phần mềm phục vụ lập trình Pascal. Trong đó nổi bật hơn cả là Turbo Pascal với phiên bản cuối cùng Borland Pascal with Objects v7.0. Bài viết sau sẽ giới thiệu Turbo Pascal và cung cấp link download.

Các phiên bản của Turbo Pascal:
  • Phiên bản 2.0: So với Pascal chuẩn, Turbo Pascal Version 2.0 có những mở rộng về các biến động, các biến địa chỉ tuyệt đối, Các phép toán trên bit và byte, các phép toán logic trên số nguyên, Kết nối các chương trình với các biến chung,...
  • Phiên bản 3.0: là một hệ thống phát triển gồm những đặc điểm của version 2.0 và có nhiều mở rộng quan trọng như: Bổ sung nhiề thủ tục và hàm chuẩn. Bổ sung một vài dạng đặc biệt mới cho phép tính toán các số thực với độ chính xác lớn,... So với version 2.0 thì version 3.0 có tốc độ dịch gấp đôi.
  • Phiên bản 4.0: có đặc điểm là có thêm một số dữ liệu mới, thực hiện các biểu thức logic nhanh hơn, có nhiều thủ tục và hàm chuẩn về xử lí đồ họa đồ thị màu sắc hình khối cửa sổ,...
  • Phiên bản 5.0 và 5.5: Năm 1989, hãng Borland đưa ra thị trường phiên bản Turbo Pascal Version 5.0 để giới thiệu các thủ tục và hàm tiện nghi. Tiếp đó chưa đầy nửa năm họ đưa ra version 5.5 có thêm cấu trúc hoàn toàn mới, đó là lập trình đối tượng.
  • Phiên bản 6.0: Đặc điểm nổi bậc của version này là giới thiệu thành phần của Turbo vision, một thư viện chương trình cụ thể, định hình có các cửa sổ tiện ích để đối chiếu với nhau.
  • Phiên bản 7.0: Cuối năm 1992, hãng Borland lại đưa ra version 7.0 để chạy trong nhiều hệ điều hành kể cả Windows.
Theo wikipedia

     - Dung lượng: ~ 1,8 MB.

    Download:
    - Link download của sources.ru (never die): Gồm 13 part, các bạn download và giải nén

    1 2 3 4 5 6 7 8 9 10 11 12 13

    - Link MF: Update sau...

    Pascal (ngôn ngữ lập trình)

    Blaise Pascal - Cha đẻ của Pascal
    Pascal là gì? Pascal là một ngôn ngữ lập trình do Niklaus Wirth, giáo sư điện toán trường đại học kỹ thuật Zurich đưa ra (năm 1970). Tên pascal được lấy theo tên nhà toán học, triết học nổi tiếng Blaise Pascal.

    - Đặc điểm: ngữ pháp đơn giản, cấu trúc ngữ nghĩa rõ ràng, dễ hiểu…

    - Thành tựu: Ban đầu Pascal được dùng trong giảng dạy lập trình có cấu trúc, là tiền đề cho nhiều thế hệ sinh viên vào nghề lập trình. Hiện nay, tuy không phổ biến bằng trước đây, nhưng Pascal vẫn là ngôn ngữ khá phổ biến trong giảng dạy và viết phần mềm (vd: HĐH Macintosh, hệ sắp chữ TeX...).

    Pascal là ngôn ngữ lập trình cơ bản, là kiến thức bắt buộc trong chương trình phổ thông và đại học ở Việt Nam cũng như một số nước trên thế giới.

    - Chương trình sử dụng: có nhiều chương trình dùng để lập trình Pascal như Borland Pascal, Free Pascal, Quick Pascal, UCSD Pascal… nhưng trong đó TURBO Pascal tỏ ra mạnh mẽ nhất. Các bạn có thể tải về tại đây.

    Tổng hợp & Lược bỏ

    Thứ Bảy, 4 tháng 2, 2012

    Tìm kiếm email hiệu quả trong Gmail

    - Chức năng tìm kiếm email đã hiện diện trong Gmail đã khá lâu, tuy nhiên, để khai thác tối đa chức năng tìm kiếm, bạn cần tận dụng một số thủ thuật tương tự như khi tìm kiếm trên Google.

         »» Bổ sung gadget trợ lực cho Gmail 
         »» 
    Quản lý nhiều tài khoản trong một hộp thư Gmail

    Tìm kiếm email trong Gmail sẽ nhanh chóng, hiệu quả và chính xác hơn với các cú pháp - Ảnh minh họa: Internet

    Cú pháp tìm kiếm

    Để kết quả tìm kiếm một email hay nội dung có trong email được chính xác, bạn cần vận dụng một số cú pháp sau:

    * Tìm theo nhãn (label). Gmail cho phép người dùng quản lý email theo nhãn (label) rất tiện lợi. Với từng loại email, người dùng có thể tạo một nhãn như "nhịp sống số", rồi tạo thêm một bộ lọc (filter) tự động gán nhãn này cho các email mang địa chỉ nhipsongso.tuoitre.vn@gmail.com gửi đến.

    Cú pháp: label:tên nhãn từ khóa tìm kiếm. Ví dụ: label:nhịp sống số bài cộng tác (kết quả trả về là các email mang nhãn nhịp sống số và có chứa từ khóa bài cộng tác).

    * Dùng dấu ngoặc kép (" ") sẽ cho kết quả trả về chính xác với các email mang nội dung từ khóa bên trong dấu ngoặc kép.

    Cú pháp "từ khóa cần tìm kiếm" . Ví dụ: "tin bài nhịp sống số".

    * Subject (tiêu đề): tìm kiếm email có tiêu đề theo yêu cầu.

    Cú pháp "subject:từ khóa tìm kiếm" (không bao gồm dấu ngoặc kép). Ví dụ: subject:thông báo từ nhịp sống số

    Tìm theo tiêu đề email có từ khóa "ces"

    * Tìm theo xuất xứ (from): kết quả sẽ tìm các email có nguồn gốc từ "từ khóa tìm kiếm".

    Cú pháp là "from:tên người gửi hay địa chỉ email đầy đủ" (không bao gồm dấu ngoặc kép). Ví dụ:from:nhịp sống số  hoặc from:nhipsongso.tuoitre.vn@gmail.com.

    Ngược lại, bạn cũng có thể tìm các email gửi đến (to) một địa chỉ nào đó với cú pháp tương tự, thay frombằng to. Ngoài ra, có thể áp dụng tương tự cho email gửi kèm (cc) và gửi kèm ẩn danh (bcc), thay thế cc hay bcc vào vị trí của from.

    * Tìm trong thư mục: hộp thư Gmail được phân chia làm các thư mục như hộp thư (inbox), thùng rác (trash), thư rác (spam).. và khi bạn đang ở thư mục nào thì kết quả tìm kiếm sẽ chỉ hiện ra các email trong thư mục đó. Do đó, nếu

    Cú pháp là in:tên nhãn hoặc in:inbox/trash/spam/anywhere (anywhere là tìm tất cả các thư mục). Ví dụ: Để tìm các email được gán một nhãn nhất định ta gõ in:nhịp sống số (nhịp sống số là tên nhãn) hayin:inbox nhịp sống số để tìm email trong hộp thư có chữ nhịp sống số.

    * Tìm theo trạng thái. Trong Gmail, ngoài nhãn (label), bạn còn có các dạng đánh dấu email khác như đánh dấu sao (starred). Do đó, khi cần tìm một email được đánh dấu sao có nội dung như ý muốn thì gõ cú pháp is:starred từ khóa tìm kiếm.

    Nếu muốn tìm với các email chưa đọc (unread) / đã đọc (read) hay đoạn chat (Gtalk trong Gmail) thì gõ cú pháp is:unread/read/chat từ khóa tìm kiếm.

    Tìm theo trạng thái, Gmail đã gợi ý sẵn các trạng thái

    * Tìm theo thời gian. Nếu nhớ được khoảng thời gian nhận email cần tìm, bạn có thể dễ dàng tìm theo khoảng thời gian cố định theo cú pháp:

    - before:yyyy/mm/dd (năm/tháng/ngày) từ khóa tìm kiếm: tìm các email trước thời gian đặt ra. Ví dụ:before:2010/12/30 chúc Tết sẽ lọc ra các email có chữ chúc Tết được gửi đến trước ngày 30-12-2010.

    Tương tự vậy, có thể tìm các email gửi đến sau một mốc thời gian với cú pháp after:yyyy/mm/dd hoặc kết hợp giữa before và after để tìm trong một khoảng thời gian nhất định.

    Ví dụ: after:2011/01/15 before:2010/12/30 chúc Tết

    * Tìm theo tên file đính kèm. Các email có tập tin đính kèm vẫn có thể tìm qua cú pháp filename:tên-file.format (format là định dạng tập tin).

    Ví dụ ta cần tìm tập tin baicongtac.pdf đính kèm trong một email nào đó từ trong hộp thư thì gõfilename:baicongtac.pdf.

    Nếu không nhớ tên tập tin, bạn có thể tìm và lọc chỉ với định dạng tập tin (format). Cú pháp sẽ làfilename:format. Ví dụ: filename:pdf.

    Cuối cùng, để tìm tất cả email có tập tin đính kèm (file attachment) thì dùng cú pháp has:attachment.

    Ví dụ: from:nhipsongso has:attachment, kết quả trả về sẽ ra các email từ nhipsongso có kèm tập tin đính kèm.

    Tìm email có tập tin đính kèm

    Kết hợp tìm kiếm

    Những cú pháp tìm kiếm trên có thể kết hợp với nhau để khoanh vùng tìm kiếm nhằm cho ra kết quả chính xác nhất. Khi số lượng email theo nhiều năm lên đến vài ngàn đến hàng chục ngàn thì việc áp dụng các cú pháp sẽ rất hiệu quả.

    * Dấu trừ "-". Sử dụng khi cần loại bỏ bớt ngữ cảnh. Ví dụ: has:attachment -filename:zip, kết quả trả về là các email chứa tập tin đính kèm nhưng không bao gồm các tập tin dạng nén zip.

    * Hoặc là (OR) hay Và (AND). Đưa OR và AND vào cú pháp tìm kiếm nhằm bổ sung thêm tùy chọn tìm kiếm.

    Ví dụ: from:nhipsongso.tuoitre.vn@gmail.com OR from: nhipsongso@gmail.com , tìm kiếm các email được gửi bởi một trong hai địa chỉ này. Thay OR bằng AND, ta có các email được gửi bởi cả hai địa chỉ.

    Sau đây là một số ví dụ kết hợp nhiều cú pháp trong tìm kiếm email từ hộp thư Gmail:

    in:inbox label:facebook is:unread: tìm các email trong inbox được gán nhãn facebook và chưa đọc. Câu lệnh này thích hợp cho các fan Facebook dùng để lọc email thông báo để xóa.

    in:anywhere from:tuổi trẻ online : tìm các email trong tất cả thư mục được gửi bởi Tuổi Trẻ Online.

    is:unread after:2011/02/10 before: 2011/01/10 tìm các email chưa đọc (unread) trong khoảng thời gian từ ngày 10-1-2011 đến 10-2-2011.

    from:nhipsongso.tuoitre.vn@gmail.com has:attachment tìm các email của nhipsongso.tuoitre.vn@gmail.com gửi có kèm tập tin. Hoặc có thể tìm sâu hơn với cú phápfrom:nhipsongso.tuoitre.vn@gmail.com has:attachment filename:zip.

    "facebook" -from:@facebookmail.com tìm các email có chính xác từ khóa facebook nhưng không phải được gửi từ *@facebook.com.

    to:nhipsongso OR cc:nhipsongso, tìm các email đã gửi cho nhipsongso HAY gửi kèm cho nhipsongso.

    PHONG VÂN (Tổng hợp)

    Nguồn: tuoitre.vn