Lệnh nhảy vô điều kiện GOTO

Một phần của tài liệu Giáo trình lập trình cấu trúc pascal (Trang 38 - 41)

Chương 8: Lặp FOR, WHILE và REPEAT

8.3Lệnh nhảy vô điều kiện GOTO

Lệnh Goto cho phép chương trình nhảy vô điều kiện tới một vị trí trong ch ương

trình thông qua tên nhãn. Các nhãn là các số nguyên hoặc tên được khai báo

trong phần Label của phần khai báo ở đầu ch ương trình, đặt cách nhau qua dấu

phẩy. Trong chương trình, nhãn được đặt vào vị trí thích hợp theo sau là dấu hai

chấm.

Ví dụ:

Program TinhTong; Label 3;

Tong, I: Integer; Begin Tong:=0; i:=10; 3: Tong:= Tong+i; i:=i+1;

if i<=100 Then Goto 3

Writeln('Tong =', Tong); End.

Sự có mặt của Goto trong ch ương trình làm mất tính cấu trúc. Vì vậy nếu có thể được nên tránh dùng Goto. Một điều nữa là không được dùng Goto để nhảy vào

Bài tập:

1. Dùng vòng lặp For để in ra các ký tự có mã từ 65 đến 120

2. Dùng vòng lặp For lập trình để tính giai thừa n! (với n nhập từ bàn phím). 3. Tính S =1/1+1/2+1/2+...+1/n

4. Hãy lập trình giải bài toán:

Trăm trâu trăm cỏ Trâu đứng ăn 5

Trâu nằm ăn 3

Lụ khụ trâu già Ba con một bó

Hỏi mỗi loại có bao nhiêu con?

Gợi ý: gọi x là số trâu đứng, y là trâu nằm, z là trâu già, ta có hệ phương trình vô

định sau:

X + Y+ Z=100

5X+3Y+1/3Z=100 hay X+Y+Z=100

15X+9Y+Z=300

Ta dùng 3 lệnh FOR như sau:

For x:=1 to 100 Do For y:=1 To 100 Do

For z:=1 to 100 Do

IF ((X+Y+X)=100) AND ((15*X+9*Y+Z)=300)) then Begin

Writeln('Trâu đứng là:',X); Writeln('Trâu nằm là:',Y); Writeln('Trâu già là:',Z); End;

Bạn hãy lập trình chi tiết và chạy thử

5. Tìm chữ số x và y trong phép nhân sau: x9y.7x=xy90y Gợi ý: Ta thử bằng lênh For: (adsbygoogle = window.adsbygoogle || []).push({});

For x:=0 to 9 Do For y:=0 To 9 Do

IF ((x*100+90+y) * (70+x))=(x*10000+y*1000+90+y) Them Writeln(x,y); Hãy lập trình chi tiết và chạy thử.

Một phần của tài liệu Giáo trình lập trình cấu trúc pascal (Trang 38 - 41)