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

BÁO cáo đề tài THỰC tập cơ sở mã đề 007

26 42 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 26
Dung lượng 183,76 KB

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

Nội dung

Mô tả thuật toán: Bước 1: Đọc dữ liệu từ tệp input.txt để kiểm tra.. Trong khi chưa kết thúc tệp: đưa dữ liệu vào biến, chuyển sang bước 2.. Ngược lại, chuyển sang bước 3 Bước 2: Kiểm tr

Trang 2

LỜI MỞ ĐẦU

Lời đầu tiên, em xin được gửi lời cảm ơn chân thành tới các Thầy, các Cô trongtrường Đại học Vinh, đặc biệt là các Thầy Cô trong khoa Công nghệ thông tin – nhữngngười đã trực tiếp giảng dạy, giúp đỡ em trong suốt những năm tháng học tập ởtrường, cảm ơn nhà trường và khoa CNTT đã tạo điều kiện cho em thực tập cơ sở đểchuẩn bị tốt cho công việc học tập và rèn luyện các kỹ năng cần thiết khi trở thànhngười kỹ sư CNTT thực sự

Sinh viên CNTT ngày nay phải không ngừng học hỏi, cập nhật những cái mới

và biết ứng dụng những kiến thức đã được học vào thực tiễn của cuộc sống Đợt thựctập cơ sở này chính là những bước đầu tiên để em đi sâu vào tìm hiểu trong lĩnh vựccông nghệ thông tin, trên cơ sở những kiến thức đã được học trong những năm họcvừa qua

Để hoàn thành đợt thực tập chuyên ngành này, ngoài sự cố gắng nỗ lực của bảnthân còn có sự tận tình giúp đỡ và giảng dạy của các thầy, cô giáo trong khoa CNTTTrường Đại học Vinh Em xin được gửi lời cảm ơn chân thành đến các thầy cô trongkhoa Công nghệ thông tin, đặc biệt là thầy Phan Anh Phong đã nhiệt tình hướng dẫn

em trong quá trình thực hiện đề tài này

Vì thời gian và trình độ còn hạn chế nên chắc chắn em không tránh khỏi nhữngthiếu sót Em rất mong nhận được những góp ý của các thầy cô và các bạn để để tàinày được hoàn thiện hơn

Sinh viên thực hiện

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 2

Bài 1: 5

1.1 Xác định bài toán 5

1.2 Thuật Toán 5

1.2.1 Thuật Toán Kiểm Tra Dữ Liệu 5

1.2.1.1 Mô tả thuật toán: 5

1.2.1.2 Sơ đồ khối mô tả thuật toán 5

1.2.2 Thuật Toán Đọc Từ Tệp: 7

1.2.2.1 Mô tả thuật toán: 7

1.2.2.2.Sơ đồ khối mô tả thuật toán: 7

1.2.3 Thuật toán chuyển đổi 8

1.2.3.1 Mô tả thuật toán: 8

1.2.3.2 Sơ đồ khối mô tả thuật toán 9

1.3 Chương trình: 11

1.4 Dữ liệu test và kết quả tương ứng 13

1.4.1 Bộ Test 1 13

1.4.2 Bộ Test 2 13

1.4.3Bộ Test 3 14

1.4.4 Một Số Lỗi 14

Bài 2: 16

2.1 Xác định bài toán 16

2.2 Thuật Toán 16

2.2.1 Thuật Toán Kiểm Tra Dữ Liệu 16

2.2.1.1 Mô tả thuật toán: 16

2.2.1.2 Sơ đồ khối mô tả thuật toán 17

2.2.2 Thuật Toán Đọc Từ Tệp: 18

2.2.2.1 Mô tả thuật toán: 18

2.2.2.2.Sơ đồ khối mô tả thuật toán: 18

2.2.3 Thuật toán kiểm tra hoán vị và chia dãy 19

Trang 4

2.2.3.1 Mô tả thuật toán: 19

2.2.3.2 Sơ đồ khối mô tả thuật toán 21

2.3 Chương trình: 22

2.4 Dữ liệu test và kết quả tương ứng 22

