/** * Copyright (C) 2014-2020 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ if ( ! defined( 'ABSPATH' ) ) { die( 'Kangaroos cannot jump here' ); } class Ai1wm_Export_Content { public static function execute( $params ) { // Set archive bytes offset if ( isset( $params['archive_bytes_offset'] ) ) { $archive_bytes_offset = (int) $params['archive_bytes_offset']; } else { $archive_bytes_offset = ai1wm_archive_bytes( $params ); } // Set file bytes offset if ( isset( $params['file_bytes_offset'] ) ) { $file_bytes_offset = (int) $params['file_bytes_offset']; } else { $file_bytes_offset = 0; } // Set content bytes offset if ( isset( $params['content_bytes_offset'] ) ) { $content_bytes_offset = (int) $params['content_bytes_offset']; } else { $content_bytes_offset = 0; } // Get processed files size if ( isset( $params['processed_files_size'] ) ) { $processed_files_size = (int) $params['processed_files_size']; } else { $processed_files_size = 0; } // Get total content files size if ( isset( $params['total_content_files_size'] ) ) { $total_content_files_size = (int) $params['total_content_files_size']; } else { $total_content_files_size = 1; } // Get total content files count if ( isset( $params['total_content_files_count'] ) ) { $total_content_files_count = (int) $params['total_content_files_count']; } else { $total_content_files_count = 1; } // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // Flag to hold if file data has been processed $completed = true; // Start time $start = microtime( true ); // Get content list file $content_list = ai1wm_open( ai1wm_content_list_path( $params ), 'r' ); // Set the file pointer at the current index if ( fseek( $content_list, $content_bytes_offset ) !== -1 ) { // Open the archive file for writing $archive = new Ai1wm_Compressor( ai1wm_archive_path( $params ) ); // Set the file pointer to the one that we have saved $archive->set_file_pointer( $archive_bytes_offset ); // Loop over files while ( list( $file_abspath, $file_relpath, $file_size, $file_mtime ) = fgetcsv( $content_list ) ) { $file_bytes_written = 0; // Add file to archive if ( ( $completed = $archive->add_file( $file_abspath, $file_relpath, $file_bytes_written, $file_bytes_offset ) ) ) { $file_bytes_offset = 0; // Get content bytes offset $content_bytes_offset = ftell( $content_list ); } // Increment processed files size $processed_files_size += $file_bytes_written; // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // More than 10 seconds have passed, break and do another request if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) { if ( ( microtime( true ) - $start ) > $timeout ) { $completed = false; break; } } } // Get archive bytes offset $archive_bytes_offset = $archive->get_file_pointer(); // Truncate the archive file $archive->truncate(); // Close the archive file $archive->close(); } // End of the content list? if ( feof( $content_list ) ) { // Unset archive bytes offset unset( $params['archive_bytes_offset'] ); // Unset file bytes offset unset( $params['file_bytes_offset'] ); // Unset content bytes offset unset( $params['content_bytes_offset'] ); // Unset processed files size unset( $params['processed_files_size'] ); // Unset total content files size unset( $params['total_content_files_size'] ); // Unset total content files count unset( $params['total_content_files_count'] ); // Unset completed flag unset( $params['completed'] ); } else { // Set archive bytes offset $params['archive_bytes_offset'] = $archive_bytes_offset; // Set file bytes offset $params['file_bytes_offset'] = $file_bytes_offset; // Set content bytes offset $params['content_bytes_offset'] = $content_bytes_offset; // Set processed files size $params['processed_files_size'] = $processed_files_size; // Set total content files size $params['total_content_files_size'] = $total_content_files_size; // Set total content files count $params['total_content_files_count'] = $total_content_files_count; // Set completed flag $params['completed'] = $completed; } // Close the content list file ai1wm_close( $content_list ); return $params; } } Định nghĩa, công thức và ứng dụng của cấp số cộng - Vay Tài Chính 247

Định nghĩa, công thức và ứng dụng của cấp số cộng

Định nghĩa cấp số cộng

Cấp số cộng là một dãy số mà mỗi số tiếp theo được tìm bằng cách cộng một số cố định vào số trước đó. Chẳng hạn, dãy số 2, 5, 8, 11, 14… là một cấp số cộng với công sai là 3. Trong dãy số này, mỗi số tiếp theo lớn hơn số trước đó đúng 3 đơn vị.

Cấp số cộng còn được gọi là chuỗi số arithmetic vì các phần tử liên tiếp trong dãy có cùng chênh lệch. Đây là một trong những khái niệm cơ bản trong toán học mà học sinh thường được học từ cấp tiểu học.

Tính chất của cấp số cộng

Cấp số cộng có một số tính chất đặc trưng sau:

  • Chênh lệch giữa hai số liên tiếp trong dãy luôn bằng nhau. Giá trị chênh lệch này được gọi là công sai.
  • Tổng của bất kỳ hai số cách đều trong dãy chia hết cho công sai.
  • Nếu biết hai phần tử liên tiếp, có thể tìm được công sai và suy ra các phần tử khác trong dãy.
  • Dãy số luôn tăng hoặc giảm đều, không bao giờ thay đổi hướng.

Những tính chất này giúp xác định và phân tích các cấp số cộng một cách đơn giản, dễ dàng.

Công thức cấp số cộng

Công thức tổng quát của cấp số cộng được diễn đạt như sau:

Sn = a + (n-1)d

Trong đó:

  • Sn: Số thứ n trong dãy
  • a: Số hạng đầu tiên của dãy
  • n: Vị trí của số cần tìm trong dãy
  • d: Công sai (chênh lệch giữa hai số liên tiếp)

Như vậy, để tìm một phần tử bất kỳ trong cấp số cộng, chỉ cần biết số hạng đầu tiên, vị trí của số cần tìm và công sai.

Ví dụ: Trong dãy 3, 7, 11, 15…, muốn tìm số thứ 5, ta có:

a = 3 (số đầu tiên)

n = 5 (vị trí cần tìm)

d = 4 (công sai)

Vậy số thứ 5 là: Sn = 3 + (5-1)4 = 3 + 16 = 19

Một số ví dụ về cấp số cộng

Dưới đây là một số ví dụ về cấp số cộng thường gặp:

  • Dãy số tự nhiên: 1, 2, 3, 4, 5… Công sai = 1
  • Dãy số chẵn: 2, 4, 6, 8, 10… Công sai = 2
  • Dãy bảng cửu chương: 1, 2, 3, 4, 5…10. Công sai = 1
  • Dãy năm: 1990, 1995, 2000, 2005… Công sai = 5
  • Dãy tuần trong tháng: Tuần 1, tuần 2, tuần 3… Công sai = 1 tuần
  • Dãy chiều cao: 145cm, 148cm, 151cm… Công sai = 3cm

Những ví dụ trên cho thấy cấp số cộng xuất hiện rất phổ biến trong cuộc sống và được ứng dụng nhiều trong thực tế. Chúng ta có thể dễ dàng nhận ra cấp số cộng từ các quy luật và tính chất đã nêu.

Sự khác nhau giữa cấp số cộng và cấp số nhân

Cấp số cộng và cấp số nhân đều là các dãy số có quy luật, nhưng chúng khác nhau ở:

  • Công thức: Cấp số cộng dựa trên phép cộng, còn cấp số nhân dựa trên phép nhân.
  • Cách xác định số kế tiếp: Trong cấp số cộng, mỗi số tiếp theo bằng số trước cộng với công sai. Trong khi đó ở cấp số nhân, mỗi số bằng số trước nhân với công sai.
  • Xu hướng thay đổi: Cấp số cộng luôn tăng hoặc giảm đều, còn cấp số nhân thường tăng/giảm nhanh dần.
  • Tính chất: Cấp số cộng có tính chất tổng hai số cách đều chia hết cho công sai. Cấp số nhân không có tính chất tương tự.
  • Ví dụ: Cấp số cộng là các dãy năm, tuần, chiều cao… Cấp số nhân là các dãy số mũ, giai thừa…

Như vậy, mặc dù cùng là dãy số có quy luật, hai loại cấp số này vẫn khác nhau căn bản về cách xây dựng và tính chất.

Ứng dụng của cấp số cộng

Cấp số cộng được ứng dụng rộng rãi trong thực tế:

  • Xây dựng lịch, lập kế hoạch công việc hàng ngày, hàng tuần.
  • Tính toán lãi ngân hàng, cổ tức đầu tư theo thời gian.
  • Xác định vị trí địa lý các trạm dừng đều khoảng cách trên đường ray tàu hoả.
  • Tính chu kỳ kinh nguyệt, dự đoán ngày sinh con chính xác.
  • Đo đạc sự phát triển chiều cao, cân nặng của trẻ theo thời gian.
  • Lập lịch trình học tập, luyện tập thể thao đều đặn.
  • Xây dựng biểu đồ, bảng thống kê dữ liệu theo thời gian.
  • Tính toán công thức cấp số cộng trong toán học ở các cấp độ.

Như vậy, cấp số cộng là công cụ đơn giản nhưng hữu ích giúp con người dự đoán, lên kế hoạch và tổ chức cuộc sống một cách khoa học. Khả năng nhận biết và vận dụng cấp số cộng sẽ giúp chúng ta tiết kiệm thời gian, công sức và đạt hiệu quả cao trong công việc.


Bài được vaytaichinh247.net tổng hợp từ nhiều nguồn khác nhau cho bạn đọc tham khảo.