1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn môn kỹ thuật lập trình cơ sở mã đề 52

36 1 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

Nội dung

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN Câu 1: - Input: Nhập vào số tự nhiên n.2... - Output: tất cả các số tự nhiên chia hết cho 7 và bé hơn hoặc bằng n... hiện lại ma trận2..

Trang 1

BÁO CÁO BÀI TẬP LỚN

MÔN KỸ THUẬT LẬP TRÌNH CƠ SỞ MÃ ĐỀ: 52

Giảng viên : Nguyễn Thị Quỳnh Như Sinh viên thực hiện : Nguyễn Hoàng Quân Lớp : 2210A04

Mã sinh viên : 22A1001D0270

MỤC LỤC:

1

Trang 2

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

Câu 1:

- Input: Nhập vào số tự nhiên n.

2

Trang 3

- Output: tất cả các số tự nhiên chia hết cho 7 và bé hơn hoặc bằng n.

- Process:

Bước 1: Bắt đầu Bước 2: Nhập n Bước 3: Khởi tạo i = 1

Bước 4: Nếu i % 7 = 0 thì xuất ra i

Trang 6

freopen("ipCau3.txt","r",stdin); freopen("op.txt","w",stdout);

Trang 7

*nếu k < benhat thì benhat = k Bước 5: Nếu sum < n thì quay lại bước 4 Bước 6: Xuất benhat là giá trị bé nhất trong dãy

freopen("ipCau4.txt","r",stdin); freopen("op.txt","w",stdout);

Trang 9

-Input: Nhập vào số nguyên dương n -Output: Các ước số của n

Bước 1: Bắt đầu Bước 2: Nhập n Bước 3: Khởi tạo i = 0

Bước 4: nếu n % i == 0 thì xuất i

void uoc(int n){ for (int i = 1; i <= n; i++)

freopen("ipCau5.txt","r",stdin); freopen("op.txt","w",stdout);

Trang 11

-Output: chuỗi ký tự trên nhưng không có ký tự x - Process:

Bước 1: Bắt đầu

Bước 2: Nhập chuỗi ký tự ( chuỗi a ) Nhập ký tự cần xóa ( x ) Bước 3: Khởi tạo i = 0

Bước 4: Nếu a[i] == x[0] thì xóa a[i]

freopen("ipCau6.txt","r",stdin); freopen("op.txt","w",stdout);

Trang 12

-Bộ dữ liệu test:

- a = “abcdef” x = “a”, xuất ra chuỗi a = “bcdef” - b = “ghiklm” x = “h”, xuất ra chuỗi b = “giklm”

Câu 7

-Input: Số phần tử của mảng(n)

12

Trang 13

Các phần tử của mảng(a[i]) -Output;

1.hiện mảng vừa nhập

2.hiện 3 vị trí liên tiếp có tbc lớn nhất

3.sắp xếp lẻ lên đầu dãy, chẵn cuối dãy và hiện lại mảng Bước 2: Khởi tạo i = 0 Bước 3: Xuất a[i]

Bước 2: Khởi tạo 2 biến max = -1e9, t Bước 3: Khởi tạo i = 0

Bước 4: t = trung bình cộng 3 giá trị liên tiếp

13

Trang 14

Nếu t > max *max=t Bước 5: i = i + 1

*nếu i < n – 2 quay lại bước 4 Bước 6: Xuất ra kết quả

Bươc 7: Kết thúc

d.Sắp xếp giá trị lẻ về đầu dãy, chẵn về cuối dãy Bước 1: Bắt đầu

Bước 2: Khởi tạo biến x = 0 Bước 3: Khởi tạo i = 0 Bước 4: Nếu a[i] % 2 != 0

*hoán đổi vị trí a[i] và a[x]

Bước 2: Khởi tạo biến t = 0 Bước 3: Khởi tạo i = 0

Trang 15

{

cout << a[i] << ;" "

}}

