Tải bản đầy đủ (.docx) (4 trang)

Bai 1 May tinh va chuong trinh may tinh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (101.91 KB, 4 trang )

<span class='text_page_counter'>(1)</span>Bµi 6 1.. Em hãy nêu một vài ví dụ về các hoạt động hằng ngày phụ thuộc vào ®iÒu kiÖn. 2. Sau mçi c©u lÖnh sau ®©y a) if (45 mod 3)=0 then X:=X+1; b) if X>10 then X:=X+1; giá trị của biến X sẽ là bao nhiêu, nếu trớc đó giá trị của X bằng 5? 1. Có thể nêu rất nhiều vài ví dụ về các hoạt động hằng ngày phụ thuộc vào ®iÒu kiÖn. Díi ®©y lµ mét sè vÝ dô: a) Nếu không đợc cắm điện, máy tính để bàn của em sẽ không hoạt động đợc. 2. a) Vì 45 chia hết cho 3, điều kiện đợc thỏa mãn nên giá trị của X đợc tăng lên 1, tức bằng 6; b) Điều kiện không đợc thỏa mãn nên câu lệnh không đợc thực hiện, tức X giữ nguyên giá trị 5.. Bµi 7 1. H·y cho biÕt t¸c dông cña c©u lÖnh lÆp! 2. khi thực hiện các hoạt động lặp, kiểm tra một điều kiện. Với lệnh lặp for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lÖnh>; cña Pascal, ®iÒu kiÖn cÇn ph¶i kiÓm tra lµ g×? 3. Chơng trình Pascal sau đây thực hiện hoạt động nào? var i: integer; begin for i:=1 to 1000 do; end. 4. Hãy mô tả thuật toán để tính tổng sau đây (n là số tự nhiên đợc nhập vào từ bµn phÝm): A=. 1 1 1 1 + + + .. .. .. . 1.3 2.4 3.5 n (n+1). 1. Câu lệnh lặp có tác dụng làm đơn giản và giảm nhẹ công sức của ngời viết chơng trình! 2. Chúng ta nói rằng khi thực hiện các hoạt động lặp, chơng trình kiểm tra một ®iÒu kiÖn. Víi lÖnh lÆp for <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lÖnh>; của Pascal, điều kiện cần phải kiểm tra chính là giá trị của biến đếm lớn hơn giá trị cuối. Nếu điều kiện không đợc thỏa mãn, câu lệnh đợc tiếp tục thùc hiÖn; ngîc l¹i, chuyÓn sang c©u lÖnh tiÕp theo trong ch¬ng tr×nh. 3. Tuy cã vßng lÆp 1000 lÇn, nhng ch¬ng tr×nh Pascal nãi trªn kh«ng thùc hiÖn bất kì một hoạt động nào. Tuy nhiên đây vẫn là câu lệnh hợp lệ. 4. ThuËt to¸n tÝnh tæng A. =. 1 1 1 1 + + + .. .. .. . 1.3 2.4 3.5 n (n+1).

<span class='text_page_counter'>(2)</span> Bíc 1. G¸n A  0, i  1. 1 Bíc 2. A  i(i  2) .. Bíc 3. i  i + 1. Bíc 4. NÕu i ≤ n, quay l¹i bíc 2. Bíc 5. Ghi kÕt qu¶ A vµ kÕt thóc thuËt to¸n.. Bµi 8. 1 2. Nêu một vài ví dụ về hoạt động lặp với số lần cha biết trớc! H·y t×m hiÓu c¸c thuËt to¸n sau ®©y vµ cho biÕt khi thùc hiÖn thuËt to¸n, m¸y tÝnh sÏ bao nhiªu vßng lÆp? Khi kÕt thóc, gi¸ trÞ cña S b»ng bao nhiêu? Viết chơng trình Pascal thể hiện các thuật toán đó! a) ThuËt to¸n 1 Bíc 1. S  10, x  0.5. Bíc 2. NÕu S  5.2, chuyÓn tíi bíc 4. Bíc 3. S  S  x vµ quay l¹i bíc 2. Bíc 4. Th«ng b¸o S vµ kÕt thóc thuËt to¸n. b) ThuËt to¸n 2 Bíc 1. S  10, n  0. Bíc 2. NÕu S ≥ 10, chuyÓn tíi bíc 4. Bíc 3. n  n + 3, S  S  n quay l¹i bíc 2. Bíc 4. Th«ng b¸o S vµ kÕt thóc thuËt to¸n. Cho nhËn xÐt cña em! 3 Hãy tìm hiểu các cụm câu lệnh sau đây và cho biết với các câu lệnh đó ch¬ng tr×nh thùc hiÖn bao nhiªu vßng lÆp? H·y rót ra nhËn xÐt cña em! a)S:=0; n:=0; while S<=10 do begin n:=n+1; S:=S+n end; b)S:=0; n:=0; while S<=10 do n:=n+1; S:=S+n; 4 H·y chØ ra lçi trong c¸c c©u lÖnh sau ®©y: a)X:=10; while X:=10 do X:=X+5; b)X:=10; while X=10 do X=X+5; c)S:=0; n:=0; while S<=10 do n:=n+1; S:=S+n; 1. Có thể nêu rất nhiều vài ví dụ về các hoạt động lặp với số lần lặp cha biết tríc. Díi ®©y lµ mét sè vÝ dô: a) Tìm một từ nhất định bị gõ sai chính tả trong văn bản và sửa lại cho đúng. Số từ cần phải sửa cha đợc biết trớc. 2. M« t¶ thuËt to¸n: Bớc 1. Đặt S  R (S là bán kính đờng tròn sẽ vẽ), n  0, x  0.5. Bíc 2. NÕu S < 1.2, chuyÓn tíi bíc 4. Bớc 3. Vẽ đờng tròn bán kính S, S  S  x và quay lại bớc 2. Bíc 4. KÕt thóc thuËt to¸n..

