1. Trang chủ
  2. » Cao đẳng - Đại học

Bài tập môn Tin học đại cương có lời giải

38 51 0

Đ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

Định dạng
Số trang 38
Dung lượng 1,09 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 19: Kết quả thi học kỳ của một lớp sinh viên được cho trong 2 tệp văn bản: một tệp hoten.txt chứa họ và tên của các sinh viên của một lớp trong đó họ tên mỗi sinh viên chiếm một dò[r]

Trang 1

BÀI TẬP MÔN TIN HỌC ĐẠI CƯƠNG CÓ LỜI GIẢI

Bài 1 : Cho dãy x1,x2…xn Tính giá trị trung bình của dãy

var i,n,k,l : integer;

x,y,z : array[1 100] of real;

Trang 2

Bài 3 : Cho dãy x1,x2…xn Sắp xếp dãy số sao cho phần tử >=0 về đầu, phần tử <0 về cuối,

trật tự các phần tử không thay đổi

Giải

var i,n,k : integer;

x,y : array[1 100] of real;

var i,n,k : integer;

x,y : array[1 100] of real;

Trang 3

var i,n,k,m : integer;

x,y : array[1 100] of real;

write('Nhap vi tri k :');readln(k);

write('Nhap so can chen M :');readln(m);

Trang 4

writeln('Day sau khi chen la: ');

for i:=1 to n+1 do write(a[i]:4);

1 Tính điểm trung bình của từng sinh viên

2 Tìm ra những sinh viên có điểm trung bình cao nhất

3 Sắp xếp lại bảng trên theo trật tự tăng dần của điểm trung bình

Trang 6

write('Nhap so hang : ');readln(n);

write('Nhap so cot : ');readln(m);

writeln('Hang ',i,'= ',b1[i]:4:1);

writeln('Tong tung cot la : ');

write('Nhap so hang :');readln(n);

write('Nhap so cot :');readln(m);

Trang 8

write('Nhap so hang: ');readln(n);

write('Nhap so cot : ');readln(m);

for i:=1 to n do

for j:=1 to m do

Trang 9

writeln('vi tri cuoi cung o cot :',k);

writeln('Nhap ma tran vecto B');

Trang 10

y : array[1 50,1 50] of real;

b:array[1 100] of real;

begin

write('Nhap so hang: ');readln(n);

write('Nhap so cot : ');readln(m);

Bài 13: Cho ma trận Anxm tìm tổng phần tử dương trong tam giác trên và tích các phần tử

âm trong tam giác dưới So sánh tổng và tích

Giải

var i,j,n,k:integer;

Trang 11

writeln('tich cac pt am tam giac duoi la : ',tich:4:1);

writeln('tong cac pt tam giac tren la : ',tong:4:1);

if tong>tich then

writeln(' Tong lon hon tich')

else if tong=tich then

writeln(' Tong bang tich ')

Trang 12

STT Họ tên Điểm danh

1…n

1 Đếm số buổi đi học, nghỉ học có phép, nghỉ học không phép

2 Đưa ra những sinh viên không được thi biết điều kiện không được thi là số buổi nghỉ học không phép >= 20%m

writeln('Danh sach thong tin di hoc cua sinh vien la: ');

writeln('STT':4,'Ho ten':20,'Di hoc':8,'Khong phep':12,'Co phep':9,'Trang thai':18);

for i:=1 to n do

Trang 13

with sv[i] do

begin

write(i:4,ten:20,dh:8,kp:12,cp:9);

if kp/m>0.2 then write('Khong duoc thi':18)

else write('Duoc thi':18);

writeln;

end;

readln;

End

Bài 15 : Cho trước tệp văn bản TEN.TXT ghi họ tên sinh viên của một lớp, trong đó họ tên

mỗi người chiếm 1 dòng và tệp văn bản DIEMDANH.TXT ghi kết quả điểm danh của mỗi người theo quy tắc :

+ Có mặt đánh dấu “c”; vắng có lý do “v”; vắng không lý do “k”

+ Đánh dấu điểm danh của mỗi sinh viên được ghi liên tiếp trên 1 dòng

Vẽ sơ đồ thuật toán và viết chương trình pascal để

1 Thống kê số buổi đi học, số buổi vắng (có và không lý do) đối với từng sinh viên

2 Lập danh sách những sinh viên đi học chăm chỉ nhất (có số buổi có mặt cao nhất) và hãy cho biết co bao nhiêu sinh viên như thế