void tbc( a[], intint n){ float max = -1e9;

Trang 16

freopen("ip.txt","r",stdin); freopen("op.txt","w",stdout);

Trang 17

Các giá trị của ma trận(a[i][j]) h1,h2

1 hiện lại ma trận

2 đổi chỗ vị trí 2 hàng h1 h2, hiện lại ma trận 3 Kiểm tra 1 số có phải là số nguyên tố 4 hiện hàng có nhiều số nguyên tố nhất

Bước 2: Khởi tạo i = 0, j = 0 Bước 3: Xuất a[i][j]

Trang 18

c Hàm đổi vị trí 2 hàng bất kỳ Bước 1: Bắt đầu

Bước 2: Nhập h1, h2 Bước 3: Khởi tạo j = 0

Bước 4: Hoán đổi vị trí 2 giá trị của 2 hàng

Bước 2: Khởi tạo biến sum = 0 Bước 3: Khởi tạo i = 0

Bước 4: n % i == 0 *sum ++ Bước 5: i = i + 1

*nếu i < căn bậc 2 của n quay lại bước 3 Bước 6: Nếu sum == 0 thì n là số nguyên tố

Nếu không thì n không phải số nguyên tố

Trang 19

Bước 4: Dùng hàm d với từng phần tử của hàng

void nhap( a[][int20], int m, n){int

for (int i = 0; i < n; i++)

void in(int a[][20], m, intint n){ for (int i = 0; i < n; i++)

Trang 21

freopen("ip.txt","r",stdin); freopen("op.txt","w",stdout);

Trang 23

1 Xuất lại thông tin cán bộ

2 Xuất ds cán bộ có hệ số lương lớn hơn 5.0 3 Sắp xếp ds cán bộ theo thứ tự tăng dần của lương 4 Số lượng cán bộ có lương trên 2tr

a.Hàm nhập ds cán bộ Bước 1: Bắt đầu Bước 2: Nhập n

Bước 3: Nhập thông tin (tên, phòng ban, hệ số lương, lương cơ bản)

Bước 4 : Kết thúc b.Hàm hiện ds cán bộ

Bước 1: Bắt đầu Bước 2: Khởi tạo i = 0

Bước 3: In ra thông tin cán bộ có chỉ

Trang 24

c Hàm hiện ds cán bộ có hệ số lương > 5.0 và ghi vào file canbo.dat

Bước 1: Bắt đầu

Bước 2: Tạo file canbo.dat Bước 3: khởi tạo i = 0

Bước 4: nếu hệ số lương cán bộ a[i] > 5.0 thì in ra và ghi vào file Bước 4: khi j < n, thực hiện

*nếu a[i].luong > a[j].luong thì hoán đổi a[i] và a[j]

Trang 25

e Hàm đến số cán bộ có lương trên 2tr và hiện ra màn hình

Bước 1: Bắt đầu

Bước 2: khởi tạo i = 0, sum = 0 Bước 3: nếu lương a[i] > 2tr

Trang 26

int d=1;

cout <<"Danh sach can bo \n";

cout <<"stt"<<" "<<"ho va ten"<<" "<<"phong ban"<<" "<<"he so

void nhapds(cb a[], int n){ for int( i=0; i<n; i++){ a[i].nhap(); }}

void ghifile(cb a[], int n){

cout <<"thong tin can bo co hsl >5.0 \n";

cout <<"sap xep giam dan theo luong \n"; for int( i = 0; i < n - 1; i++){

Trang 27

void t2t(cb a[], int n){

cout << ố"ds vá s lượng cán b có lộương > 2tr \n"; for int( i=0; i<n; i++)

freopen("ipbai9.txt","r",stdin); freopen("op.txt","w",stdout); int n,lc; cin >> n; cb a[100]; nhapds(a,n);

cout <<" -MENU -\n"; cout <<"1.In ra tat ca thong tin \n";

cout <<"2.In thong tin can bo co hsl >5.0 va ghi vao file \n"; cout <<"3.Sap xep thu tu tang dan cua luong \n"; cout <<"4.In ra can bo luong tren 2tr \n"; cout <<"5.Thuc hien het chuc nang \n"; cout <<"Moi lua chon \n";

27

Trang 28

-Danh sach can bo

stt ho va ten phong ban he so luong luong 1 nguyen van a 12a1 4.15 6.23 tr

Trang 30

-Input:1.Nhập n là số lượng thí sinh

2.Danh sách thông tin thí sinh gồm số báo danh, họ tên, giới tính, tên tiết mục dự thi, kết quả

-Output:

1 Xuất lại ra danh sách thông tin thí sinh

2 Xuất danh sách thông tin thí sinh có tiết mục trùng tên 3 Ghi danh sách thông tin thí sinh đạt vòng dự thi vào file

Bước 2: Nhập n số lượng thí sinh

Bước 3: Nhập thông tin (số báo danh, họ tên, giới tính, tên tiết mục dự thi, kêt quả)

Bước 4: Kết thúc b Hàm hiện ds thí sinh

Bước 1: Khởi tạo i = 0

Bước 2: In ra thông tin thí sinh có chỉ số i trong mảng Bước 3: i = i + 1

30

Trang 31

Bước 4: Nếu i < n ( n là số lượng ) thì quay lại bước 2

Bước 4: Nếu kết quả của thí sinh là đạt *ghi thông tin vào file

Trang 32

e Sắp xếp danh sách thí sinh theo thứ tự anphabet của họ tên

Bước 1: Bắt đầu Bước 2: Khởi tạo i = 0 Bước 3: Tính j = i + 1

Bước 4: So sánh họ tên của thí sinh theo chỉ số i với j *nếu true hoán đổi vị trí 2 thí sinh

Trang 33

void nhapds(ts a[], int n){ for( int i = 0; i < n; i++) {

a[i].nhap(); }}

void inds(ts a[], n){int

cout <<"Danh sách thí sinh \n";

cout <<"sbd"<<" "<<"ho va ten"<<" "<<"gioi tinh"<<" "<<"tiet muc"<<" "<<"ket qua \n";

for int( i = 0; i < n; i++) {

a[i].in(); }}

void trungten(ts a[], int n){

cout << "Các thí sinh có ti t m c trùng tên \n"ếụ; for int( i=0; i<n-1; i++)

void ghifile(ts a[], int n){

cout <<"thong tin thi sinh dat vong loai \n";

Trang 34

void sapxep(ts a[], int n){

cout <<"sap xep ds thí sinh theo th t anphabet c a tên \n"ứựủ;

freopen("ipbai10.txt","r",stdin); freopen("op.txt","w",stdout); cout <<"1.In ra tat ca thong tin \n";

cout <<"2.In thong tin thi sinh trung tiet muc \n"; cout <<"3.In thi sinh dat vong loai va ghi vao file \n"; cout <<"4.Sap xep ds thi sinh theo thu tu anphabet cua ten \n";

34

Trang 35

cout <<"Moi lua chon \n";

- 4, 123, nguyen van a, nam, nhay, d 456, hoang thi b, nu, hat, d 789, duong minh c, nam, rap, kd 741, nguyen thai d, nam, nhay, kd

- Xuất ra: Danh sách thí sinh

sbd ho va ten gioi tinh tiet muc ket qua 123 nguyen van a nam nhay d 456 hoang thi b nu hat d 789 duong minh c nam rap kd

35

Trang 36

741 nguyen thai d nam nhay kd Các thí sinh có tiết mục trùng tên

123 nguyen van a nam nhay d 741 nguyen thai d nam nhay kd Thong tin thi sinh duoc ghi vao file

123 nguyen van a nam nhay d 456 hoang thi b nu hat d Sap xep ds thí sinh theo thứ tự anphabet của tên 789 duong minh c nam rap kd 123 nguyen van a nam nhay d 456 hoang thi b nu hat d 741 nguyen thai d nam nhay kd

36

Ngày đăng: 08/04/2024, 12:52

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

TÀI LIỆU LIÊN QUAN

w