Hiển thị các bài đăng có nhãn Bài tập sgk. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Bài tập sgk. Hiển thị tất cả bài đăng

Thứ Bảy, 5 tháng 5, 2012

Cho biết tháng đó có nhiêu ngày

Đề: Nhập vào 1 năm, 1 tháng và cho biết tháng đó có bao nhiêu ngày?

uses crt;
var a,b:integer;
     bo:boolean;
begin
write('Nhap nam :');readln(b);
if (b mod 100=0) then bo:=(b mod 400)=0 else
                      bo:=(b mod 4   )=0;
if bo then
             begin
             repeat
             clrscr;
             write('Nhap thang :');readln(a);
             until (a>0) and (a<13);
             case a of
             2:write('Co 29 ngay');
             1,3,5,7,8,10,12:write('Co 31 ngay');
             4,6,9,11:write('Co 30 ngay');
             end;
             end;
if (not bo) then
             begin
             repeat
             clrscr;
             write('Nhap thang :');readln(a);
             until (a>0) and (a<13);
             case a of
             2:write('Co 28 ngay');
             1,3,5,7,8,10,12:write('Co 31 ngay');
             4,6,9,11:write('Co 30 ngay');
             end;
             end;
readln;
end. 

Thứ Bảy, 14 tháng 4, 2012

Đếm số lần xuất hiện của mỗi chữ cái trong xâu

Viết chương trình nhập vào từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mổi chứ cái tiếng Anh trong S ( không phân biệt chữ hoa và chữ thường).

Uses Crt;
Var    St:String;
       dem: Array[‘A’..’Z’] Of Byte;
       i:Byte;
       ch:Char;
Begin
    Write(‘Nhap xau St: ‘); Readln(St);
    {Khởi tạo mảng}
    For ch:=’A’ To ‘Z’ Do dem[ch]:=0;
    {Duyệt xâu}
    For i:=1 To Length(St) Do
        If Upcase(St[i]) IN [‘A’..’Z’] Then              Inc(dem[Upcase(St[i])]);
    {Liệt kê các ký tự ra màn hình}
    For ch:=’A’ To ‘Z’ Do
        If dem[ch]>0 Then Writeln(ch,’ : ’,dem[ch]);
    Readln;
End.



Thứ Ba, 6 tháng 3, 2012

Tuổi cha tuổi con

Nhập từ bàn phím tuổi cha và con (hiện tại tuổi cha lớn hơn 2 lần tuổi con và tuổi cha hơn tuổi con ít nhất là 25). Đưa ra màn hình câu trả lời cho câu hỏi "Bao nhiêu năm nữa thì tuổi cha gấp đôi tuổi con"?


uses crt;
var tcha,tcon,nam,kq:byte;
begin
write('nhập tuổi con:');readln(tcon);
write('nhập tuổi cha gấp ba lần tuổi con và ít nhất lớn hơn tuổi con 25:');readln(tcha);
repeat
nam:=nam+1;
tcon:=tcon+1:
tcha:=tcha+1;
until tcha=2*tcon;
kq:=nam;
writeln('vậy sau ',kq,' năm thì tuổi cha gấp 2 tuổi con');
readln;
end.

Thứ Năm, 23 tháng 2, 2012

Bài toán gà chó

Vừa gà vừa chó, bó lại cho tròn, ba mươi sáu con, một trăm chân chẵn. Hỏi có bảo nhiêu chó gà?


Bài giải

+ Gọi số gà là x ( Điều kiện x nguyên dương, x< 36)
Thì số chó là 36 - x

Số chân gà là 2x, số chân chó là 4 (36 - x)
Tổng số chân là 100 nên theo bài ra ta có phương trình:
2x + 4(36 - x ) = 100

+ Giải phương trình trên :
2x + 4( 36 - x) = 100
=> x = 22

Lập trình trong Pascal


uses crt;
var g,c: integer;
begin
 clrscr;
 for c:=1 to 25 do
 begin
  g:=36-c;
  if 4*c+2*g=100 then
   write('So ga: ',g,' So cho: ',c);
 end;
 readln;
end.

Thứ Năm, 16 tháng 2, 2012

Tính trung bình cộng các số dương, âm nhập vào từ mảng 1 chiều trong Pascal

Viết chương trình nhập số nguyên N (0 < N ≤ 10 000) và mảng a gồm N số nguyên. Tính và in ra trung bình cộng của các số âm, số dương trong a. Không tính số 0.

Ví dụ : a[] = {1, -6, 0, 3, -1}. Trung bình cộng là -0.75

PROGRAM tbc_am_duong_mang;
USES crt;
VAR a:ARRAY[1..100] OF REAL;
    i,n,x,y:INTEGER;
    tongam,tongduong,tba,tbd:REAL;
BEGIN
    clrscr;
    write('So phan tu cua day n= ');readln(n);
    FOR i:=1 TO n DO
        BEGIN
            write('Nhap phan tu a[',i,']: ');
            readln(a[i]);
        END;
   
    tongam:=0; x:=0;
    FOR i:=1 TO n DO
    IF a[i]<0 THEN
        BEGIN tongam:=tongam+a[i];
              x:=x+1;
        END;
    tba:=tongam/x;
    write('TB cong cac so am la: ',tba:5:1);
   
    writeln;
   
    tongduong:=0; y:=0;
    FOR i:=1 TO n DO
    IF a[i]>0 THEN
        BEGIN tongduong:=tongduong+a[i];
              y:=y+1;
        END;
    tbd:=tongduong/y;
    write('TB cong cac so duong la: ',tbd:5:1);
   
    readln;
END.  

Thứ Tư, 15 tháng 2, 2012

Giải phương trình bậc hai bằng Pascal

Ý tưởng: Để giải phương trình bậc 2 bằng Pascal, chúng ta sẽ tính del-ta như khi giải phương trình bậc 2 bình thường.

PROGRAM ptb2;
USES crt;
VAR a,b,c,x1,x2,d:REAL;
BEGIN
    clrscr;

    REPEAT
     write('Nhap cac he so a, b, c: ');
     readln(a,b,c);
    UNTIL a<>0;

    d:=sqr(b)-4*a*c;
   
    IF d<0 THEN write('Phuong trinh vo nghiem!')
    ELSE
    BEGIN
         x1:=(-b-sqrt(d))/(2*a);
         x2:=(-b+sqrt(d))/(2*a);
         IF d=0 THEN writeln('Phuong trinh co nghiem kep x = ',x1:5:1)
         ELSE writeln('Phuong trinh co 2 nghiem phan biet: ',x1:5:1,x2:5:1);
    END;

    readln;
END. 

Bài đăng phổ biến