BÀI TẬP 35: CÔNG THỨC HÓA HỌC

Theo sách giáo khoa Hóa học 8, công thức hóa học (CTHH) của hợp chất gồm kí hiệu hóa học của nguyên tố tạo ra chất chất kèm theo chỉ số (chỉ số lượng nguyên tử). Công thức chung là: AxByCz….; Trong đó: A, B, C là kí hiệu của nguyên tố; x, y, z là chỉ số, nếu chỉ số bằng 1 thì không cần ghi. Chẳng hạn: H2O (H2O) là công thức hóa học của nước, có hai nguyên tố và ba nguyên tử.

Yêu cầu: Nhập từ bàn phím một công thức hóa học của hợp chất. Biết rằng nguyên tố chỉ có một kí tự được viết hoa nằm trong bảng chữ cái la tinh, chỉ số không quá 99. Tính và xuất ra màn hình:

a) Số lượng nguyên tố có trong công thức.

b) Tổng các số nguyên tử trong công thức.

Ví dụ:

Nhập từ bàn phím

Xuất ra màn hình

Nhap CTHH = H2O

a) So nguyen to = 2

b) So nguyen tu = 3

Nhap CTHH = C6H12O6

a) So nguyen to = 3

b) So nguyen tu = 24

 

CODE THAM KHẢO:

program CTHH;

uses crt;

var s,r: string;

    c: char;

    kq1, kq2, x, i, n: longint;

begin

    clrscr;

    write('Nhap CTHH = '); readln(s);

    for c:= 'A' to 'Z' do

        if pos(c,s) > 0 then kq1:=kq1+1;


    i:=length(s);

    repeat

        if (s[i] in ['1'..'9']) and (s[i-1] in ['1'..'9']) then

            begin

                r:=s[i-1] + s[i];

                val(r,x);

                kq2:=kq2+x;

                i:=i-3;

            end

        else if (s[i] in ['1'..'9']) and (s[i-1] in ['A'..'Z']) then

                begin

                    r:=s[i];

                    val(r,x);

                    kq2:=kq2+x;

                    i:=i-2;

                end

            else

                begin

                    kq2:=kq2+1;

                    i:=i-1;

                 end;

    until i < 1;

    writeln('a) So nguyen to = ', kq1);

    writeln('b) So nguyen tu = ', kq2);

    readln;

end.




Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget