Trang chủ Tin Học Lớp 9 bạn Hùng có 3 loại tiền là a,b,c đi mua sách hết n đồng. a,b,c nhập vào từ bàn phím....
Câu hỏi :

bạn Hùng có 3 loại tiền là a,b,c đi mua sách hết n đồng. a,b,c nhập vào từ bàn phím. viết chương trình ktra xem nếu bạn Hùng có n tiền(đồng) thì có dùng hết số tiền hay ko. có thể mua nhiều quyển sách cùng loại. Nếu ko thể mua hết số tiền n thì in ra giá trị số tiền còn dư nhỏ nhất? pascal nhá help

Lời giải 1 :

Đáp án:
program CanBuyBooks;

var
  a, b, c, n: integer;

function CanBuyBooks(a, b, c, n: integer): string;
begin
  // Sắp xếp số tiền theo thứ tự giảm dần để dùng loại tiền lớn nhất trước
  if a < b then
  begin
    if b < c then
    begin
      if a < c then
      begin
        a := a + c;
        c := a - c;
        a := a - c;
      end
      else
      begin
        a := a + b;
        b := a - b;
        a := a - b;
      end;
    end
    else
    begin
      a := a + b;
      b := a - b;
      a := a - b;
    end;
  end
  else
  begin
    if a < c then
    begin
      a := a + c;
      c := a - c;
      a := a - c;
    end;
  end;

  while n > 0 do
  begin
    if n >= a then
      n := n - a
    else if n >= b then
      n := n - b
    else if n >= c then
      n := n - c
    else
      break;
  end;

  if n = 0 then
    CanBuyBooks := 'Có thể mua hết số tiền n đồng để mua sách.'
  else
    CanBuyBooks := 'Không thể mua hết số tiền n đồng, số tiền còn dư nhỏ nhất là ' + IntToStr(n) + ' đồng.';
end;

begin
  // Nhập giá trị của a, b, c và n từ bàn phím
  writeln('Nhập giá trị tiền loại a: ');
  readln(a);
  writeln('Nhập giá trị tiền loại b: ');
  readln(b);
  writeln('Nhập giá trị tiền loại c: ');
  readln(c);
  writeln('Nhập số tiền n đồng: ');
  readln(n);

  writeln(CanBuyBooks(a, b, c, n));
end.

 

Giải thích các bước giải:

Chương trình Pascal trên được viết để giải quyết vấn đề sau: Bạn Hùng có 3 loại tiền là a, b, và c, và bạn muốn mua sách với tổng số tiền là n đồng. Chương trình sử dụng các biến a, b, c, và n để lưu giá trị của loại tiền và số tiền bạn muốn mua sách.

Chương trình sử dụng một hàm có tên CanBuyBooks để kiểm tra xem bạn có thể mua hết số tiền n đồng để mua sách hay không, và nếu không, in ra giá trị số tiền còn dư nhỏ nhất. Hàm này hoạt động như sau:

  1. Sắp xếp các giá trị của loại tiền a, b, và c theo thứ tự giảm dần để đảm bảo bạn sử dụng loại tiền lớn nhất trước.

  2. Sử dụng một vòng lặp while để cố gắng trừ đi giá trị của loại tiền lớn nhất cho đến khi số tiền n trở thành 0 hoặc khi không còn loại tiền nào có thể trừ. Vòng lặp này kiểm tra n có còn lớn hơn hoặc bằng giá trị của loại tiền lớn nhất (a) hay không, sau đó kiểm tra n có còn lớn hơn hoặc bằng giá trị của loại tiền tiếp theo (b) hay không, và cuối cùng là kiểm tra n có còn lớn hơn hoặc bằng giá trị của loại tiền cuối cùng (c) hay không.

  3. Nếu sau khi vòng lặp while kết thúc và n bằng 0, chương trình sẽ trả về thông báo "Có thể mua hết số tiền n đồng để mua sách."

  4. Nếu n không bằng 0 sau khi vòng lặp kết thúc, chương trình sẽ trả về thông báo "Không thể mua hết số tiền n đồng, số tiền còn dư nhỏ nhất là [số tiền còn dư] đồng."

Chương trình cuối cùng sẽ yêu cầu bạn nhập giá trị của loại tiền a, b, c, và số tiền n từ bàn phím và sau đó hiển thị kết quả để cho biết bạn có thể mua hết số tiền n đồng để mua sách hay không, và nếu không, in ra số tiền còn dư nhỏ nhất.

 

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 9

Lớp 9 - Là năm cuối ở cấp trung học cơ sở, chúng ta sắp phải bước vào một kỳ thi căng thẳng và sắp chia tay bạn bè, thầy cô. Áp lực từ kỳ vọng của phụ huynh và tương lai lên cấp 3 thật là lớn, nhưng hãy tin vào bản thân và giữ vững sự tự tin!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK