Bài tập Pascal cơ bản (có đáp án) do GV. Trần Minh Thọ biên soạn nhằm bồi dưỡng học sinh giỏi huyện. Tài liệu có tổng cộng 20 bài tập, kèm theo đáp án hướng dẫn lập trình chi tiết. Tài liệu được trình bày với nội dung và hình thức rõ ràng, giúp bạn đọc dễ dàng theo dõi để nắm bắt thông tin hơn. Mời các bạn cùng tham khảo nội dung tài liệu.
Nội dung trích xuất từ tài liệu:
Bài tập Pascal cơ bản (có đáp án)Bài tập Pascal BỒI DƯỠNG HỌC SINH GIỎI HUYỆN GV: Trần Minh Thọ BÀI TẬP CƠ BẢN - Đáp án ++ 1. Viết chương trình tính điểm trung bình 3 môn Toán, Lý , Hoá theo hệ số 2,1,1 sau đó xếp loại như sau: a. Loại Giỏi : ĐTB >= 8.0 và không có môn nào dưới 6,5 b. Loại Khá : 6.5=h then min:=h;tbc:=(t*2+l+h)/4;if (tbc>=8) and (min>=6.5) then xl:=Gioi; else if (tbc>=6.5) and (min>=5) then xl:=’Kha’; else if (tbc>=5) and (min>=3.5) then xl:=Trung binh else xl:=yeu;writeln(‘Diem trung binh:’,tbc:0:1,’ Xep loai:’,xl);readln;end. 2. VCT nhập vào tháng, năm và cho biết tháng đó có bao nhiêu ngày?var n,t,ngay:integer;beginwrite(nhap thang:);readln(t);write(nhap nam:);readln(n);case t of1,3,5,7,8,10,12: ngay:=31;4,6,9,11:ngay:=30;2: if n mod 4 = 0 then ngay :=29 else ngay:=28;end;writeln(Thang:,t, nam:,n, co: ,ngay, ngay);readln; end. 3. VCT tìm ước chung lớn nhất và bội chung nhỏ nhất của hai số nhập vào từ bàn phím?var a,b,min,max,ucln:integer;beginwrite(moi nhap hai so can xac dinh: );readln(a,b);max:=a;min:=b;if max mod min=0 then ucln:=min else if min mod max=0 then ucln:=max else begin repeat if max>min then max:=max-min else if maxBài tập Pascal BỒI DƯỠNG HỌC SINH GIỎI HUYỆN GV: Trần Minh Thọbeginfor d:=1 to 20 do for n:=1 to 33 do for g:=1 to 98 do if d*5+n*3+g=100 then writeln(Trau dung:,d, trau nam:,n, trau gia:,g);readln;end.-----var i,j:integer;beginfor i:=1 to 25 do for j:=1 to 50 do if (i*4+j*2=100) and (i+j=36) then writeln(i, con cho, ,j, con ga.);readln;end. 5. VCT xuất các số nguyên tố từ n đến m.(Dùng chương trình con)?var j,n,m,i:integer;function ktranto(x:integer):boolean;beginktranto:=true;for i:=2 to x -1 do if x mod i=0 then ktranto:=false;end;beginwrite(moi nhap n,m: );readln(n,m);for j:=n to m do if ktranto(j) then writeln(j);readln;end. 6. VCT xuất các số hoàn hảo từ n đến m.(Dùng chương trình con)?var x,tu,j,i,n,m:integer;function ktrahhao(x:integer):boolean;begintu:=0;ktrahhao:=false;for i:=1 to x div 2 do if x mod i=0 then tu:=i+tu;if tu=x then ktrahhao:=true;end;begin;write(moi nhap n,m: );readln(n,m);for j:=n to m do if ktrahhao(j) then writeln(j); readln;end. 7. VCT tạo một mảng số nguyên gồm n phần tử nhỏ hơn 1000. Sắp xếp mảng theo tứ tự tăng dần và giảm dần.const n=10;var i,j,tam:integer; a:array[1..n]of integer;beginrandomize;for i:=1 to n do a[i]:=random(1000);for i:=1 to n-1 do for j:=i+1 to n do if a[i]Bài tập Pascal BỒI DƯỠNG HỌC SINH GIỎI HUYỆN GV: Trần Minh Thọreadln;end. 8. VCT đọc một số có 3 chữ số nhập vào từ bàn phím?uses crt;Var s:array[1..9] of string; a,b,c,n:integer;beginclrscr;repeatwrite(nhap so nguyen n:);readln(n);until (n>99)and(n= A)AND(s[i]Bài tập Pascal BỒI DƯỠNG HỌC SINH GIỎI HUYỆN GV: Trần Minh Thọ else begin inc(j); a[j]:=t; t:=; end;for i:=1 to j do b[i]:=length(a[i]);for k:=i downto 1 do writeln(a[k]:20, :,b[k]:4, ky tu);readln;end. 11. VCT tách một xâu S ra thành 4 xâu: S1: chứa các chữ cái in HOA, S2: chứa các ch ữ cái th ường; S3 ch ứa các số 0 9; S4 chứa các ký tự khác( :;>Bài tập Pascal BỒI DƯỠNG HỌC SINH GIỎI HUYỆN GV: Trần Minh Thọwriteln;write(Co hien mat khau khong(c/k):);readln(tl);if upcase(tl)=C then write( Mat khau la:,s);readln;end. 14. VCT đổi một số Bài tập Pascal BỒI DƯỠNG HỌC SINH GIỎI HUYỆN GV: Trần Minh Thọ if (s[i] in so) then begin val(s[i],x,c); j:=j+1; a[j]:=x end;for i:=1 to j-1 do for n:=i+1 to j do if a[i]>a[n] then begin tam:=a[i]; a[i]:=a[n]; a[n]:=tam; end;for i:=1 to j do begin str(a[i],s1); s2:=s2+s1; end;n:=0;s1:=;for i:=1 to length(s) do if s[i] in so then begin inc(n); delete(s,i,1); insert(s2[n],s,i); end;write(s);readln;end. 17. VCT cho nhập một xâu ký tự trong đó có lẫn vào một số có 3 chữ số (vd: fffhgj234fgg)- có ki ểm tra vi ệc nhập sai (vd: jghjg45jk hoặc ggdg012gdg hoặc ggdgg34hjhh3…) và cho phép nh ập l ại. Ki ểm tra cho biết số đó có phải là số nguyên tố không?var s,s1:string; x,vt,c,dem,i:integer;function ktranto(a:integer):boolean;beginktranto: ...