Vắ dụ áp dụng

Một phần của tài liệu giáo trình tin học đại cương (Trang 121 - 124)

- Mô hình Internet Mail: Là mô hình liên kết cách ộp thư lưu trên Internet, mỗi hộp thư

b. Vắ dụ áp dụng

VD1: Viết chương trình nhập vào một số a tuỳ ý, rồi kiểm tra nếu a không âm thì in ra căn bậc 2 của a, trái lại in ra thông báo 'số âm không có căn bậc 2'

Chương trình ựược viết như sau: Program canbac2; Uses crt;

Var a: real; Begin

write(' Hay nhap vao so a:'); readln(a);

if a >= 0 then writeln(' Can bac hai cua a la:', sqrt(a)) else writeln(' So am khong co can bac hai'); Readln;

End.

Lỷnh 1 Lỷnh 2

ậiÒu kiỷn

VD2: Viết chương trình giải phương trình bậc hai ax2+bx+c=0 Program GPTB2; Uses crt; var a,b,c,x1,x2,dta:real; Begin clrscr; gotoxy(5,5);

writeln('CHUONG TRINH GIAI PHUONG TRINH BAC HAI'); writeln;

write('Vao cac he so:'); readln(a,b,c);

dta:=b*b-4*a*c; if dta>0 then begin

writeln('Phuong trinh co 2 nghiem thuc:'); X1:=(-b+sqrt(dta))/(2*a); X2:=(-b-sqrt(dta))/(2*a); writeln('X1=',X1:6:2); writeln('X2=',X2:6:2); end; if dta=0 then

writeln('Phuong trinh co nghiem kep X=',-b/(2*a):6:2); if dta<0 then

begin

writeln('Phuong trinh co 2 nghiem phuc:'); writeln('X1=',-b/(2*a):6:2,'-',sqrt(-dta):6:2,'i'); writeln('X2=',-b/(2*a):6:2,'+',sqrt(-dta):6:2,'i'); end;

readln; End.

Lưu ý: - Câu lệnh phức hợp: trong chương trình có những chỗ TURBO PASCAL chỉ cho

phép viết một lệnh, nhưng ta lại muốn viết nhiều hơn một lệnh thành phần thì các lệnh thành phần ựó phải ựược ựặt trong cặp từ khoá Begin ... end; (dấu chấm phảy kết thúc). Chẳng hạn trong vắ dụ trên, ứng với trường hợp dta>0 máy phải thực hiện cả 5 lệnh trong cặp từ khoá

begin...end; sau từ khoá then, còn ứng với trường hợp dta=0 thì máy chỉ phải thực hiện ựúng một lệnh, do ựó không cần dùng câu lệnh phức hợp.

- Các câu lệnh ựiều kiện có thể viết lồng nhau. Tức là các <lệnh1> và <lệnh2> lại có

thể là câu lệnh ựiều kiện dạng IF...THEN IF...THEN...ELSE... khi ựó cần lưu ý IF nào ựi với THEN nào. Chẳng hạn xem ựoạn chương trình phân loại kết quả học tập sau:

IF diem>=5 THEN

IF diem>=7 THEN loai:='Kha gioi' ELSE loai:='TB' ELSE

3.2. Câu lnh la chọn: CASE ... OF...

Câu lệnh ựiều kiện chỉ cho phép ta thực hiện rẽ 2 nhánh ứng với hai giá trị ựúng hay sai của biểu thức ựiều kiện. để có thể thực hiện rẽ nhiều nhánh ứng với nhiều giá trị khác nhau của một biểu thức, ta phải sử dụng câu lệnh lựa chọn. a. Dạng lnh Dạng ựơn giản: CASE <biểu thức> OF hằng1: <lệnh1>; hằng2: <lệnh2>; ... hằngn: <lệnhn>; END; Dạng tổng quát: CASE <biểu thức> OF hằng1: <lệnh1>; hằng2: <lệnh2>; ... hằngn: <lệnhn> ELSE <lệnh n+1>; END;

Trong ựó <biểu thức> và các hằng phải có cùng kiểu và phải là các kiểu vô hướng ựếm ựược (các kiểu số nguyên kiểu kắ tự, kiểu Boolean ựã biết).

ý nghĩa:

Khi gặp câu lệnh rẽ nhánh, <biểu thức> ựã ựược nhận một giá trị nào ựó, giá trị này là

một hằng (số hoặc kắ tự). Nếu <biểu thức> nhận giá trị là hằng nào thì <lệnh> tương ứng với

nó sẽ ựược thực hiện. Còn nếu <biểu thức> nhận giá trị không rơi vào hằng nào thì máy sẽ bỏ

qua lệnh ựối với dạng ựơn giản, máy sẽ thực hiện <lệnh n+1> sau từ khoá ELSE ựối với dạng tổng quát.

Lưu ý: Từ khoá END với dấu chấm phảy (;) ở trong câu lệnh này ựể chỉ rằng kết thúc câu lệnh lựa chọn chứ không phải kết thúc chương trình con.

b. Vắ dụ áp dụng

VD1: Viết chương trình xem thời khoá biểu của một ngày trong tuần. Yêu cầu: máy in ra câu

hỏi 'Bạn muốn xem thời khoá biểu của thứ mấy?' ta gõ vào ngày thứ (của tuần) muốn xem và máy sẽ in ra thời khoá biểu của ngày hôm ựó.

Chương trình ựược viết như sau: (giả sử xem thời khoá biểu của một lớp phổ thông, bạn ựọc

có thể hiệu chỉnh theo ý mình) Program XEM_TKB; Uses crt;

Var thu: 2..7; {biến thu ựể chứa các thứ ngày trong tuần} Begin

write(' Ban muon xem thoi khoa bieu cua thu may?'); readln(thu);

CASE thu OF

2:writeln('Toan Ly Van'); 3:writeln('Sinh Ki Hoa'); 4: writeln('Toan Hoa Ly'); 5: writeln('Van Sinh The duc'); 6: writeln('Su Dia Chinh tri'); 7: writeln('Van Toan Sinh hoat'); END;

Readln; End.

Bạn ựọc có thể áp dụng câu lệnh dạng tổng quát ựể mở rộng chương trình xem thời khoá biểu

này sao cho khi gõ vào một số nào ựó không phải là thứ trong tuần (2..7) máy sẽ in ra thông

báo rằng ựó là ngày nghỉ. Lưu ý: - Sau mỗi hằng máy chỉ thực hiện ựúng một lệnh. Do ựó nếu muốn dùng nhiều hơn một lệnh thì ta phải sử dụng câu lệnh phức hợp. - Các hằng có thể viết gộp lại với nhau. Chẳng hạn nếu thứ 3 và thứ 5 có cùng thời khoá biểu thì thay vì phải viết 2 dòng lệnh, ta có thể viết: 3,5: writeln('Sinh Ki Hoa');

- Các câu lệnh lựa chọn có thể lồng nhau. Tức là trong câu lệnh lựa chọn lại có thể

chứa câu lệnh lựa chọn khác.

Một phần của tài liệu giáo trình tin học đại cương (Trang 121 - 124)

Tải bản đầy đủ (PDF)

(182 trang)