Tin học Lập trình Pascal !

S

storm5906

Bài giải nè: :D

Mã:
PROGRAM Bai_tap;
USES    CRT;
VAR     A:array[1..1000] of integer;
        i,n,x,k:integer;
        s:longint;
BEGIN
        Write('Nhap so n : '); Readln(n);
        Write('Nhap so x : '); Readln(x);
        For i:=1 to n do
                Begin
                        Write('Nhap so a',i,' : ');
                        Readln(A[i]);
                End;
        s:=A[n]; k:=x;
        For i:=(n-1) downto 1 do
                Begin
                        s:=s+(A[i]*k);
                        k:=k*x;
                End;
        Writeln('Tong S(x) = ',S);
        READLN;
END.
 
Last edited by a moderator:
T

tu310

giúp em bài này với

lập trình giúp em bài này bằng phương pháp kiểu mảng

viết chương trình nhập vào điểm trung bình của lớp theo 4 tổ các điểm từ 2 đến 10 (điểm lấy số nguyên):
- tính điểm trung bình từng tổ
- tính điểm trung bình lớp
- đếm số người có điểm trung bình nhỏ hơn 5
 
T

tungvip95

mỗi tổ có bao nhiêu người vậy bạn
mà nhập thì nhập điểm của từng người à:D
 
T

tu310

lập trình pascal

mỗi tổ gồm 10 người
nhập điểm từng người thì tuỳ ý
bạn giúp mình với
 
A

a_little_demon

Giải gìum mình bài này với:
một chú bé đi nhặt banh! biết rằng trên sân được chia làm N*N (N<=100) ô vuông nhỏ mỗi ô vuông chứa x banh
nếu x âm thì chú bé phải trả banh lại
nếu x dương thì chú bé được nhặt thêm banh
Biết rằng chú bé chỉ có thể đi lên xuống trái phải, không được đi lại nơi đã đi qua
Hãy viết chương trình xuất ra màn hình đường đi của chú bé sao cho số banh nhặt được là lớn nhất và đường đi phải ngắn nhất
với số banh trong mỗi ô sẽ là số ngẫu nhiên từ -10 đến 10
VD: 3*3
1 /-10 /12
2 / 3 / 3
-2/ 5 / 3
Đáp án có dạng
1/0/0
1/1/0
0/1/1
 
S

storm5906

lập trình giúp em bài này bằng phương pháp kiểu mảng

viết chương trình nhập vào điểm trung bình của lớp theo 4 tổ các điểm từ 2 đến 10 (điểm lấy số nguyên):
- tính điểm trung bình từng tổ
- tính điểm trung bình lớp
- đếm số người có điểm trung bình nhỏ hơn 5

Theo ý kiến của nhiều người kiến nghị về việc storm giành giải hết bài Pascal, không cho mọi người post bài, :p hôm nay mình quyết định nhường bài này lại cho tungvip95. :D

Giải gìum mình bài này với:
một chú bé đi nhặt banh! biết rằng trên sân được chia làm N*N (N<=100) ô vuông nhỏ mỗi ô vuông chứa x banh
nếu x âm thì chú bé phải trả banh lại
nếu x dương thì chú bé được nhặt thêm banh
Biết rằng chú bé chỉ có thể đi lên xuống trái phải, không được đi lại nơi đã đi qua
Hãy viết chương trình xuất ra màn hình đường đi của chú bé sao cho số banh nhặt được là lớn nhất và đường đi phải ngắn nhất
với số banh trong mỗi ô sẽ là số ngẫu nhiên từ -10 đến 10
VD: 3*3
1 /-10 /12
2 / 3 / 3
-2/ 5 / 3
Đáp án có dạng
1/0/0
1/1/0
0/1/1

Bài này không dễ đâu, cần phải suy nghĩ thêm một chút nào. A, tungvip95 không được giải bài này trước mình đó! :p
 
T

tungvip95

lập trình giúp em bài này bằng phương pháp kiểu mảng

viết chương trình nhập vào điểm trung bình của lớp theo 4 tổ các điểm từ 2 đến 10 (điểm lấy số nguyên):
- tính điểm trung bình từng tổ
- tính điểm trung bình lớp
- đếm số người có điểm trung bình nhỏ hơn 5

không biết làm thế này có đúng không:p