3 Kết quả ghi vào tệp ketqua.txt theo quy cách sau

- Mỗi sinh viên chiếm 1 dòng gồm các thông tin

STT(2 dấu cách)họ tên sv(2 dấu cách)số buổi có mặt(2 dấu cách)số buổi vắng mặt

có lý do(2 dấu cách)số buổi vắng mặt không lý do

- Các dòng tiếp theo : Họ tên sinh viên chăm chỉ nhất (họ tên mỗi sinh viên viết trên

Trang 15

Bài 16 : Cho trước tệp văn bản TEN.TXT ghi họ tên các chủ hộ của một phường, trong đó

mỗi dòng ghi họ tên của một chủ hộ và tệp văn bản SODIEN.TXT ghi số lượng điện các hộ tiêu thụ trong tháng, trong đó số lượng điện tiêu thụ của mỗi hộ ghi trên 1 dòng, số lượng điện các tháng ghi cách nhau 1 dấu cách

Vẽ sơ đồ thuật toán và viết chương trình pascal để :

1 Tính số lượng điện trung bình hàng tháng của mỗi hộ

2 Lập danh sách các hộ trong phường có số điện tiêu thụ trung bình hàng tháng là ít nhất

Trang 16

Kết quả ghi vào tệp văn bản KETQUA.TXT theo quy cách sau :

- Mỗi hộ gia đình chiếm 1 dòng gồm các thông tin sau:

STT(2 dấu cách)Họ tên chủ hộ(2 dấu cách)Số lượng điện trung bình hàng tháng của hộ

- Dòng tiếp theo : Số điện tiêu thụ trung bình ít nhất trong phường

- Các dòng tiếp theo : Họ tên các chủ hộ có số lượng điện tiêu thụ trung bình hàng tháng ít nhất, họ tên mỗi chủ hộ viết trên 1 dòng

Trang 17

writeln(f3,'so dien tieu thu it nhat trong phuong la : ',min:3:1);

writeln(f3,'Ten cac chu ho co luong dien tieu thu it nhat la :');

1 Một chương trình con nhập danh sách, chỉ nhập tt, kết quả học tập, còn phân loại tính theo công thức :

Trang 18

Phân loại bằng A nếu kết quả học tập >=8

Phân loại bằng B nếu kết quả học tập >=6

Phân loại bằng C nếu kết quả học tập >=5

Phân loại bằng D nếu kết quả học tập >=4

Phân loại bằng E nếu kết quả học tập < 4

2 Ghi danh sách ra tệp

3 Mở tệp, đọc dữ liệu vào bộ nhớ trong

4 Một chương trình con sắp xếp lại danh sách tăng dần theo cột phân loại

5 Hiện lại danh sách sau khi sắp xếp

{= Nhap danh sach sinh vien =}

write('Nhap so sinh vien: ');

if ketQua>=8 then loai:='A'

else if ketQua>=6 then loai:='B'

else if ketQua>=5 then loai:='C'

else if ketQua>=4 then loai:='D'

Trang 20

- Một chương trình con nhập mảng A, ghi ra tệp

- Mở lại tệp, đọc dữ liệu vào bộ nhớ trong

- Một chương trình con sắp xếp từng hàng của ma trận A theo thứ tự tăng dần

- Một chương trình con hiện ma trận đã sắp xếp ra màn hình và ghi ra tệp

Trang 22

Bài 19: Kết quả thi học kỳ của một lớp sinh viên được cho trong 2 tệp văn bản: một tệp

hoten.txt chứa họ và tên của các sinh viên của một lớp trong đó họ tên mỗi sinh viên chiếm một dòng và tệp văn bản diem.txt ghi điểm trung bình (DTB) của mỗi sinh viên, trong đó điểm của mỗi sinh viên ghi trên một dòng

Viết chương trình để:

- Tìm xếp loại của từng sinh viên biết

Nếu DTB>=9, sinh viên sẽ xếp loại “xuat sac”

Nếu 8<=DTB<9, sinh viên sẽ xếp loại “Gioi”

Nếu 7<=DTB<8, sinh viên sẽ xếp loại “Kha”

Nếu DTB<7, sinh viên sẽ xếp loại “Trung binh”

- Tìm học bổng của từng sinh viên biết

Nếu DTB>=9, sinh viên sẽ được học bổng 240000 Nếu 8<=DTB<9, sinh viên sẽ được học bổng 180000 Nếu 7<=DTB<8, sinh viên sẽ được học bổng 120000 Nếu DTB<7, sinh viên sẽ không được học bổng

- Sắp xếp lại bảng trên theo trật tự giảm dần của điểm trung bình Đưa kết quả ra màn hình và ra file ketqua.txt dưới dạng sau

+ dòng 1 : KẾT QUẢ THI HỌC KỲ CỦA LỚP + dòng 2 trở đi mỗi dòng ghi: STT, 2 dấu cách, Họ tên, 2 dấu cách, điểm trung bình,

2 dấu cách, Xếp loại, 2 dấu cách, Học bổng của từng sinh viên Giải:

program bailam;

uses crt;

Trang 24

{===Dua ket qua ra man hinh===}

writeln('KET QUA THI HOC KY CUA LOP:');

writeln('Chu vi tam giac la : ',CVtg:6:1);

writeln('Dien tich tam giac la : ',Stg:6:1);

writeln('Dien tich chu nhat la : ',Scn:6:1);

writeln('Chu vi chu nhat la : ',CVcn:6:1);

Trang 25

writeln('Chu vi duong tron la : ',Chv:6:1);

writeln('Dien tich duong tron la : ',DT:6:1);

end;

begin

write('Nhap ban kinh duong tron : ');readln(r);

DT(r,s,cv);

write('Nhap chieu rong hcn : ');readln(rong);

write('Nhap chieu dai hcn : ');readln(dai);

hcn(dai,rong,s1,cv1);

write('Nhap canh thu 1 : ');readln(t1);

write('Nhap canh thu 2 : ');readln(t2);

write('Nhap canh thu 3 : ');readln(t3);

tamgiac(t1,t2,t3,cv2,s2);

readln;

end

Bài 21: Ngân hàng muốn được cung cấp một phần mềm mô phỏng hoạt động của máy ATM,

các thông tin cần quản lý như sau : Số PIN, số tài khoản, họ và tên, CMTND, ngày làm thẻ, số

dư Hãy khai báo kiểu bản ghi (Record) chứa các thành phần nêu trên Lập sơ đồ thuật toán

và viết chương trình bằng ngôn ngữ lập trình pascal thực hiện các yêu cầu sau :

- Chương trình điều khiển (Chương trình chính)

- Một chương trình con để nhập dữ liệu thông tin khách hàng từ bàn phím vào máy

- Một chương trình con lấy thông tin số dư tài khoản hiển thị kết quả lên màn hình với số PIN được nhập từ bàn phím

- Một chương trình con để rút tiền ra từ tài khoản theo quy trình :

1 Yêu cầu nhập số PIN

2 Nếu đúng số PIN, thì yêu cầu nhập số tiền cần rút Nếu số tiền cần rút nhỏ hơn hoặc bằng số dư thì trừ tiền trong số dư đúng bằng số tiền cần rút

3 Thông báo giao dịch thành công Giải :

Trang 26

write('Nhap so pin cua KH thu ',i,' : ');readln(kh[i].sopin);

write('Nhap so tai khoan cua KH thu ',i,' : ');readln(kh[i].sotk);

write('Nhap ho ten cua khach hang thu ',i,' : ');readln(kh[i].hoten);

write('Nhap so cmtnd cua KH thu ',i,' : ');readln(kh[i].cmtnd);

write('Nhap ngay lam the cua KH thu ',i,' : ');readln(kh[i].ngaylamthe);

write('Nhap so du tai khoan cua KH thu ',i,' : ');readln(kh[i].sodu);

writeln('Chuong trinh con lay tong tin khach hang tu so PIN');

write('Nhap so pin tai khoan : ');readln(PIN);

writeln('Chuong trinh con rut tien');

write('Nhap so pin tai khoan : ');readln(PIN1);

Trang 27

kh[t].sodu:=kh[t].sodu-sotien;

writeln('So tien con lai cua quy khach la : ',kh[t].sodu:8:1);

writeln('Giao dich thanh cong');

end

else

writeln('So tien lon hon so du trong tai khoan');

writeln('Giao dich ko thanh cong');

Bài 22: Lập sơ đồ thuật toán và viết chương trình bằng ngôn ngữ lập trình Pascal để tính

tổng mảng hai chiều số thực bằng cách viết các chương trình con sau :

- Nhập số liệu cho mảng hai chiều từ bàn phím

- Xuất kết quả mảng hai chiều ra màn hình theo dạng ma trận

- Tính tổng mảng hai chiều

Nội dung chương trình chính gồm :

1 Nhập số liệu cho mảng thứ nhất rồi nhập số liệu cho mảng thứ hai

2 Xuất kết quả mảng thứ nhất rồi xuất kết quả mảng thứ hai (ra màn hình)

3 Tính tổng 2 mảng trên rồi xuất kết quả ra màn hình

Trang 28

Bài 23: Cho danh sách các chủ hộ sử dụng điện, mỗi chủ hộ biết các thông tin : Mã số, họ

tên, địa chỉ, điện thoại, loại hợp đồng (SH:sinh hoạt, SX:sản xuất, KD: kinh doanh), ngày ký

hợp đồng Hãy lập thuật toán và viết chương trình bằng ngôn ngữ lập trình pascal (dùng cấu trúc bản ghi) để thực hiện các yêu cầu sau đây :

- Nhập dữ liệu đã cho vào máy từ bàn phím

- Tìm số hộ của mỗi loại hợp đồng và tách danh sách trên thành ba danh sách tương ứng với mỗi loại hợp đồng : SH, SX và KD

- Đưa kết quả tìm được ra màn hình

Trang 29

readln(m);

writeln('Nhap thong tin cac ho dan: ');

demsh:=0; demsx:=0; demkd:=0;

writeln('So ho hop dong kinh doanh la: ',demkd);

writeln('So ho hop dong san xuat la: ',demsx);

writeln('So ho hop dong sinh hoat la: ',demsh);

writeln('Hop dong':10,'Ten chu ho':20,'Dia chi':20,'SDT':12);

Trang 30

Bài 24: Cho bảng N môn học

Vẽ sơ đồ thuật toán và viết chương trình pascal có sử dụng kiểu mảng các bản ghi để thực

hiện :

- Nhập mảng (TT, tên môn học, giờ lý thuyết, giờ bài tập) từ bàn phím, tính tổng số

giờ bằng số tiết lý thuyết cộng số tiết bài tập, ghi nội dung bảng ra tệp

- Mở lại tệp, đọc dữ liệu vào bộ nhớ trong

- Tính tổng cột giờ lý thuyết, tổng cột giờ bài tập, tổng cột giờ tổng số

- Tính phần trăm của tổng số giờ bài tập, tổng số giờ lý thuyết so với tổng toàn bộ

Trang 31

begin

with mon[i] do

begin

writeln('Mon thu: ',i);

write('Ten mon hoc: ');

writeln('Tong cot so gio ly thuyet la: ',tonglt:3);

writeln('Tong cot so gio thuc hanh la: ',tongth:3);

writeln('Tong cot gio tong so la: ',tong:3);

writeln('So phan tram ly thuyet:',ptlt:3:1,'%');

writeln('So phan tram thuc hanh:',ptth:3:1,'%');

writeln(f2,'Tong cot so gio ly thuyet la: ',tonglt:3);

writeln(f2,'Tong cot so gio thuc hanh la: ',tongth:3);

writeln(f2,'Tong cot gio tong so la: ',tong:3);

writeln(f2,'So phan tram ly thuyet:',ptlt:3:1,'%');

writeln(f2,'So phan tram thuc hanh:',ptth:3:1,'%');

close(f1); close(f2);

readln;

End

Bài 25: Một cửa hàng sách quản lý sách với các thông tin sau :

Mã sách, tên sách, tên tác giả, thể loại, năm xuất bản, số lượng Hãy khai báo kiểu bản ghi các thành phần nêu trên Lập sơ đồ thuật toán và viết chương trình bằng ngôn ngữ lập trình pascal thực hiện các công việc sau :

- Nhập dữ liệu thông tin n quyển sách từ bàn phím vào máy với n nhập từ bàn phím

- In ra danh sách những quyến sách có số lượng nhỏ hơn m với m nhập từ bàn phím

Trang 32

- Ghi lên file SACH.TXT danh sách toàn bộ số sách của cửa hàng theo thứ tự giảm dần về số lượng

Trang 33

Bài 26: Hồ sơ thông tin sinh viên gồm nhưng thành phần sau :

Mã sinh viên, họ và tên, năm sinh, quê quán, giới tính Hãy khai báo kiểu bản ghi chứa các thành phần nêu trên Lập sơ đồ thuật toán và viết chương trình bằng ngôn ngữ lập trình pascal thực hiện các yêu cầu sau :

- Một chương trình điều khiển (chương trình chính)

- Một chương trình con để nhập dữ liệu thông tin sinh viên từ bàn phím vào máy

- Một chương trình con để tìm kiếm đưa ra thông tin của sinh viên có mã sinh viên được nhập từ bàn phím

- Một chương trình con tạo một file lưu thông tin hồ sơ sinh viên theo thứ tự giảm dần của năm sinh

Trang 34

writeln('Thong tin hoc sinh co ma sv la ',temp1);

writeln('Ho ten: ',ten);

Trang 35

writeln(f,'STT':4,'Ho ten':25,'Nam sinh':10);

{Minh chi hien thi tung nay,ai thich hien thi them thi them vao nhe}

Bài 27: Cho trước danh sách tên các đội bóng tham gia mùa giải và kết quả thi đấu giữa các

đội Kết quả thi đấu giữa các đội được ghi trong ma trận vuông gồm kết quả thắng (3 điểm), hòa (1 điểm), thua (0 điểm) được tổ chức như sau : Các phần tử thuộc đường chéo chính gán bằng 0, các phần tử aij khác có ý nghĩa :

aij= 3 đội i thắng đội j

aij= 1 đội i hòa đội j

aij= 0 đội i thua đội j

Hãy viết chương trình để thực hiện các yêu cầu sau :

- Một chương trình con nhập dữ liệu từ bàn phím

- Một chương trình con tính điểm của mỗi đội

- Một chương trình con sắp xếp theo thứ tự của các đội sau mùa giải theo thứ tự giảm dần

- Một chương trình con ghi kết quả vào tệp và một chương trình con hiện ra màn hình theo định dạng sau :

Dòng 1 : KET QUA BONG DA Dòng 2 : Số đội bóng tham gia mùa giải Các dòng tiếp theo mỗi dòng ghi : STT, hai dấu cách, số điểm

- Một chương trình chính gọi các chương trình con

Trang 36

Writeln(f1,'KET QUA THI DAU');

Writeln(f1,'STT':4,'TEN DOI BONG':25,'SO DIEM':10);

For i:=1 to m do

Begin

Trang 37

Writeln('KET QUA THI DAU');

Writeln('So doi bong tham gia: ',m);

Writeln('STT':4,'TEN DOI BONG':25,'SO DIEM':10);

Trang 38

Website HOC247 cung cấp một môi trường học trực tuyến sinh động, nhiều tiện ích thông minh, nội dung bài giảng được biên soạn công phu và giảng dạy bởi những giáo viên nhiều năm kinh

nghiệm, giỏi về kiến thức chuyên môn lẫn kỹ năng sư phạm đến từ các trường Đại học và các

trường chuyên danh tiếng

I Luyện Thi Online

dựng các khóa luyện thi THPTQG các môn: Toán, Ngữ Văn, Tiếng Anh, Vật Lý, Hóa Học và Sinh Học

trường PTNK, Chuyên HCM (LHP-TĐN-NTH-GĐ), Chuyên Phan Bội Châu Nghệ An và các trường Chuyên khác cùng TS.Trần Nam Dũng, TS Pham Sỹ Nam, TS Trịnh Thanh Đèo và Thầy Nguyễn Đức Tấn

II Khoá Học Nâng Cao và HSG

lớp 6, 7, 8, 9 yêu thích môn Toán phát triển tư duy, nâng cao thành tích học tập ở trường và đạt điểm tốt

ở các kỳ thi HSG

học sinh các khối lớp 10, 11, 12 Đội ngũ Giảng Viên giàu kinh nghiệm: TS Lê Bá Khánh Trình, TS Trần

Nam Dũng, TS Pham Sỹ Nam, TS Lưu Bá Thắng, Thầy Lê Phúc Lữ, Thầy Võ Quốc Bá Cẩn cùng đôi HLV đạt

thành tích cao HSG Quốc Gia

III Kênh học tập miễn phí

môn học với nội dung bài giảng chi tiết, sửa bài tập SGK, luyện tập trắc nghiệm mễn phí, kho tư liệu tham khảo phong phú và cộng đồng hỏi đáp sôi động nhất

phí từ lớp 1 đến lớp 12 tất cả các môn Toán- Lý - Hoá, Sinh- Sử - Địa, Ngữ Văn, Tin Học và Tiếng Anh

Vững vàng nền tảng, Khai sáng tương lai

Học mọi lúc, mọi nơi, mọi thiết bi – Tiết kiệm 90%

Học Toán Online cùng Chuyên Gia

HOC247 NET cộng đồng học tập miễn phí HOC247 TV kênh Video bài giảng miễn phí

Ngày đăng: 21/04/2021, 09:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w