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

L

luongngoc

Mọi người ơi giúp mình làm bài lập trình Pascal này với
Nhập mảng hai chiều A gồm n dòng và m cột. Kiểu phần tử của mảng là kiểu nguyên. In ra các phần tử của mảng.
Hỏi mảng có bao nhiêu số chính phương?
Cảm ơn trước nhé!
 
T

tungvip95

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.
bài 1 nhé:D

Mã:
uses crt;
var
a:array[1..100] of integer;
i,n,s,dem:integer;
trungbinh:real
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do begin
writeln('nhap so thu',i);
readln(a[i]);
end;
s:=0;
dem:=0;
for i:=1 to n do begin
if a[i] > 0 then begin
dem:=dem+1;
s:=s+a[i];
end;
end;
trungbinh:=s/dem;
writeln('so so duong la: ',dem);
writeln('trung binh cong cua chung la: ',trungbinh);
readln;
end.

ko hiểu có đúng khô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
Bai 2:D

Mã:
uses crt;
var
a:array [1..100] of integer;
n,i,x:integer;
begin
clrscr;
write('so phan tu cua mang: ');
readln(n);
for i:=1 to n do begin
write('hay nhap phan tu thu ',i);
readln(a[i]);
end;
writeln('x= '); readln(x);
a[3] :=x;
for i:= 1 to n do begin
if a[i] <0  then a[i]:=0;
end;
for i:= 1 to n do
writeln(' ',a[i]);
readln;
end.

ko hiểu đúng không:D

Bài 3 mình không hiểu đề bài lắm.
Có phải là nhập 1 số k rồi xem nó có trong mảng không à:D
 
Last edited by a moderator:
H

hdbg

bài 1 nhé:D

Mã:
program baitap;
var
a:array[1..100] of integer;
i,n,dem,s:integer;
tb:real;
begin

writeln('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do begin
writeln('a[',i,']=');
readln(a[i]);
end;
s:=0;
dem:=0;
for i:=1 to n do begin
if a[i] >0 then
writeln(a[i]);
s:=s+a[i];
dem:=dem+1;
end;
tb:=s/dem;

writeln('trung binh cong cua cac so duong la : ',tb:8:0);
readln;
end.

Không được đúng cho lắm !
Thứ nhất : các số dương chứ không phải các số chẵn mà bạn lại mod 2 = 0
Thứ hai : cho ra màn hình các số dương chứ không phải là tổng các số dương
 
T

tungvip95

Lỗi thứ nhất: chết rồi mình đọc sai đề bài:p
để mình sửa lại:D
Lối thứ 2: mình đặt nhầm biến thông cảm nhé:D
 
Last edited by a moderator:
V

vipgood9x

giúp mình bài này với :(
Mình đang làm 1 bt có nội dung như sau


Cho sẵn 1 file txt(input) Trong file gồm có :
2 5
10 9

Viết chương trình đọc file txt trên và tạo ra 1 file txt mới naz tổng của 2 dòng trên (theo hàng ngang)
Thanks
 
T

tungvip95

Bạn giải thích rõ hơn được không, tức là in ra file mới tổng cả 4 số à:D
 
V

vipgood9x

h0k bạn ak :p Đúng naz in ra 1 file mới
Nhưng chỉ naz tổng của 2 số 1 thôi
VD: 2 5
10 9

thì file mới sẽ có 2 số
7
19

Thanks bạn đã quan tâm :)
 
T

tungvip95

ừ thế mình làm thế này bạn xem có được không nhé

Mã:
uses crt;
var
a,b,x,z,m,n: integer;
f,g:text;
begin
clrscr;
assign(f,'input.txt');
reset(f);
readln(f,x,y);
readln(f,m,n);
close(f);
assign(g,'output.txt');
rewrite(g);
a:=x+y;
b:=m+n;
writeln(g,a);
writeln(g,b);
close(g);
end.

Đó là nếu mỗi dòng chắc chắn chỉ có 2 phần tử còn nếu nhiều hơn chắc phải có 1 dòng là n phần tử của dòng nữa:D
 
Q

qnhu73

Cho em hỏi bài này với:
Đề: Nhập 2 số m, n; nhập 1 phép tínhvà in kết quả ra màn hình. Sau đó xuất hiện câu "Bạn có muốn tiếp tục?". Gõ c, chương trình quay về ban đầu chạy lại, khác c, chương trình kết thúc.
Với lệnh lặp while..do ???
 
M

marik

Cho em hỏi bài này với:
Đề: Nhập 2 số m, n; nhập 1 phép tínhvà in kết quả ra màn hình. Sau đó xuất hiện câu "Bạn có muốn tiếp tục?". Gõ c, chương trình quay về ban đầu chạy lại, khác c, chương trình kết thúc.
Với lệnh lặp while..do ???
Nhập 1 phép tính là sao hả bạn? Là mình tự tính một phép tính bất kì à?
Nói chung cấu trúc của bài này là
repeat
....
write('Ban co muon tiep tuc?(c/k) ');readln(k);
until k='c';
với k có kiểu char
 
Q

qnhu73

Nhưng mà bạn ơi, repeat...until thì mình làm được rồi nhưng mình ko biết chuyển qua while..do?
cóphải ý của bạn là:
uses crt;
var i:char;
S, n,m: integer;
begin
clrscr;
repeat
writeln('Nhap m');Readln(m);
Writeln('Nhap n');Readln(n);
writeln(' Tong', s);
writeln(' Ban co muon tiep tuc? (c/k)');
Readln(i);
until i='k';
end.
 
M

marik

Chuyển sang while do thì bạn cần gán trước giá trị cho biến i
uses crt;
var i:char;
S, n,m: integer;
begin
clrscr;
i:='a';
while i<>'c' do
writeln('Nhap m');Readln(m);
Writeln('Nhap n');Readln(n);
s:=n+m;
writeln(' Tong', s);
writeln(' Ban co muon tiep tuc? (c/k)');
Readln(i);
end;
end.
 
Q

qnhu73

Bạn ơi,
Mình vừa chạy thử chương trình của bạn, nhưng sau khi Ctrl+F9, Trên màn hình xuất hiện 1 dãy câu lệnh ('Nhap m').
Nhap m
Nhap m
Nhap m
Nhap m...
Bạn có thể giúp mình kiểm tra lại chương trình được ko?
 
S

storm5906

Bạn ơi,
Mình vừa chạy thử chương trình của bạn, nhưng sau khi Ctrl+F9, Trên màn hình xuất hiện 1 dãy câu lệnh ('Nhap m').
Nhap m
Nhap m
Nhap m
Nhap m...
Bạn có thể giúp mình kiểm tra lại chương trình được ko?

Rõ ràng là bạn đã gõ sai cái gì rồi! Chương trình của marik đúng rồi mà! :)
 