Mã:
var a,b,c,d:array [1..10] of integer;
i,s,m,n,p,q,x:integer;
dtbt1,dtbt2,dtbt3,dtbt4,dtbl:real;
begin
m:=0;
n:=0;
p:=0;
q:=0;
s:=0;
x:=0;
for i:=1 to 10 do begin
write('nhap diem trung binh cua nguoi thu ',i,' cua to 1');
readln(a[i]);
m:=m+a[i];
x:=x+a[i];
end;
for 10 do begin
write('nhap diem trung binh cua nguoi thu ',i,' cua to 2');
readln(b[i]);
n:=n+b[i];
x:=x+b[i];
end;
for i:=1 to 10 do begin
write('nhap diem trung binh cua nguoi thu ',i,' cua to 3');
readln(c[i]);
p:=p+c[i];
x:=x+c[i];
end;
for i:=1 to 10 do begin
write('nhap diem trung binh cua nguoi thu ',i,' cua to 4');
readln(d[i]);
q:=q+d[i];
x:=x+d[i];
end;
dtbt1:=m/10;
dtbt2:=n/10;
dtbt3:=p/10;
dtbt4:=q/10;
dtbl:=x/40;
for i:= 1 to 10 do
if (a[i]<5) or (b[i]<5) or (c[i]<5) or (d[i]<5) then s:=s+1;
writeln('diem trung binh to 1:= ',dtbt1);
writeln('diem trung binh to 2:= ',dtbt2);
writeln('diem trung binh to 3:= ',dtbt3);
writeln('diem trung binh to 4:= ',dtbt4);
writeln('diem trung binh lop:= ',dtbl);
writeln('so nguoi co dtb nho hon 5:= ',s);
readln;
end.

không biết có đúng không:D
 
Last edited by a moderator:
T

tungvip95

làm bài này với:D

cho 1 cái bàn cờ hình vuông có cạnh dài là n
trên bàn cờ đó ta đặt 1 số con hậu
hãy lập chương trình kiểm tra xem các con hậu đó có ăn nhau được hay không
nếu có in ra màn hình là not ok
nếu không in ra màn hình là ok
file input: n: cạnh bàn cờ
s: số con hậu
các dòng tiếp theo là vị trí các con hậu
VD file in put:
6
2
1 1
2 2
in ra màn hình :not ok;
:D:D:D
in ra màn hình các vị trí có thể đặt thêm các con hậu khác mà vẫn "OK"
 
Last edited by a moderator:
A

a_little_demon

làm bài này với:D

cho 1 cái bàn cờ hình vuông có cạnh dài là n
trên bàn cờ đó ta đặt 1 số con hậu
hãy lập chương trình kiểm tra xem các con hậu đó có ăn nhau được hay không
nếu có in ra màn hình là not ok
nếu không in ra màn hình là ok
file input: n: cạnh bàn cờ
s: số con hậu
các dòng tiếp theo là vị trí các con hậu
VD file in put:
6
2
1 1
2 2
in ra màn hình :not ok;
:D:D:D

trời dạng bài này tương tự như dang cơ bản đạt 8 con Hậu trên bàn cờ sao cho không con nào ăn được con nào rồi con gì!
Dạng này xưa lám rồi ai chả biết!
 
H

hsdailoc

bạn nào giúp tôi bài tập pascal này
viết chương trình nhập từ bàn phím số nguyên dương n và dãy A gồm n số nguyên dương. Sau đó đưa ra màn hình 3 số nguyên tố lớn nhất
bài này tôi viết chương trình nhưng chạy thì không cho kết quả như mong muốn, mấy bác pro giúp em nha
 
T

tieuthukieuki722000

anh chị em dễ thương,giúp em làm bài pascal này nha.
Viết chương trình vẽ hình chữ nhật bằng các ngôi sao(đặc ruột luôn nha) và tính diện tích của nó khi biết chiều dài và chiều rộng. Phải sử dụng 2 chương trình con là thủ tục và hàm,giúp giùm em nha,em đang cố gắng nhưng bó tay
 
A

angelina0901

Lâu lâu mới quay lại. :d MỌi ng giải giùm nhá:
B1. Viết chương trình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái tiếng Anh trog S (ko phân biệt chữ hao hay chữ thườg).
B2. Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự 'anh' bằng cụm kí tự 'em'.
Thân ái chào quyết thắng.
 
T

tungvip95

bài 1 làm lâu lắm em thử bài 2 nhé:D

Mã:
uses crt;
var
a:array [1..100] of string;
i:integer;
begin
clrscr;
write('xau: '); readln(a);
for i:=1 to length(a) do
if a[i]='anh' then a[i]:='em';
writeln(a);
readln;
end.

nếu có gì sai chỉ em :D
 
S

storm5906

bài 1 làm lâu lắm em thử bài 2 nhé:D

Mã:
uses crt;
var
a:array [1..100] of string;
i:integer;
begin
clrscr;
write('xau: '); readln(a);
for i:=1 to length(a) do
if a[i]='anh' then a[i]:='em';
writeln(a);
readln;
end.

nếu có gì sai chỉ em :D

