Tài nguyên dạy học

Hỗ trợ trực tuyến

  • (Võ Thành Quang)
  • (Trợ giúp kỹ thuật)

Điều tra ý kiến

Các bạn thầy trang web của chúng tôi thế nào?
Bình thường
Đẹp
Đơn điệu
Ý kiến khác

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Ảnh ngẫu nhiên

    Gg.jpg 10404393_727387380712972_4614398140044437414_n.jpg Bang_so_nguyen_to_nho_hon_1000jpg.jpg IMG_00033.jpg IMG_00253.jpg IMG_00032.jpg Cnbh.jpg IMG_0007.jpg IMG_00351.jpg Day_be_hoc_chu_cai.jpg Tinh_hinh_mu_chu.jpg Tinh_hinh_mu_chu.jpg Truydieu1.jpg Truydieu1.jpg Le_tang_5_KWLB1.jpg MaybaytructhangMi1711.jpg MaybaytructhangMi1711.jpg Thieu_ta_Phu_Yen.jpg

    Thành viên trực tuyến

    1 khách và 0 thành viên

    Chào mừng quý vị đến với Thư viện tài nguyên giáo dục Phú Yên.

    Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tư liệu của Thư viện về máy tính của mình.
    Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay ô bên phải.

    TH Mảng 1chiều

    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: Sở GD & ĐT TP HCM
    Người gửi: Nguyễn Hoàng Long (trang riêng)
    Ngày gửi: 16h:59' 26-11-2010
    Dung lượng: 436.0 KB
    Số lượt tải: 145
    Số lượt thích: 0 người
    Bài 11
    mảng một chiều
    Trường Ptth trần hữu trang - tin học lớp 11 - gv hồ kính
    Chương IV: Kiểu dữ liệu có cấu trúc
    Kiểm tra
    Học bài mới
    Chào mừng quí Thầy Cô và các em học sinh
    Câu hỏi
    Nhận xét:
    KIỂM TRA BÀI CŨ
    Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần. Tính và đưa ra màn hình nhiệt độ trung bình của tuần và số lượng ngày có nhiệt độ TB cao hơn nhiệt trung bình trong tuần?
    * Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7.
    * Dữ cần tính và in ra (OUTPUT): tb, dem.
    Hãy xác định Input, Output và viết chương trình giải bài toán trên ?
    Bài toán đặt vấn đề:
    Program vd1;
    Uses crt;
    Var
    t1,t2,t3,t4,t5,t6,t7,tb : real;
    dem : integer;
    BEGIN
    Clrscr;
    write(` Nhap vao nhiet do 7 ngay : `);
    readln(t1,t2,t3,t4,t5,t6,t7);
    tb : = (t1+t2+t3+t4+t5+t6+t7)/7;
    dem : = 0 ;
    if (t1>tb) then dem := dem + 1;
    if (t2>tb) then dem := dem + 1;
    if (t3>tb) then dem := dem + 1;
    if (t4>tb) then dem := dem + 1;
    if (t5>tb) then dem := dem + 1;
    if (t6>tb) then dem := dem + 1;
    if (t7>tb) then dem : = dem + 1;
    Writeln(` Nhiet do trung binh trong tuan = `,tb : 6 : 2);
    Writeln(` so ngay co nhiet do cao hon nhiet do tb `, dem);
    Readln;
    END.
    Quan sát chương trình, hãy cho biết nếu muốn tính nhiệt độ trung bình của N ngày trong năm (VD: N=365) thì sẽ gặp khó khăn gì ?
    Khai báo quá lớn (t1,t2,t3,...,t365) và chương trình quá dài (với 365 lệnh IF) !!!!!

    ? Để khắc phục khó khăn đó ta sử dụng kiểu dữ liệu mảng một chiều.
    Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu
    A
    1 2 3 4 5 6 7
    Trong đó :
    Khi tham chiếu đến phần tử thứ i ta viết A[i].
    Ví dụ: A[5] = 19.
    ? Tên mảng : A.
    ? Số phần tử của mảng: 7.
    Ví dụ:
    ? Kiểu dữ liệu của các phần tử: Kiểu nguyên.
    19
    1. Khái niệm
    2. Khai báo mảng một chiều trong PASCAL
    * Cách 1: Khai báo gián tiếp
    TYPE = array[] of ;
    Var : ;
    Ví dụ: TYPE nhietdo = array[1..365] of integer;
    Var A: nhietdo;
    Trong đó : ? Kiểu chỉ số thường là đoạn số nguyên liên tục n1..n2
    với n1, n2 là các hằng hoặc biểu thức nguyên;
    ? Chỉ số đầu ? chỉ số cuối;
    ? Giữa 2 chỉ số là dấu ..
    * Cách 2: Khai báo trực tiếp
    Var : array[] of ;
    Var A,B : array[1..100] of real;
    Ví dụ: Var nhietdo : array[1..365] of integer;
    3. Các thao tác xử lí trong mảng một chiều
    A
    n
    1. NhËp sè phÇn tö cña m¶ng (n).
    Write(‘ Nhap vao so ngay:’);
    Readln(n);
    2. Nhập vào giá trị của các phần tử trong mảng (A[i]).
    For i:=1 to n do
    Begin
    write(‘nhiet do ngay thu’ ,i, ’ : ’);
    readln(A[i]);
    end;
    Các bước
    Thể hiện bằng pascal
    a. Nhập mảng một chiều
    víi n = 7
    19
    17
    19
    21
    18
    20
    17
    Ví dụ: Nhập nhiệt độ n ngày.
    b. In mảng một chiều
    Writeln(‘ Mang vua nhap : ’);
    For i:=1 to n do Write(A[i]:5);
    Mang vua nhap:

    - Th«ng b¸o
    - In gi¸ trÞ cña c¸c phÇn tö
    17 20 18 21 19 17 19
    Kết quả in ra màn hình:
    Ví dụ: In mảng vừa nhập.
    * Đếm các phần tử trong mảng thoả mãn điều kiện cho trước
    dem :=0;
    For i :=1 to n do
    IF A[i]>TB then dem:=dem+1;
    c. Các thao tác xử lí khác
    Ví dụ: Đếm số ngày có nhiệt độ cao hơn nhiệt độ TB của tuần.
    TB = 18.7
    Dem=0
    7
    6
    5
    4
    3
    2
    1
    i
    0
    1
    1
    2
    3
    3
    4
    20
    21
    19
    19
    +1
    +1
    +1
    +1
    Program vd1;
    Uses crt;
    Var
    A: Array[1..366] of integer;
    i,n,dem: integer;
    S,TB : real ;
    BEGIN
    Clrscr;
    write(` Nhap vao so ngay : `) ;
    readln(n) ;
    S := 0 ;
    For i := 1 to n do
    Begin
    write(` Nhap nhiet do ngay thu `,i,` : `) ;
    readln(A[i]) ;
    S:=S+A[i] ;
    End;
    TB := S/n ; dem := 0 ;
    For i := 1 to n do
    If A[i]>TB Then dem := dem+1;
    Writeln(` Nhiet do trung binh ` ,n,` ngay = `,TB : 6 : 2) ;
    Writeln(` So ngay co nhiet do cao hon nhiet do TB la: `, dem) ;
    Readln ;
    END.
    Khai b¸o m¶ng 1 chiÒu
    Nhập mảng 1 chiều
    Tính tổng
    Đếm số phần tử thoả mãn điều kiện










    Nhap vao so ngay :
    7
    Nhap nhiet do ngay thu 1 :
    17
    Nhap nhiet do ngay thu 2 :
    20
    Nhap nhiet do ngay thu 3 :
    18
    Nhap nhiet do ngay thu 4 :
    21
    Nhap nhiet do ngay thu 5 :
    19
    Nhap nhiet do ngay thu 6 :
    17
    Nhap nhiet do ngay thu 7 :
    19
    Nhiet do trung binh 7 ngay = 18.70
    So ngay co nhiet do cao hon nhiet do TB la: 4
    Chương trình chạy và cho kết quả như sau:
    Thông thường, các thao tác xử lí trong mảng một chiều đều dùng câu lệnh FOR...DO.
    * Tính tổng các phần tử trong mảng thoả mãn điều kiện cho trước
    Ví dụ: Tính tổng các phần tử trong mảng chia hết cho 3.
    S :=0;
    For i :=1 to n do
    IF A[i] mod 3 = 0 then S:=S+A[i];
    S = 45
    Ghi nhớ
    ? Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu.
    ? Khai báo: tên mảng, chỉ số đầu, chỉ số cuối, kiểu phần tử.
    Tham chiếu phần tử mảng:
    Tên biến mảng[chỉ số phần tử]
    ? Nhiều thao tác xử lí mảng dùng cấu trúc lặp FOR ..TO.. DO.
    15 20 19 25 18 12 16
    Var A:ARRAY[1..100] OF integer;
    A[5] = 18
    1. Nắm vững cách khai báo biến mảng ?
    Làm trên máy chương trình Nhietdo_ngay
    (SGK trang 54)
    3. Xem lại thuật toán tìm số Max, sắp xếp,
    tìm kiếm đã học ở lớp 10.
    Hưóng dẫn học ở nhà
     
    Gửi ý kiến