<span class='text_page_counter'>(3)</span> 3. a) Thuật toán 1: 10 vòng lặp đợc thực hiện. Khi kết thúc thuật toán S = 5.0. §o¹n ch¬ng tr×nh Pascal t¬ng øng: S:=10; x:=0.5; while S>5.2 do S:=S-x; writeln(S); b) Thuật toán 2: Không vòng lặp nào đợc thực hiện vì ngay từ đầu điều kiện đã không đợc thỏa mãn nên các bớc 2 và 3 bị bỏ qua. S = 10 khi kết thóc thuËt to¸n. §o¹n ch¬ng tr×nh Pascal t¬ng øng: S:=10; n:=0; while S<10 do begin n:=n+3; S:=S-n end; writeln(S); Nhận xét: Trong các thuật toán và chơng trình trên, điều kiện đợc kiểm tra trớc khi các bớc lặp đợc thực hiện. Do đó nếu điều kiện không đợc thỏa mãn ngay từ đầu, các bớc lặp sẽ bị bỏ qua. Điều này đặc biệt đúng đối với c©u lÖnh lÆp while..do. 4. a) Chơng trình thực hiện 5 vòng lặp. b) Vòng lặp trong chơng trình đợc thùc hiÖn v« tËn v× sau c©u lÖnh n:=n+1; c©u lÖnh lÆp kÕt thóc nªn ®iÒu kiện S=0 luôn luôn đợc thỏa mãn. Nhận xét: Trong câu lệnh thực hiện, điều kiện cần phải đợc thay đổi để sớm hay muộn chuyển sang trạng thái không thỏa mãn. Khi đó vòng lặp mới đợc kết thúc sau hữu hạn bớc. Để làm đợc điều này, câu lệnh trong câu lệnh lÆp while..do thêng lµ c©u lÖnh ghÐp.. Bµi 9 1. H·y nªu c¸c lîi Ých cña viÖc sö dông biÕn m¶ng trong ch¬ng tr×nh. 2. Các khai báo biến mảng sau đây trong Pascal đúng hay sai: a) var X: Array[10,13] Of Integer; b) var X: Array[5..10.5] Of Real; c) var X: Array[3.4..4.8] Of Integer; d) var X: Array[10..1] Of Integer; e) var X: Array[4..10] Of Real; 3. Câu lệnh khai báo mảng sau đây có đợc máy tính thực hiện không? var N: integer; A: array[1..N] of real; 4. Viết chơng trình Pascal sử dụng mảng để nhập từ bàn phím các phần tử của một dãy số. Độ dài của dãy cũng đợc nhập từ bàn phím. . 1. Lîi Ých chÝnh cña viÖc sö dông biÕn m¶ng lµ rót gän viÖc viÕt ch¬ng tr×nh, có thể sử dụng câu lệnh lặp để thay nhiều câu lệnh. Ngoài ra chúng ta còn có thể lu trữ và xử lí nhiều dữ liệu có nội dung liên quan đến nhau một c¸ch hiÖu qu¶. 2. §¸p ¸n a) Sai. Ph¶i thay dÊu ph¶y b»ng hai dÊu chÊm; b) vµ c) Sai, v× gi¸ trÞ nhá nhÊt vµ lín nhÊt cña chØ sè m¶ng ph¶i lµ sè nguyªn; d) Sai, v× gi¸ trÞ ®©u cña chØ sè m¶ng ph¶i nhá h¬n hoÆc b»ng chØ sè cuèi; e) §óng..

<span class='text_page_counter'>(4)</span> 3. Không. Giá trị nhỏ nhất và lớn nhất của chỉ số mảng phải đợc xác định trong phÇn khai b¸o ch¬ng tr×nh. 4. Ch¬ng tr×nh cã thÓ nh sau: uses crt; var N, i: integer; A: array[1..100] of real; begin clrscr; write(’Nhap so phan tu cua mang, n= ’); readln(n); for i:=1 to n do begin write(’Nhap gia tri ’,i,’cua mang, a[’,i,’]= ’); read(a[i]) end; end..

<span class='text_page_counter'>(5)</span>

×