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 2 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

Tiêu đề Báo Cáo Bài Tập Lớn Môn Kỹ Thuật Lập Trình Cơ Sở Mã Đề: 52
Tác giả Nguyễn Hoàng Quân
Người hướng dẫn Nguyễn Thị Quỳnh Như
Trường học Trường Đại Học Mở Hà Nội
Chuyên ngành Kỹ Thuật Lập Trình
Thể loại bài tập lớn
Định dạng
Số trang 36
Dung lượng 0,98 MB

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ânLớp : 2210A04

Mã sinh viên : 22A1001D0270

MỤC LỤC:

1

Trang 2

Câu 1 page 3 Câu 2 page 4 Câu 3 page 6 Câu 4 page 8 Câu 5 page 10 Câu 6 page 12 Câu 7 page 14 Câu 8 page 18 Câu 9 page 24 Câu 10 page 31

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

Câu 2:

- Input: Nhập bán kính R

3

Trang 4

- Output: Diện tích và thể tích.-Process:

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

Bước 2: Nhập R

Bước 3: Tính S = 4*R*RBước 4: Tính V = (R*S)/3Bước 5: Xuất S,VBước 6: Kết thúc

Trang 5

-R= 5, xuất ra màn hình S=100, V=500/3-R= 3, xuất ra màn hình S=36 , V= 36

Câu 3:

-Input: Số có 4 chữ số dạng abcd

5

Trang 6

freopen( "ipCau3.txt" , "r" , stdin );

freopen( "op.txt" , "w" , stdout );

6

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ãyBước 7: Kết thúc

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

-Process:

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 Bước 5: i = i + 1

*nếu i < n quay lại bước 4Bước 6: Kết thúc

-Code:

include <bits/stdc++.h>

using namespace std;

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ảng4.tổng phần tử trong 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=tBướ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ãyBướ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[], int int 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

-Output:

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-Process:

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àngBước 5: j = j + 1

*nếu j < m quay lại bước 4

Bước 6: Kết thúc

d Hàm kiểm tra số nguyên tố n

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

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

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

e.Hàm kiểm tra hàng nào nhiều snt nhất

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

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

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

18

Trang 19

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

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

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

void in( int a[][ 20 ], m, int int n){

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

Trang 21

freopen( "ip.txt" , "r" , stdin );

freopen( "op.txt" , "w" , stdout );

1.Hiện lại ma trận: 1 2 3

21

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

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àofile 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] *j = j+1

Bước 5: i = i + 1

*i < n, quay lại bước 2

Bước 6: Kết thúc

24

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

*xuất ra màn hình

*sum += 1Bước 4: i = i + 1

*nếu i < n, quay lại bước 3Bước 5: Kết thúc

Trang 26

int d= 1 ;

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

cout << "stt" << " " << "ho va ten" << " " << "phong ban" << " " << "he so luong" << " " << "luong \n" ;

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

cout << d<< " " ; a[i].in();

d++;

}

}

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

2 pham van b 12b2 4.05 6.07 tr

3 nguyen thi c 12c3 6.15 9.23 trthong tin can bo co hsl >5.0

1 nguyen thi c 12c3 6.15 9.23 trsap xep giam dan theo luong

28

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ảngBướ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 2Bước 5: Kết thúc

c Hàm hiện thí sinh có tên tiết mục trùng nhau

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 kdCá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 kdThong tin thi sinh duoc ghi vao file

123 nguyen van a nam nhay d

456 hoang thi b nu hat dSap 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