2.4.1 Bộ Test 1 23

1.4.2 Bộ Test 2 23

1.4.3Bộ Test 3 24

2.4.4 Một Số Lỗi 24

Tài Liệu Tham Khảo 26

Trang 5

NỘI DUNG Bài 1:

1.1 Xác định bài toán

Đề bài: Mã đề 007

Cho tệp văn bản input.txt gồm các số nguyên cách nhau ít nhất một dấu cáchtrống hoặc ít nhất một dấu xuống dòng

- Viết hàm chuyển số nguyên thành xâu nhị phân

- Viết hàm chuyển số nguyên thành xâu hexa

- Viết hàm main sử dụng các hàm trên chuyển các số nguyên từ tệp input.txtsang xâu nhị phân và hexa tương ứng Kết quả ghi vào tệp output.txt theo dạng:

1.2 Thuật Toán

1.2.1 Thuật Toán Kiểm Tra Dữ Liệu

1.2.1.1 Mô tả thuật toán:

Bước 1: Đọc dữ liệu từ tệp input.txt để kiểm tra

Trong khi chưa kết thúc tệp: đưa dữ liệu vào biến, chuyển sang bước 2

Ngược lại, chuyển sang bước 3

Bước 2: Kiểm tra dữ liệu:

Nếu dữ liệu dữ liệu đọc vào đúng là số nguyên.Quay lại bước 1

Nếu sai trả về true Chuyển sang bước 4

Bước 3: Trả về false, chuyển sang bước 4

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

1.2.1.2 Sơ đồ khối mô tả thuật toán

Trang 6

SaiĐúng

Trang 7

1.2.2 Thuật Toán Đọc Từ Tệp:

1.2.2.1 Mô tả thuật toán:

Bước 1: Đọc cácdữ liệutừ tệp input.txt

Bước 2: Kiểm tra dữ liệu:

Nếu đọc dữ liệu thành công chuyển sang bước 3

Ngược lại chuyển sang bước 4

Bước 3: Đưa dữ liệu ra Quay lại bước 1

Trang 8

1.2.3 Thuật toán chuyển đổi.

1.2.3.1 Mô tả thuật toán:

a Thuật toán chuyển số nguyên qua xâu nhị phân

Bước 1: Khởi tạo 1 mảng s

Bước 2: Trong khi n<>0

- Lấy phần dư của n/2

- Lấy phần nguyên của n/2

- Đưa phân dư vào mảng s

- Lấy phần dư của phép chia n%16

Nếu n<10 gán s[i]=a+48//Chuyển các kí tụ sang mã ASCII, mã 48 tương ứngvới kí tự 0

Nếu n>10 gán s[i]=a+65-10// 65 tương ứng với kí tự ‘A’, trừ 10 vì lớn hơn 10

- Lặp cho tới khi n=0, rồi chuyển qua bước 3

Trang 9

Lặp lại bước 2 cho đến khi duyệt hết tất cả các phần tử tệp

Bước 3: Ghi số vừa chuyển vào tệp output.txt

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

1.2.3.2 Sơ đồ khối mô tả thuật toán

a Sơ đồ khối chuyển số nguyên qua xâu nhị phân

Trang 12

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

fprintf(f,"\n%5d\t%15s\t%15s",a[i], bin(a[i]), hex(a[i]));

fclose(f);

}

Trang 15

1.5Kết luận:

- Chương trình chạy nhanh, kết quả đúng yêu cầu

- Chương trình báo lỗi trong trường hợp dữ liệu vào:

+ Sử dụng dấu cách trống hoặc dấu xuống dòng nhưng không nhập số

+ Có chứa kí hiệu đặc biệt, chữ cái

+ File đầu vào không tồn tại

1.6.Thông tin ngôn ngữ lập trình

-Chương trình được lập trình bằng ngôn ngữ C, với phần mềm Tubor C

Trang 16

b Phân chia {a1, a2,…an} thành các dãy con tăng dần có độ dài cực đại.

Chẳng hạn: Với dãy {8, 1, 6, 3, 4, 5, 9} ta chia được thành các dãy con tăng dần

