1. Trang chủ
  2. » Công Nghệ Thông Tin

Bt phần mang 1 chieu

12 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các Bài Tập Về Ngôn Ngữ Lập Trình Pascal (Phần: Mảng 1 Chiều)
Người hướng dẫn GV: Trần Văn Hùng
Thể loại essay
Định dạng
Số trang 12
Dung lượng 70,5 KB

Nội dung

bài tập giúp bạn bổ sung kiến thức về mảng một chiều cũng như các kĩ năng lập trình cơ bản choi người mới bắt đầu lập trình

Trang 1

Bài 1: CT nhập và xuất mảng 1 chiều, In mảng theo thứ tự ngược.

PROGRAM BAITAP1;

VAR a: Array[1 100] of INTEGER;

I, n : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

READLN(N);

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

End;

WRITELN;

WRITE(‘MANG VUA NHAP:’);

FOR i:=1 TO n DO

WRITE(a[i]:4);

WRITELN;

WRITE(‘IN MANG THEO THU TU NGUOC’);

FOR i:=n DOWNTO 1 DO

WRITE(a[i]:4);

WRITELN;

READLN;

END

*******************************************************************************

Bài 2: CT nhập mảng 1 chiều sau đó sắp xếp mảng theo thứ tự

a Tăng dần

b Giảm dần

PROGRAM BAITAP2;

VAR a: Array[1 100] of INTEGER;

I, n, j, tam : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

READLN(N);

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

End;

WRITELN;

WRITE(‘MANG TRUOC KHI SAP XEP:’);

FOR i:=1 TO n DO

WRITE(a[i]:4);

Trang 2

Write( ‘CT SAP XEP MANG THEO THU TU TANG DAN’);

FOR i:=1 TO n - 1 DO

For j:= i+1 to n do

IF a[i]>a[j] then Begin

Tam:= a[i];

a[i]:= a[j];

a[j]:= Tam;

end;

WRITE(‘MANG SAU KHI SAP XEP TANG DAN:’);

FOR i:=1 TO n DO

WRITE(a[i]:4);

WRITELN;

Write( ‘CT SAP XEP MANG THEO THU TU GIAM DAN’);

FOR i:=1 TO n - 1 DO

For j:= i+1 to n do

IF a[i]<a[j] then Begin

Tam:= a[i];

a[i]:= a[j];

a[j]:= Tam;

end;

WRITE(‘MANG SAU KHI SAP XEP GIAM DAN:’);

FOR i:=1 TO n DO

WRITE(a[i]:4);

WRITELN;

READLN;

END

*******************************************************************************

Bài 3: CT nhập mảng 1 chiều, sau đó tìm phần tử lớn nhất và nhỏ nhất và vị trí của chúng trong mảng.

PROGRAM BAITAP3;

VAR a: Array[1 100] of INTEGER;

I, n, Max, Min, VitriMax, VitriMin : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

READLN(N);

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

Trang 3

WRITELN;

WRITE(‘MANG VUA NHAP:’);

FOR i:=1 TO n DO

WRITE(a[i]:4);

WRITELN;

Max:=a[1]; VitriMax:=1;

Min:=a[1]; VitriMin:=1;

Writeln;

For i:=1 to n do

If Max< a[i] then

Begin

Max:= a[i];

VitriMax:= i;

End;

Writeln;

For i:=1 to n do

If Min> a[i] then

Begin

Min:= a[i];

VitriMin:= i;

End;

Writeln;

Writeln(‘ Phan tu co GTLN cua mang la:’, Max);

Writeln(‘ No nam o vi tri:’, VitriMax);

Writeln(‘ Phan tu co GTNN cua mang la:’, Min);

Writeln(‘ No nam o vi tri:’, VitriMin);

Writeln;

Readln;

END

*******************************************************************************

Bài 4: CT nhập mảng 1 chiều, sau đó đếm số lần xuất hiện các:

a Số 0

b Số dương.

c Số âm.

d Số chẵn.

e Số lẻ.

PROGRAM BAITAP4;

VAR a: Array[1 100] of INTEGER;

I, n, dem, demduong, demam, demchan, demle : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

Trang 4

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

End;

WRITELN;

WRITE(‘MANG VUA NHAP:’);

FOR i:=1 TO n DO

WRITE(a[i]:4);

WRITELN;

Dem:=0; Demduong:=0; Demam:=0; Demchan:=0; Demle:=0;

Writeln;

For i:=1 to n do

If a[i]=0 then Dem:=Dem +1 Else

If a[i]>0 then

Demduong:=Demduong +1 Else

