Một Số Bài Tập Mẫu Trong PASCAL - đttx Khoá 4_d1 - đhktqd

ĐTTX KHOÁ 4_D1 - ĐHKTQDBạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.ĐTTX KHOÁ 4_D1 - ĐHKTQDĐTTX KHOÁ 4_D1 - ĐHKTQD

Diễn đàn Lớp Đại học từ xa Khoá 4 - D1 - Trường Đại học Kinh tế Quốc dân Hà Nội - Nơi giao lưu, học hỏi và tận hưởng cảm xúc cuộc sống.

  • Trang ChínhTrang Chính
  • PortalPortal
  • Latest imagesLatest images
  • Tìm kiếmTìm kiếm

    Tìm kiếm

    Display results as :Số bàiChủ đề

    Advanced Search Advanced Search

  • Đăng kýĐăng ký
  • Đăng NhậpĐăng Nhập
Một số bài tập mẫu trong PASCAL

ĐTTX KHOÁ 4_D1 - ĐHKTQD :: Học tập :: Tin học đại cương

Trang 1 trong tổng số 1 trang

Go down

Một số bài tập mẫu trong PASCAL Empty Một số bài tập mẫu trong PASCAL

Bài gửi by dungbinben Sat May 29, 2010 10:05 am

BÀI TẬP MẪUBài tập 5.1: Viết chương trình tìm giá trị lớn nhất của một mảng chứa các số nguyên gồm N phần tử.Ý tưởng:- Cho số lớn nhất là số đầu tiên: Max:=a[1].- Duyệt qua các phần tử a[i], với i chạy từ 2 tới N: Nếu a[i]>Max thì thay Max:=a[i];Uses Crt;Type Mang = ARRAY[1..50] Of Integer;Var A:Mang;N,i,Max:Integer;Begin{Nhập mảng}Write(‘Nhap N=’); Readln(N);For i:=1 To N DoBeginWrite(‘A[‘,i,’]=’); Readln(A[i]);End;{Tìm phần tử lớn nhất}Max:=A[1];For i:=2 To N DoIf Max {In kết quả ra màn hình}Writeln(‘Phan tu lon nhat cua mang: ’, Max);Readln;End.Bài tập 5.2: Viết chương trình tính tổng bình phương của các số âm trong một mảng gồm N phần tử.Ý tưởng:Duyệt qua tất cả các phần tử A[i] trong mảng: Nếu A[i]<0 thì cộng dồn (A[i])2 vào biến S.Uses Crt;Type Mang = ARRAY[1..50] Of Integer;Var A:Mang;N,i,S:Integer;Begin{Nhập mảng}Write(‘Nhap N=’); Readln(N);For i:=1 To N DoBeginWrite(‘A[‘,i,’]=’); Readln(A[i]);End;{Tính tổng}S:=0;For i:=1 To N DoIf A[i]<0 Then S:=S+A[i]*A[i];{In kết quả ra màn hình}Writeln(‘S= ’, S);Readln;End.Bài tập 5.3: Viết chương trình nhập vào một mảng gồm N số nguyên. Sắp xếp lại mảng theo thứ tự tăng dần và in kết quả ra màn hình.Ý tưởng:Cho biến i chạy từ 1 đến N-1, đồng thời cho biến j chạy từ i+1 đến N: Nếu A[i]>A[j] thì đổi chổ A[i], A[j].Uses Crt;Type Mang = ARRAY[1..50] Of Integer;Var A:Mang;N,i,j,Tam:Integer;Begin{Nhập mảng}Write(‘Nhap N=’); Readln(N);For i:=1 To N DoBeginWrite(‘A[‘,i,’]=’); Readln(A[i]);End;{Sắp xếp}For i:=1 To N-1 DoFor j:=i+1 To N DoIf A[i]>A[j] ThenBeginTam:=A[i]; A[i]:=A[j]; A[j]:=Tam;End;{In kết quả ra màn hình}Writeln(‘Ket qua sau khi sap xep:’);For i:=1 To N Do Write(A[i]:5);Readln;End.Bài tập 5.4: Viết chương trình nhập vào một mảng A gồm N số nguyên và nhập thêm vào một số nguyên X. Hãy kiểm tra xem phần tử X có trong mảng A hay không?Ý tưởng:Dùng thuật toán tìm kiếm tuần tự. So sánh x với từng phần tử của mảng A. Thuật toán dừng lại khi x=A[i] hoặc i>N.Nếu x=A[i] thì vị trí cần tìm là i, ngược lại thì kết quả tìm là 0 (không tìm thấy).Uses Crt;Type Mang = ARRAY[1..50] Of Integer;Var A:Mang;N,i,x:Integer;Function TimKiem(x, N: Integer; A:Mang):Integer;Var i:Integer;BeginI:=1;While (I <= N) and (X<>A[I]) do I:=I+1;If I <= N Then Timkiem:=I Else Timkiem:=0;End;Begin{Nhập mảng}Write(‘Nhap N=’); Readln(N);For i:=1 To N DoBeginWrite(‘A[‘,i,’]=’); Readln(A[i]);End;Write(‘Nhap X=’); Readln(x);{Kết quả tìm kiếm}If TimKiem(X,N,A)<>0 ThenWriteln(‘Vi tri cua X trong mang la:’, TimKiem(X,N,A))Else Writeln(‘X khong co trong mang.’);Readln;End.Bài tập 5.5: Giả sử mảng A đã được sắp xếp theo thứ tự tăng dần. Viết hàm để kiểm tra xem phần tử X có trong mảng A hay không?Ý tưởng:So sánh x với phần tử ở giữa mảng A[giua]. Nếu x=A[giua] thì dừng (vị trí cần tìm là chỉ số của phần tử giữa của mảng). Ngược lại, nếu x>A[giua] thì tìm ở đoạn sau của mảng [giua+1,cuoi], ngược lại thì tìm ở đoạn đầu của mảng [dau,giua-1].Sau đây là hàm cài đặt cho thuật toán này:Function TimKiemNhiPhan(X, N: Integer; A: Mang):Integer;Var dau,cuoi,giua:Integer;Found:Boolean;Begindau:=1; {điểm mút trái của khoảng tìm kiếm}cuoi:=N; {điểm mút phải của khoảng tìm kiếm}Found:=False; {chưa tìm thấy}While (dau <=cuoi) and (Not Found) DoBegingiua:=(dau + cuoi) Div 2;If X = A[giua] Then Found:=True {đã tìm thấy}ElseIf X > A[giua] Then dau:=giua+1Else cuoi:=giua-1;End;If Found Then TimKiemNhiPhan:= giua Else TimKiemNhiPhan:=0;End;dungbinbenTổng số bài gửi : 2Join date : 25/03/2010 LikeDislike

Về Đầu Trang Go down

Về Đầu Trang

+ Similar topics- Similar topics» Một số bài tập mẫu trong PASCAL» Các ví dụ, bài tập mẫu Pascal» Giáo trình Pascal

ĐTTX KHOÁ 4_D1 - ĐHKTQD :: Học tập :: Tin học đại cương

Trang 1 trong tổng số 1 trangChuyển đến: Chọn Diễn Đàn||--Thông báo|--Tin tức & sự kiện đào tạo|--Học tập| |--Lịch sử kinh tế| |--Pháp luật đại cương| |--Những nguyên lý cơ bản CN Mác-Lênin 1+2| |--Tin học đại cương| |--Tư tưởng HCM| |--Quản lý công nghệ| |--Tài liệu| |--Cuộc sống|--Nghề nghiệp - Việc làm|--Giao lưu - Giải trí|--Góp ý - Đề nghị Permissions in this forum:Bạn không có quyền trả lời bài viết
  • Trang Chính
  • Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất

Từ khóa » Duyệt Trong Pascal