Mình thấy cách nhập dữ liệu của bài này không ổn! :D
Chỉ có nhập dữ liệu cho từng phần tử của mảng thôi chứ làm sao nhập dữ liệu cho nguyên cái mảng cùng lúc được?? :-SS
 
H

hip612

Mình khâm phục các bạn quá :((
các bạn làm thế nào mà có thể pro như thế, dạy mình đi :((
tiện thể mình có 1 số bài mong các bạn chỉ bảo :"> giúp mình vs nhé :X Mình đang học kiểu mảng 1 và 2 chiều nên các bạn làm cơ bản cho mình hiểu nhé :">

1.Nhập 2 mảng 1 chiều, tạo mảng thứ 3 bằng tổng 2 mảng trên. VD: c = a + b. In cả 3 mảng ra màn hình.

2. Nhập 1 dãy số nguyên n phần tử, in ra màn hình các số ở vị trí chẵn.

3. Nhập dãy số nguyên n phần tử, tìm phần tử âm đầu tiên và số chỉ của nó.

4. Nhập dãy số nguyên n phần tử, tìm số lớn thứ nhì của dãy.

5.Nhập mảng 2 chiều, tìm số lớn nhất của mảng.

6.Nhập dãy số nguyên n phần tử, in ra màn hình số lượng số hạng dương và trung bình cộng của chúng.

7.Nhập mảng 2 chiều, biểu thị trên màn hình giá trị 2 đường chéo.

Bạn nào giúp mình với nhé, tiện thể chỉ mình cách học giỏi Pascal nha :">
 
Last edited by a moderator:
S

storm5906

Lâu lâu mới quay lại. :d MỌi ng giải giùm nhá:
B1. Viết chương trình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái tiếng Anh trog S (ko phân biệt chữ hao hay chữ thườg).

Bài này không khó! :D

Bài 1:

Mã:
PROGRAM Bai_tap;
USES    CRT;
Var     A:array['a'..'z'] of integer;
        s:string;
        i:integer;
        c:char;
BEGIN
        Clrscr;
        Write('Nhap mot xau : '); Readln(s);
        For i:=1 to length(s) do
                If (ORD(s[i]) >= ORD('a')) and (ORD(s[i]) <= ORD('z')) then
                        A[s[i]]:=A[s[i]]+1;
        Writeln('So lan xuat hien cua cac chu cai trong xau :');
        i:=0;
        For c:='a' to 'z' do
                Begin
                        Write(c,': ',A[c],'   ');
                        i:=i+1;
                        If i=6 then
                                Begin
                                        Writeln;
                                        i:=0;
                                End;
                End;
        READLN;
END.
 
Last edited by a moderator:
S

storm5906

Mình khâm phục các bạn quá :((
các bạn làm thế nào mà có thể pro như thế, dạy mình đi :((
tiện thể mình có 1 số bài mong các bạn chỉ bảo :"> giúp mình vs nhé :X Mình đang học kiểu mảng 1 và 2 chiều nên các bạn làm cơ bản cho mình hiểu nhé :">

1.Nhập 2 mảng 1 chiều, tạo mảng thứ 3 bằng tổng 2 mảng trên. VD: c = a + b. In cả 3 mảng ra màn hình.

2. Nhập 1 dãy số nguyên n phần tử, in ra màn hình các số ở vị trí chẵn.

3. Nhập dãy số nguyên n phần tử, tìm phần tử âm đầu tiên và số chỉ của nó.

4. Nhập dãy số nguyên n phần tử, tìm số lớn thứ nhì của dãy.

5.Nhập mảng 2 chiều, tìm số lớn nhất của mảng.

6.Nhập mảng 2 chiều, tính tổng cột bất kì trong mảng

7.Nhập mảng 2 chiều, biểu thị trên màn hình giá trị 2 đường chéo.

Bạn nào giúp mình với nhé, tiện thể chỉ mình cách học giỏi Pascal nha :">


Đây là những bài cơ bản, bạn nên tự làm để nắm vững kiến thức! :D

Còn muốn học giỏi Pascal thì nên mua mấy quyển sách hay về Pascal tự học và điều quan trọng là làm bài tập thật nhiều! :D

Tiện thể cho mình xin nick Y!M. Có gì hỏi lên đó hỏi cho dễ :D
 
C

chunholovetazu

Bài của hip hay đấy, mình cũng đang cần tìm,ai có đáp án ko????????
cho mình hỏi bài này nữa nhé:
1/nhập dãy số nguyeen n phần tử, in ra màn hình số các số dương và trung bình cộng cúa chúng.
2/nhập 1 dãy số nguyên n phần tử, nhập 1 số nguyên x, thay giá trị của số thứ 3=x, thay các số âm =0
3/tìm kiếm sự có mặt của số nguyên k trong dãy số nguyên n phần tử
 
Last edited by a moderator:
Top Bottom