Demam:=Demam +1;

Writeln;

For i:=1 to n do

If (a[i] mod 2)= 0 then

Demchan:=Demchan +1 Else

Demle:=Demle +1;

Writeln;

If Dem>0 then

Write(‘Co ‘, dem,’ so 0 trong mang’) Else

Write(‘Khong co so 0 nao trong mang’);

Writeln;

If Demduong>0 then

Write(‘Co ‘,demduong,’ so duong trong mang’) Else

Write(‘Khong co so duong nao trong mang’);

Writeln;

If Demam>0 then

Write(‘Co ‘,demam,’ so am trong mang’) Else

Write(‘Khong co so am nao trong mang’);

Trang 5

If Demchan>0 then

Write(‘Co ‘,demchan,’ so chan trong mang’) Else

Write(‘Khong co so chan nao trong mang’);

Writeln;

If Demle>0 then

Write(‘Co ‘,demle,’ so le trong mang’) Else

Write(‘Khong co so le nao trong mang’);

Readln;

END

**************************************************************************

Bài 5: CT nhập mảng 1 chiều, sau đó chèn thêm một số x vào một vị trí bất kỳ trong mảng.

PROGRAM BAITAP5;

VAR a: Array[1 100] of INTEGER;

I, n, x, Vitri : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

READLN(N);

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

end;

WRITELN;

WRITE(‘MANG TRUOC KHI CHEN:’);

FOR i:=1 TO n DO

WRITE(a[i]:4);

WRITELN;

Write(‘Can chen so x=’);

Readln(x);

Write(‘Vao vi tri:’);

Reradln(Vitri);

Writeln;

For i:= n+1 Downto Vitri+1 do

a[i]:=a[i-1];

a[Vitri]:=x;

Trang 6

Write(‘MANG SAU KHI CHEN’);

For i:=1 to n do

Write(a[i]);

Writeln;

Readln;

END

**************************************************************************************************

Bài 6: CT nhập mảng 1 chiều, sau đó xóa một phần tử tại một vị trí bất kỳ trong mảng.

PROGRAM BAITAP6;

VAR a: Array[1 100] of INTEGER;

I, n, Vitri : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

READLN(N);

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

end;

WRITELN;

WRITE(‘MANG TRUOC KHI XOA:’);

FOR i:=1 TO n DO WRITE(a[i]:4);

WRITELN;

Write(‘Nhap vi tri muon xoa:’);

Reradln(Vitri);

Writeln;

For i:=Vitri +1 to n-1 do

a[i]:=a[i+1];

n:=n-1;

Write(‘MANG SAU KHI XOA’);

For i:=1 to n do Write(a[i]);

Writeln;

Readln;

END

*******************************************************************************

Trang 7

Bài 7: CT nhập mảng 1 chiều sau đó nhập một số x Kiểm tra số x vừa nhập có nằm trong mảng hay không Nếu có thì in vị trí của phần tử đó trong mảng Nếu tìm được ở nhiều vị trí thì In vị trí đầu tiên tìm được.

PROGRAM BAITAP5;

VAR a: Array[1 100] of INTEGER;

I, n, x : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

READLN(N);

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

end;

WRITELN;

WRITE(‘MANG VUA NHAP:’);

FOR i:=1 TO n DO

WRITE(a[i]:4);

WRITELN;

Write(‘ Nhap so can tim x=’);

Readln(x);

Writeln;

i:=1;

While ((i<=n) and (a[i]<>x)) do

i:=i+1;

If i<= n then

begin Write(‘ Phan tu x= ’,x,’ vua nhap co trong mang’);

Write(‘ No nam o vi tri:’, i);

end Else

Write(‘ Phan tu x= ’,x,’ vua nhap khong co trong mang’);

Writeln;

Readln;

END

*******************************************************************************

Bài 8: CT nhập mảng 1 chiều Sau đó nhập một số x Kiểm tra số x vừa nhập có nằm trong mảng hay không Nếu có thì in vị trí của phần tử đó trong mảng Nếu tìm được ở nhiều vị trí thì In tất cả các vị trí tìm được.

PROGRAM BAITAP5;

Trang 8

VAR a: Array[1 100] of INTEGER;

b: Array[1 100] of INTEGER;

i, n, x : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

READLN(N);

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

end;

WRITELN;

WRITE(‘MANG VUA NHAP:’);

FOR i:=1 TO n DO WRITE(a[i]:4);

WRITELN;

Write(‘ Nhap so can tim x=’);

Readln(x);

Writeln;

Dem:=0;

FOR i:=1 TO n DO

