Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài tập và thực hành 4

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn: GV: Nguyễn Thanh Tuân
Người gửi: Nguyễn Thị Thùy Anh (trang riêng)
Ngày gửi: 12h:41' 23-02-2011
Dung lượng: 368.5 KB
Số lượt tải: 327
Số lượt thích: 0 người
Kính chào quý thầy cô cùng các em học sinh 11B5
Kiểm tra bài cũ
Bài 1 cho chương trình sau:
Const nmax=100;
Type MyArray=Array[1..nmax] of integer;
Var A:MyArray;
n,i,Dem:integer;
Begin
Randomize;
Write(`Nhap so luong phan tu N= `);readln(n);
For i:=1 to N do A[i]:=Random(301)-Random(301);
For i:=1 to N do Write(a[i]:5);
Writeln;
Dem:=0;
For i:=1 to N do
If A[i] >0 then Dem:=Dem+1;
Write(Dem);
Readln
End.
Giải thích các thành phần trong chương trình
Dem:=0;
For i:=1 to N do
if A[i] >0 then Dem:=Dem+1;
Write(Dem);
Giả sử Nhập N=5
15 -48 -35 200 12
Kết quả in ra màn hình như thế nào?
Đáp án: 3
Bài 2: Cho chương trình sau:
Const nmax=100;
Type MyArray=Array[1..nmax] of integer;
Var A:MyArray;
n,i,CS:integer;
Begin
Write(`Nhap so luong phan tu N= `);readln(n);
For i:=1 to N do
Begin
Write(`A[`,i,`]= `);
Readln(A[i]);
End;
cs:=1
For i:=2 to N do
if A[i] Write(A[cs]);
Readln
End.
Giả sử nhập N=5
2 -5 8 6 12
Hỏi kết quả in ra màn hình như thế nào?
Minh họa
Bài tập và thực hành 4 (tiết 1)
Bài tập 1a:
Const nmax=250;
Type ArrInt=Array[1..nmax] of Integer;
Var n,i,j,t:integer;
A:ArrInt;
Begin
Randomize;
Write(`Nhap so luong phan tu N= `);readln(n);
For i:=1 to N do A[i]:=Random(301)-Random(301);
For i:=1 to N do Write(a[i]:4);
Writeln;
For j:=N downto 2 do
For i:=1 to j-1 do
If A[i]>A[i+1] then
Begin
t:=A[i];
A[i]:=A[i+1];
A[i+1]:=t
End;
Writeln(`Day so sau khi duoc sap xep: `);
For i:=1 to N do Write(A[i]:4);
Readln;
End.
Giải thích các thành phần trong chương trình
Bài tập 1a: Soạn thảo chương trình sau: Nhập N= 10 và xem kết quả. Lưu File với tên sxgiamB5
Const nmax=250;
Type ArrInt=Array[1..nmax] of Integer;
Var n,i,j,t:integer;
A:ArrInt;
Begin
Randomize;
Write(`Nhap so luong phan tu N= `);readln(n);
For i:=1 to N do A[i]:=Random(301)-Random(301);
For i:=1 to N do Write(a[i]:4);
Writeln;
For j:=N downto 2 do
For i:=1 to j-1 do
If A[i]>A[i+1] then
Begin
t:=A[i];
A[i]:=A[i+1];
A[i+1]:=t;
End;
Writeln(`Day so sau khi duoc sap xep: `);
For i:=1 to N do Write(A[i]:4);
Readln;
End.
Bài tập 1: Từ chương trình trên hãy sửa lại để có chương trình sắp xếp các phần tử của mảng thành 1 dãy không tăng
Const nmax=250;
Type ArrInt=Array[1..nmax] of Integer;
Var n,i,j,t:integer;
A:ArrInt;
Begin
Randomize;
Write(`Nhap so luong phan tu N= `);readln(n);
For i:=1 to N do A[i]:=Random(301)-Random(301);
For i:=1 to N do Write(a[i]:4);
Writeln;
For j:=N downto 2 do
For i:=1 to j-1 do
If A[i]>A[i+1] then
Begin
t:=A[i];
A[i]:=A[i+1];
A[i+1]:=t;
End;
Writeln(`Day so sau khi duoc sap xep: `);
For i:=1 to N do Write(A[i]:4);
Readln;
End.
If A[i] If A[i]>A[i+1] then
Minh họa
Bài tập 1b: Khai báo thêm biến Dem và bổ sung vào chương trình những câu lệnh cần thiết để biến Dem tính số lần thực hiện tráo đổi
Const nmax=250;
Type ArrInt=Array[1..nmax] of Integer;
Var n,i,j,t
A:ArrInt;
Begin
Randomize;
Write(`Nhap so luong phan tu N= `);readln(n);
For i:=1 to N do A[i]:=Random(301)-Random(301);
For i:=1 to N do Write(a[i]:5);
Writeln;
For j:=N downto 2 do
For i:=1 to j-1 do
If A[i]>A[i+1] then
Begin
t:=A[i];A[i]:=A[i+1]; A[i+1]:=t;
End;
Writeln(`Day so sau khi duoc sap xep: `);
For i:=1 to N do Write(A[i]:5);
Writeln;
Readln;
End.
Minh họa
Dem
Dem:=0;
Dem:=dem+1;
Write(`So lan trao doi la: `,Dem);
,Dem
Dem:=0;
Dem:=dem+1;
Write(`So lan trao doi la: `,Dem);
Đoạn lệnh nào thể hiện một lần tráo đổi giữa 2 phần tử
Begin
t:=A[i];A[i]:=A[i+1]; A[i+1]:=t;
End;
If A[i]>A[i+1] then
Việc thực hiện tráo đổi khi thoả mãn đk gì?
:integer;
Bài tập 1b: Mở bài tập 1a và sửa lại chương trình cách thêm vào các câu lệnh để được chương trình sắp xếp thành 1 dãy không giảm và số lần tráo đồi
Const nmax=250;
Type ArrInt=Array[1..nmax] of Integer;
Var n,i,j,t,Dem:integer;
A:ArrInt;
Begin
Randomize;
Write(`Nhap so luong phan tu N= `);readln(n);
For i:=1 to N do A[i]:=Random(301)-Random(301);
For i:=1 to N do Write(a[i]:5);
Writeln;
Bài tập 1b: Mở bài tập 1a và sửa lại chương trình cách thêm vào các câu lệnh để được chương trình sắp xếp thành 1 dãy không giảm và số lần tráo đồi
Dem:=0;
For j:=N downto 2 do
For i:=1 to j-1 do
If A[i]>A[i+1] then
Begin
t:=A[i];
A[i]:=A[i+1];
A[i+1]:=t;
Dem:=dem+1;
End;
Writeln(`Day sau khi duoc sap xep: `);
For i:=1 to N do Write(A[i]:5);
Writeln;
Write(`So lan trao doi la: `,Dem);
Readln;
End.
Minh họa
Cũng cố
Bài 1: Đoạn lệnh sau thực hiện công việc gì?
Write(‘Nhap so luong phan tu N= ‘);Readln(N);
For i:=1 to N do A[i]:= random(101)-Random(101);
For i:=1 to N do Write(A[i]:5);
A. Nhập dữ liệu từ bàn phím gồm N phẩn tử
B. Tạo ngẫu nhiên 1 dãy số gồm N phần tử có trị tuyệt đối không quá 100
C. Tạo ngẫu nhiên 1 dãy số gồm N phần tử có trị tuyệt đối không quá 300
Cũng cố
Bài 2: Cho đoạn chương trình sau
For j:=N downto 2 do
For i:=1 to j-1 do
If A[i] Begin
t:=A[i]; A[i]:=A[i+1]; A[i+1]:=t
End;
For i:=1 to N do Write(A[i]:4);
Giã sử khi chạy chương trình nhập dãy số: -3 9 -15 21 -3 10
Hỏi chương trình in ra màn hình như thế nào?
Đáp án: 21 10 9 -3 -3 -15
Dặn dò
- Về nhà hoàn thiện bài tập 1b vào vở
Xem trước bài tập 2 trong BT và TH 4
Sử dụng giải thuật khác để sắp xếp các phần tử của dãy thành một dãy không giảm
Bài giảng đến đây kết thúc
Kính mong sự góp ý của quý thầy cô
và các em học sinh để bài giảng sau
được tốt hơn. Xin chân thành cảm ơn!
 
Gửi ý kiến