Thiết lập hàm mũ X = a (1 + b) ^ t trong C

Thiết lập hàm mũ X = a (1 + b) ^ t trong ngôn ngữ C

Chia sẻ kiến thức 04/12/2021

Làm thế nào để thiết lập hàm tăng trưởng theo cấp số nhân (X = a (1 + b) ^ t) trong ngôn ngữ C?

<< 3 điểm hấp dẫn trong chương trình IT trực tuyến FUNiX dành cho học sinh

Hỏi: Tôi đang viết một chương trình để theo dõi số lượng hình chữ nhật được tạo ra trong một tuần bằng cách sử dụng hàm mũ (X = a (1 + b) ^ t). Một người có thể làm 60 hình chữ nhật mỗi ngày. Làm thế nào để thiết lập hàm mũ X = a (1 + b) ^ t) trong ngôn ngữ C?

1. Thông tin yêu cầu về hàm mũ  X = a (1 + b) ^ t trong ngôn ngữ C

Hàm tăng trưởng theo cấp số nhân

Ta ký hiệu các đơn vị trong hàm như sau:

– a đại diện cho dân số ban đầu, đây là số người đã tạo hình chữ nhật vào ngày đầu tiên của tuần. 

– b đại diện cho tốc độ tăng trưởng, đây là số lượng người mới làm hình chữ nhật mỗi ngày. 

– t đại diện cho khoảng thời gian, là 7 ngày cho chương trình này.

Tôi đang gặp khó khăn khi bắt đầu giải quyết vấn đề và tôi cần một số hướng dẫn.

Tôi đã nghĩ đến việc sử dụng math.h và pow, một cái gì đó như thế này lệnh này không biên dịch)

#include <math.h>

#include <stdio.h>

#include <stdlib.h>

int main() {

    int initial_POPULATION;

    int time_INTERVAL; 

    double growth_RATE;

 

    printf(“How many people are making rectangles at the 

    biginning of the week?\n”);

    scanf(“%d”, &initial_POPULATION);

    printf(“How many people are making rectangles each day? 

    \n”);

    scanf(“%1f”, &growth_RATE);

    //Exponential growth function X = a(1+b)^t

    printf(“%d rectangles will be made this week!\n”,

        initial_POPULATION(pow(1+growth_RATE),time_INTERVAL));

    return 0;

}

Trả lời: Phương pháp thiết lập hàm mũ X = a (1 + b) ^ t trong ngôn ngữ C

1.1. Chú ý

Hàm tăng trưởng theo cấp số nhân

Có 4 lý do có thể khiến lệnh của bạn không được biên dịch. Dẫn đến việc thiết lập hàm mũ X = a (1 + b) ^ t trong ngôn ngữ C là không thể thực hiện được. Bao gồm:

– Bạn đã thử biên dịch như thế này nếu bạn đang sử dụng unix, với -lm?

gcc /path/to/file.c -lm -o /path/to/outputfile

– Bạn không thể ngắt dòng trong các ký tự chuỗi. Điều này không được phép:

char *MyString = “Hello

World”;

– Bạn đang cố gắng gọi initial_POPULATION (int) như thể nó là một hàm:

initial_POPULATION(pow(1+growth_RATE),time_INTERVAL)

Hoặc:

initial_POPULATION*(pow(1+growth_RATE),time_INTERVAL)

1.2. Phương pháp thiết kế hàm mũ X = a (1 + b) ^ t trong ngôn ngữ C

Để thiết kế được hàm X = a (1 + b) ^ t theo cấp số nhân trong ngôn ngữ C, bạn cần xác định được các vấn đề liên quan các thao tác này. Trong đó, bạn không được đặt giá trị của time_INTERVAL bất kỳ đâu. Tiếp theo là dòng nơi giá trị cuối cùng được tính: trong C, bạn cần sử dụng *để biểu thị phép nhân. Parens không hoạt động như các toán tử nhân hàm ý như trong toán học thông thường (ở bất kỳ mức độ nào, cách sử dụng dấu ngoặc đơn cuối cùng printf là không đúng). 

Cuối cùng, hãy đảm bảo đọc growth RATE dưới dạng kép bằng cách sử dụng %lf làm định dạng định dạng scanf (sử dụng % đọc nó dưới dạng giá trị 4 byte chính xác duy nhất, mặc dù nó được khai báo là kép … à, gấp đôi).

Bạn có thể trải nghiệm thử công thức dưới đây:

scanf(“%lf”, &growth_RATE);

time_INTERVAL=7;

printf(“%f rectangles will be made this week!\n”, initial_POPULATION * pow(1+growth_RATE, time_INTERVAL));

Thiết lập hàm mũ X = a (1 + b) ^ t trong ngôn ngữ C có thể đạt được hiệu quả tốt khi bạn xác định được các vấn đề cần thiết. 

Để viết chương trình hoàn thiện có kết quả như ý muốn của bạn, hãy tham khảo các thông tin trên. Nếu bạn cần học tập và có sự hướng dẫn của các chuyên gia, tại FUNiX có đa dạng các khóa học lập trình phù hợp với từng độ tuổi, từng nhu cầu khác nhau. Bạn là học sinh, sinh viên hay người đi làm đều được hỗ trợ hướng dẫn để chọn khóa học phù hợp. Đội ngũ mentor môn là các chuyên gia đang làm việc trong lĩnh vực CNTT sẽ hỗ trợ bạn khi bạn gặp kiến thức chưa hiểu, định hướng giải pháp để bạn lập trình thành công. 

Đăng ký ngay các khóa học IT trực tuyến tại FUNiX. Liên kết đào tạo với các trường nước ngoài cũng như các trường đại học nổi tiếng trong nước, FUNiX hỗ trợ đào tạo khối lượng kiến thức đồ sộ về IT cho người học. Bất kỳ độ tuổi nào bạn hoàn toàn có thể thử sức mình. Những khóa học bài bản giúp bạn phát triển kỹ năng lập trình, tự viết các sản phẩm công nghệ,…hay các bằng cấp, chứng chỉ cao hơn. Sự linh hoạt, tiện lợi khi các khóa học online được mở rộng. Học IT cùng những chuyên gia trong và ngoài nước, vừa nâng cao lập trình, vừa rèn luyện ngoại ngữ. 

>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:

>>> Xem thêm các chủ đề hữu ích:

Bài gốc: https://stackoverflow.com/questions/61945173/setting-up-exponential-growth-function-x-a1bt-in-c-language

Nguyễn Vân Anh (theo Stack Overflow) 

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!