có độ dài cực đại như sau:

{8}; {1, 6}; {3, 4, 5, 9}

2.2 Thuật Toán

2.2.1 Thuật Toán Kiểm Tra Dữ Liệu

2.2.1.1 Mô tả thuật toán:

Bước 1: Đọc dữ liệu từ tệp input.txt để kiểm tra

Trong khi chưa kết thúc tệp: đưa dữ liệu vào biến, chuyển sang bước 2

Ngược lại, chuyển sang bước 3

Bước 2: Kiểm tra dữ liệu:

Nếu dữ liệu dữ liệu đọc vào đúng là số nguyên.Quay lại bước 1

Nếu sai trả về true Chuyển sang bước 4

Bước 3: Trả về false, chuyển sang bước 4

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

Trang 17

SaiĐúng

Trang 18

2.2.2 Thuật Toán Đọc Từ Tệp:

2.2.2.1 Mô tả thuật toán:

Bước 1: Đọc cácdữ liệutừ tệp input.txt

Bước 2: Kiểm tra dữ liệu:

Nếu đọc dữ liệu thành công chuyển sang bước 3

Ngược lại chuyển sang bước 4

Bước 3: Đưa dữ liệu ra Quay lại bước 1

Trang 19

2.2.3 Thuật toán kiểm tra hoán vị và chia dãy.

2.2.3.1 Mô tả thuật toán:

Thuật toán kiểm tra hoán vị:

Bước 1: Khởi tạo mảng H gồm n+1 phần tử //do C tính từ T[0]

Bước 2: Gán cho tất cả các phần tử H[i]=0, i=1 đến i<=n; //bắt đầu duyệt dãy a Bước 3: gán j=0;

Bước 4: kiểm tra j<n hay không ? Đúng sang bước 5 Sai thì thông báo là hoán vịBước 5: nếu a[j] <1 hoặc a[j]>n hoặc H[a[j]]==1 thì break vòng lặp, thông báokhông phải hoán vị (H[a[j]]==1 có ghĩa là số a[j] đã xuất hiện trước đó) Sai thìsang bước 6

Bước 6: H[a[j]]++, quay về bước 4

Đoạn chương trình:

int hoanvi(int *a, int n)

{

int *count = new int[n+1], i;

for(i=1; i<=n; i++)

Thuật toán chia dãy

Bước 1: Khởi tạo 1 mảng a,i=0

Bước 2:

- Dau=i

- Nếu a[i]<=a[i+1]và i<n-1 thì tăng i lên

- Ngược lại gán cuối=i và tăng i

- Xuất dãy bắt đầu từ chỉ số đầu và kết thúc có chỉ số Cuối

Lặp lại bước 2 cho đến khi n=0, rồi chuyển qua bước 3

Trang 21

Bắt đầu

Kết thúc

a[],i=0,n,i=0dau, cuoii<n

2.2.3.2 Sơ đồ khối mô tả thuật toán

Sơ đồ khối chia dãy con:

Trang 22

int hoanvi(int *a,int n){

int *h=new int[n+1], i;

m++;

}

}

Trang 25

2.5.Kết luận:

- Chương trình chạy nhanh, kết quả đúng yêu cầu

- Chương trình báo lỗi trong trường hợp dữ liệu vào:

+ Sử dụng dấu cách trống hoặc dấu xuống dòng nhưng không nhập số

+ Có chứa kí hiệu đặc biệt, chữ cái

+ File đầu vào không tồn tại

2.6.Thông tin ngôn ngữ lập trình

-Chương trình được lập trình bằng ngôn ngữ C, với phần mềm Tubor C.

Trang 26

Tài Liệu Tham Khảo Website:

- http://vi.wikipedia.org/

- http://voer.edu.vn/

- http://www4.hcmut.edu.vn/

Giáo trình:

- Giáo trình lập trình hướng đối tượng C++, tác giả Trần Thị Kim Oanh

- Giáo trình ngôn ngữ lập trình C, tác giả Trần Thị Kim Oanh

Ngày đăng: 29/08/2021, 19:57

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w