/** * 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; } } Nguyên tử khối là gì? Ứng dụng trong khoa học và công nghệ - Vay Tài Chính 247

Nguyên tử khối là gì? Ứng dụng trong khoa học và công nghệ

Khái niệm nguyên tử khối là gì?

Nguyên tử khối hay còn gọi là khối lượng nguyên tử là khối lượng trung bình của các đồng vị của một nguyên tố hóa học, được tính bằng đơn vị khối lượng nguyên tử (u). Nguyên tử khối phản ánh khối lượng của một nguyên tử trung bình của một nguyên tố.

Công thức tính toán nguyên tử khối

Nguyên tử khối của một nguyên tố được tính bằng cách lấy tổng khối lượng của các đồng vị tự nhiên của nguyên tố đó nhân với tần suất xuất hiện tương ứng của chúng, chia cho 100.

Công thức tính nguyên tử khối:

A = (a1m1 + a2m2 + a3m3 + … + anmn) / 100

Trong đó:

A: Nguyên tử khối của nguyên tố

a1, a2, a3, …, an: Tần suất phần trăm của các đồng vị

m1, m2, m3, …, mn: Khối lượng của các đồng vị

Nguyên tử khối và định luật bảo toàn khối lượng

Theo định luật bảo toàn khối lượng, tổng khối lượng của các chất tham gia phản ứng bằng tổng khối lượng của các chất thu được sau phản ứng. Nguyên tử khối của các nguyên tố tham gia phản ứng cũng tuân theo định luật này.

Ví dụ, trong phản ứng:

2H2 + O2 → 2H2O

Ta có:

Khối lượng 2 mol H2 = 2 x 2 x 1,008 = 4,032 g

Khối lượng 1 mol O2 = 2 x 16 = 32 g

Tổng khối lượng tham gia phản ứng = 4,032 + 32 = 36,032 g

Khối lượng 2 mol H2O = 2 x 18,016 = 36,032 g

Như vậy, tổng nguyên tử khối của các chất tham gia bằng tổng nguyên tử khối của các chất thu được. Định luật bảo toàn khối lượng được tuân thủ.

Sự khác nhau giữa nguyên tử khối và khối lượng nguyên tử

  • Nguyên tử khối là khối lượng trung bình của các đồng vị, còn khối lượng nguyên tử là khối lượng của một nguyên tử cụ thể.
  • Nguyên tử khối được tính bằng đơn vị u, còn khối lượng nguyên tử được tính bằng đơn vị g/mol.
  • Nguyên tử khối là giá trị cố định đặc trưng cho mỗi nguyên tố, còn khối lượng nguyên tử phụ thuộc vào đồng vị của nguyên tố.
  • Nguyên tử khối dùng để so sánh khối lượng của các nguyên tố, còn khối lượng nguyên tử dùng để tính toán trong các phản ứng hóa học.

Sự liên quan giữa nguyên tử khối và số mạng hạt

Giữa nguyên tử khối và số mạng hạt của nguyên tố có mối liên hệ mật thiết với nhau. Cụ thể:

  • Các nguyên tố cùng chu kỳ trong bảng tuần hoàn có cùng số mạng hạt thì nguyên tử khối tăng dần từ trái sang phải.
  • Các nguyên tố cùng nhóm trong bảng tuần hoàn có cùng số mạng hạt ngoài cùng thì nguyên tử khối giảm dần từ trên xuống dưới.
  • Các nguyên tố trong cùng một chu kỳ khi số mạng hạt tăng lên thì nguyên tử khối cũng tăng lên.

Như vậy, nguyên tử khối phản ánh sự thay đổi về cấu tạo electron của nguyên tử khi số mạng hạt thay đổi.

Tại sao nguyên tử khối lại quan trọng trong hoá học

  • Nguyên tử khối giúp xác định tính chất và phản ứng của các nguyên tố và hợp chất. Các nguyên tố có nguyên tử khối tương tự thường có tính chất hóa học tương tự nhau.
  • Nguyên tử khối giúp dự đoán độ bền của liên kết hoá học. Liên kết càng bền khi chênh lệch nguyên tử khối của hai nguyên tố liên kết càng lớn.
  • Nguyên tử khối giúp tính toán khối lượng phân tử, mol, thể tích mol chất. Những giá trị này rất cần thiết trong các phản ứng hoá học.
  • Nguyên tử khối giúp nhận biết các hợp chất, xác định công thức cấu tạo phân tử.
  • Nguyên tử khối giúp theo dõi quá trình biến đổi chất trong phản ứng hóa học nhờ định luật bảo toàn khối lượng.

Sự thay đổi của nguyên tử khối khi chuyển hóa học

  • Khi các nguyên tố tạo thành hợp chất, nguyên tử khối của chúng không thay đổi. Ví dụ H2 + Cl2 = 2HCl, nguyên tử khối H và Cl trong HCl vẫn lần lượt là 1 và 35,5.
  • Trong phản ứng tổng hợp, nguyên tử khối của sản phẩm bằng tổng nguyên tử khối các chất tham gia phản ứng.
  • Trong phản ứng thế, nguyên tử khối không đổi.
  • Khi đồng vị phóng xạ phân rã, nguyên tử khối của nguyên tố con khác nguyên tử khối của nguyên tố mẹ do số khối thay đổi.
  • Trong phản ứng hạt nhân, nguyên tử khối có thể thay đổi do số khối và số neutron thay đổi.

Như vậy, nguyên tử khối chỉ thay đổi khi có sự biến đổi về cấu trúc hạt nhân nguyên tử.

Nguyên tử khối và ứng dụng của nó trong khoa học và công nghệ

  • Xác định thành phần cấu tạo vật chất thông qua phương pháp phân tích khối lượng.
  • Phân tích cấu trúc phân tử, xác định công thức của hợp chất.
  • Nghiên cứu các phản ứng hạt nhân, phân rã phóng xạ dựa trên sự thay đổi nguyên tử khối.
  • Xác định tuổi của vật chất thông qua đo đạc sự phân rã của đồng vị phóng xạ.
  • Tính toán khối lượng nguyên tử của các nguyên tố mới tổng hợp được.
  • Ứng dụng trong công nghiệp, y tế, nông nghiệp thông qua nghiên cứu tính chất vật chất.

Như vậy, nguyên tử khối là một thông số quan trọng, cho phép con người nghiên cứu sâu hơn vào bản chất vật chất và ứng dụng chúng vào thực tiễn.


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