Untitled


SUBMITTED BY: Guest

DATE: May 11, 2015, 10:29 a.m.

FORMAT: Text only

SIZE: 7.3 kB

HITS: 1066

  1. Viết chương trình nhập vào 1 mảng a gồm n phần tử , sắp xếp mảng thành mảng tăng dần.
  2. Uses crt;
  3. Var a:array[1..1000] of integer;
  4. i,j,n,t:integer;
  5. procedure nhap;
  6. begin
  7. Write(‘Nhap n : ‘);
  8. Readln(n);
  9. For i:=1 to n do
  10. Begin
  11. Write(‘a[‘,i,’]: ‘);
  12. Readln(a[i]);
  13. End;
  14. End;
  15. Procedure sapxep;
  16. Begin
  17. For j:=1 to n-1 do
  18. For i:=1 to n-1 do
  19. If a[i]>a[i+1] then
  20. Begin
  21. T:=a[i];
  22. A[i]:=a[i+1];
  23. A[i+1]:=t;
  24. End;
  25. End;
  26. Procedure Inra;
  27. Begin
  28. For i:=1 to n do
  29. Write(a[i]:3);
  30. End;
  31. {bat dau chuong trinh chinh }
  32. Begin
  33. Nhap;
  34. Sapxep;
  35. Inra;
  36. Readln;
  37. End;
  38. Viết chương trình nhập vào một mảng a gồm n phần tử , tính tổng các phần tử trong mảng.
  39. Uses crt;
  40. Var a:array[1..1000] of integer;
  41. i,j,n,t,s:integer;
  42. procedure nhap;
  43. begin
  44. Write(‘Nhap n : ‘);
  45. Readln(n);
  46. For i:=1 to n do
  47. Begin
  48. Write(‘a[‘,i,’]: ‘);
  49. Readln(a[i]);
  50. End;
  51. End;
  52. Procedure tinhtong;
  53. Begin
  54. S:=0;
  55. For i:=1 to n do
  56. S:=s+a[i];
  57. End;
  58. Procedure Inra;
  59. Begin
  60. Write(‘Tong la : ‘,s);
  61. End;
  62. {bat dau chuong trinh chinh }
  63. Begin
  64. Nhap;
  65. tinhtong;
  66. Inra;
  67. Readln;
  68. End;
  69. Viết chương trình tính tổng các phần tử lẻ trong mảng.
  70. Sửa lại phần procedure tinhtong; bài 2 thành
  71. Procedure tinhtong;
  72. Begin
  73. S:=0;
  74. For i:=1 to n do
  75. If a[i] mod 2 <>0 then
  76. S:=s+a[i];
  77. End;
  78. Viết chương trình tính trung bình cộng của một mảng a gồm n phần tử .
  79. -Sửa lại phần Procedure tinhtong ; bài 2 thành
  80. Function TBC:real;
  81. Begin
  82. S:=0;
  83. For i:=1 to n do
  84. S:=s+a[i];
  85. TBC:=s/n;
  86. End;
  87. -Sửa phần procedure Inra ; thành
  88. Procedure Inra;
  89. Begin
  90. Write(‘TBC la : ‘,TBC:2:4);
  91. End;
  92. 5. Viết chương trình nhập vào 1 xâu, sau đó đếm xem số lần xuất hiện mỗi ký tự trong xâu
  93. VD: THPT Quynh Luu 4
  94. KQ: T:2 H:2 P:1 Q:1 U:3 Y:1 N:1 4:1
  95. Giải (#32 là dấu cách )
  96. In hoa toàn bộ xâu .
  97. Xét ký tự đầu s[1];
  98. Đếm xem có bao nhiêu ký tự giống s1 trong xâu.
  99. Mỗi lần có s[i] =s[1] thì xóa đi s[i] để tránh lặp
  100. Đếm hết thì ghi ra s[1] và đếm
  101. Xóa s[1] chuyển đếm về 1.
  102. Quay lại xét tiếp s[1];
  103. CODE:
  104. VAR s:STRING;
  105. i,d,j:INTEGER;
  106. PROCEDURE xuli;{ xu ly bai toan }
  107. BEGIN
  108. IF s[1] <>#32 THEN
  109. BEGIN
  110. d:=1; j:=2;
  111. WHILE j<=length(s) DO
  112. IF s[j] = s[1] THEN
  113. BEGIN inc(d) ; delete(s,j,1); END
  114. ELSE inc(j);
  115. Write(s[1],' : ');
  116. writeln(d);
  117. delete(s,1,1);
  118. END ELSE delete(s,1,1);
  119. END;
  120. BEGIN
  121. Write('Nhap xau : ');
  122. Readln(S);
  123. FOR i:=1 TO length(s) DO
  124. s[i]:=upcase(s[i]);
  125. WHILE s<>'' DO
  126. xuli;
  127. Readln;
  128. END.
  129. Tính tổng sau
  130. S= 1/i! với i chạy từ 0 đến n
  131. S=∑_(i=0)^n▒1/i!
  132. Giải :
  133. Ta viết hàm tính giai thừa
  134. sau đó tính tổng.
  135. Hàm giai thừa là
  136. f(x)= x*(x-1)*(x-2)*...*1
  137. VAR s:REAL;
  138. n,i:INTEGER;
  139. FUNCTION Giaithua(n:INTEGER):LONGINT;
  140. VAR s,i:LONGINT;
  141. BEGIN
  142. s:=1;
  143. FOR i:=n DOWNTO 1 DO
  144. s:=s*i;
  145. Giaithua:=s;
  146. END;
  147. BEGIN
  148. Write('Nhap n : ');
  149. Readln(n);
  150. s:=0;
  151. FOR i:=0 TO n DO
  152. s:=s+1/giaithua(i);
  153. Write('S= ',s:4:4);
  154. Readln;
  155. END.
  156. 6.
  157. Tính tổng
  158. S= x^i với i từ 0 đến n
  159. S=∑_(i=0)^n▒x^i
  160. Tương tự bài tính giai thừa
  161. nhưng hàm Lũy thừa
  162. F(x,i)= x*x*x*x...*x
  163. (i thừa số);
  164. VAR s:LONGINT;
  165. i,x,n:LONGINT;
  166. FUNCTION Luythua(x,i:LONGINT):LONGINT;
  167. VAR s,j:LONGINT;
  168. BEGIN
  169. s:=1;
  170. FOR j:=1 TO i DO
  171. s:=s*x;
  172. Luythua:=s;
  173. END;
  174. BEGIN
  175. Writeln('Nhap n : ');
  176. readln(n);
  177. Write('Nhap x : ');
  178. Readln(x);
  179. s:=0;
  180. FOR i:=0 TO n DO
  181. s:=s+Luythua(x,i);
  182. Write('S= ',s);
  183. readln;
  184. END.
  185. Viết chương trình đếm số từ trong một xâu .
  186. Giải: Thay vì đếm từ, ta sẽ đếm số dấu cách (#32) trong câu. Sau đó cộng thêm 1 ( vì từ đầu tiên k có dấu cách đứng trước).
  187. Var s:string;
  188. Dem,i: integer;
  189. Procedure Nhap;
  190. Begin
  191. Write(‘Nhap xau : ‘ );
  192. Readln(s);
  193. End;
  194. Procedure Demtu;
  195. Begin
  196. Dem:=0;
  197. For i:=1 to length(s) do
  198. If s[i]=#32 then inc(dem);
  199. End;
  200. Procedure Inra;
  201. Begin
  202. Write(‘So tu la : ‘,dem+1);
  203. End;
  204. { chuong trinh chinh}
  205. Begin
  206. Nhap;
  207. Demtu;
  208. Inra;
  209. Readln;
  210. End.
  211. Viết chương trình nhập vào một xâu toàn bộ là chữ thường, sau đó in hoa những ký tự đứng đầu một từ.
  212. VD : hoc sinh  Hoc Sinh
  213. Giải
  214. Ta thấy chữ cái đầu (s[1] luôn phải in hoa ).
  215. Sau đó mỗi chữ cái sau dấu cách (#32) phải in hoa.
  216. Var s:string;
  217. i: integer;
  218. Procedure Nhap;
  219. Begin
  220. Write(‘Nhap xau : ‘ );
  221. Readln(s);
  222. End;
  223. Procedure Xuli;
  224. Begin
  225. S[1]:=upcase(s[1]);
  226. For i:=2 to length(s) do
  227. If s[i]=#32 then s[i+1]:=upcase(s[i+1]);
  228. End;
  229. Procedure Inra;
  230. Begin
  231. Write(‘Xau moi : ‘,s);
  232. End;
  233. { chuong trinh chinh}
  234. Begin
  235. Nhap;
  236. Xuli;
  237. Inra;
  238. Readln;
  239. End.
  240. Viết chương trình
  241. Tính tổng x+y
  242. Giải pt bậc 2 một ẩn
  243. Giai thừa của n
  244. CODE:
  245. PROGRAM Baitap;
  246. USES crt;
  247. VAR a,b,c:REAL;
  248. n,x,y:INTEGER;
  249. FUNCTION Tinhtong(x,y:INTEGER):INTEGER;
  250. BEGIN
  251. Tinhtong:=x+y;
  252. END;
  253. PROCEDURE GiaiPT(a,b,c:REAL);
  254. VAR D,x1,x2:REAL;
  255. BEGIN
  256. D:= b*b - 4*a*c;
  257. IF D<0 THEN Write('Phuong trinh vo nghiem ! ') ELSE
  258. BEGIN
  259. BEGIN x1:= (-b-sqrt(d)) /(2*a) ;x2:=(-b+sqrt(D))/(2*a); END;
  260. Writeln('x1= ',x1:2:2);
  261. Writeln('x2= ',x2:2:2);
  262. END;
  263. END;
  264. FUNCTION TinhGT(n:BYTE):LONGINT;
  265. VAR gt,i:LONGINT;
  266. BEGIN
  267. gt:=1;
  268. FOR i:=1 TO n DO
  269. gt:=gt*i;
  270. TinhGT:=gt;
  271. END;
  272. BEGIN
  273. Clrscr;
  274. Write('Nhap x va y : ');
  275. Readln(x,y);
  276. Write('Tong la : ',Tinhtong(x,y));
  277. Readln;
  278. Write('Nhap he so a,b,c cua phuong trinh : ');
  279. Readln(a,b,c);
  280. GiaiPT(a,b,c);
  281. Readln;
  282. Write('Nhap n : ');
  283. Readln(n);
  284. Write(n,'!= ',TinhGT(n));
  285. Readln;
  286. END.
  287. 9. Kiểm tra một số có phải là nguyên tố hay không
  288. VAR x:LONGINT;
  289. FUNCTION Ngto(x:INTEGER):BOOLEAN;
  290. VAR j: INTEGER;
  291. BEGIN
  292. Ngto:=TRUE;
  293. IF x <=1 THEN Ngto:=FALSE ELSE
  294. FOR j:=2 TO Trunc(Sqrt(x)) DO
  295. IF x MOD j = 0 THEN BEGIN
  296. Ngto:=FALSE; exit; END;
  297. END;
  298. BEGIN
  299. Readln(x);
  300. IF ngto(x) THEN Write(' La so nguyen to') ELSE write(' KHong phai nguyen to ') ; readln;
  301. END.

comments powered by Disqus