Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Một vài bài Pascal ai biết pascal thì giải giúp mình nhé^^

    Em đang ôn thi nên có 6 bài tập PasCal ai giải được bài nào thì giải giùm em ạ..
    Bài 1: Viết chương trình thực hiện 1 trò chơi đoán số từ 0 đến 9. Nhập vào 1 số a là số cần đoán và xóa sạch màn hình để người chơi không biết số vừa nhập, tiếp theo cho người chơi nhập 2 lần nếu có ít nhất 1 số bằng với số a thì thông báo là "Bạn đã thắng!" ngược lại thông báo "Bạn đã thua!". Thông báo lỗi nếu nhập ngoài khoảng từ 0 đến 9.
    Bài 2: Cho 1 mảng số nguyên A theo thứ tự tăng dần gồm n phân tử. Nhập 1 số x và tìm kiếm xem x có trong mảng hay không.
    Tìm kiếm theo yêu cầu sau (thuật toán tìm kiếm nhị phân): SO sánh x với phần tử ở giữa. Nếu bằng thì dừng. Nếu lớn hơn thì tìm ở đoạn sau của mảng. Nếu nhỏ hơn thì tìm ở đoạn đầu của mảng.
    Bài 3: Viết chương trình lập một sổ tay điện tử cho phép người dùng nhập vào họ tên, số điện thoại địa chỉ lưu vào 1 file "SODIACHI.TXT" với mỗi phân tử là kiểu bản ghi. Sau đó nhập học tên của 1 người cho biết số điện thoại và địa chỉ tương ứng.
    Bài 4: Viết chuong trình nhập vào 3 số giờ, phút, giây. Kiểm tra có phải là giờ phút giây hợp lệ hay không.
    Bài 5: Viết chương trình nhập vào số tiền nguyên thực hiện việc đổi tiền sao cho số tờ tiền là ít nhất với các tờ tiền có mệnh giá 50, 20, 10, 5, 2, 1 (Tương ứng với 50 ngàn, 20 ngàn, ..., 1 ngàn). Thông báo số tờ tiền theo từng loại.
    Ví dụ: Nhập số tiền 515 (có nghĩa 515 ngàn) thì kết quả là: 10 tờ 50 ngàn; 1 tờ 10 ngàn; 1 tờ 5 ngàn.
    Bài 6: Viết chương trình nhập vào 1 mảng các số nguyên dương, đếm có bao nhiêu số nguyên tố và hiển thị các số nguyên tố đã nhập ra màn hình.(Số nguyen tố là số tự nhiên chỉ chia hết cho 1 và chính nó. Ngoài ra nó không chia hết bất cứ số nào khác. Số 0 và 1 không đưỡc coi là số nguyên tố)

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Không ai biết hết à... [IMG]images/smilies/yoyo/yy111.gif[/IMG] AI biết giúp giùm mình đi đang cần gấp [IMG]images/smilies/yoyo/yy144.gif[/IMG]

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    9
    Bài 1: Viết chương trình thực hiện 1 trò chơi đoán số từ 0 đến 9. Nhập vào 1 số a là số cần đoán và xóa sạch màn hình để người chơi không biết số vừa nhập, tiếp theo cho người chơi nhập 2 lần nếu có ít nhất 1 số bằng với số a thì thông báo là "Bạn đã thắng!" ngược lại thông báo "Bạn đã thua!". Thông báo lỗi nếu nhập ngoài khoảng từ 0 đến 9.
    Mã:
    Program tro_choi_doan_so;
    uses crt;
    Var a,b,c: word;
    
    Begin
      writeln('Chuong trinh doan so tu 1 - 9');
      repeat
      write('Ban hay nhap vao so a can doan: '); readln(a);
      until (1<=a) and (a<=9);
      clrscr;
    
    
      repeat
        write('Ban hay doan 2 so bat ki tu 1 - 9: '); readln(b,c);
        if not((1<=b) and (b<=9) and (1<=c) and (c<=9)) then writeln('LOI nhap ngoai khoang.');
      until (1<=b) and (b<=9) and (1<=c) and (c<=9);
    
    
      if (b=a) or (c=a) then writeln('Ban da thang.')
      else writeln('Ban da thua cuoc.');
      readln;
    END.
    Bài 2: Cho 1 mảng số nguyên A theo thứ tự tăng dần gồm n phân tử. Nhập 1 số x và tìm kiếm xem x có trong mảng hay không.
    Tìm kiếm theo yêu cầu sau (thuật toán tìm kiếm nhị phân): SO sánh x với phần tử ở giữa. Nếu bằng thì dừng. Nếu lớn hơn thì tìm ở đoạn sau của mảng. Nếu nhỏ hơn thì tìm ở đoạn đầu của mảng.

    Mã:
    Program tim_kiem_nhi_phan;
    Var a: array [1..100] of integer;
        n, i, j, dau, cuoi, giua: integer;
    BEGIN
      write('Nhap so luong phan tu cua mang A: '): readln(n);
      writel('Nhap cac phan tu cua day theo thu tu tang dan:');
      for i:=1 to n do
      begin
        write('Nhap phan tu thu i:');
        readln(a[i]);
      end;       {Coi nhu mang A nhap dung theo thu tu tang dan}
    
    
      write("Nhap gia tri x can tim trong mang: '); readln(x);
    
    
    {Bat dau tim kiem}
      dau:= 1; cuoi:= n;
      while (dau<cuoi) do
      begin
        giua:= int((dau+cuoi)/2);
        if x > a[giua] then dau:=giua +1
          else cuoi:=giua-1;
      if x=a[giua] then begin vitri=giua; break; end
      end;
    
    
    {In ra ket qua}
      writeln('Vi tri xuat hien gia tri x la: ',vitri);
      readln;
    END.
    Bài 3: Viết chương trình lập một sổ tay điện tử cho phép người dùng nhập vào họ tên, số điện thoại địa chỉ lưu vào 1 file "SODIACHI.TXT" với mỗi phân tử là kiểu bản ghi. Sau đó nhập học tên của 1 người cho biết số điện thoại và địa chỉ tương ứng.

    Mã:
    Program So_dia_chi;
    Type banghi = record
      hoten, sdt, diachi: string;
      end;
    
    
    Var n,i: integer;
        f:text;
        ten:string;
      sodiachi: array [1..20] of banghi;
    
    
    BEGIN
    {Nhap du lieu cho mang cac ban ghi}
      write('Nhap vao so luong cac ban ghi: '); readln(n);
      for i:=1 to n do
      with sodiachi[i] do
      begin
        writeln('------------------------------------');
        write('Nhap vao ho ten nguoi thu ',i,' :'); readln(hoten);
        write('Nhap vao so dt nguoi thu ',i,' :'); readln(sdt);
        write('Nhap vao dia chi nguoi thu ',i,' :'); readln(diachi);
      end;
    
    
    {Ghi du lieu ra file}
      assign(f,'C:\SODIACHI.TXT');
      rewrite(f);
      for i:=1 to n do with sodiachi[i] do
      begin
        write(f,hoten);
        write(f,sdt);
        write(f,diachi);
        writeln(f);
      end;
      close(f);
    
    
    {Nhap vao ten 1 nguoi va in ra thong tin nguoi do}
      writeln('===============================================');
      write('Nhap vao ten cua nguoi ban muon tim: '); readln(ten);
      for i:=1 to n do with(sodiachi[i]) do
        if hoten=ten then writeln(hoten:15,'  ',sdt:12,'  ',diachi:15);
        {thang nao cung ten la loi ra het}
      readln;
    {Vi de khong noi ro la tim tren file hay tim tren mang ban ghi dang co
    nen da lam la tim luon tren mang cho don gian}
    END.
    Bài 4: Viết chuong trình nhập vào 3 số giờ, phút, giây. Kiểm tra có phải là giờ phút giây hợp lệ hay không.

    Mã:
    Program gio_phut_giay;
    Var gio, phut, giay: word;
    BEGIN
      writeln('Chuong trinh kiem tra GIO PHUT GIAY');
      write('Ban hay nhap vao GIO: '); readln(gio);
      write('Ban hay nhap vao PHUT: '); readln(phut);
      write('Ban hay nhap vao GIAY: '); readln(giay);
    
    
      writeln('---------------------------');
       if (0<=gio) and (gio<=24) and (0<=phut) and (phut<=60) and (0<=giay) and (giay<=60)
       then begin writeln('Du lieu nhap vao hop le.');
            writeln('Ban vua nhap ',gio,' gio ',phut,' phut ',giay,' giay'); end
       else writeln('Ban nhap khong dung.');
    
    
      readln;
    END.
    Bài 5: Viết chương trình nhập vào số tiền nguyên thực hiện việc đổi tiền sao cho số tờ tiền là ít nhất với các tờ tiền có mệnh giá 50, 20, 10, 5, 2, 1 (Tương ứng với 50 ngàn, 20 ngàn, ..., 1 ngàn). Thông báo số tờ tiền theo từng loại.
    Ví dụ: Nhập số tiền 515 (có nghĩa 515 ngàn) thì kết quả là: 10 tờ 50 ngàn; 1 tờ 10 ngàn; 1 tờ 5 ngàn.

    Mã:
    Program Tim_so_to_tien_it_nhat;
    Var n, soto:integer;
    BEGIN
      write('Nhap vao so tien theo don vi nghin dong: ');
      readln(n);
    
    
      writeln('KET QUA NHU SAU:');
      soto:=n div 50;
      writeln(soto:3,' to 50 ngan');
      n := n mod 50;
    {Co the viet nhu sau de k in ra so to bang 0
    if soto<>0 then writeln(soto:3,' to 50 ngan');}
    
    
      soto:=n div 20;
      writeln(soto:3,' to 20 ngan');
      n := n mod 20;
    
    
      soto:=n div 10;
      writeln(soto:3,' to 10 ngan');
      n := n mod 10;
    
    
      soto:=n div 5;
      writeln(soto:3,' to 5 ngan');
      n := n mod 5;
    
    
      soto:=n div 2;
      writeln(soto:3,' to 2 ngan');
      n := n mod 2;
    
    
      soto:=n div 1;
      writeln(soto:3,' to 1 ngan');
      n := n mod 1;
    
    
    readln;
    END.
    Bài 6: Viết chương trình nhập vào 1 mảng các số nguyên dương, đếm có bao nhiêu số nguyên tố và hiển thị các số nguyên tố đã nhập ra màn hình.(Số nguyen tố là số tự nhiên chỉ chia hết cho 1 và chính nó. Ngoài ra nó không chia hết bất cứ số nào khác. Số 0 và 1 không đưỡc coi là số nguyên tố)

    Mã:
    Program dem_so_nguyen_to_cua_mang;
    Var i,n,dem: integer;
        a: array[1..100] of word;
    
    
    Function nguyento(so:word):boolean;
    var check:boolean;
        m: integer;
    begin
      writeln(so);
    {  m:= int(sqrt(so));}
      check:=true; {mac dinh no la so nguyen to}
      if (so=0) or (so=1) then check:=false
      else
      for i:=2 to so do
        if so mod i = 0 then begin check:= false; break; end;
    
    
      nguyento:=check;
    end;
    
    
    BEGIN
      writeln('Chuong trinh kiem tra so nguyen to cua 1 mang cac so nguyen duong');
      write('Nhap n: '); readln(n);
    
    
      dem:= 0;
      for i:=1 to n do
      begin
        write('Nhap vao phan tu thu ',i,': ');
        readln(a[i]);
      end;
    
    
      writeln('Cac so nguyen to trong day vua nhap la:');
      for i:= 1 to n do
      if nguyento(a[i]) then
      begin
        writeln(a[i]);
        dem:= dem+1;
      end;
      readln;
    
    
      writeln('So luong cas so nguyen to trong day la: ',dem);
      readln;
    END.
    *P/s: bài 2 và bài 6 chưa test kĩ, nhưng thuật toán là như thế. Các bài khác đều OK.

    Tải về 6 bài làm trên kèm theo phần mềm Turbo Pascal (phần mềm chuẩn, tránh lỗi Divide By Zero ở bài 1 khi dùng thư viện crt)

    [IMG]http://**********/diendan/images/letinh/download.png[/IMG]
    http://www.fshare.vn/file/TFVGTAVWBT/
    https://mega.co.nz/#!c0cEhAaA!bOChuZ...URMZV1dPEwfj2w
    http://tenlua.vn/tpturbo-pascal-rar-...37e42ee5096f05

    Password: www.**********

  4. #4
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    có một bài tập pascal bạn nào bit thì chỉ mình với xin cảm ơn!
    hãy viết thủ tục ChuChay(s,dong) nhận đầu vào là xâu s gồm không quá 79 kí tự và biến nguyên dong, đưa ra xâu s có dạng chữ chạy ở dòng dong.
    [IMG]images/smilies/troll/minion6.jpg[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 01:52 PM.
Diễn đàn sử dụng vBulletin® Phiên bản 4.2.5.
Bản quyền của 2024 vBulletin Solutions, Inc. Tất cả quyền được bảo lưu.
Ban quản trị không chịu trách nhiệm về nội dung do thành viên đăng.