real, boolean, integer, longint.[r]
Trang 1BÀI TẬP SGK TIN 11
1- Viết chương trình nhập từ bàn phím số nguyên dương N(N<= 100) và dãy A gồm N số nguyên A(1),A(2), A(N) có giá trị tuyệt đối không lớn hơn 1000 Hãy cho biết dãy A có phải là một cấp số cộng hay không và thông báo kết quả ra màn hình
2- Viết chương trình nhập từ bàn phím số nguyên dương N(N<= 100) và dãy A gồm N số nguyên A(1),A(2), A(N) có giá trị tuyệt đối không lớn hơn 1000 Hãy đưa ra nhưng thông tin sau:
a) Số lựuong số chẵn và số lẻ trong dãy;
b) Số lượng số nguyên tố trong dãy;
3- Hãy viết chương trình nhập từ bàn phím xâu kí tự S có độ dài không quá 100 Hãy cho biết có bao nhiêu chữ số xuất hiện trong xâu S Thông báo kết quả ra màn hình
Bài 5/79
var n,i:byte;
a: array [1 100] of integer;
dung: boolean;
begin
write('so phan tu cua day : ');
readln(n);
for i:=1 to n do
begin
write('phan tu thu ',i,' :');
readln(a[i]);
end;
a[1]:=a[2]-a[1];
i:=2;
dung:=true;
while (dung) and (i<n) do
if a[i+1]-a[i]=a[1] then i:=i+1
else dung:=false;
if i=n then write('day la cap so cong')
else write('day khong la cap so cong');
readln;
end
Bài 6/79
var n,i,chan,le:byte;
a: array [1 100] of integer;
dung: boolean;
begin
Trang 2write('so phan tu cua day : ');
readln(n);
chan:=0;
le:=0;
for i:=1 to n do
begin
write('phan tu thu ',i,' :');
readln(a[i]);
if a[i] mod 2=0 then chan:=chan+1 else le:=le+1;
end;
i:=1;
writeln;
Writeln('so luong so chan: ',chan); writeln('so luong so le : ',le);
chan:=0;
while i<=n do
begin
dung:=true;
if a[i]<2 then dung:=false
else
for le:=2 to trunc(sqrt(a[i])) do
if a[i] mod le=0 then dung:=false;
if dung then chan:=chan+1;
i:=i+1;
end;
write('so luong so nguyen to la: ',chan); readln;
end
readln;
end
Bài 7/ 79
Uses crt;
var a:array [1 190] of real;
n,i:integer;
Begin
Clrscr;
write('can tinh so Fibo thu :');
readln(n);
a[1]:=0;
a[2]:=1;
for i:= 3 to n do a[i]:=a[i-1]+a[i-2]; write(a[n]:10:0);
readln;
End
Trang 3
Bài 10/80
var i,t: byte;
a:string[100];
Begin
Clrscr;
write('nhap vao xau: ');
readln(a);
t:=0;
i:=1;
while i<=length(a) do
begin
if (a[i]<='9') and (a[i]>='0') then t:=t+1;
i:=i+1;
end;
writeln('co ',t,' chu so xuat hien (tinh ca cac chu so giong nhau)'); readln;
end
BÀI TẬP SGK TIN 11!!
var n,i:byte;
a: array [1 20] of real;
t:real;
begin
t:=0;
n:=0;
for i:=1 to 20 do
begin
write('phan tu thu ',i,' :');
readln(a[i]);
if a[i]>0 then
begin
t:=t+a[i];
n:=n+1;
end;
end;
writeln ('Day da nhap la : ');
for i:=1 to 20 do write(a[i]:5:1);
writeln;
writeln('Trung binh cong cua cac phan tu duong la : ',t/n:5:5); t:=a[1];
for i:=2 to 20 do if a[i]<t then t:=a[i];
Trang 4writeln(' Phan tu nho nhat trong day la : ',t:5:5);
readln;
end
BÀI TẬP SGK TIN 11!!
TÆng c¶ xÊp lu«n nµy!
Bµi tËp ch¬ng 4
1 Mảng là kiểu dữ liệu có cấu trúc bởi vì mảng là kiểu có cấu trúc được đề cập tới sớm nhất trong các ngôn ngữ lập trình Nó được xây dựng từ những kiểu dữ liệu
đã có theo quy tắc khuôn dạng do ngôn ngữ lập trình cung cấp Nó được dùng để chỉ định một nhóm đối tượng cùng một tính chất nào đó
2 Chúng ta phải khai báo kích thước mảng bởi vì để cách đánh số các phần tử của
nó
3 real, boolean, integer, longint
4 Tham chiếu đến phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số, được viết trong cặp ngoặc [ ] (Ví dụ A[1]) Còn tham chiếu đến phần
tử của mảng 2 chiều được xác định bởi tên mảng cùng với 2 chỉ số được phân cách bởi dấu phẩy và viết trong cặp ngoặc [ ] (A[1,2])
Bài 5
uses crt;
var a:array[1 100] of integer;
n,i,d:integer;
csc:boolean;
begin
clrscr;
write('Nhap n: ');readln(n);
for i:=1 to n do
begin
repeat
write('Nhap phan tu thu ',i,': ');
readln(a[i]);
if abs(a[i])>1000 then writeln('Nhap so nho hon 1000');
until abs(a[i])<=1000; end;
csc:=false;
d:=a[2]-a[1];
for i:=2 to n do
if a[i+1]-a[i]=d then csc:=true;
if
if csc thenthenthen writeln('Day la cap so cong') elseelse
16
write('Day khong la cap so cong');
readln end end end
VÝ Dô
Bai 6
program bai6;
uses crt;
var A:array[1 100] of integer;
i,n,dem,u,d:integer;
begin
clrscr;
write('Nhap so luong phan tu: ');readln(n);
for i:=1 to n do
begin
Trang 5repeat
write('Nhap phan tu thu ',i,': ');
readln(a[i]);
if abs(A[i])>1000 then write('Nhap so <1000 OK'); until abs(A[i])<1000;
end;
dem:=0;
for i:=1 to n do
begin
if a[i] mod 2= 0 then dem:=dem+1
end;
writeln('So luong so le: ',n-dem);
writeln('So luong so chan: ',dem);
for i:=1 to n do
if a[i]>1 then
17
begin
u:=2;
while (u<=sqrt(A[i])) and
(A[i] mod u <> 0) do
u:=u+1;
if u>sqrt(A[i]) then d:=d+1;
end;
write('So luong so nguyen to: ',d);
readln
end
VÝ Dô
Bài 7
program bai7;
uses crt;
var n, i:word; f, f1,f2:word;
begin
clrscr;
repeat
write('Nhap N: ');readln(n);
if n<2 then writeln('Nhap N>2 OK!');
until n>=2;
f1:=1;
f2:=2;
for i:=3 to n do
begin
f:=f1+f2;
f1:=f2;
f2:=f;
end;
write('So fibonaxi thu ',n,' la ' ,f);
readln
end
Trang 6Ví Dụ
Chơng trình thực hiện đến
Nmax=10001
Bài 8
Chương trỡnh thực hiện việc hoỏn đổi vị trớ dũng thứ i với dũng thứ N-i+1, nghĩa là hoỏn đổi vị trớ dũng đầu tiờn với dũng cuối cựng của mảng hai chiều, dũng thứ hai từ trờn xuống với dũng thứ hai từ dưới lờn,… Việc hoỏn đổi vị trớ dũng thứ i với dũng đối xứng với nú được thực hiện khi i nhận giỏ trị từ 1 đến N, làm cho mỗi dũng được hoỏn đổi vị trớ 2 lần Vỡ vậy mạng A sau khi hoỏn đổi khụng thay đổi so với ban đầu
Bài 9
program bai9;
uses crt;
var A:array[1 15,1 15] of integer;
N, i, j, max, ind, vsp:integer;
begin
clrscr;
write('Nhap N: ');readln(n);
for i:=1 to n do
for j:=1 to n do
begin
write('Nhap A[',i,',',j,']: ');
readln(A[i,j]);
end;
for i:=1 to n do
begin
max:=A[1,i];ind:=1;
for j:=2 to n do
if A[j,i] > max then
begin
max:=A[j,i];
ind:=j;
end;
vsp:=A[i,i];
A[i,i]:=max;
A[ind,i]:=vsp;
end;
for i:=1 to n do
begin
writeln;
for j:=1 to n do write(A[i,j]:3);
end;
writeln;
readln
end
Trang 7Bài 10
program bai10;
uses crt;
var S:string;
i,dem,n:integer;
begin
clrscr;
write('Nhap xau: ');readln(S);
n:=length(S);
dem:=0;
for i:=1 to n do
if (s[i]>='0') and (s[i]<='9') then inc(dem); write('Co ',dem,' chu so trong xau vua nhap'); readln
end
Bai 11
program bai11;
uses crt;
const max=60;
type Hocsinh = record
hoten:string[30];
ngaysinh:string[10];
diachi:string[50];
toan, van:real;
xeploai:char;
end;
var lop:array[1 max] of hocsinh;
N, i:byte;
begin
clrscr;
write('Nhap so luong hoc sinh: ');readln(n);
for i:=1 to n do
with lop[i] do {Chó ý c©u lÖnh nµy}
begin
writeln('Nhap so lieu hoc sinh thu ',i,':'); write('Ho va ten: ');readln(hoten);
write('Ngay sinh: ');readln(ngaysinh);
write('Dia chi : ');readln(diachi);
write('Diem toan: ');readln(toan);
write('Diem van : ');readln(van);
if toan+van>=18 then xeploai:='A';
if (toan+van>=14) and (toan+van<18) then
Trang 8xeploai:='B';
if (toan+van>=10) and (toan+van<14) then
xeploai:='C';
if (toan+van<10) then
xeploai:='D';
end;
clrscr;
writeln('Danh sach hoc sinh:');
for i:=1 to n do
with lop[i] do
writeln(hoten:30,'- xep loai: ',xeploai);
writeln('Danh sach hoc sinh loai A:');
for i:=1 to n do
with lop[i] do
21
if xeploai='A' then
writeln(hoten:30);
readln
end
BÀI TẬP SGK TIN 11!!
1 Nhập 2 mảng một chiều,đếm số cặp phần tử khác nhau của 2 mảng đó
2 Nhập dãy số N dương,sắp xếp dãy số đó bằng thuật toán tráo đổi,đếm số lần thực hiện tráo đổi đo
3 Nhập dãy số nguyên dương N,CHO BIẾT CÓ BAO NHIÊU SỐ CHIA HẾT CHO7
4 Nhập dãy số nguyên N và cho biết có bao nhiêu phần tử chia hết cho 3.Tính tổng các
số chia hết cho 3 đo
Giúp dùm nha,,,
BÀi 1:
var a,b:array [1 100] of integer;
n,i,t:byte;
begin
write('so phan tu cua hai day la : ');
readln(n);
writeln('Nhap day thu nhat: ');
for i:=1 to n do
begin
write('Phan tu thu ',i,' : ');
readln(a[i]);
end;
t:=0;
Trang 9writeln('Nhap day thu hai : ');
for i:=1 to n do
begin
write('Phan tu thu ',i,' : ');
readln(b[i]);
if a[i]<>b[i] then t:=t+1;
end;
write('so cap phan tu khac nhau : ',t); readln;
end
Bài 2:
var a: array [1 100] of word;
n,i,j,dem:byte;
tg:word;
begin
write('so phan tu cua day : ');
readln(n);
for i:=1 to n do
begin
write('Phan tu thu ',i,' : ');
readln(a[i]);
end;
dem:=0;
for i:=N downto 2 do
for j:=1 to i do
if a[i]<a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
dem:=dem+1;
end;
write('Day da sap xep : ');
for i:=1 to n do write(a[i]:4);
writeln;
write('so lan trao doi: ',dem);
readln;
end
Bài 3:
Trang 10
var a: integer;
n,i,dem:byte;
begin
write('so phan tu cua mang; ');
readln(n);
dem:=0;
for i:=1 to n do
begin
write('Phan tu thu ',i,' : ');
readln(a);
if a mod 7 = 0 then dem:=dem+1;
end;
write('Co ',dem,' so chia het cho 7 ');
readln;
end
Bài 4:
var a,b:integer;
n,i,j:byte;
begin
write('so phan tu cua day : ');
readln(n);
b:=0;
j:=0;
for i:=1 to n do
begin
write('phan tu thu ',i,' : ');
readln(a);
if a mod 3 = 0 then
begin
j:=j+1;
b:=b+a;
end;
end;
writeln('co ',j,' phan tu chia het cho 3'); write('tong cac phan tu chia het cho 3 la: ',b); readln;
end