Một số bài Pascal cần giúp gấp!

H

handoi986

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Bài 1 : Nhập vào từ bàn phím hai số nguyên dương a và b(1<a<b<30000)
Xuất ra màn hình các kết quả sau :
+Dòng 1: in ra tổng các số lẻ trong khoảng từ a đến b.
+Dòng 2: in ra hai so cách nhau một dấu cách là tử số và mẫu số của phân số tối giản của a,b
+Dòng 3: in ra hai số nguyên p,q ( với p<q) cách nhau một dấu cách mà p+q=a va p*q=b (dữ liệu vào đảm bảo tồn tại p,q ).

Bài 2. Nhập một số nguyên theo kiểu Word(hệ 10), sau đó đổi số đó ra hệ nhị phân (hệ 2) rồi in kết quả ra màn hình
Input | Output
10 | 01010

Bài 3: Nhập một xâu s bao gồm số và kí tự, in ra xâu đã sắp xếp số theo thứ tự tăng dần còn vị trí các kí tự vẫn giữ nguyên?
Input | Output
abc6ghj7kkkkk1hhhh9 | abc6ghj7kkkkk1hhhh9

Bài 4: In ra từ dài nhất trong một xâu nhập từ bàn phím và số ký tự của từ này? Nếu có nhiều từ có độ dài bằng nhau thì in ra hết.
Input | Output
Truong thich hoc pascal | Truong
| pascal
| 5

Bài 5. Cho một mảng số nguyên gồm n phần tử. Tìm dãy con gồm m phần tử (m\leqn) sao cho dãy con này có tổng lớn nhất. (Dãy con là dãy các phần tử liên tiếp nhau trong mảng). nhập n, nhập các phần tử của dãy, nhập m, in ra dãy con có m phần tử.
Input | Output
8 | 8 7 9
4 3 5 2 8 7 9 6
3

Cám ơn các bác trước!
 
Last edited by a moderator:
A

atlmnt

Bài 1:

uses crt;
var
a,b,i,oddsum,a1,b1:integer;
x1,x2:real;
procedure ptII(S,P:integer;var x1,x2:real);
var delta:real;
begin
delta:=S*S-4*P;
if delta>0 then
begin
x1:=(S+sqrt(delta))/2;
x2:=(S-sqrt(delta))/2;
end
else begin
x1:=S/2;
x2:=x1;
end;
end;

begin
clrscr;
write('a='); readln(A);
write('b='); readln(B);
oddsum:=0;
for i:=a to b do
if i mod 2 <>0 then oddsum:=oddsum+i;
writeln(oddsum);

a1:=A;
B1:=B;
while a1<>b1 do if a1>b1 then a1:=a1-b1 else b1:=b1-a1;
writeln(A/a1:0:0,' ',b/a1:0:0);

PtII(a,b,x2,x1);
writeln(x1:0:0,' ',x2:0:0);
readln;


end.
 
A

atlmnt

Bài 2:

uses crt;
var
he10,he2:string;
x,er:integer;


begin
clrscr;
write('Nhap vao so he 10:'); readln(he10);
Val(he10,x,er);
he2:='';
while x>=1 do
begin
if x mod 2 = 0 then he2:='0'+he2
else he2:='1'+he2;
x:=x div 2;
end;
write('He 2:',he2);
readln;
end.
 
A

atlmnt

Bài 3:
uses crt;
var
st:string;
i:byte;
max,k,d,c,dai:byte;
begin
clrscr;
write('Nhap chuoi:'); readln(st);
st:=st+' ';
st:=' '+st;
max:=0;
k:=0;
for i:=1 to length(st) do
begin
if (upcase(st) in ['A'..'Z']) and (st[i-1]=' ') then d:=i;
if (upcase(st) in ['A'..'Z']) and (st[i+1]=' ') then
begin
c:=i;
dai:=c-d+1;
if dai>max then max:=dai;
end;
end;
for i:=1 to length(st) do
begin
if (upcase(st) in ['A'..'Z']) and (st[i-1]=' ') then d:=i;
if (upcase(st) in ['A'..'Z']) and (st[i+1]=' ') then
begin
c:=i;
if c-d+1=max then writeln(copy(st,d,max));
end;
end;
write(max);
readln;
end.
 
H

handoi986

Bài 3:
uses crt;
var
st:string;
i:byte;
max,k,d,c,dai:byte;
begin
clrscr;
write('Nhap chuoi:'); readln(st);
st:=st+' ';
st:=' '+st;
max:=0;
k:=0;
for i:=1 to length(st) do
begin
if (upcase(st) in ['A'..'Z']) and (st[i-1]=' ') then d:=i;
if (upcase(st) in ['A'..'Z']) and (st[i+1]=' ') then
begin
c:=i;
dai:=c-d+1;
if dai>max then max:=dai;
end;
end;
for i:=1 to length(st) do
begin
if (upcase(st) in ['A'..'Z']) and (st[i-1]=' ') then d:=i;
if (upcase(st) in ['A'..'Z']) and (st[i+1]=' ') then
begin
c:=i;
if c-d+1=max then writeln(copy(st,d,max));
end;
end;
write(max);
readln;
end.

Bạn ơi, sao mình đánh vào TP nó chỉ hiện lên mỗi số 0?
 
Top Bottom