Q

qnhu73

Xin lỗi bạn, mình tìm ra lỗi sai rồi
uses crt;
var i:char;
S, n,m: integer;
begin
clrscr;
i:='a';
while i<>'c' do
begin
writeln('Nhap m');Readln(m);
Writeln('Nhap n');Readln(n);
s:=n+m;
writeln(' Tong', s);
writeln(' Ban co muon tiep tuc? (c/k)');
Readln(i);
end;
end.
Nhưng mình vẫn thắc mắc sau khi chạy được chương trình rồi Tình được tổng s và xuất hiện câu Ban co muon tiep tuc, mình gõ 'c' và nhấn Enter nhưng chương trình lại thoát ra và quay về phần viết chương trình. CHo mình hỏi có gì sai ko?
 
M

marik

Oh sorry. mình nhầm một chút, phải là nhấn k thì ngừng chương trình mới đúng :D
uses crt;
var i:char;
S, n,m: integer;
begin
clrscr;
i:='a';
while i<>'k' do
begin
writeln('Nhap m: ');Readln(m);
Writeln('Nhap n: ');Readln(n);
s:=n+m;
writeln(' Tong: ', s);
writeln(' Ban co muon tiep tuc? (c/k)');
Readln(i);
end;
end.
 
M

marik

Góp 1 bài nhé:
Viết chương trình nhập từ bàn phím mảng một chiều gồm n phần tử là các số nguyên dương. Đưa ra màn hình dãy các phần tủ không tăng nhiều nhất lấy từ mảng mà không thay đổi vị trí các phần tử trong mảng.
Làm bài này bằng 3 cách nhé :d
 
D

dung_92bn

Cả nàh ơi giúp mjnh bài này nha mjnh cần gấp năm chậm nhất 15' nữa phải có giả đáp huhuhu:
Đề: viếtchương trình quản lí học sinh sử dụng kiểu mảng. phần khai báo có các mục sau (họtên. ngay sinh. địa chỉ, lớp. họ tên bố, họ tên mẹ.
Mong các bạn giúp mjnh khâả cấp :((
 
L

laban95

viết ctrinh nhận bik 1 số tự nhiên nhập từ bàn phím có phải là số ngto hay ko?
(mih chưa học kiểu dữ liệu mảng)
 
Top Bottom