Nobjtaz_Thiemvan:

📚 HỆ THỐNG THƯ VIỆN SỐ 📚

📖 THỬ THÁCH THỦ THƯ

(PASCAL, PYTHON & C++) 6. VÒNG LẶP FOR VÀ CHƯƠNG TRÌNH CON 💾

📌S = 1 + 2 + ... + n.❓ ONLINE
  




🚀PASCAL (Delphi)

program TinhTongN_For;
uses SysUtils;

var
  n, i, Tong: integer;
  s: string;
  errorCode: integer;

// Hàm nhập số nguyên (giống ví dụ trước)
procedure NhapSoNguyen(prompt: string; var value: integer);
begin
  repeat
    write(prompt);
    readln(s);
    Val(s, value, errorCode);

    if (errorCode <> 0) or (value < 1) then // Thêm kiểm tra số dương
      writeln('Loi: Hay nhap mot so nguyen duong (n >= 1)!');

  until (errorCode = 0) and (value >= 1);
end;

begin
  // 1. INPUT VÀ XÁC THỰC
  NhapSoNguyen('Nhap gia tri nguyen duong N: ', n);

  // 2. INITIALIZE
  Tong := 0; // Luôn khởi tạo biến tổng bằng 0

  // 3. PROCESS (VÒNG LẶP FOR)
  // for i := 1 to n do: Vòng lặp sẽ thực hiện n lần, với i tăng từ 1 đến n
  for i := 1 to n do 
  begin
    // Cộng giá trị hiện tại của i vào biến Tong
    Tong := Tong + i;
  end;

  // 4. OUTPUT: Hiển thị kết quả
  writeln('-----------------------------------');
  writeln('Tong cac so tu 1 den ', n, ' la: ', Tong);
end.




🚀C++

#include 
#include 

/* Hàm lặp lại việc nhập liệu cho đến khi là số nguyên dương */
int NhapSoNguyenDuong(const std::string& prompt) {
  int value;
  while (true) {
    std::cout << prompt;
    if (std::cin >> value) { 
      // Kiểm tra giá trị nhập vào có lớn hơn hoặc bằng 1 không
      if (value >= 1) { 
        break; // Thoát vòng lặp
      } else {
        std::cout << "Loi: Hay nhap mot so nguyen duong (n >= 1)!" << std::endl;
      }
    } else {
      // Xử lý lỗi khi nhập không phải số (giống ví dụ trước)
      std::cout << "Loi: Hay nhap mot so nguyen hop le!" << std::endl;
      std::cin.clear();
      std::cin.ignore(std::numeric_limits::max(), '\n');
    }
  }
  return value;
}

int main() {
  // 1. INPUT VÀ XÁC THỰC
  int n = NhapSoNguyenDuong("Nhap gia tri nguyen duong N: ");

  // 2. INITIALIZE
  long long Tong = 0; // Dùng 'long long' để tránh tràn số nếu n lớn

  // 3. PROCESS (VÒNG LẶP FOR)
  // Cấu trúc: (Khởi tạo; Điều kiện lặp; Bước nhảy)
  for (int i = 1; i <= n; ++i) { 
    // i = 1: Khởi tạo biến lặp
    // i <= n: Tiếp tục lặp nếu i nhỏ hơn hoặc bằng n
    // ++i: Tăng i lên 1 sau mỗi lần lặp (tương đương i = i + 1)
    Tong += i; // Viết tắt của Tong = Tong + i;
  }

  // 4. OUTPUT: Hiển thị kết quả
  std::cout << "-----------------------------------" << std::endl;
  std::cout << "Tong cac so tu 1 den " << n << " la: " << Tong << std::endl;

  return 0;
}



🚀PYTHON
# Chương trình Python tính tổng từ 1 đến n bằng vòng lặp for

def nhap_so_nguyen_duong(prompt):
    """
    Hàm lặp lại việc nhập n cho đến khi là số nguyên dương hợp lệ.
    """
    while True:
        try:
            value = int(input(prompt))
            if value >= 1:
                return value
            else:
                print("Lỗi: Hãy nhập một số nguyên dương (n >= 1)!")
        except ValueError:
            print("Lỗi: Hãy nhập một số nguyên hợp lệ!")

# 1. INPUT VÀ XÁC THỰC
n = nhap_so_nguyen_duong("Nhap gia tri nguyen duong N: ")

# 2. INITIALIZE
Tong = 0

# 3. PROCESS (VÒNG LẶP FOR)
# range(1, n + 1) tạo ra một chuỗi các số: 1, 2, 3, ..., n.
# Python cần n + 1 vì range() không bao gồm số cuối cùng (stop value).
for i in range(1, n + 1):
    Tong += i

# 4. OUTPUT: Hiển thị kết quả
print("-" * 35)
print(f"Tổng các số từ 1 đến {n} là: {Tong}")

# CÁCH KHÁC (CÁCH PYTHONIC - ĐẶC TRƯNG CỦA PYTHON):
# Dùng hàm sum() để tính tổng của chuỗi range:
Tong_ngan_gon = sum(range(1, n + 1))
print(f"Kiểm tra (Cách ngắn gọn): {Tong_ngan_gon}")


×

HỎI THÀY

VUI LÒNG MỞ CỔNG GẶP THÀY NHÉ!

Bạn cần nhập mã xác thực từ hệ thống để xem tiếp phần hướng dẫn chi tiết bên dưới.