If a[i] = x then

begin

Dem:=Dem +1;

b[dem]:=i end;

If dem>0 then

begin Write(‘ Phan tu x = ’,x,’ vua nhap co trong mang’);

Write(‘ No nam o cac vi tri:’);

FOR i:=1 TO n DO Write(b[i] :4);

end Else

Write(‘ Phan tu x= ’,x,’ vua nhap khong co trong mang’);

Writeln;

Readln;

END

*******************************************************************************

Bài 9: CT nhập mảng 1 chiều Sau đó

a In các phần tử dương của mảng.

b In các phần tử âm của mảng.

Trang 9

c In các phần tử chẵn của mảng.

d In các phần tử lẻ của mảng.

PROGRAM BAITAP9;

VAR a: Array[1 100] of INTEGER;

b: Array[1 100] of INTEGER;

i, n, demduong, demam, demchan, demle : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

READLN(N);

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

end;

WRITELN;

WRITE(‘MANG VUA NHAP:’);

FOR i:=1 TO n DO WRITE(a[i]:4);

WRITELN;

Demduong:= 0;

For i:= 1 to n do

If a[i]>0 then

begin

Demduong:= Demduong + 1;

b[demduong]:= a[i];

and;

If Demduong >0 then Writeln(‘ Cac phan tu duong trong mang la:’);

FOR i:=1 TO demduong DO WRITE(b[i]:4);

Writeln;

Demam:= 0;

For i:= 1 to n do

If a[i] < 0 then

begin

Demam:= Demam + 1;

b[demam]:= a[i];

and;

If Demam >0 then Writeln(‘ Cac phan tu am trong mang la:’);

FOR i:=1 TO demam DO

Trang 10

WRITE(b[i]:4);

Writeln;

Demchan:= 0;

For i:= 1 to n do

If (a[i] mod 2) = 0 then

begin

Demchan:= Demchan + 1;

b[demchan]:= a[i];

and;

If Demchan >0 then Writeln(‘ Cac phan tu chan trong mang la:’);

FOR i:=1 TO demchan DO WRITE(b[i]:4);

Writeln;

Demle:= 0;

For i:= 1 to n do

If (a[i] mod 2) = 1 then

begin

Demle:= Demle + 1;

b[demle]:= a[i];

and;

If Demle >0 then Writeln(‘ Cac phan tu le trong mang la:’);

FOR i:=1 TO demle DO WRITE(b[i]:4);

Writeln;

Readln;

END

*******************************************************************************

Bài 10: CT nhập mảng 1 chiều Sau đó tính

a Tổng các phần tử của mảng

b Tổng các phần tử dương của mảng

c Tổng các phần tử âm của mảng

d Tổng các phần tử chẵn của mảng

e Tổng các phần tử lẻ của mảng

(Tương tự tính tổng bình phương, tổng lập phương)

PROGRAM BAITAP10;

VAR a: Array[1 100] of INTEGER;

i, n, tong, tongduong, tongam, tongchan, tongle : INTEGER;

BEGIN

WRITE(‘ NHAP SO PHAN TU CUA MANG n= ’);

Trang 11

FOR i:=1 TO n DO

begin

WRITE(‘ NHAP PHAN TU THU a[‘,i,’]= ’);

READLN(a[i]);

end;

WRITELN;

WRITE(‘MANG VUA NHAP:’);

FOR i:=1 TO n DO WRITE(a[i]:4);

WRITELN;

Tong:= 0;

For i:=1 to n do

Tong:= Tong + a[i];

Writeln(‘ Tong cac phan tu cua mang la:’, Tong);

Writeln;

Tongduong:= 0;

For i:=1 to n do

If a[i] >0 then

Tongduong:= Tongduong + a[i];

Writeln(‘ Tong cac phan tu duong cua mang la:’, Tongduong);

Writeln;

Tongam:=0;

For i:=1 to n do

If a[i] <0 then

Tongam:= Tongam + a[i];

Writeln(‘ Tong cac phan tu am cua mang la:’, Tongam);

Writeln;

Tongchan:= 0;

For i:=1 to n do

If (a[i] mod 2) = 0 then

Tongchan:= Tongchan + a[i];

Writeln(‘ Tong cac phan tu chan cua mang la:’, Tongchan);

Writeln;

Tongle:= 0;

For i:=1 to n do

If (a[i] mod 2) = 1 then

Tongle:= Tongle + a[i];

Writeln(‘ Tong cac phan tu le cua mang la:’, Tongle);

Writeln;

Readln;

END

Ngày đăng: 06/06/2024, 16:52

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w